標題: STM32F103C8 HTU21D IIC模擬讀取溫濕度源程序 [打印本頁]

作者: pomtom    時間: 2018-3-31 21:29
標題: STM32F103C8 HTU21D IIC模擬讀取溫濕度源程序
STM32F103C8  HTU21D  IIC模擬讀取溫濕度程序
一、工程說明
    1、時間:    2016年10月18日
    2、開發(fā)環(huán)境: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. 功    能 : 系統(tǒng)初始化
  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)



作者: cxfghr    時間: 2018-5-11 14:46
感謝樓主。。。。。。。。!
作者: hanson0520    時間: 2018-5-11 17:56
謝謝分享。
作者: tgy666    時間: 2018-6-6 15:08
很給力
作者: tgy666    時間: 2018-6-6 15:11
感謝樓主
作者: shilinlin    時間: 2019-10-22 16:16
感謝樓主分享




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1