找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8262|回復: 4
打印 上一主題 下一主題
收起左側(cè)

STM32環(huán)境檢測系統(tǒng)設計 可顯示PM2.5及溫濕度

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:198608 發(fā)表于 2017-10-20 21:51 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
采用dht11溫濕度傳感器,和pm2.5傳感器,用tft液晶屏顯示
做出來的實物圖:


單片機源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "lcd.h"
  4. #include "usart.h"
  5. #include "led.h"
  6. #include "dht11.h"
  7. #include "ds18b20.h"
  8. #include "adc.h"
  9.   unsigned char hjjc[72*6] =              // ASCII
  10. {                                                                                
  11. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE7,0x1F,0x58,0x98,0x00,0x40,0x80,0x00,0x40,0x40,0x00,
  12. 0x40,0x40,0x00,0xC0,0xE3,0x00,0x78,0x60,0x00,0x40,0x50,0x02,0x40,0x50,0x04,0x40,0x48,0x08,0x40,0x46,0x10,0xC0,0x43,0x30,
  13. 0x30,0x42,0x20,0x8C,0x41,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"環(huán)",0*/

  14. …………限于本文篇幅 余下代碼請從51黑下載附件…………

  15. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0xC4,0x00,0x86,0x01,0x86,0x01,0x86,0x01,0x80,0x01,0xC0,0x00,
  16. 0x70,0x00,0x80,0x01,0x00,0x01,0x00,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x84,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"3",4*/
  17. };
  18. //ALIENTEK戰(zhàn)艦STM32開發(fā)板實驗13
  19. //TFTLCD顯示實驗  
  20. //技術支持:www.openedv.com
  21. //廣州市星翼電子科技有限公司
  22. extern u8 Res;
  23. extern u8 Res3;
  24. int tcont,cont=5;;
  25. extern __IO u16 ADC_ConvertedValue[4];
  26. void numstring(uint16_t Xpos, uint16_t Ypos, u32 mun,u16 BL)
  27. {

  28.                  shuzi24(Xpos, Ypos, &ASCII_Table24N[0+48*(mun/10)], BL);
  29.                  shuzi24(Xpos+12*1, Ypos, &ASCII_Table24N[0+48*(mun%10)], BL);
  30.                                                            
  31. }
  32.   void numstrings(uint16_t Xpos, uint16_t Ypos, u32 mun,u16 BL)
  33. {

  34.                  shuzi24(Xpos, Ypos, &ASCII_Table24N[0+48*(mun/1000)], BL);
  35.                  shuzi24(Xpos+12*1, Ypos, &ASCII_Table24N[0+48*(mun%1000/100)], BL);
  36.                  shuzi24(Xpos+12*2, Ypos, &ASCII_Table24N[0+48*(mun%1000%100/10)], BL);
  37.                  shuzi24(Xpos+12*3, Ypos, &ASCII_Table24N[0+48*(mun%1000%100%10)], BL);
  38.                                                            
  39. }
  40.    void zifuchar(uint16_t Xpos, uint16_t Ypos, u8 * mun,u16 BL)
  41. {

  42.                  shuzi24(Xpos,      Ypos, mun, BL);
  43.                  shuzi24(Xpos+12*1, Ypos, mun+48*1, BL);
  44.                  shuzi24(Xpos+12*2, Ypos, mun+48*2, BL);
  45.                  shuzi24(Xpos+12*3, Ypos, mun+48*3, BL);
  46.                  shuzi24(Xpos+12*4, Ypos, mun+48*4, BL);
  47.                                                            
  48. }

  49. int main(void)
  50. {                     
  51.         u8 humidity;   
  52.         u8 temp;

  53.         short temperature;
  54.         delay_init();                     //延時函數(shù)初始化         
  55.         NVIC_Configuration();          //設置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應優(yōu)先級
  56.         uart_init(115200);                 //串口初始化為9600
  57.         LED_Init();
  58.         Adc_Init(); //adc8
  59. //        USART3_Config();
  60.         LCD_Init();
  61.         POINT_COLOR=RED;
  62.         wordstring(40, 10,hjjc,6,RED);        //環(huán)境監(jiān)測系統(tǒng)        
  63.         wordstring(10, 150,wd,2,RED);        //溫度
  64.         wordstring(10, 180,sd,2,RED);        // 濕度

  65.         while(DS18B20_Init());
  66.           while(1)
  67.         {
  68.                 temperature=DS18B20_Get_Temp();
  69.                                 if(temperature<0)
  70.                         {
  71.                         shuzi24(55, 150, fh, RED);                                //顯示負號
  72.                                 temperature=-temperature;                                        //轉(zhuǎn)為正數(shù)
  73.                         }else shuzi24(55, 150, qk, RED);                        //去掉負號
  74. //               
  75.                 DHT11_Read_Data(&temp,&humidity);                //讀取溫濕度值
  76.                 numstring(70, 150,temperature/10,BRED);                //顯示溫度         
  77.                 wordstring(100, 150,wd+72*2,1,RED);        //溫度符號
  78.                 numstring(70, 180,humidity,BRED);                        //顯示濕度
  79.                 shuzi24(100, 180,sdfh,RED);shuzi24(112, 180,sdfh+48,RED);shuzi24(124, 180,sdfh+96,RED);          //濕度符號        
  80.                 zifuchar(5, 210,PM,RED);
  81.                 shuzi24(70, 210,&ASCII_Table24N[0+48*(Get_Adc_Average(1)/620)], BRED);         //毫克量
  82.                 zifuchar(90, 210,MG,RED);
  83.                 delay_ms(200);                                                                          
  84.         }
  85. }
  86.            /*代碼說明*/
  87. /*main函數(shù)掃描按鍵顯示放電預設值
  88. * 定時器3 放電定時
  89. * 定時器4 ad掃描
  90. */
復制代碼

所有資料51hei提供下載:
課設環(huán)境監(jiān)測系統(tǒng).rar (368.26 KB, 下載次數(shù): 324)


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

使用道具 舉報

地板
ID:819841 發(fā)表于 2020-11-10 16:23 來自觸屏版 | 只看該作者
sdsdsdsdsdsd 發(fā)表于 2020-4-18 18:14
這里面兩個工程

打開lcd的程序
回復

使用道具 舉報

板凳
ID:819841 發(fā)表于 2020-11-10 16:23 來自觸屏版 | 只看該作者
粉塵傳感器的引腳怎么連接?
回復

使用道具 舉報

沙發(fā)
ID:368810 發(fā)表于 2020-5-14 09:05 | 只看該作者
有仿真嗎
回復

使用道具 舉報

樓主
ID:295259 發(fā)表于 2020-4-18 18:14 | 只看該作者
這里面兩個工程
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

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

快速回復 返回頂部 返回列表