找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4997|回复: 2
收起左侧

DHT11多路温湿度采集仿真+51单片机源程序

[复制链接]
ID:277432 发表于 2018-1-18 16:07 | 显示全部楼层 |阅读模式
设计要求:
1)利用2块(SENSOR)子板中DHT11采集2路温湿度
2)通过LCD1602显示2路温湿度;
3)并利用串口,将数据送至另一单片机的LCD1602上显示。
显示时,第一行显示第一路的温度、湿度,第二行显示第二路的温度、湿度

内含proteus仿真图及源程序
图片1.png 0.png

单片机源程序如下:
  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'; //温度个位
  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'; //湿度个位
  54.    ws1[12]='-'; //小数点
  55.    ws1[13]='-'; //湿度小数点后第一位
  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'; //温度个位
  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'; //湿度个位
  72.    ws2[12]='-'; //小数点
  73.    ws2[13]='-';
  74. ……………………

  75. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
单片机课程设计.rar (142.97 KB, 下载次数: 212)
回复

使用道具 举报

ID:289316 发表于 2018-3-15 16:53 | 显示全部楼层
你好,请问你用的proteus是哪个版本?
回复

使用道具 举报

ID:894153 发表于 2021-3-24 09:11 | 显示全部楼层
可不可以实现温湿度的修改
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表