標(biāo)題: DHT11多路溫濕度采集仿真+51單片機(jī)源程序 [打印本頁(yè)]

作者: 梁繼鵬123    時(shí)間: 2018-1-18 16:07
標(biāo)題: DHT11多路溫濕度采集仿真+51單片機(jī)源程序
設(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)





作者: 加油吧小蝸牛    時(shí)間: 2018-3-15 16:53
你好,請(qǐng)問(wèn)你用的proteus是哪個(gè)版本?
作者: 吃了沒(méi)    時(shí)間: 2021-3-24 09:11
可不可以實(shí)現(xiàn)溫濕度的修改




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