久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

QQ登錄

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

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

基于DHT11和2.2寸液晶屏的溫濕計(jì)設(shè)計(jì) 超簡(jiǎn)單

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 凌凈清河 于 2019-2-26 19:27 編輯

本帖子中DHT11的驅(qū)動(dòng)函數(shù)和我另一個(gè)設(shè)計(jì)中的函數(shù)相同,直接copy過(guò)來(lái)的。

http://www.zg4o1577.cn/bbs/dpj-127755-1.html

DHT11溫濕計(jì)模塊是廣大畢設(shè)者相當(dāng)熟悉的了,最近有朋友需要,隨手做了一個(gè)最簡(jiǎn)單的溫濕計(jì)。
設(shè)計(jì)采用176X220 2.2寸TFT屏、STC12C5A60S2核心板以及DHT11等組成。


設(shè)計(jì)使用的TFT樣式如下所示:



由于核心板上提供這款TFT的直插接口,故只需要連接DHT11到任一未占用的IO上即可。就像這樣:

需要注意的是,DHT11的數(shù)據(jù)線需要上拉10K電阻,這個(gè)電阻我焊在了DHT11的引腳上,并用熱縮管罩住了。


顯示部分的程序參照淘寶上店家的例程,很方便就能夠進(jìn)行需要的顯示,但是我的程序中對(duì)TFT驅(qū)動(dòng)程序還是做了一定程度的精簡(jiǎn),沒(méi)有使用到的功能都刪除了,為了節(jié)省flash,移植也方便。

