1、基于单片机空调温度控制系统基于单片机空调温度控制系统 赵伟光【摘 要】本文详细介绍了一种以单片机 89C52 为核心的空调温度控制系统。空调温度控制系统的设计原理以达到更优的系统性能为目的,由单片机完成数据的采集,处理,显示。该系统以在普通环境下测量到的温度值为确定条件,利用单片机控制空调制冷和制暖来达到所需温度。【关键词】DS18B20;单片机;温度控制;LED 显示 在今天手机得到广泛应用,一般手机信号发射机要求工作温度在之间,这也就要求手机信号发射机室内温度得在 5-45 度之间,我们可以设计一个温度控制电路来控制空调的温度,从而使手机信号发射机正常工作。一、总体方案 考虑到该温度控制系
2、统功能比较少,由单片机控制即可实现。而 89C52 单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好,故本系统选择采用 89C52 单片机。采用单线数字温度传感器 DS18B20进行数据采集。DSB18B20S 数字温度计提供 9 到 12 位温度读数,指示器件的温度信息经过单线接口送入 DS18B20 送出,因此从中央处理器到 DS18B20 仅需连接一条线和地,读写和完成温度变换所需的电源可以由数据线本身提供,甚至不需要外部电源。二、系统工作原理 该空调控制系统用到 89C52 单片机作为系统的 CPU 进行控制控制,由数字传感器 DS18B20 进行数据采
3、集,89C52 对采集到的数据进行处理,得到各种信号。而这些信号将分别作为 LED 数码管显示的信号输入和启动空调制冷、制热的输入。同时将利用单片机的其它使能端口实现系统的复位,手动调节和自动调节。三、系统硬件设计 系统的硬件部分主要可分为温度采集电路,信号处理与控制控制,温度显示电路,温度调节电路,控制指示电路五大部分。四、系统软件设计 DS18B20 通信,其命令序列有 3 步:初始化、ROM 命令(跟随需要交换的数据)和功能命令(跟随需要交换的数据)。每次访问 DS18B20,必须严格遵守这个命令时序,如果出现序列混乱,则单总线则单总线器件不会响应主机。这个准则对于搜索 ROM 命令和报
4、警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,而必须返回至第一步。(一)初始化 单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成,应答脉冲使主机知道总线上有从机设备且准备就绪。(二)ROM 命令 在主机检测到应答脉冲后,就可以发出 ROM 命令。ROM 命令与各个从机设备的唯一 64 位 ROM 代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。ROM 命令还允许能够检测到总线上有多少个从机设备及其设备类型,或者有没有设备处于报警状态。(1)搜索 ROM 当系统初始上电时,主机必须找出总线上所有从机
5、设备的 ROM 代码,这样主机才能够判断出从机的数目和类型。主机通过重复执行搜索 ROM 循环(搜索 ROM命令跟随着位数据交换),以找出总线上所有的从机设备。如果总线只有一个从机设备,则可以采用读 ROM 命令来替代搜索 ROM 命令。在每次执行完搜索ROM 循环后,主机必须返回至命令序列的第一步:初始化。(2)读 ROM 该命令仅适用于总线上只有一个从机设备,它允许主机直接读出从机的 64 位ROM 代码,而无须执行搜索 ROM 过程。如果该命令用于多节点,系统则必然发生数据冲突,因为每个从机设备都会响应该命令。(3)匹配 ROM 匹配 ROM 命令跟随 64 位 ROM 代码,从而允许主
6、机访问多节点系统中某个指定的从机设备。仅当从机完全匹配 64 位 ROM 代码时,才会响应主机随后发出的功能命令,其他设备将处于等待复位脉冲状态。(4)跳跃 ROM 主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何 ROM 代码信息。(5)报警搜索 除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索 ROM命令,该命令允许主机设备判断哪些从机设备发生了报警(如最近的测量温度过高或过低等)。同搜索 ROM 命令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步。(三)功能命令 在主机发出 ROM 命令,以访问某个指定的 DS18B20,接着就可以发出 DS18
7、B20的某个功能命令。这些命令允许主机写入或读出 DS18B20 的存储器,启动温度转换以及判断从机的供电方式。(1)读 RAM 存储器 此命令读 RAM 存储器的内容,开始读字节 0,并继续读到第九个字节(CRC)。如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。(2)复制 RAM 存储器 此命令读 RAM 存储器的内容,开始读字节 0,并继续读到第九个字节(CRC)。如果不是所有位置均可读,那么主机可以再任何时候发出一复位命令以中止读操作。(3)重新调出 EERAM 此命令把存储在 EERAM 中 TH、TL、CONF 的值重新调至 RAM 存储器。这种重新调出的
8、操作在对 DS18B20 上电时也自动发生,因此只要器件一接电,暂存存储器内就有有效的数据可供使用。(4)读电源 在此命令送至 DS18B20 之后最先发出的读数据时间片,器件都会给其电源方式的信号:0=强上拉电阻供电;1=电源供电。(5)写 RAM 存储器 写数据到 RAM 存储器,地址为第 2、第 3、第 4 字节(TH、TL、CONF)。(6)温度变换 此命令开始温度变换,不需要另外的数据。温度变换将被执行,接着 DS18B20便保持在空闲状态。五、调试结果 从实物图可以看出,温度控制器能正常显示温度值,当超出 18-26这个温度范围时输出启动制冷或电暖设备信号。六、结论 基于 DS18
9、B2O 的数字温度计在实际应用中取得了良好的效果,提高了温度采集系统的可靠性,且硬件电路简单、工作稳定、可靠,体积小巧、线路简单、成本低、应用灵活、测温精度和的实现转换速度足以保证大多数测温系统工作的要求。参考文献:1李广弟,朱月秀,王秀山.单片机基础M.北京:北京航空航天大学出版社,2001.2何立民.单片机应用技术选编(1)M.北京:北京航空航天大学出版社,1993.3丁镇生.传感器及传感器技术 M.北京:电子工业出版社,1998.4彭国贤.数码显示 M.北京:电子工业出版社,1993.5王雪文,张志勇.传感器原理及应用M.北京:北京航空航天大学出版社,2004.6余永权,ATMEL89 系列 FLASH 单片机原理及应用M.电子工业出版社,2001.