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

QQ登錄

只需一步,快速開始

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

DHT11多路溫濕度采集仿真+51單片機(jī)源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
設(shè)計(jì)要求:
1)利用2塊(SENSOR)子板中DHT11采集2路溫濕度;
2)通過(guò)LCD1602顯示2路溫濕度;
3)并利用串口,將數(shù)據(jù)送至另一單片機(jī)的LCD1602上顯示。
顯示時(shí),第一行顯示第一路的溫度、濕度,第二行顯示第二路的溫度、濕度

內(nèi)含proteus仿真圖及源程序


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #include"DHT11.H"
  4. #include"1602.H"
  5. #define uchar unsigned char
  6. #define uint unsigned int
  7. uchar ws1[15];
  8. uchar ws2[15];
  9. void delay_ms5(uint ms)
  10. {   
  11.     uchar i;
  12.         while(ms--)
  13.     for (i=0;i<120;i++);
  14. }
  15. void fasong1(uchar date)
  16. {
  17.     SBUF=date;       
  18.     while(TI==0);
  19.          TI=0;       
  20. }       

  21. void fasong(uchar *shuju)
  22. { while(*shuju!='\0'){
  23.     fasong1(*shuju);
  24.         shuju++;
  25.         }
  26. }                 
  27. void main()
  28. {  initialize_lcd();//初始化LCD1602
  29.    TMOD=0x20;  //T1方式2
  30.    TR1=1;
  31.    TH1=0xff;
  32.    TL1=0xff;
  33.    EA=1;
  34.    SCON=0x50;        //方式1,允許接收
  35.    PCON=0;         //或者SMOD=1;
  36.    ES=1;
  37.    IT0=1;
  38.    EX0=1;
  39. while(1)
  40. {
  41.    receive();
  42.    ws1[0]='s';
  43.    ws1[1]=':';
  44.    ws1[2]=RH/10+'0'; //溫度十位
  45.    ws1[3]=RH%10+'0'; //溫度個(gè)位
  46.    ws1[4]='-';
  47.    ws1[5]='-';
  48.    ws1[6]='-';
  49.    ws1[7]='-';
  50.    ws1[8]='w';
  51.    ws1[9]= ':';
  52.    ws1[10]=TH/10+'0'; //濕度十位
  53.    ws1[11]=TH%10+'0'; //濕度個(gè)位
  54.    ws1[12]='-'; //小數(shù)點(diǎn)
  55.    ws1[13]='-'; //濕度小數(shù)點(diǎn)后第一位
  56.    lcd_showstring(0,0,ws1);
  57.    fasong(ws1);
  58.    ////////////////////////////////////////溫濕度傳感器2
  59.    receive1();
  60.    ws2[0]='s';
  61.    ws2[1]=':';
  62.    ws2[2]=RHO/10+'0'; //溫度十位
  63.    ws2[3]=RHO%10+'0'; //溫度個(gè)位
  64.    ws2[4]='-'; //
  65.    ws2[5]='-';
  66.    ws2[6]='-';
  67.    ws2[7]='-';
  68.    ws2[8]='w';
  69.    ws2[9]= ':';
  70.    ws2[10]=THO/10+'0'; //濕度十位
  71.    ws2[11]=THO%10+'0'; //濕度個(gè)位
  72.    ws2[12]='-'; //小數(shù)點(diǎn)
  73.    ws2[13]='-';
  74. ……………………

  75. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
單片機(jī)課程設(shè)計(jì).rar (142.97 KB, 下載次數(shù): 220)




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

使用道具 舉報(bào)

沙發(fā)
ID:289316 發(fā)表于 2018-3-15 16:53 | 只看該作者
你好,請(qǐng)問你用的proteus是哪個(gè)版本?
回復(fù)

使用道具 舉報(bào)

板凳
ID:894153 發(fā)表于 2021-3-24 09:11 | 只看該作者
可不可以實(shí)現(xiàn)溫濕度的修改
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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