瓮嘉民, 周成虎
(河南工程学院 电气信息工程系,河南 郑州 451191)
系统方案如图1所示,主机和从机选用AT89S52单片机,通过RS-485总线进行数据通信.主机采用LCD2002显示各从机的温度和当前时间,根据按键或无线遥控的输入命令对控制温度上限值、温度报警值和当前时间进行设置,并通过RS-485总线传递温度报警值给从机并读取从机温度.从机通过DS18B20采集.
图1 系统结构图Fig.1 System frame chart
现场温度利用LCD1602进行显示,通过RS-485总线接收温度报警值,同时上传温度检测值给主机.
(1)液晶显示功能.主机LCD2002液晶显示从机1和从机2实时采集的温度值、时间和日期如图2所示.图2(a)中第一行显示的是从机1的温度为28.0 ℃和当前日期是2010年9月2日,第二行显示的是从机2的温度为34.0 ℃和当前时间是16∶40∶15;图2(b)中第一行显示的日期是2010年9月2日和星期五,第二行显示时间16∶38∶08和温度上限值37 ℃.
图2 主机液晶显示界面Fig.2 Host computer LCD display panel
(2)DS1302实时时钟功能[1].采用DS1302实时时钟芯片进行年、月、日、时、分、秒刷新.可以通过按键调整或者无线遥控调整时间,并具有系统掉电后启用备用电池向DS1302继续供电的功能,使用户不必每次上电调整时间.
(3)AT24C02 掉电存储功能[2].存储用户设定的温度上限值和其他重要数据.
(4)蜂鸣器报警功能.当温度大于等于用户设定的上限值时,主机蜂鸣器报警.
(5)自动控温.当温度大于等于用户设定的上限值时,继电器吸合,控制电扇通风降温,同时继电器接通指示灯亮.
(6)按键键盘.按键8个,其中SET、UP、DOWN和OUT是手动仿真按键,SET_、UP_、DOWN_和OUT_是无线遥控[3]仿真按键.当SET或SET_键按下后进入调整模式,此时主机液晶显示界面如图2(b)所示,并且可以通过SET或SET_键切换进入对温度上限值、时间、星期、年月日的调整状态.当进入某种调整状态时其对应值会快速闪烁,通过UP键(或UP_)或者DOWN(或DOWN_)键进行调整.调整完毕后按下OUT(或OUT_)键保存并退出调整模式.
以从机1为例进行功能介绍.从机1通过DS18B20进行温度采集,然后通过LCD1602进行显示,如图3所示.
图3 从机LCD显示Fig.3 Slave computer LCD display
第一行显示主机发来的温度上限值,第二行显示从机1所在位置的温度值.
从机2功能与从机1功能类似.
主机AT89S52采用查询方式[4],从机AT89S52采用中断方式,具体协议如下:
(1)主机AT89S52发送查询地址.
(2)从机AT89S52接收查询地址,并与本从机地址比较,若相同则发送从机地址、采集温度十位、采集温度个位、采集温度小数位及累加和校验.
(3)主机AT89S52接收数据.
(4)主机AT89S52发送温度上限报警值十位、温度上限报警值个位.
(5)从机AT89S52接收温度上限报警值命令.
(6)主机AT89S52未查询完所有的AT89S52,则返回(1)继续查询下一个从机.
(7)通信速率9 600 bps,数据帧格式:1位起始位,9位数据位,1位停止位,即串行口工作于方式3.
(8)主机发送从机地址和温度上限值采用奇校验(每帧数据的第8位(即D7)为奇校验位);主机接收从机发送的匹配地址和采集到的温度值时采用累加和校验.
(9)从机机接收主机发送的从机地址和温度上限值采用奇校验(每帧数据的第8位(即D7)为奇校验位);从机发送匹配地址和采集到的温度值时采用累加和校验.
主机和从机主程序流程图分别如图4和图5所示.图4中,根据工作标志取值的不同,主机进行不同的工作,当工作标志为1时,调参数调整函数,具体调节过程见2.1.
图4 主机主程序流程图Fig.4 Host computer main program flow chart
图5 从机主流程图Fig.5 Slave computer main flow chart
整个系统的原理图[5]和Proteus仿真结果见图6.
从图6可以看出,从机1当前的温度值为42.0 ℃,从机2当前的温度为34.0 ℃,温度报警上限温度值为39.0 ℃,主机与从机显示的温度一致,说明Proteus仿真是完全正确的.
图6 Proteus仿真图Fig.6 Proteus simulation
本系统采用RS-485总线传输、DS18B20采集温度和无线遥控(或手动)调节参数的方案,电路简单,工作稳定,转换精度高,便于控制.系统方案具有非常高的工程应用价值,不仅可适用于冷库的温度控制,而且可适用于粮仓、养鸡场、蔬菜大棚、啤酒发酵罐、楼宇自动化温度控制等对温度控制有严格要求的场所.
参考文献:
[1] 瓮嘉民. 单片机应用开发技术——基于protes单片机仿真和C语言编程[M].北京:人民邮电出版社,2010.
[2] 王东锋.单片机C语言应用100例[M].北京:电子工业出版社,2009.
[3] 徐玮,沈建良.单片机快速入门[M].北京:北京航空航天大学出版社,2008.
[4] 刘同法.单片机外围接口电路与工程实践[M]. 北京:北京航空航天大学出版社,2009.
[5] 侯玉宝.基于Proteus的51系列单片机设计与仿真[M].北京:电子工业出版社,2008.