標題: STM32F103系列,庫函數(shù),MQ135空氣質(zhì)量檢測+DHT11溫濕度檢測+OLED漢字顯示 [打印本頁]

作者: 楊騰龍    時間: 2020-4-16 22:28
標題: STM32F103系列,庫函數(shù),MQ135空氣質(zhì)量檢測+DHT11溫濕度檢測+OLED漢字顯示
MQ135采用模擬信號,OLED顯示采樣頻率,接PA0或PA3均可;DHT11接PC0或PC13均可,128*64的OLED 做了幾個簡單的漢字庫,自己可以往里面添加24*24,12*12均可

單片機源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "adc.h"
  6. //#include "tsensor.h"
  7. #include "oled.h"
  8. #include "dht11.h"
  9. #include "key.h"
  10. #include "dht12.h"
  11. #include "text.h"
  12. #include "stdio.h"
  13. int main(void)
  14. {
  15.          u8 t=0;
  16. //         u8 k=0;            
  17.          u8 temperature;              
  18.          u8 humidity;
  19.          u8 temperature1;              
  20.          u8 humidity1;
  21.          u16 adc1;
  22.          u16 adc2;
  23.    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         
  24.          delay_init();       
  25.          KEY_Init();                    
  26.          uart_init(9600);                 //串口初始化為9600
  27.          LED_Init();                                  //初始化與LED連接的硬件接口
  28.          OLED_Init();
  29.          Adc_Init();
  30.          OLED_Show_hanzi12(0,0,0);        //溫
  31.    OLED_Show_hanzi12(12,0,3);        //度
  32.          OLED_ShowString(24,0,"1:",12);
  33.          OLED_Show_hanzi12(48,0,8);         //℃
  34.          OLED_Show_hanzi12(0,12,2);//濃
  35.          OLED_Show_hanzi12(12,12,3);//度
  36.          OLED_ShowString(24,12,"1:",12);
  37.          OLED_Show_hanzi12(70,0,1);//濕
  38.          OLED_Show_hanzi12(82,0,3);        //度
  39.          OLED_ShowString(94,0,"1:",12);
  40.          OLED_ShowString(118,0,"%",12);
  41.    OLED_Show_hanzi12(0,40,0);        //溫
  42.    OLED_Show_hanzi12(12,40,3);        //度
  43.          OLED_ShowString(24,40,"2:",12);
  44.          OLED_Show_hanzi12(48,40,8);         //℃
  45.          OLED_Show_hanzi12(0,52,2);//濃
  46.          OLED_Show_hanzi12(12,52,3);//度
  47.          OLED_ShowString(24,52,"2:",12);
  48.          OLED_Show_hanzi12(70,40,1);//濕
  49.          OLED_Show_hanzi12(82,40,3);        //度
  50.          OLED_ShowString(94,40,"2:",12);
  51.          OLED_ShowString(118,40,"%",12);
  52.          OLED_Refresh_Gram();//更新顯示到OLED         
  53.          t=' ';  
  54.          DHT11_Init();
  55.          DHT12_Init();//DHT11初始化       
  56.         while(1)
  57.         {
  58.                 OLED_Refresh_Gram();
  59.                 t++;
  60.                 adc1=Get_Adc(0X00);
  61.                 adc2=Get_Adc(0X03);       
  62.                 OLED_ShowNum(36,12,adc1,4,12);//顯示ADC的值
  63.                 OLED_ShowNum(36,52,adc2,4,12);//顯示ADC的值                       
  64.                 DHT11_Read_Data(&temperature,&humidity);        //讀取溫濕度值                                            
  65.                 OLED_ShowNum(36,40,temperature,2,12);        //顯示溫度                             
  66.                 OLED_ShowNum(106,40,humidity,2,12);       
  67.                 DHT12_Read_Data(&temperature1,&humidity1);        //讀取溫濕度值                                            
  68.                 OLED_ShowNum(36,0,temperature1,2,12);        //顯示溫度                             
  69.                 OLED_ShowNum(106,0,humidity1,2,12);                                //顯示濕度                         
  70.                  delay_ms(250);
  71.         }                                                                                    
  72. }       
復制代碼

所有程序51hei提供下載:
雙D+漢+濃度.7z (214.08 KB, 下載次數(shù): 296)



作者: 愛騫騫    時間: 2020-4-17 16:24
請問里面有仿真圖嗎?
作者: nishis    時間: 2020-4-18 07:53
請問有采集dht11數(shù)據(jù)并顯示程序嗎
作者: 楊騰龍    時間: 2020-4-18 17:52
nishis 發(fā)表于 2020-4-18 07:53
請問有采集dht11數(shù)據(jù)并顯示程序嗎

看我第一個帖子
作者: 楊騰龍    時間: 2020-4-18 17:52
愛騫騫 發(fā)表于 2020-4-17 16:24
請問里面有仿真圖嗎?

沒有,比較簡單就沒弄仿真
作者: hj1119    時間: 2020-12-18 15:44
請問可以用stm32f103c8t6最小系統(tǒng)做嗎





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