1、自动浇灌系统系统设计2011 2012 学年 第 一 学期项目名称: 自动浇灌系统的系统设计 硬件设计框图功能描述系统模块模块功能DS18B20温度采集模块:通过该温度传感器获取当前的温度值。汉字液晶屏显示状态信息模块:根据温度,在该屏上逐行显示:温度、水龙头开关状态、浇灌时间和次数等信息。定时器模块:实现记录不同温度段的浇灌时间及浇灌间隔时间等信息控制电磁阀开/关模块:根据温度信息控制继电器吸合及断开,从而控制电磁阀的开关,实现浇灌与否。主程序模块:对相关模块的初始化及相关模块的控制流程。软件设计运行环境u Keilu ISIS 6 Professionalu 信息学院仿真板状态图动作温度状
2、态变化变化条件浇灌时长电磁阀动作1:进入低温状态低温,闸门关,定时器关0关关动作2:由常温浇水状态进入低温状态温度降到低温,闸门关,定时器关5s开关动作3:由低温状态进入常温浇水状态温度升到常温,闸门开,定时器开5s关开动作4:常温不浇水状态进入低温状态温度降低到低温,闸门关闭,定时器开0关关动作5:进入常温浇水状态温度进入常温,闸门开,定时器开5s关开动作6:持续常温浇水状态温度保持在常温,闸门开,定时器开5s开开动作7:持续常温不浇水状态温度保持在常温,闸门关闭,定时器开0关关动作8:进入高温浇水状态温度升到高温,闸门开,定时器开5s关开动作9:高温浇水状态进入低温状态温度降低到低温,闸门
3、关闭,定时器开5s开关动作10:常温浇水状态进入高温浇水状态温度升到常温,闸门开,定时器开5s开开动作11:高温不浇水状态进入常温浇水状态温度升到常温,闸门开,定时器开5s关开动作12:持续高温浇水状态温度升到常温,闸门开,定时器开5s开开动作13:持续高温不浇水状态温度保持不变,闸门关闭,定时器开0关关动作14:高温浇水状态进入高温不浇水状态温度保持不变,闸门关闭,定时器开0开关动作15:高温不浇水状态进入高温浇水状态温度保持不变,闸门开,定时器开5s关开动作16:高温浇水状态进入低温状态温度降低到低温,闸门关闭,定时器关闭0开关动作17:持续低温状态温度保持不变,闸门关闭,定时器关0关关动
4、作18:常温浇水状态进入常温不浇水状态温度保持不变,闸门关闭,定时器开0开关动作19:常温不浇水状态进入常温浇水状态温度保持不变,闸门开,定时器开5s关开3)主要流程图YYYNN初始化获取温度t开始判断温度值tIf t20关闭阀,温度显示低温If 20t 25电磁阀打开,开始浇灌,打开定时器开始计时,浇灌5秒进入高温不浇灌,再间隔5秒电磁阀打开,开始浇灌,打开定时器开始计时,浇灌5秒进入高温不浇灌,再间隔5秒4)程序结构图显示模块xianshi.c主函数模块main.cvoid dispjiben(void)void LCD_shi(uchar dat)void LCD_feng(uchar
5、dat)void LCD_miao(uchar dat)void disptime(void)void timer0(void) interrupt 1int GetTemp(uchar temp4)void whileswitch()void LCD_DispHZStr(uchar cy, uchar cx, uchar *disp_strvoid LCD_DispFill(uchar filldata)void LCD_DispChar(uchar cy, uchar cx, char dispdata)void LCD_DispStr(uchar cy, uchar cx, char *disp_str)void LCD_DispHZ(uchar cy, uchar cx, uchar dispdata)voidLCD_WrCmd(bit port,uchar cmd)void LCD_WrDat(bit port ,uchar wrdata)void late(uchar t)void delay15(uchar n)bit reset(void)void wrbyte(uchar d)uchar rdbyte(void)void convert(void)自动浇灌系统测温模块cewen.c