3.4 运行程序流程框图
开始 Y 报警断电 水位低于设定值吗? N Y 通电加热 水温低于设定值吗? N Y 断电 水温高于设定值吗? N 图3.4.1 运行程序流程框图
3.5 软件仿真
Proteus 产品系列包含了革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真,用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。ISIS提供给用户图形外观包括线宽、填充类型、字符等的全部控制,使用户能够生成如杂志上看到一样精美的原理图,远胜过CAD软件绘制出的稀薄的线条。画完图可以以图形文件输出,或者拷贝到剪切板以便其他文件使用。这就使得ISIS成为制作技术文件,学术论文,项目报告的理想工具,也是PCB设计的一个出色的前端,其画图的外形由风格模板定义。
此界面下调出元件组成原理图,调试流程如下:按键→上电复位→水位检测→水温检测→数码管显示→下载程序运行:
21
图3.5 软件仿真示意图
程序调试分为三个部分:按键调试,指示灯显示调试,及数码管显示。在具体仿真的过程中,按键调试时,应注意按键的次序,首先是温度+键,然后测试温度-键,否则有时会出现数码管显示延时现象,这种情况主要跟程序设计有关。基于编程方面有些薄弱的情况,应该严格按照按键次序进行调试。指示灯调试时,有时会出现指示灯无显示或者不明显、亮度不够的情况,这是由于指示灯电压过低造成的。数码管显示时,只要前两个步骤进行顺利,其就可以正常显示。由于本设计采用独立式按键,主程序调试结束后,各部分运行正常,能够显示水位及水温结果。另外,此设计采用
22
的温度检测模块,检测精度不高,有时会出现温度跳跃式显示,比如:有时此一时刻温度显示为59℃,下一时刻会显示66℃。此种情况出现的原因,本人认为是由于,温度检测模块的内阻过热,导致检测结果不够准时和准确。这是硬件方面的问题,暂时还没有找到可替换的模块,所以无法解决,但不影响整体的效果。
23
结 论
基于AT89S51单片机的智能电热水器控制器,经过调试可以满足设计要求。首先由传感器检测水温,经过模数转换,发送到单片机控制中心,当水温小于设置范围1℃时,单片机控制继电器对电热水器加热;当水温超过温度设置范围1℃时,单片机控制继电器断电,停止加热;当温度超过99℃时,蜂鸣器报警断电;当水位小于系统设定值时,单片机控制继电器断电,停止加热。
本设计有些方面需要进一步讨论,进一步完善的方面:
(1)AT89S51单片机本身的存储空间很小,只有4KB,在实际运用中无法达到更
多的设计要求。
(2)由于AT89S51单片机结构简单,相比其他单片机(如:MC68HC05SR)来说,不能完成更多的要求,影响了其实用性。
(3)水温检测的精度不太高。这是硬件的问题,由于没有找到很好的检测器件,造成实验结果有较小的误差。
24
致 谢
本文是在我的导师****讲师的悉心指导下完成的,从论文题目的选定,大纲的编写,资料的收集与整理,论文数稿的修改、审稿到最终定稿,无不倾注他的心血和汗水。他的言传身教使我终生受益。
还要感谢我的舍友,在撰稿期间给了我许多帮助和鼓励,尤其是***同学,对我的整体框架给予了许多建设性意见,也在我的软件仿真时,给予了很多帮助。衷心祝他们在以后的工作和生活中顺利。
最后还要感谢我的父母,没有他们无私的奉献我是无法顺利完成学业的。
学生签名: 日 期:
25