- 1 -
关键词: 温度 多路温度采集 驱动电路
正文 :
1、温度控制器电路设计
本电路由 89C51单片机温度传感器、 模数转换器 ADC0809、窜入并出移位寄
存器 74LS164、数码管、和 LED显示电路等组成。由热敏电阻温度传感器测量环
境温度,将其电压值送入 ADC0809的 IN0 通道进行模数转换, 转换所得的数字量
由数据端 D7-D0输出到 89C51的 P0 口,经软件处理后将测量的温度值经单片机
的 RXD端窜行输出到 74LS164,经 74LS164 窜并转换后, 输出到数码管的 7 个显
示段,用数字形式显示出当前的温度值。 89C51 的 P2.0、P2.1、P2.2 分别接入
ADC0809通道地址选择端 A、B、C,因此 ADC0809的 IN0 通道的地址为 F0FFH。
输出驱动控制信号由 p1.0 输出, 4 个 LED为状态指示,其中, LED1为输出驱动
指示, LED2为温度正常指示, LED3为高于上限温度指示, LED4为低于下限温度
指示。当温度高于上限温度值时,有 p1.0 输出驱动信号,驱动外设电路工作,
同时 LED1亮、 LED2灭、 LED3亮、LED4灭。外设电路工作后,温度下降,当温
度降到正常温度后, LED1亮、LED2亮、LED3灭、LED4灭。温度继续下降,当温
度降到下限温度值时, p1.0 信号停止输出,外设电路停止工作,同时 LED1灭、
LED2灭、LED3灭、LED4亮。当外设电路停止工作后,温度开始上升,接着进行
下一工作周期。
2、 温度控制器程序设计
本软件系统有 1 个主程序, 6 个子程序组成。 6 个子程序为定时 / 计数器 0 中
断服务程序、温度采集及模数转换子程序 ADCON、温度计算子程序 CALCU、驱动
控制子程序 DRVCON、十进制转换子程序 METRICCON及数码管显示子程序 DISP。
(1) 主程序
主程序进行系统初始化操作,主要是进行定时 / 计数器的初始化。
(2) 定时 / 计数器 0 中断服务程序
应用定时计数器 0 中断的目的是进行定时采样, 消除数码管温度显示的闪烁
现象,用户可以根据实际环境温度变化率进行采样时间调整。每当定时时间到,
调用温度采集机模数转换子程序 ADCON ,得到一个温度样本,并将其转换为数
字量,传送给 89C51 单片机,然后在调用温度计算子程序 CALCU ,驱动控制子
程序 DRVCON,十进制转换子程序 MERTRICCON ,温度数码显示子程序 DISP。
(3) 温度采集及模数转换子程序 ADCON
该子程序进行温度采样并将其转换为 8 位数字量传送给 89C51 的 P0 口。采
样得到的温度数据存放在片内 RAM 的 20H 单元中。
(4) 温度计算子程序 CALCU
根据热敏电阻的分度值和电路参数计算出出一张温度表,存放在 DATATAB
数据表中, 由于篇幅关系, 本程序只给出 0-49℃的温度数据。 一个温度有两个字
节组成,前一字节为温度值, 后一字节为该温度所对应的热敏电阻上的电压的数
字量。根据采样值, 通过查表及比较的方法计算出当前的温度值, 并将其存入片
内 RAM 的 21H 单元。采用查表法计算温度值时为了克服热敏电阻的阻值——温