找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2185|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32連接DHT11傳感器監(jiān)控溫濕度源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
使用KEIL 5 打開(kāi)
解壓文件后彈窗點(diǎn)擊選擇  Cancel
否則編譯會(huì)出現(xiàn)錯(cuò)誤
如果第一次彈窗沒(méi)有點(diǎn)擊取消,則重新解壓。


單片機(jī)源程序如下:
  1. /**************************************
  2. * 文件名  :main.c
  3. * 描述    :串口顯示溫濕度,當(dāng)溫度高于設(shè)定閾值時(shí),LED閃爍,當(dāng)濕度低于設(shè)定閾值時(shí),蜂鳴器鳴響。         
  4. * 實(shí)驗(yàn)平臺(tái):CH32最小系統(tǒng) 基于CH32F103C8T6
  5. * 庫(kù)版本  :ST3.0.0
  6. *********************************************************/

  7. #include "delay.h"
  8. #include "sys.h"
  9. #include "usart.h"         
  10. #include "led.h"               
  11. #include "dht11.h"

  12.         
  13. //測(cè)試主函數(shù)

  14. #define LED_ON   GPIO_SetBits(GPIOC, GPIO_Pin_13)
  15. #define LED_OFF  GPIO_ResetBits(GPIOC, GPIO_Pin_13)
  16. #define Buzzer_ON   GPIO_SetBits(GPIOC, GPIO_Pin_14)
  17. #define Buzzer_OFF  GPIO_ResetBits(GPIOC, GPIO_Pin_14)

  18. void Buzzer_Init()
  19. {
  20.     GPIO_InitTypeDef p;
  21.    
  22.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  23.    
  24.     p.GPIO_Pin = GPIO_Pin_14;
  25.     p.GPIO_Mode = GPIO_Mode_Out_PP;
  26.     p.GPIO_Speed = GPIO_Speed_50MHz;
  27.     GPIO_Init(GPIOC, &p);
  28. }

  29. int main(void)
  30. {         
  31.          u8 temp,humi;
  32.          LED_Init();
  33.          Buzzer_Init();
  34.          delay_init();                     //延時(shí)函數(shù)初始化         
  35.          NVIC_Configuration();          //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  36.          uart_init(9600);                 //串口初始化為9600
  37.          printf("串口測(cè)試\r\n");     
  38.    while(DHT11_Init())
  39.          {                 
  40.      
  41.      printf("傳感器設(shè)置錯(cuò)誤\n");
  42.                  delay_ms(500);   
  43.         }                        
  44.          while(1)
  45.          {
  46.            DHT11_Read_Data(&temp,&humi);
  47.                  printf("temp:%d  humi:%d \n",temp,humi);
  48.                  delay_ms(500);
  49.            
  50.                  
  51.                                 if(temp>30)
  52.                                 {
  53.                                         LED_ON;
  54.                                         printf("LED On\n");
  55.                             delay_us(200000);
  56.                                         LED_OFF;
  57.                             delay_us(200000);
  58.                                 }        
  59.         else
  60.                                 {
  61.                                         LED_OFF;
  62.                                 }
  63.                                 if(humi>30)
  64.                                 {
  65.                                         Buzzer_ON;
  66.                             printf("Buzzer On\n");
  67.           delay_us(200000);
  68.                                 }        
  69.         else
  70.                                 {
  71.                                         Buzzer_OFF;
  72.                                 }
  73.                          delay_us(500000);
  74.          }
  75. }
復(fù)制代碼

所有代碼51hei附件下載:
基于STM32F103C8T6+DHT11.7z (1.15 MB, 下載次數(shù): 45)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表