- 1、本文档共77页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的温室监控系统设计
目 录
TOC \o 1-3 \h \u
#includetype.h
#include4x4Key.h
#includeLCD1602.h
#includeDS1302.h
#includeDS18B20.h
#includeHS1101.h
#includeTIMEROPTION.h
#includeBUZZER.h
/***********************************************
*名称:Init_Total()
*说明:系统总初始化函数
*功能:上电后的初始化
*调用:lcd_1602_init(),Init_DS1302()
*输入:无
*输出:无
***********************************************/
void Init_Total()
{
LCD=ON; //LCD背光开
Open_show(); //开机画面显示
Init_HS1101(); //HS1101初始化函数
Init_DS18B20(); //DS18B20初始化函数
Init_DS1302(); //DS1302初始化函数
Init_4x4Key(); //键盘接口初始化
lcd_1602_init(); //LCD1602初始化函数
Init_BUZZER(); //蜂鸣器初始化(系统初始化完毕提示音)
dula=1; //锁存开
Heater=OFF; //加热器关
Humidifier=OFF; //加湿器关
dula=0; //锁存关
}
void main()
{
uchar keyval,i,Worker;
Init_Total(); //系统总初始化
while(1)
{
if(P1!=0xf0) //键盘动作跳入键扫
{
keyval=Saomiao_4x4Key(); //扫描键盘返回键值
P1=0xf0; //键盘接口重置
}
if(keyval==15) //键值15(A)(定时工作显示)
{
i=~i;
if(i==0)
{
SetCusor(1,8);Print(A);
Worker=1; //开启定时工作函数
}
else
{
dula=1;
Heater=OFF; //加热器关
Humidifier=OFF; //加湿器关
Worker=0; //不查询定时工作函数
dula=0;
}
keyval=12; //跳入基本信息显示界面
}
while(keyval==10) //键值10(*)(温度设定界面)
{
uchar CT;
CT=Change_Temperature(); //温度设置函数
if(CT==1){keyval=12;} //键盘动作(跳出)
}
while(keyval==11) //键值11(#)(湿度设定界面)
{
uchar CR;
CR=Change_RH(); //湿度设置函数
if(CR==1){keyval=12;} //键盘动作(跳出)
}
while(keyval==14) //键值14(B)(定时设定界面)
{
uchar TO;
TO=TimerOption(); //定时设置函数
if(TO==1){keyval=15;} //键盘动作(跳出)
}
while(keyval==13) //键值13(C)(时间调整界面)
{
uchar TC;
TC=TimeChange(); //时钟更改函数
if(TC==1) keyval=12; //键盘动作(跳出)
}
while((keyval==12)||(keyval=9)) //键值12(D)(返回显示界面)
{
show_temperature(); //显示温度
show_time(); //显示时间/日期
show_HS1101(); //显示相对湿度
IOWork(Worker); //查询定时工作函数
if(P1!=0xf0){brea
文档评论(0)