找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3769|回复: 5
打印 上一主题 下一主题
收起左侧

STM32F103C8 HTU21D IIC模拟读取温湿度源程序

[复制链接]
跳转到指定楼层
楼主
ID:300108 发表于 2018-3-31 21:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F103C8  HTU21D  IIC模拟读取温湿度程序
一、工程说明
    1、时间:    2016年10月18日
    2、开发环境:MDK-ARM V5.21a (建议在V5.20及以上版本使用)
    3、标准库:  V3.5.0
    4、工程版本:V1.0.0
    5、目标芯片:STM32F10x_MD中容量芯片

单片机源程序如下:
  1. /**
  2.   ********************************  STM32F10x  *********************************
  3.   * @文件名     : main.c
  4.   * @作者       : strongerHuang
  5.   * @库版本     : V3.5.0
  6.   * @文件版本   : V1.0.0
  7.   * @摘要       : 主函数 - 定时器(TIM)计数延时
  8.                    间隔(定时器延时)500ms LED变化一次, 并且串口打印
  9.   ******************************************************************************/
  10. /*----------------------------------------------------------------------------
  11.   更新日志:
  12.   2016-05-04 V1.0.0:初始版本
  13.   ----------------------------------------------------------------------------*/
  14. /* 包含的头文件 --------------------------------------------------------------*/
  15. #include "bsp.h"
  16. #include "timer.h"
  17. #include "usart.h"
  18. #include "oled.h"
  19. #include "spi.h"
  20. #include "myiic.h"
  21. #include "htu21.h"

  22. extern uint8_t buf[];
  23. unsigned char ASCII[15] = {'0','1','2','3','4','5','6','7','8','9','.','C','%',':','-'};
  24. unsigned char str1[7], str2[7];

  25. /************************************************
  26. OLED显示HTU21温湿度
  27. *************************************************/
  28. void Temp_Rh(void)
  29. {
  30.         sensor_read(0xE3);   //读取温度
  31. //        data_change();
  32.         TIMDelay_Nms(10);
  33.         sensor_read(0xE5);   //读取湿度      
  34.   data_change();      
  35.         
  36. /**********OLED***************/
  37.         str1[0] = ASCII[buf[0]];
  38.         str1[1] = ASCII[buf[1]];
  39.         str1[2] = ASCII[10];
  40.         str1[3] = ASCII[buf[2]];
  41.         str1[4] = ASCII[buf[3]];
  42.         str1[5] = ASCII[11];        
  43.         str1[6] = ' ';
  44.         OLED_8x16Str(80,4,str1);

  45.         str2[0] = ASCII[buf[4]];
  46.         str2[1] = ASCII[buf[5]];
  47.         str2[2] = ASCII[10];
  48.         str2[3] = ASCII[buf[6]];
  49.         str2[4] = ASCII[buf[7]];
  50.         str2[5] = ASCII[12];
  51.         str2[6] = '\n';
  52.         OLED_8x16Str(80,6,str2);
  53. }



  54. /************************************************
  55. 函数名称 : System_Initializes
  56. 功    能 : 系统初始化
  57. 参    数 : 无
  58. 返 回 值 : 无
  59. 作    者 : strongerHuang
  60. *************************************************/
  61. void System_Initializes(void)
  62. {
  63.   BSP_Initializes();
  64.   TIMER_Initializes();
  65.   USART_Initializes();
  66.         SPI_Configuration();
  67.         OLED_Init();
  68.         sensor_iic_init();
  69. }

  70. /************************************************
  71. 函数名称 : main
  72. 功    能 : 主函数入口
  73. 参    数 : 无
  74. 返 回 值 : int
  75. 作    者 : strongerHuang
  76. *************************************************/
  77. int main(void)
  78. {
  79.   System_Initializes();
  80.         OLED_CLS();
  81.         OLED_8x16Str(0,0," ");
  82.         OLED_8x16Str(0,2," ");  
  83.         OLED_8x16Str(0,4,"Temp: ");
  84.         OLED_8x16Str(0,6,"Humd: ");
  85.   
  86.   while(1)
  87.   {
  88.     LED_TOGGLE;                                  //LED开关(亮灭变化)
  89. //    USART1_Printf((uint8_t*)"TIMDelay500ms..\n");  //打印输出
  90. //    TIMDelay_Nms(500);                           //TIM延时500ms
  91.                 Temp_Rh();
  92.                 USART1_SendNByte(str1,7);
  93.                 USART1_SendNByte(str2,7);
  94.                 TIMDelay_Nms(2000);
  95.   }
  96. }


  97. /**** Copyright (C)2016 strongerHuang. All Rights Reserved **** END OF FILE ****/
复制代码

下载:
STM32F103C8_TIM_HTU21(IIC).rar (307.08 KB, 下载次数: 133)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:264347 发表于 2018-5-11 14:46 | 只看该作者
感谢楼主!!!!!!!!!!
回复

使用道具 举报

板凳
ID:229427 发表于 2018-5-11 17:56 | 只看该作者
谢谢分享。
回复

使用道具 举报

地板
ID:346172 发表于 2018-6-6 15:08 | 只看该作者
很给力
回复

使用道具 举报

5#
ID:346172 发表于 2018-6-6 15:11 | 只看该作者
感谢楼主
回复

使用道具 举报

6#
ID:64720 发表于 2019-10-22 16:16 | 只看该作者
感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表