程序主函數(shù):

  1. #include<STC12C5A60S2.H>
  2. #include "GUI.c"
  3. sbit DHT=P2^7;//DHT11模塊
  4. //運(yùn)行數(shù)組
  5. unsigned char disp[5]={0,0,0,0,0};//溫度每一位、濕度每一位
  6. //運(yùn)行變量
  7. unsigned char Data_Receive[5];

  8. /************************************************************
  9. 名稱(chēng):基于2.2寸屏和DHT11的溫濕計(jì)
  10. 平臺(tái):STC12C5A60S2核心板

  11. 簡(jiǎn)介:顯示采用2.2寸TFT 176X220彩色液晶顯示溫度和濕度;
  12.         測(cè)量部分采用DHT11模塊,模塊信息如下:
  13.         ASAIR
  14.         -----
  15.         NA:DHT11
  16.         OC:3.3-5.5V
  17.         U1:5-95%RH
  18.         U2:-20-60℃
  19.         U3:±5%RH±2℃
  20.         SN:8180H3985

  21. 程序編寫(xiě):凌凈清河
  22. 硬件制作:凌凈欣羽
  23. 文稿排版:凌凈欣羽

  24. 日期:2019年2月26日
  25. 注意:設(shè)計(jì)僅做正溫度處理。
  26. 注意:核心板上的晶振頻率為11.0592MHz,移植時(shí)注意修改延時(shí)。
  27. 所屬:新礦城學(xué)習(xí)基地#2019
  28. ************************************************************/

  29. void Delay20ms()                //@11.0592MHz
  30. {
  31.         unsigned char i, j, k;

  32.         i = 1;
  33.         j = 216;
  34.         k = 35;
  35.         do
  36.         {
  37.                 do
  38.                 {
  39.                         while (--k);
  40.                 } while (--j);
  41.         } while (--i);
  42. }

  43. void Delay30us()                //@11.0592MHz
  44. {
  45.         unsigned char i;

  46.         i = 80;
  47.         while (--i);
  48. }

  49. void sys_init()
  50. {
  51.         Lcd_Init();
  52.         LCD_LED=1;
  53.         Lcd_Clear(BLACK);
  54. }

  55. void DHT_Collect()//溫度采集函數(shù)
  56. {
  57.         unsigned char i,j;//for循環(huán)變量
  58.         unsigned char t;//超時(shí)判斷
  59.         unsigned char dat8=0;//一次讀取的8位數(shù)據(jù),需要讀5次
  60.         unsigned int CheckValue=0;//校驗(yàn)和
  61.         
  62.         DHT=0;//主機(jī)發(fā)起始信號(hào)
  63.         Delay20ms();//主機(jī)拉低總線至少18ms
  64.         DHT=1;//主機(jī)拉高總線20~40us
  65.         Delay30us();
  66.         
  67.         t=80;//設(shè)置超時(shí)等待時(shí)間
  68.         while(DHT&&t--);//等待DHT11拉低總線
  69.         if(t==0)//超時(shí)
  70.         {
  71.                 DHT=1;
  72.         }
  73.         t=250;//設(shè)置超時(shí)等待時(shí)間
  74.         while(!DHT&&t--);//等待DHT11拉高總線
  75.         if(t==0)//超時(shí)
  76.         {
  77.                 DHT=1;
  78.         }
  79.         t=250;//設(shè)置超時(shí)等待時(shí)間
  80.         while(DHT&&t--);//等待DHT11拉低總線
  81.         if(t==0)//超時(shí)
  82.         {
  83.                 DHT=1;
  84.         }

  85.         for(j=0;j<5;j++)//5次讀取
  86.         {
  87.                 for(i=0;i<8;i++)//1次8個(gè)位
  88.                 {
  89.         //等待50us開(kāi)始時(shí)隙
  90.                         t=150;//設(shè)置超時(shí)等待時(shí)間
  91.                         while(!DHT&&t--);//等待DHT11拉高總線
  92.                         if(t==0)//超時(shí)
  93.                         {
  94.                                 DHT=1;
  95.                         }
  96.                         t=0;//記錄時(shí)間清零
  97.                         while(DHT&&++t);//等待并記錄高電平持續(xù)時(shí)間
  98.                         dat8<<=1;
  99.                         if(t>30)//高電平持續(xù)時(shí)間較長(zhǎng)(70us)
  100.                         dat8+=1;//傳輸值為1
  101.                 }
  102.                 Data_Receive[j]=dat8;
  103.         }
  104.         
  105.         Delay30us();//等待DHT11拉低50us
  106.         Delay30us();
  107.         DHT=1;

  108.         for(i=0;i<4;i++)
  109.         {
  110.                 CheckValue+=Data_Receive[i];//計(jì)算校驗(yàn)值
  111.         }
  112.         if((unsigned char)CheckValue==Data_Receive[4])//比對(duì)
  113.         {
  114.                 disp[0]=Data_Receive[2]/10;
  115.                 disp[1]=Data_Receive[2]%10;
  116.                 disp[2]=Data_Receive[3]%10;
  117.                 disp[3]=Data_Receive[0]/10;
  118.                 disp[4]=Data_Receive[0]%10;
  119.         }
  120. }

  121. void main()
  122. {
  123.         sys_init();
  124.         GUI_BOX_K(0,0,219,175,GRAY0);
  125.         GUI_BOX_K(4,4,215,171,BLUE);
  126.         Gui_DrawFont_GBK24(39,8,YELLOW,BLACK,"無(wú)線溫濕度計(jì)");
  127.         Gui_DrawLine(35,34,185,34,BLUE);
  128.         Gui_DrawFont_GBK16(5,36,WHITE,BLACK,"    本作品使用DHT11模塊和");
  129.         Gui_DrawFont_GBK16(5,54,WHITE,BLACK,"彩色液晶模塊,完成溫濕度采");
  130.         Gui_DrawFont_GBK16(5,72,WHITE,BLACK,"集和顯示。");
  131.         GUI_BOX_K(8,90,211,167,BLUE);
  132.         
  133.         Gui_DrawFont_GBK24(10,100,YELLOW,BLACK,"溫度");
  134.         GUI_Char24(58,100,YELLOW,BLACK,CChar4);//:
  135.         
  136.         Gui_DrawFont_GBK24(10,130,YELLOW,BLACK,"濕度");
  137.         GUI_Char24(58,130,YELLOW,BLACK,CChar4);//:
  138.         while(1)
  139.         {
  140.                 DHT_Collect();
  141.                
  142.                 GUI_Num24(82,100,GREEN,BLACK,disp[0]);
  143.                 GUI_Num24(106,100,GREEN,BLACK,disp[1]);
  144.                 GUI_Char24(130,100,GREEN,BLACK,CChar2);//.
  145.                 GUI_Num24(154,100,GREEN,BLACK,disp[2]);
  146.                 GUI_Char24(178,100,YELLOW,BLACK,CChar1);//℃
  147.                
  148.                 GUI_Char24(82,130,YELLOW,BLACK,CChar0);//空格
  149.                 GUI_Num24(106,130,GREEN,BLACK,disp[3]);
  150.                 GUI_Num24(130,130,GREEN,BLACK,disp[4]);
  151.                 GUI_Char24(154,130,YELLOW,BLACK,CChar0);//空格
  152.                 GUI_Char24(178,130,YELLOW,BLACK,CChar3);//%
  153.         }
  154. }
