基于单片机的数字温度计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字温度计设计
一、设计任务与要求
1.1 设计容:
数字温度计的设计要能实现温度的实时采集与显示,以AT89S51单片机为核心芯片,使用DS18B20数字温度传感器或使用热敏电阻之类的器件,利用其感温效应采集环境温度,并通过一组4位共阴极数码管将温度显示出来,也可用LM1602液晶显示屏。
1.2 设计基本要求:
(1)温度设定围:温度为00℃—99℃
(2)温度精度为0.1℃;
(3)可以设置报警温度,发出报警信息,可以用声或光表示。
二、方案设计与论证
本设计以检测温度并显示温度,以及提供上下限报警和设定某一个报警温度为目的。按照系统设计功能的要求,对于温度的采集可以使用温度传感器、热敏电阻或热电偶等等;将采集到的温度传到单片机,利用软件编程对温度进行处理;温度围和精度由软硬件决定;报警采用声音和灯光相结合,由蜂鸣器和LED 灯组成;报警温度的设置由键盘的up和down来设定。
方案一
由于本设计实现的是测温电路,首先我们可以使用热敏电阻之类的器件,利用其感温效应,将其随被测温度变化的电压或电流值采集过来,进行A/D转换后,就可以用单片机进行数据的处理,通过显示电路就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。因此,我们引出第二种方案。
方案二
我们可以采用技术成熟、操作简单、精确度高的温度传感器,在此,可以选用数字温度传感器DS18B20,根据它的特点和测温原理,很容易就能直接读取被测温度值并进行转换,这样就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比
较简单,故在本设计中采用了方案二。
以下为利用DS18B20
温度传感器的硬件构成图:
图2.1 数字温度计设计总体硬件构成图 三、硬件电路设计
3. 1、硬件设计总图见图3.1
图3.1 硬件设计仿真总图
DS18B20温度采集 复位电路 按键输入
外部晶振电路
单片机 AT89C52RC
主控部分
四位数码管显示温度
声光报警电路
3.2最小系统的电路设计
单片机晶振电路、外部按键电路和复位电路的设计如图3.2所示。XTAL1(X1)为反向振荡放大器的输入及部时钟工作电路的输入。XTAL2(X2)是来自反向振荡器的输出。在此使用的是12MHz的晶振;复位电路采用手动复位与上电复位相结合的方式。当按下按键S1时,VCC通过R1电阻给复位输入端口一个高电平,实现复位功能,即手动复位。上电复位就是VCC通过电阻R2和电容C3构成回路,该回路是一个对电容C充电和放电的电路,所以复位端口得到一个周期性变化的电压值,并且有一定时间的电压值高于CPU复位电压,实现上电复位功能;以及外部按键电路通过UP和DOWN按键将I/O口直接与地相连,当按键按下时I/O 口将检测到低电平。
图3.2 最小系统的设计电路
3.3温度采集电路的设计
(1)、数字温度传感器DS18B20
它是一种新型的”一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持”一线总线”接口的温度传感器。温度测量围为-55~+125 摄氏度,可编程为9位~12 位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以
及用户设定的报警温度存储在EEPROM 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20 的性能特点如下:
▲独特的单线接口方式,DS18B20在与微
处理器连接时仅需要一条总线即可实现微处
理器与DS18B20的双向通讯;
▲DS18B20支持多点组网功能,多个
DS18B20可以并联在唯一的三线上,实现组网
多点测温;
▲ DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路;
▲适应电压围更宽,电压围:3.0~5.5V,在寄生电源方式下可由数据线供电;
▲测温围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;
▲零待机功耗;
▲可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;
▲在9位分辨率时最多在93.75ms把温度转换为数字,12位分辨率时最多在750ms把温度值转换为数字,速度较慢;
▲用户可定义报警设置;
▲测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;
▲负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
(2)、工作原理如下
器件中低温度系数晶
振的振荡频率受温度的
影响很小,用于产生固定
频率的脉冲信号送给减
法计数器1;高温度系数
晶振随温度变化其振荡
频率明显改变,所产生的
信号作为减法计数器2
的脉冲输入。器件中还有
一个计数门,当计数门打
开时,DS18B20就对低温
度系数振荡器产生的时
钟脉冲进行计数进而完
成温度测量。计数门的开
启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。它有严格的时序概念,初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。