具体实现功能:
由STC89C51/52单片机+DHT11温湿度传感器+LCD1602液晶显示屏+按键模块+报警模块构成。
具体功能:
1、LCD1602液晶显示,第一行显示当前的温度和湿度,第二行显示相应的冷、热、干、湿;
2、四个按键为设置、加、减、确定,用于温湿度报警值的设置;
3、采用温湿度传感器DHT11,温度测量范围0℃-50℃,湿度测量范围20%RH—90%RH;
4、当超过温湿度设置范围时,蜂鸣器响起,相应指示灯亮。
仿真演示视频(实物功能和仿真类似):
设计介绍
51单片机简介
51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。
设计方案
设计方案如下:
DHT11检测空气中的温度值、湿度值,利用单片机进行数据处理后通过LCD1602实时显示,并根据按键设定的报警阈值进行报警处理。
单片机类设计论文参考模板:
毕设无忧|单片机类毕设论文模板
资料内容
原理图和PCB(AD19)
本系统原理图和PCB设计采用Altium Designer19,具体如图。
注1:请使用Altium Designer19直接打开资料中的工程文件(资料中已说明打开方式),若要求使用其他版本软件,请谨慎购买!
注2:此设计需按照原理图制作实物,不可直接烧录到任何开发板中运行(需要修改程序)!
Altium Designer19软件安装包下载链接:
Altium Designer19安装破解教程(内附安装包)
51单片机常用元器件封装下载链接:
资料分享|51单片机常用元器件封装库
Altium Designer19教程:
AD19简易教程(原理图的绘制)
实用技巧|AD19快捷键大全
仿真实现(protues8.7)
本设计利用protues8.7软件实现仿真设计,具体如图。
注1:请使用protues8.7直接打开资料中的工程文件(资料中已说明打开方式),若要求使用其他版本软件,请谨慎购买!
注2:由于仿真软件限制,仿真设计和实物设计无法百分百对应!!
protues8.7软件资料:
proteus8.7安装及破解教程(内附安装包)
若仿真中遇到问题,请参照以下文章解决:
protues仿真常见问题解决方案
Protues8.7简易教程
程序(Keil5)
本设计利用KEIL5软件实现程序设计。
注:请使用KEIL C51直接打开资料中的工程文件(资料中已说明打开方式),若要求使用其他版本软件,请谨慎购买!!
主程序如下:
/******************************************************************** * 名称 : Main() * 功能 : 主函数 ***********************************************************************/ void main() { uint i, j, testnum; EA = 0; Timer0_Init(); Data_Init(); EA = 1; L1602_init(); L1602_string(1,1," Welcome to T&H "); L1602_string(2,1," Control System!"); for (i=0;i<1000;i++) for (j=0;j<1000;j++) {;} L1602_string(1,1," "); L1602_string(2,1," "); L1602_string(1,1,"Tem: C Hum: %"); L1602_string(2,1,"Good environment") while(1) { if (FlagStartRH == 1) //温湿度转换标志检查 { TR0 = 0; testnum = RH(); FlagStartRH = 0; TR0 = 1; humidity = U8RH_data_H; //读出温湿度,只取整数部分 temperature = U8T_data_H; if(Mode==0) //温湿度控制 { if (temperature > TH) { Led1 = 0; hot=1; Led2 = 1; cold=0; } else if(temperatureHH) { Led3 = 0; humid=1; Led4 = 1; dry=0; } else if(humidity
程序运行结果如图:
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !