设计要求
■基本范围
■精度误差小于0.1℃
■LED数码直读显示
扩展功能
■可以任意设定温度的上下限
■分别用两个不同颜色的发光二极管显示上下限报警
摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。
关键词:单片机,数字控制,温度计,温度传感器 ,AT89C52
1.引言
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89C52,测温传感器使用热敏电阻温度传感器,用4位共阳极LED数码管实现温度显示,能准确达到以上要求。
2 .总体设计方案
2.1数字温度计设计方案论证
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。
本实验采用的是方案一。因为在进行protues仿真时无法使用DS18B20传感器。
2.2方案一的总体设计框图
温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89C52,温度传感器采用热敏电阻传感器,用4位LED数码管实现温度显示。
若图片无法显示请联系站长QQ752018766
图1 总体设计方框图
3.相关芯片介绍
3.1 单片机芯片AT
(1)引脚功能
电源引脚——VCC正常运行和编程校验时为5V电源,VSS为接地端。
I/O总线——P0.0-P0.7(P0口),P1.0-P1.7(P1口),P2.0-P2.7(P2口),P3.0-P3.7(P3口)
为输入/输出引线。
时钟——XTAL1:片内振荡器反相放大器的输入端。
XTAL2:片内振荡器反相器的输出端,也是内部时钟发生器的输入端。
RST/VPD:复位输入信号。当该引脚上出现2个机器周期以上的高电平时,可实现复位操作。此引脚为掉电保护后备电源之输入引脚。
3.2 模/数(A/D)转换芯片ADC0808
因为在PROTEUS ISIS里没有ADC0809的仿真模型,很多人都遇到不能仿真ADC0809的问题,可用ADC0808代替ADC0809,这两个芯片区别不大,完全可以替换。所以在本次设计中选ADC0808作为A/D转换。
图3 ADC0808内部结构图
ADC0808模数转换器的引脚功能
ADC0808/ADC0809模数转换器的引脚功能
IN0~IN7:8路模拟量输入。
2-1 ~2-8:8位数字量输出端口。
A、B、C:3位地址输入,2个地址输入端的不同组合选择八路模拟量输入。
ALE:地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存
器。
D0~D7:八位数据输出线,A/D转换结果由这8根线传送给单片机。
OE:允许输出信号。当OE=1时,即为高电平,允许输出锁存器输出数据。
START:启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下
降沿启动A/D开始转换。
EOC:转换完成信号,当EOC上升为高电平时,表明内部A/D转换已完成。OE端的电平由低变高,打开三态输出锁存器,将转换的结果的数字量输出到数据总线上。
CLK:时钟输入信号,0809的时钟频率范围在10~1200kHz,典型值为640kHz。
IN3-- 1 28 --IN2
IN4-- 2 27 --IN1
IN5-- 3 26 --IN0
IN6-- 4 25 --ADDA
IN7-- 5 24 --ADDB
START-- 6 23 --ADDC
EOC-- 7 22 --ALE
2ˉ5-- 8 21 --2ˉ1 MSB
OE-- 9 20 --2ˉ2
CLOCK-- 10 19 --2ˉ3
Vcc-- 11 18 --2ˉ4
REF(+)-- 12 17 --2ˉ8 LSB
END-- 13 16 --REF(-)
2ˉ7- 14 15 --2ˉ6
REF(+)、REF(-):基准电压。
Vcc:电源电压,+5V。
GND:地线输入端。1673