• 基于51单片机和DHT11温湿度传感器的智能加湿器的设计与实现


    一、DHT11温湿度传感器简介

     二、Proteus电路设计

    三、使用Keil uVision4 编写51单片机代码

    1. void DHT11_start()
    2. {
    3. Data=1;
    4. DHT11_delay_us(2);
    5. Data=0;
    6. DHT11_delay_ms(30); //延时18ms以上
    7. Data=1;
    8. DHT11_delay_us(30);
    9. }
    10. uchar DHT11_rec_byte() //接收一个字节
    11. {
    12. uchar i,dat=0;
    13. for(i=0;i<8;i++)
    14. {
    15. while(!Data); //等待50us低电平过去
    16. DHT11_delay_us(8); //延时60us,如果还为高则数据为1,否则为0
    17. dat<<=1;
    18. if(Data==1)
    19. dat+=1;
    20. while(Data); //等待数据线拉低
    21. }
    22. return dat;
    23. }
    24. void DHT11_receive() //接收40位的数据
    25. {
    26. uchar R_H,R_L,T_H,T_L,RH,RL,TH,TL,revise;
    27. DHT11_start();
    28. if(Data==0)
    29. {
    30. while(Data==0); //等待拉高
    31. DHT11_delay_us(40); //拉高后延时80us
    32. R_H=DHT11_rec_byte(); //接收湿度高八位
    33. R_L=DHT11_rec_byte(); //接收湿度低八位
    34. T_H=DHT11_rec_byte(); //接收温度高八位
    35. T_L=DHT11_rec_byte(); //接收温度低八位
    36. revise=DHT11_rec_byte(); //接收校正位
    37. DHT11_delay_us(25);
    38. if((R_H+R_L+T_H+T_L)==revise)
    39. {
    40. RH=R_H;
    41. RL=R_L;
    42. TH=T_H;
    43. TL=T_L;
    44. }
    45. // 数据处理
    46. rec_dat[0]='0'+(RH/10);
    47. rec_dat[1]='0'+(RH%10);
    48. rec_dat[2]='R';
    49. rec_dat[3]='H';
    50. rec_dat[4]=' ';
    51. rec_dat[5]=' ';
    52. rec_dat[6]='0'+(TH/10);
    53. rec_dat[7]='0'+(TH%10);
    54. rec_dat[8]='C';
    55. shidu = RH;
    56. }
    57. }
    58. // 主函数
    59. void main()
    60. {
    61. // 初始化LCD1206
    62. LCD_init();
    63. LCD_send(1,0,"Temperature:",25);
    64. // 延时100ms
    65. DHT11_delay_ms(100);
    66. while(1)
    67. {
    68. DHT11_receive();
    69. LCD_send(2,0,rec_dat,9);
    70. // 判断当前环境湿度 环境湿度>80 雾化器停止工作;
    71. if (shidu > 80) {
    72. wuhuaqi = OFF;
    73. } else {
    74. wuhuaqi = ON;
    75. }
    76. }
    77. }

    四、运行仿真效果

    五、完整资料下载,免费分享,无解压密码

    链接:https://pan.baidu.com/s/1QpThKPu8jHWD7KlRoU9_rw?pwd=i3xo
    提取码:i3xo

  • 相关阅读:
    金蝶EAS代码执行漏洞
    小红书爆款笔记的成功之道:持续更新和分享的重要性
    Ajax入门及jQuery库对Ajax的封装
    JupyterLab | 这几款插件推荐给天天使用JupyterLab的你!~
    关于一篇什么是JWT的原理与实际应用
    Node-EventEmitter的用法
    手写promise
    GC垃圾回收器详解
    uni-app 之 文件(图片、视频.....)上传与下载
    Hive 3.x 配置&详解
  • 原文地址:https://blog.csdn.net/lilihexiaoxiangege/article/details/132952870