超过设定温度上限
否
低于设定
否
温度下限
是绿灯亮
启动电热炉升高温度
图45系统总的流程图
21
f第五章小结
利用Proteus与KEILC51对单片机多点温度测量系统进行了仿真设计.从本文结果可以看出,利用Proteus进行单片机系统的仿真设计可以极大地简化单片机程序在目标硬件上的调试工作,大幅度节省制作电路板的时间,对于提高产品的开发效率、降低开发成本等有重要作用.
硬件电路的简单是以软件的复杂为代价的,所以在程序编写和调试的过程中稍一粗心就会出现错误,包括时间延时不够,设置参数的类型有误,按键子程序放置位置不妥等错误。本程序经过反复的调试修改,虽然能达到预期的基本目标,但是还有很多地方需要完善,如开始仿真时机器会扫描错误代码而使电路报警,报警的同时可以使数码管闪烁,还可以利用剩余的IO口挂接更多的DS18B20等。
本课题通过分析对比各种不同的温度传感器,选定DS18B20,这种单总线数字温度传感器的通信方式比较独特,软件编写要求的比较新颖,特点突出。用其构建的系统有很多优点:硬件连线简单,省去了使用模拟传感器要进行放大、AD转换等工作,由于它的级联功能,一条总线可挂接多个传感器测量不同位置的温度,根据DS18B20唯一的序号识别不同传感器在各自位置的温度。
需要注意的是在系统安装及工作之前应将主机逐个与DS1820挂接以读出其序列号。另外,由于DS1820单线通信功能是分时完成的遵循严格的时隙概念因此系统对DS1820和各种操作必须按协议进行即初始化DS1820发复位脉冲发ROM功能命令发存储器操作命令处理数据。现场温度直接以“一线总线”的数字方式传输,每一个自带地址,大大减少了系统的电缆数,提高了系统的稳定性和抗干扰性。通过调试成型系统发现了DS18B20除了上述优点外,还有一些缺点,如:简单的硬件连接的代价是复杂的软件时序,DS18B20在测量温度的时候,灵敏度不够高,温度快速变化时无法迅速显示出其变化。通过一系列的实验发现:由DS18B20构建的测温小系统适用于环境温度监控,对温度小变化较敏感;不适合应用于要求实时性强、温度跨度大的测温方式。
主程序的功能是:启动DS18B20测量温度,将测量值与给定值进行比较,若测得温度小于设定值,则进入加热阶段,同时红灯亮,置P11为低电平,这期间继续对温度进行监测,直到温度在设定范围内,置P11为高电平断开可控硅,关闭加热器,等待下一次的启动命令。当测得温度大于设定值,则进入降温阶段,则置P12为低电平,这期间继续对温r