基于51单片机的温湿度检测报警系统设计

描述

具体实现功能:

由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(temperature
       
        HH) { Led3 = 0; humid=1; Led4 = 1; dry=0; } else if(humidity
        
         

程序运行结果如图:

温湿度传感器

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分