精确温度显示的温控自动风扇系统正式版 - 图文(3)

2019-08-30 19:19

5 软件设计

程序实现的功能是上电复位时检测温度传感器DS18B20是否存在或它工作是否正常,当不存在或工作不正常时从蜂鸣器发出报警声,提示用户检查DS18B20,安装或者更换。这部分功能由DS18B20复位与检测子程序RESET完成。当检测到传感器工作正常后,发出温度转换命令及读取温度值命令,将从DS18B20读取的二进制温度值转换为七段码在LED上显示出来。显示功能由温度显示子程序DISP1子程序实现。

在温控自动状态,本系统可由用户根据需要自由设置大小风档的切换温度值TH,TL,硬件设计上为通过3个按键,由按键扫描子程序KEYSCAN子程序提供软件支持。按下一次设置键K3,进入低温关风扇温度值TL设置状态,此时按下“加”键K1,TL值加一,长按K1不放可实现快速加1,按下“减”键K2,TL值减1,长按K2不放可实现快速减1。再按一次设置键K3,进入高温切换大风档温度值TH设置状态,此时按下“加”键K1,TH值加一,长按K1不放可实现快速加1,按下“减”键K2,TH值减1,长按K2不放可实现快速减1。下限动作温度值TL和上限动作温度值的设置范围为0-120摄氏度,满足一般使用要求。再按一次设置键K3退出上下限温度设置状态,恢复到当前温度显示状态。在当前温度显示状态,按下“加”键K1一次显示当前TL设定值,再按一下显示当前TH设定值,如此循环,按设置键K3退回到当前温度显示状态。每次设定的TL、TH值均拷备到DS18B20的EEROM内,在单片机掉电后设定值不会丢失,在再次上电时从DS18B20的EEROM中读回上次设定的上下限动作温度值TH、TL,用户

要实现根据当前温度实时的控制风扇的状态,需要在程序中不时的判断当前温度值是否超过设定的动作温度值范围,此部分功能由比较控制子程序

TEMP_COMP来完成。由于单片机的工作频率高达12MHz,在执行程序时不断将当前温度和设定动作温度进行比较判断,当超过设定温度值范围时及时的转去执行超温处理和欠温处理子程序,控制继电器的吸合、断开状态,从而控制风扇实时的切换到关闭、弱风、大风三个状态。在没有超过设定的TL、TH值时默认将风扇置为弱风档。该比较控制程序又由温度比较程序、超温处理子程序和欠温处理子程序构成。

显示驱动程序以查七段码取得各数码管应显数字,逐位扫描显示。 主程序和个主要子程序的流程图如附录1所示。

6 安装调试

将本电路用硬件做出来,用编程器将KEIL软件对源程序编译生成的.HEX文件烧入AT89C52单片机,将单片机插入到目标板中,连好线。

将“控制模式”开关选择在“温控”,打开电源,风扇工作在弱风档,数码管正常显示当前的温度21.6摄氏度,第五位数码管闪烁显示“O”,表示当前温度在TL和TH值之间,没有欠温或超温。按“设置”键及“加”“减”键将下限动作温度值TL设为20摄氏度,将上限动作温度值TH设为23摄氏度,用书对着DS18B20扇动,显示温度逐渐降低,当达到19.9摄氏度时继电器1动作,将风扇关闭,第五位数码管闪烁显示“L”,表示当前温度低于TL值。然后用手握着DS18B20,显示温度逐步上升,当达到23.1摄氏度时继电器2动作,将风扇切换到大风档,第五

11

位数码管闪烁显示“H”,表示当前温度高于TH值。

将“控制模式”开关选择在“人控”,这时数码管依然按照上述规律显示,但是不能对风扇进行控制。用手旋动无级调速旋钮,可以将风扇从关闭一直连续调到最大风速,具有无级调节风扇风力的功能。

测试结果表明,本系统实现了预期功能。

参考文献

[1] 胡汉才.单片机原理及其接口技术.北京:清华大学出版社,2004

[2] 吴金戍,沈庆阳,郭庭吉.8051单片机实践与应用.北京: 清华大学出版

社,2002

[3] 求是科技.单片机典型模块设计实例导航.北京:人民邮电出版社,2004 [4] 王化详,张淑英.传感器原理.天津:天津大学出版社,2002 [5] 荣俊昌.新型电风扇原理与维修.北京:高等教育出版社,2004 [6] 王港元.电工电子实践指导.江西:江西科学技术出版社,2005

12

附录1 程序流程图 主程序流程图

开始 初始化 检测DS18B20 蜂鸣报警 N 正常? Y 温度转换命令 读温度 温度BCD码处理 显示温度 按键扫描及处理 与设定温度对比及处 理

图11 主程序流程图

按键扫描子程序流程图

13

入口 N K1按下? Y 蜂鸣器响一声 设定的TL值转换成各LED的显示数字 N 显示TL值 K1按下? Y 蜂鸣器响一声 设定的TH值转换成各LED的显示数字 N 显示TH值 K1按下? 蜂鸣器响一声 N K2按下? Y

14

蜂鸣器响一声 N K3按下? Y 蜂鸣器响一声 设定TH,TL 将设定TH,TL值写入1820的暂存器 将1820暂存器值写入EEROM 返回

图12 按键扫描子程序流程图

设置上下限动作温度值TH,TL子程序流程图

15


精确温度显示的温控自动风扇系统正式版 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:应用文写作试题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: