基于C51的两路温度控制器设计
4.1 主程序模块
本文引用地址:http://www.amcfsurvey.com/article/247928.htm主程序中先对数据进行初始化,然后调用键盘扫描子程序KEY_TEST,温度比较子程序C O M P A R E,温度采集子程序G E T _ T E M P,温度显示子程序D I S _ S E T和DISPLAY,再判断采集,显示第二个温度传感器的温度值。编写程序如下:
4.2 LED显示模块
LED显示可以分为动态显示和静态显示两种,静态显示占用更多口线,为了减少硬件成本,本设计采用动态扫描显示的方法显示两个温度传感器的温度值。
DISPLAY和DISPLAY1函数分别读取第一个和第二个温度传感器的温度并根据暂存单元的数据显示两个温度传感器的温度。编程思路:根据SIGN标志来判断转入不同的显示,将查表所得的数据存入不同的单元并显示在LED上。
4.3 键盘控制模块
键盘通过设定SIGN标志来判断设定第一个或者第二个温度传感器的最高温或者最低温,编程思路为:将SIGN初始设定为0,当第一个按键按下时将其赋为1,再次按下时加一,直到按到第5次重新赋值为0,根据SIGN的值确定进行不同的设置。
4.4 温度传感器模块
根据温度传感器DS18B20完成温度转换所必须经过的3个步骤,程序:MOV A,#0CCH//跳过ROM MOV A,#44H / / 进行温度变换 MOV A,#0BEH//读暂存存储器内容。
4.5 报警模块
当实时温度高于设定的最高温度时或者实时温度低于设定的最低温度时,单片机会控制蜂鸣器或者电风扇工作,判断当前温度是否在正常范围的函数为COMPARE,高温部分程序如下:
5.仿真测试
我们对DS18B20写入程序之前,必须调试自己的程序。但我们不能看到程序是怎样运行的。因此我们可以用仿真机来仿真,通过仿真机我们可以看到DS18B20发送过来的数据,读出来的温度值,所利用寄存的值的变化。系统连接示意图如下图所示:
我们现在能把DS18B20所采集到的温度在PC机上显示出来并且每一个温度值显示后换一行。试验证明了系统实用性强,达到了预定的功能。
6.结语
本文提出了基于51单片机两路温度控制器的设计方案,该设计方案采用两个DS18B20温度传感器,采集两个不同地方的温度,通过AT89C51处理进行,由四位LED数码管显示所测量温度,前两位为第一个温度传感器的温度,后两位为第二个温度传感器的温度。采用3个按键实现温度最高和最低的设定,采用蜂鸣器和电动机实现温度过高或过低报警。然后又经过过仿真测试证实了改设计方案经济适用,实用性强,能够测量两个地方的温度,满足温室大棚,室内家居,工业控制等不同环境下的使用。
手机电池相关文章:手机电池修复
c语言相关文章:c语言教程
蜂鸣器相关文章:蜂鸣器原理 温湿度控制器相关文章:温湿度控制器原理
评论