復(fù)制代碼


歡迎進(jìn)群:873434536,雖人數(shù)暫時(shí)較少,但群內(nèi)氛圍很好,有任何關(guān)于51學(xué)習(xí)中的問(wèn)題,來(lái)一起討論吧~!

資料下載:
【程序】
基于DHT11和2.2寸液晶屏的溫濕計(jì)設(shè)計(jì) 凌凈清河.zip (70.42 KB, 下載次數(shù): 104)
【DHT11資料】
DHT11中文數(shù)據(jù)手冊(cè).pdf (677.52 KB, 下載次數(shù): 56)
【屏幕資料(來(lái)自淘寶)】

QDtech_2.2寸SPI串口176X220_9225模塊.zip (13.48 MB, 下載次數(shù): 76)

請(qǐng)注意,為了方便黑幣較少的人也能夠下載附件,回復(fù)本帖,任何時(shí)候我看到,均會(huì)給出最高評(píng)分作為黑布補(bǔ)貼!

評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

來(lái)自 2#
ID:362076 發(fā)表于 2019-3-1 17:22 | 只看該作者
對(duì)了,才想起來(lái),設(shè)計(jì)原本是打算做無(wú)線的,但是后來(lái)需求變了,改為有線測(cè)量,標(biāo)題就沒(méi)換回來(lái),這個(gè)算是設(shè)計(jì)的BUG,看到的情知悉。
回復(fù)

使用道具 舉報(bào)

板凳
ID:64089 發(fā)表于 2019-2-27 09:05 | 只看該作者
占個(gè)沙發(fā),學(xué)習(xí)點(diǎn)1:DTH11的學(xué)習(xí);2:液晶顯示的學(xué)習(xí),不錯(cuò)。

評(píng)分

參與人數(shù) 1黑幣 +16 收起 理由
凌凈清河 + 16 下載補(bǔ)貼

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:487549 發(fā)表于 2019-3-9 19:09 | 只看該作者
很棒的帖子呀,對(duì)我很有用

評(píng)分

參與人數(shù) 1黑幣 +16 收起 理由
凌凈清河 + 16 下載補(bǔ)貼

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

5#
ID:317383 發(fā)表于 2019-3-10 08:27 | 只看該作者
作品很棒,贊!!

評(píng)分

參與人數(shù) 1黑幣 +16 收起 理由
凌凈清河 + 16 下載補(bǔ)貼

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

6#
ID:284488 發(fā)表于 2019-3-11 21:25 | 只看該作者
學(xué)習(xí)了,感謝樓主的分享。并感恩樓主的仁心照顧黑幣較少的人也能夠下載附件。

評(píng)分

參與人數(shù) 1黑幣 +16 收起 理由
凌凈清河 + 16 黑幣補(bǔ)貼

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

7#
ID:493495 發(fā)表于 2019-3-18 20:51 | 只看該作者
最近有一個(gè)課程設(shè)計(jì),正好參考一下啦,拿走了

評(píng)分

參與人數(shù) 1黑幣 +16 收起 理由
凌凈清河 + 16 黑幣補(bǔ)貼

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

8#
ID:337487 發(fā)表于 2019-3-18 23:20 | 只看該作者
謝謝樓主的分享,正在學(xué)習(xí)LCD顯示可以學(xué)習(xí)學(xué)習(xí)。

評(píng)分

參與人數(shù) 1黑幣 +16 收起 理由
凌凈清河 + 16 黑幣補(bǔ)貼

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

9#
ID:490458 發(fā)表于 2019-3-24 16:05 | 只看該作者
謝謝樓主分享,正在學(xué)習(xí)51電子,正好參考樓主設(shè)計(jì)思路。

評(píng)分

參與人數(shù) 1黑幣 +16 收起 理由
凌凈清河 + 16 黑幣補(bǔ)貼

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

10#
ID:478730 發(fā)表于 2019-3-28 09:03 | 只看該作者
作品很棒,贊!!

評(píng)分

參與人數(shù) 1黑幣 +16 收起 理由
凌凈清河 + 16 黑幣補(bǔ)貼

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

11#
ID:478730 發(fā)表于 2019-3-28 09:05 | 只看該作者
謝謝樓主分享,正在學(xué)習(xí)51電子,正好參考

評(píng)分

參與人數(shù) 1黑幣 +16 收起 理由
凌凈清河 + 16 黑幣補(bǔ)貼

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

