毕设分享 基于单片机生态农业基地温湿度控制系统

总体来说,本次设计主要涉及了温湿度的测量、显示以及实现简单控制。硬件方面有五个模块,即单片机主控模块、传感器模块、LCD1602液晶显示模块、报警模块以及阈值设置模块。其中主控模块已经给出,我们只需适当增加驱动电路即可。

传感器模块使用的是DHT11数字温湿度传感器。通过DHT11检测出当前环境下的温湿度,将所测数据交给AT单片机进行分析和处理,并分别存入不同数组以便显示时候用。其中,为了显示稳定,本系统每间隔5s采集一次数据送入单片机。

1602液晶显示模块就是实现温湿度检测值和阈值的显示。其分两行显示,上边一行显示湿度和温度值,下面是状态指示,按键可以设置控制范围。

小灯报警模块实现了检测值超过阈值的时候相应颜色的灯亮报警。本系统采用的是多个led灯和继电器来指示和驱动电机、加热器等,因此无论温度还是湿度超出范围led会进行报警提示。提醒工作人员此时温度湿度数据出现异常、需及时调整,及时启用升温器、加湿器、降温风扇以及喷雾器来有效的调整实验室内温湿度。

阈值设置模块通过三个按键来实现阈值设置功能的。使得在不同环境下设置阈值提供了极大的方便,不需要每次都在程序里改动然后再烧录,省去了复杂的过程。

#include 
#include 
#include 
  
#define uchar unsigned char
#define uint unsigned int

//定义四个输出端口
sbit Led_jiashi=P3^4;		//加湿
sbit Led_qushi=P3^3;		//去湿
sbit Led_jiangwen=P3^1;		//降温
sbit Led_shengwen=P3^2;		//升温
//定义三个设置按键
sbit Key_SET = P2^0;
sbit Key_ADD = P2^1;
sbit Key_SUB = P2^2;
sbit Key_OK  = P2^3;
//定义24C02数据口
sbit SCL = P1^0;
sbit SDA = P1^1;
//定义DHT11数据口
sbit DATA = P1^7;
sbit buzz=P3^5;

//定义LCD1602端口
sbit E=P1^3;		//1602使能引脚
//sbit RW=P2^6;		//1602读写引脚	
sbit 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;

//定时器0初始化
void Timer0_Init()
{
	ET0 = 1;        //允许定时器0中断
	TMOD = 0x11;       //定时器工作方式选择
	TL0 = 0xFF;     
	TH0 = 0x4B;     //定时器赋予初值
	TR0 = 1;        //启动定时器

项目获取:

https://gitee.com/feifei1122/simulation-project

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值