0516-基于单片机的环境监测调节系统设计

随着社会的进步和工农业生产技术的发展,许多产品对生产和使用环境的要求越来越严。人们对温度、湿度等环境因素的影响越来越重视了。

功能描述

1、采用51单片机作为主控芯片;

2、采用24C02芯片掉电存储设置上下限;

3、采用LCD1602液晶显示:上行显示当前温度和湿度,下行显示相应的冷/热/干/湿状况;

4、采用全数字型DHT11温湿度传感器:温度测量范围0℃--50℃,湿度测量范围20%RH—90%RH;

5、当超过阀值的时候,有蜂鸣器报警提示。并有开关可以关闭或打开报警;

6、当温度或湿度超限后,报警信号灯点亮同时相应的继电器吸合;继电器可以驱动打开或切断通风机、抽湿机、加热器、制冷器、加湿器、报警器等外部设备;

7、可通过按键分别对温度/湿度报警上下限进行设置;

按键说明

KEY1:进入设置菜单;切换设置选项;

KEY2:设置参数值+1;

KEY3:设置参数值-1;

KEY4:退出设置菜单;

整体方案

本设计总体思路为:信息采集→信息处理→信息显示/报警。它的主要模块为单片机模块,温湿度采集模块,显示模块,键盘模块,LED报警模块,电源模块,阈值设置模块,设计方块图如下。

电路设计

采用Altium Designer作为电路设计工具。Altium Designer通过把原理图设计、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。

仿真设计

采用Proteus作为仿真设计工具。Proteus是一款著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

主程序设计

void main()
{
    uint i, j, testnum;

    EA = 0;

	Timer0_Init();  //定时器0初始化

    Data_Init();
	EA = 1;

	L1602_init();
	L1602_string(1,1,"  ^_^ ^_^ ^_^  ");
	L1602_string(2,1," welcome to use ");
	//延时
	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,"Smalldi@2017");

	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)
				{
					Led_jiangwen = 0;
					hot=1;
					Led_shengwen = 1;
					cold=0;
			//		BJ=1;
				}
				else if(temperature<TL)
				{
					Led_shengwen = 0;
					cold=1;
					Led_jiangwen = 1;
					hot=0;
					buzz=0;
			//		BJ=1;
				}			      
				else
				{
					Led_jiangwen=1;
					Led_shengwen=1;
					hot=0;
					cold=0;
					buzz=1;
				}
				if (humidity > HH)
				{
					Led_qushi = 0;
					humid=1;
					Led_jiashi = 1;
					dry=0;
			//		BJ=1;
				}
				else if(humidity<HL)
				{
					Led_jiashi = 0;
					dry=1;
					Led_qushi = 1;
					humid=0;
			//		BJ=1;
				}		
				else
				{
					Led_qushi=1;
					Led_jiashi=1;
					humid=0;
					dry=0;
				}	
			 }
			 else
			 {
			 	Led_shengwen=1;
				Led_jiangwen=1;
				Led_jiashi=1;
				Led_qushi=1;
				hot=0;
				cold=0;
				humid=0;
				dry=0;
				BJ=0;
			 }	
		}
		display();
		KEY();
	}	
}

源文件获取

关注公众号【电子开发圈】,首页发送 “环境” 获取;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电子开发圈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值