12#
ID:403562 發(fā)表于 2019-4-5 21:01 | 只看該作者
我是個(gè)新手,我想具體了解DHT11模塊的應(yīng)用,與編程
謝謝大佬

評(píng)分

參與人數(shù) 1黑幣 +12 收起 理由
NPC-1024 + 12 黑幣補(bǔ)貼(小號(hào))

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

13#
ID:604575 發(fā)表于 2019-8-28 09:50 來(lái)自手機(jī) | 只看該作者
樓主還在么,求補(bǔ)貼。
回復(fù)

使用道具 舉報(bào)

14#
ID:362076 發(fā)表于 2019-8-28 13:27 | 只看該作者
1931670332 發(fā)表于 2019-8-28 09:50
樓主還在么,求補(bǔ)貼。

怎么啦,需要補(bǔ)什么?
回復(fù)

使用道具 舉報(bào)

15#
ID:604575 發(fā)表于 2019-8-29 14:21 來(lái)自手機(jī) | 只看該作者
凌凈清河 發(fā)表于 2019-8-28 13:27
怎么啦,需要補(bǔ)什么?

沒(méi)有黑幣了。。想下載附件,非常感謝

評(píng)分

參與人數(shù) 1黑幣 +7 收起 理由
凌凈清河 + 7 我給黑幣數(shù)量被限制了。。

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

16#
ID:101205 發(fā)表于 2019-8-29 15:31 | 只看該作者
學(xué)習(xí)下,謝謝樓主
回復(fù)

使用道具 舉報(bào)

17#
ID:618778 發(fā)表于 2019-10-2 13:21 | 只看該作者
作品很棒,很適合新手學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

18#
ID:738997 發(fā)表于 2020-4-27 08:12 來(lái)自手機(jī) | 只看該作者
樓主辛苦了,如果做了可以在手機(jī)上顯示的話就更好了
回復(fù)

使用道具 舉報(bào)

19#
ID:512651 發(fā)表于 2020-4-27 11:17 | 只看該作者
謝謝樓主分享,非常棒!
回復(fù)

使用道具 舉報(bào)

20#
ID:809501 發(fā)表于 2020-7-30 12:52 | 只看該作者
樓主,請(qǐng)問(wèn)用STC89C52可以做這個(gè)嗎?

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
凌凈清河 + 5 肯定可以,只是速度會(huì)慢一些

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

21#
ID:884042 發(fā)表于 2022-4-3 22:27 | 只看該作者
檢測(cè)溫度直接用一塊彩屏?樓主有點(diǎn)奢侈了呀
回復(fù)

使用道具 舉報(bào)

22#
ID:1015584 發(fā)表于 2022-4-4 14:43 | 只看該作者
群里有這個(gè)資料嗎,這兒下載積分不夠
回復(fù)

使用道具 舉報(bào)

23#
ID:1017008 發(fā)表于 2022-4-9 16:11 | 只看該作者
GUI.c是??
回復(fù)

使用道具 舉報(bào)

24#
ID:824664 發(fā)表于 2023-3-14 22:10 | 只看該作者
謝謝分享,美觀使用,好好學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩不卡在线 | 中文一区二区 | 久久久久亚洲精品 | 午夜羞羞| 精品久久国产老人久久综合 | 国产精品久久久久无码av | 久久精品国产99国产精品 | 欧美一区二区三区在线播放 | 亚洲午夜电影 | 我我色综合 | 免费看色 | 日韩免费电影 | 91麻豆精品国产91久久久久久 | 国产网站久久 | 亚洲人久久 | 免费在线日韩 | 成人国产一区二区三区精品麻豆 | 成年视频在线观看福利资源 | 久久久久久av | 久久久久久国产精品免费免费 | 国产精品国产精品国产专区不蜜 | 狠狠综合久久av一区二区老牛 | 日韩av成人 | 国产精品免费观看 | 亚洲综合精品 | 91亚洲精品在线 | 亚洲色在线视频 | 水蜜桃久久夜色精品一区 | 999久久久久久久久6666 | av av在线| 国产91在线播放精品91 | 国产精品福利网 | 日韩欧美字幕 | 国产精品一区久久久 | 欧美午夜剧场 | 五月综合激情婷婷 | 亚洲欧洲精品一区 | 亚洲精品久久久久久久久久久 | 农村妇女毛片精品久久久 | 国产日产精品一区二区三区四区 | 国产精品视频久久久 |