基于51单片机的温湿度DHT11采集.docx
《基于51单片机的温湿度DHT11采集.docx》由会员分享,可在线阅读,更多相关《基于51单片机的温湿度DHT11采集.docx(15页珍藏版)》请在冰点文库上搜索。
基于51单片机的温湿度DHT11采集
基于51单片机的温湿度DHT11采集
LT
数字1信号表示方法
DHT11软件流程图
显示器选择方案
•方案一:
采用12864液晶显示屏。
12864液晶显示模块自身内置8192个中文汉字、128个字符及64X256点阵显示RAM。
可以显示汉字以及图案。
• 方案二:
选择使用LCD1602液晶显示屏。
LCD1602能够显示16列2行,但是只能显示字母、数字和符号能显示16*2个字符,不能显示汉字。
由于LCD1602寄存器不止32个,所以软件编写可以使字符一个个显示、字符从左到右或从右到左显示等等,显示效果比较简单。
•经过上述分析,在编程使用方面,12864液晶显示屏和LCD1602难度差不多,虽然12864液晶屏可以显示更多的字符,汉字,乃至图案,有更多LCD1602不具备的功能。
但是LCD1602液晶屏也能实现系统设计的要求,而且LCD1602价格比较便宜,而12864液晶显示屏最至少四十块钱。
综上所述,LCD1602就是最好的选择。
•LCD1602能够同时显示32个字符(16列2行)LCD1602液晶模块里面的字符发生存储器已经存储了160个不同的字符图,但是没有汉字,12864液晶模块可以显示汉字。
我们是通过指令编程来实现LCD1602的读写操作、屏幕和光标的操作等操作的(1为高电平,0为低电平)
•写操作时序
读操作时序
程序流程图
一、硬件部分
总电路图:
DHT11模块电路
无源蜂鸣器电路
LCD1602电路
继电器电路
二、软件设计
LCD1602显示程序
延时函数
温湿度DHT11
主程序和按键
三、调试及运行结果
当湿度达到设定的范围的时候,显示风扇开
当湿度低于设定的范围的时候,显示风扇关
四、总结(感想和心得等)
此次的课程设计做的是我最心塞的一次,因为队友实在是太不给力了,本来是打了一张板了,可是不知道什么原因LCD1602一直显示不出来,也没有在检查,后来就只能用直接用开发板做了。
这个温湿度采集控制系统,最最关键的就是温湿度模块——DHT11。
因为要根据DHT11的参考手册里面的时序来写,才能读取到DHT11传回来的数据,一开始怎么也不能读取到,最后还是万能的XX帮了忙,学到了一个FOR循环大概是8us才能准确的控制时间来读取数据。
还有一个问题不能解决的是LCD的判断忙的程序不知道为什么不能用。
一直处于忙的状态。
和网上的写法是一样的,可是LCD就是一直是忙的状态。
这个我也是不能解决。
学会了键盘的更多功能。
例如不用通过延时来消抖,按键长按的功能都是很使用的。
由于开发板的P3是键盘和LCD相连接的,所以就不能说控制多个按键实现不同的功能。