完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
通过实时测量温湿度,采集温度和湿度值,设定温度和湿度的范围,来控制降温和升温装置、加湿和干燥装置,同时具备超限报警电路,掉电存储电路。
总体来说,本次设计主要涉及了温湿度的测量、显示以及实现简单控制。硬件方面有五个模块,即单片机主控模块、传感器模块、LCD1602液晶显示模块、报警模块以及阈值设置模块。其中主控模块已经给出,我们只需适当增加驱动电路即可。 传感器模块使用的是DHT11数字温湿度传感器。通过DHT11检测出当前环境下的温湿度,将所测数据交给AT单片机进行分析和处理,并分别存入不同数组以便显示时候用。其中,为了显示稳定,本系统每间隔5s采集一次数据送入单片机。 1602液晶显示模块就是实现温湿度检测值和阈值的显示。其分两行显示,上边一行显示湿度和温度值,下面是状态指示,按键可以设置控制范围。 小灯报警模块实现了检测值超过阈值的时候相应颜色的灯亮报警。本系统采用的是多个led灯和继电器来指示和驱动电机、加热器等,因此无论温度还是湿度超出范围led会进行报警提示。提醒工作人员此时温度湿度数据出现异常、需及时调整,及时启用升温器、加湿器、降温风扇以及喷雾器来有效的调整实验室内温湿度。 阈值设置模块通过三个按键来实现阈值设置功能的。使得在不同环境下设置阈值提供了极大的方便,不需要每次都在程序里改动然后再烧录,省去了复杂的过程。 #include #include #include #include #define uchar unsigned char #define uint unsigned int //定义四个输出端口 ***it Led_jiashi=P3^4; //加湿 ***it Led_qushi=P3^3; //去湿 ***it Led_jiangwen=P3^1; //降温 ***it Led_shengwen=P3^2; //升温 //定义三个设置按键 ***it Key_SET = P2^0; ***it Key_ADD = P2^1; ***it Key_SUB = P2^2; ***it Key_OK = P2^3; //定义24C02数据口 ***it SCL = P1^0; ***it SDA = P1^1; //定义DHT11数据口 ***it DATA = P1^7; ***it buzz=P3^5; //定义LCD1602端口 ***it E=P1^3; //1602使能引脚 //***it RW=P2^6; //1602读写引脚 ***it RS=P1^2; //1602数据/命令选择引脚 //定义全局变量 uchar U8FLAG,U8temp,U8comdata,U8RH_data_H_temp,U8RH_data_L_temp,U8T_data_H_temp,U8T_data_L_temp,U8checkdata_temp; uchar U8RH_data_H,U8RH_data_L,U8T_data_H,U8T_data_L,U8checkdata; uchar Mode,humidity,temperature; char TH,TL,HH,HL; bit bdata FlagStartRH,hot,cold,humid,dry,BJ; |
|
|
|
只有小组成员才能发言,加入小组>>
3263 浏览 9 评论
2944 浏览 16 评论
3443 浏览 1 评论
8955 浏览 16 评论
4036 浏览 18 评论
1079浏览 3评论
559浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
552浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2287浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1848浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 16:51 , Processed in 0.999501 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号