基于单片机的空调温度控制系统设计
实际温度显示主程序开始实际温度大于设定温度1°以上设定预期温度NOYES实际温度小于设定温度1°以上NONO报警设定温度在18~26°之间YES启动压缩机制冷YES启动供暖设备设定温度保持在18或26这两个极限值设定风速以设定风速启动步进电机读实际温度实际温度转换结束图5.5 主程序流程图
NO(发命)令发令温(度转)换指(转YES换完)成(转换完)成低读字取节转并换保后存的高读字取节转并换保后存的温度处理DS18B20开始初始化ROM0CCHDQ=1DQ=1图5.6 DS18B20通讯模块流程图
44H-26-
基于单片机的空调温度控制系统设计
NO键扫描开始YESS1按下S1按下第一次YES光标闪烁,置于设温处NOS1按下第二次YES光标闪烁,置于设风处S1按下次数清零NOS1按下第三次S2按下YES设温值=27°YES设温值=26°NOS3按下YESNONONO关闭光标显示YES设风值MINNOS2按下NOS3按下NO设温值=17°YES设温值+1设温值=18°YES设风值=MAX设温值-1NOYES风速档不变风速档+1YES风速档不变风速档-1报警报警图5.7 键扫描模块流程图
-27-
基于单片机的空调温度控制系统设计
6 仿真及实验结果
6.1 程序调试过程中遇到的问题及解决办法
1.较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
2.在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
3.编程时要注意,在程序开始时,要写入各定时器中断的入口地址。
4.编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。
5.程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。
6.编程前要加流程图,这样会使思路清晰。
6.2 调试结果
图6.1 开发板上的显示结果
-28-
基于单片机的空调温度控制系统设计
图6.2 仿真电路及结果
图6.3 开发板上的实验结果
-29-
基于单片机的空调温度控制系统设计
总结
近三个月的毕业设计即将结束,这意味着我们的大学生活也要结束了,但我的学习没有结束,在本次设计中,我所学过的理论知识接受了实践的检验,增强了我的综合运用所学知识的能力及动手能力,为以后的学习工作打下了良好的基础。
本设计使用AT80C52作为主控芯片进行控制,单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。其中的温度控制系统采用DS18B20 “一线总线”数字化温度传感器,支持“一线总线”接口,大大提高了系统的抗干扰性测量温度范围为 -55℃到+125℃,在-10到+85℃范围内,精度为±0.5℃。而且体积小价格实惠,温度设定采用按键设定,风速控制则由步进电机的转速控制得以实现,软件算法采用设定值和测量值相比较的算法。在单片机应用的基础上,实现了一种用带有EEPROM的AT89C52单片机控制传感器的自动化温度监控系统。
最后敬请各位专家、老师和同学对论文和今后的研究工作提出宝贵的指导意见和建议。
-30-