智能灌溉系统的设计论文 - 图文(9)

2020-04-14 22:06

} }

}

show_time(); //液晶显示数据

if(flag==2)//100后flag为2,进行比较 {

if(a==U8T_data_H&&b==U8RH_data_H) while(a==U8T_data_H&&b==U8RH_data_H); flag=0; Setkey(); jiaoshui();

//扫描各功能键 //湿度小于38%

} if(ff<38)K1=0;

P1=0x00; PH(); }

4.3 12864 LCD显示子程序设计

12864LCD显示屏有着自己的指令集,基本指令集有11条指令。它的指令是通过选择RS的高低电平来区别所从DB0~DB7输入的是数据还是指令, RW的高低电平来选择对现实屏是读操作还是写操作。CS1、CS2不同组合代表选择左半屏或者右半屏。数据或者指令的代码从DB0~DB7输入。对12864LCD写程序的步骤如下:

(1)开启两个半屏 (2)清左半屏和右半屏 (3)选择左半屏 (4)设置页和起始行 (5)写左半屏

显示屏显示子程序流程图如图4-2所示:

30

开始显示屏初始化清屏选择左或右半屏设置起始行、起始列写字否半屏写完?是结束

图4-2 显示屏显示子程序流程图

显示屏显示子程序: void show_time() {

if(pp==2) {

gotoxy(1,0);

print(\ \ gotoxy(2,0);

print(\系统初始化中, \显示时间 gotoxy(3,0);

print(\请稍候.... \显示日期

31

gotoxy(4,0);

print(\ \ RH(); delay1(3000); } else {

DS1302_GetTime(&CurrentTime); //获取时钟芯片的时间数据 TimeToStr(&CurrentTime); //时间数据转换液晶字符 DateToStr(&CurrentTime); //日期数据转换液晶字符 if(pp==0) {

gotoxy(2,0); print(\时间:\ gotoxy(2,3);

print(CurrentTime.TimeString); //显示时间 gotoxy(1,3);

print(CurrentTime.DateString); //显示日期 gotoxy(1,0); print(\星期\ gotoxy(1,2);

print(week_value); //显示星期 } if(pp==1) {

gotoxy(1,0);

print(\智能灌溉系统 \ gotoxy(2,0);

print(\电机状态:工作 \ }

gotoxy(3,0); print(\温湿度:\

32

gotoxy(3,4); //液晶字符显示位置 write_dht11(U8T_data_H); print(dht_11); gotoxy(3,5); print(\℃\ /*gotoxy(3,5); print(\湿度:\ //gotoxy(4,2); gotoxy(3,6);

write_dht11(U8RH_data_H); print(dht_11); gotoxy(3,7); print(\ if(ft==1) {gotoxy(4,0);

print(\值:正常!\

} if(ft==2) {gotoxy(4,0);

print(\值:异常!\ } }

经过调试,本设计实现基本功能,本设计采用闭环控制,温湿度传感器一直采集实时数据,若所测湿度高于警戒值时,步进电机停止,液晶显示屏会实时显示此时温度和湿度,并显示时钟,且此时土壤PH值设定为正常,液晶屏显示状态如图4-3所示。

}

mdelay(500); //扫描延时

33

图4-3湿度大于警戒值

若所测湿度小于警戒值时,电机就会自启动,如图4-4所示,直到所测湿度高于警戒值之后,步进电机就会自动停止,且此时PH值呈碱性,显示为异常。

图4-4湿度小于警戒值

34


智能灌溉系统的设计论文 - 图文(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018届高考高三文科数学三角函数专题典型题型总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: