功能介绍:
0.本系统采用STC89C52作为单片机
1.LCD1602液晶实时显示当前湿度值
2.当湿度超过设定湿度阈值范围时,启动加热和风机控制继电器,否则关闭
3.按键可设定湿度阈值
4.采用DC002作为电源接口可直接输入5V给整个系统供电

原理图:

PCB:

主程序:

#include "main.h"unsigned char dispFlag = 0; //更新显示标志enum _MODE_DF_ dispMode;
unsigned char num = 0;
int temp = 0;
int humidity = 0;
int hmMax = 60;
unsigned char setIndex = 0;
bit ctrlFlag = 0; //自动控制开关
bit ctrlFlag1 = 0; //手动控制开关char dis0[16]; //定义显示区域临时存储数组void main(void)
{char channel = 0;Timer0_Init();LCD_Init();   //初始化液晶DelayMs(200); //延时有助于稳定LCD_Clear();  //清屏LCD_DispStr(0, 0, "    Welcome    ");DelayS(1);LCD_Clear();  //清屏DispNormal();while (1) //主循环{if (dispFlag == 1){dispFlag = 0;if (dispMode == NORMAL){TR0 = 0;DHT11_0_ReadData();temp = U8T_data_H;humidity = U8RH_data_H;TR0 = 1;DispNormal();if (humidity > hmMax) //湿度大于预设值{ctrlFlag = 1; //控制开关标志}else{ctrlFlag = 0;}}}KeyProcess();}
}void DispNormal(void)
{sprintf(dis0, "Hm:%2d%% Temp:%2d", humidity, temp); //打印温度值LCD_DispStr(0, 0, dis0);LCD_DispOneChar(14, 0, 0xdf);  //写入温度右上角点LCD_DispOneChar(15, 0, 'C');  //写入温度的Cif (ctrlFlag || ctrlFlag1) //控制开关打开{RELAY_HEAT = ON; //开启加热RELAY_FAN = ON;  //开启通风LCD_DispStr(0, 1, "Heat:ON  Fan:ON ");}else{RELAY_HEAT = OFF; //关闭加热RELAY_FAN = OFF;  //关闭通风LCD_DispStr(0, 1, "Heat:OFF Fan:OFF");}
}void DispSetHm(unsigned char setIndex)
{LCD_DispStr(0, 0, "  Set Hm Limit  "); sprintf(dis0, "       %2d%%      ", hmMax);LCD_DispStr(0, 1, dis0);switch (setIndex){case 1: LCD_SetCursor(8, 1, 1); break;default:;} }/*------------------------------------------------定时器初始化子程序
------------------------------------------------*/
void Timer0_Init(void)
{TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响TH0 = (65536 - 18432) / 256; //重新赋值 20msTL0 = (65536 - 18432) % 256;EA = 1;  //总中断打开ET0 = 1; //定时器中断打开TR0 = 1; //定时器开关打开
}
/*------------------------------------------------定时器中断子程序
------------------------------------------------*/
void Timer0_Interrupt(void) interrupt 1
{static unsigned char time20ms  = 0;TH0 = (65536 - 18432) / 256; //重新赋值 20msTL0 = (65536 - 18432) % 256;time20ms++;if (time20ms > 100){time20ms = 0;dispFlag = 1; //读标志位置1}}

仿真演示视频:
https://www.bilibili.com/video/BV1pF411j7Y8/

实物演示视频:
https://www.bilibili.com/video/BV1z14y1a7WZ/

基于51单片机的衣柜鞋柜湿度控制系统proteus仿真原理图PCB相关推荐

  1. 基于51单片机的汽车灯光报警控制系统proteus仿真原理图PCB

    功能: 0.本系统采用STC89C52作为单片机 1.模拟汽车灯光控制系统,支持双闪,转向灯光控制 2.上锁后,非法进入,灯光双闪,喇叭报警,报警电路采用的LED和蜂鸣器组成的声光报警系统 3.本系统 ...

  2. 基于51单片机的水箱水位监测控制系统proteus仿真原理图PCB

    功能介绍: 0.本系统采用STC89C52作为单片机 1.通过传感器监测水位,当水位低于水位下限时,接通加水水泵,直到水位达到水位上限,停止加水 2.水位低于水位下限时,声光报警 3.可按键手动加水, ...

  3. T027基于51单片机的智能窗帘窗户控制系统proteus仿真原理图PCB

    功能: 0.本系统采用单片机STC89C52作为系统的主控芯片 1.系统采用LCD1602液晶实时显示当前时间/窗帘状态/光照强度 2.系统具有四个功能按键,支持手动按键/定时/遥控三种模式控制窗帘 ...

  4. T045基于51单片机温湿度检测系统无线蓝牙传输Proteus仿真原理图PCB

    功能: 0.本项目采用STC89C52作为单片机系统的控制MCU 1.系统内采用DHT11作为湿度传感器,支持温湿度检测上传 2.系统具备无线蓝牙模块,支持定时循环发送手机端当前的温湿度状态 3.采用 ...

  5. 基于51单片机超声波的停车场车位管理系统proteus仿真原理图PCB

    功能介绍: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶实时显示当前车位状态 2.当超声波探头检测到距离小于500mm时,判断为当前车位有车,否则无车 3.超声波传感器型号采用HC ...

  6. 基于51单片机的数字音乐彩灯电子琴proteus仿真原理图PCB

    0.本系统采用STC89C52作为单片机 1.LCD1602液晶实时显示当前工作模式或曲目编号 2.支持电子琴模式和歌曲模式(内置8首歌曲) 3.按'切换'键可切换工作模式 4.电子琴模式下,按矩阵键 ...

  7. 基于51单片机的教室车辆计数器报警proteus仿真原理图PCB

    功能: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶实时显示进出计数和当前总数 2.系统设计有四个功能按键,按键可设定总数上限阈值,超过上限,系统将报警 3.报警电路由蜂鸣器和LE ...

  8. 基于51单片机汽车自动照明灯远近光灯proteus仿真原理图PCB

    功能: 0.本系统采用STC89C52作为单片机 1.该系统采用的是两个USB小灯作为模拟汽车远光灯和近光灯 2.采用HC-SR04超声波模块模拟汽车障碍物检测系统 3.采用光敏电阻来检测环境光,汽车 ...

  9. 基于51单片机的水位水质检测系统Proteus仿真原理图PCB

    功能: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶实时显示水位.水质百分比 2.按键设置水位水质阈值并通过液晶显示 3.具备4个LED分别作为水位水质的上下限指示灯 4.具备声光 ...

最新文章

  1. python常见的排序算法_常见排序算法之python实现
  2. JavaWeb总结(四)—JSP深入解析
  3. extjs4:代码实现comboBox选中事件
  4. python 多层包多模块_python Modules模块操作
  5. Hadoop技术在商业智能BI中的应用
  6. 错误:Type javax.xml.bind.JAXBContext not present
  7. 两大思维,就可以让你轻松完成任意一个目标
  8. sleep和sleep(0)的区别
  9. python爬微信头像_使用python itchat包爬取微信好友头像形成矩形头像集的方法
  10. android 视频标签,android--------WebView实现 Html5 视频标签加载
  11. springmvc配置servlet
  12. visio图形包解压
  13. 编译原理期末试题(8套含答案)
  14. ubuntu18.04安装tftpd服务器
  15. 共识机制是什么意思?
  16. 任正非自称不如钱伯斯!钱伯斯究竟是何许人?
  17. 互联网日报 | 5月7日 星期五 | 街电与搜电完成合并;IBM发布2nm芯片制程;首届中国国际消费品博览会开幕...
  18. Win7快速调整屏幕亮度最快的方法
  19. ue4掉落深渊返回地面
  20. 服务名无效。 请键入 NET HELPMSG 2185 以获得更多的帮助。

热门文章

  1. Python中with语句的作用
  2. js-onSelectStart解释
  3. 037_《Delphi7高效数据库程序设计》
  4. apt-get install -qq 的-qq 什么意思
  5. 为什么越来越多的人痛恨绩效考核?不仅员工反感,管理者也讨厌!
  6. 循环数组、对象的方法(超实用)
  7. WinSetupFromUSB - 超简单制作多合一系统安装启动U盘的工具 (支持Win/PE/Linux启动盘)
  8. “沉浸式”体验?异形屏适配?我把他们扒光了明明白白告诉你应该这样做
  9. Unity3D学习笔记3——Unity Shader的初步使用
  10. 锐龙Threadripper 3代延迟上市并非坏事