一种新型数字温度计的设计
莫禾胜*
李精华
(桂林航天工业高等专科学校 电子工程系,广西 桂林 541004)
摘 要 单片机在日用电子产品中的应用越来越广泛,对各种测量仪器、
测量装置的测量精度要求也越来越高,尤其是对温度的测量非但要准确,而且需读取数值更直观更方便。
文章介绍了一款基于AT 89S51单片机和温度传感器DS18B20的新型数字温度计的软件及硬件设计过程,并对硬件原理图和程序流程图作了描述。
关键词 单片机;温度传感器;动态扫描
中图分类号:T H811 文献标识码:A 文章编号:1009 1033(2008)02 0044 03
随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,温度传感器DS18B20具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制。
传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点,下面介绍一款基于A T 89S51单片机和温度传感器DS18B20的新型数字温度计的设计过程,其电路简单,软硬件结构模块化,易于实现。
1 系统功能原理及硬件组成
该数字温度计利用DS18B20集成温度传感器来完成温度的测量,然后送到单片机AT 89S51中进行处理变换,最后将温度值显示在D3、D2、D1共3位七段码L ED 显示器上。
系统以A T 89S51单片机为控制核心,加上DS18B20测温电路、4位温度数据显示电路以及外围电源、时钟电路等组成。
温度计电路设计总体设计框图如图1
所示。
图1 总体设计方框图
1.1 主控制器
AT 89S51是一个低功耗,高性能CM O S 8位单片机,片内含4k 可反复擦写1000次的F lash 只读程序存储器,器件采用AT M EL 公司的高密度、非易失性存储技术制
造,兼容标准M CS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP F lash 存储单元,功能强大的微型计算机的AT 89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
A T 89S51具有如下特点:40个引脚,4k Bytes F lash 片内程序存储器,128by tes 的随机存取数据存储器(RA M ),32个外部双向输入/输出(I/O )口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(W DT )电路,片内时钟振荡器。
1.2 显示电路
显示电路采用3位共阳L ED 数码管,利用动态扫描方式,从P0口输出段码,P2口的P2.5、P 2.6、P2.7输出位控制码。
1.3 温度传感器
D S18B20温度传感器是美国DA L LA S 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
D S18B20温度传感器的内部存储器还包括一个高速暂存R AM 和一个非易失性的可电擦除的EERA M 。
系统对D S18B20的各种操作按协议进行。
操作协议为:初使化D S18B20(发复位脉冲) 发RO M 功能命令 发存储器操作命令 处理数据。
分别说明如下:
(1)初始化 单总线的所有处理均从初始化开始。
初
始化过程是主机通过向作为从机的DS18B20芯片发一个有时间宽度要求的初始化脉冲实现的。
初始化后,才可进行读写操作。
(2)存储器操作命令 总线主机检测到DS18B20的存在,便可以发出RO M 操作命令,这些命令见表1:
44
*
作者简介:莫禾胜(1966 ),男,广西桂林人,桂林航天工业高等专科学校电子工程系教师,工程师,讲师。
主要研
究方向:电子技术应用。
表1 存储器操作操作命令
指令代码指令
代码Read ROM (读ROM )[33H ]Write Scratchp ad (写暂存存储器)
[4EH ]Match
ROM
(匹配ROM)
[55H ]Read Scratchpad(读暂存存储器)
[BEH ]Sk ip ROM (跳过ROM][CCH ]Cop y Scratchpad (复制暂存存储器)
[48H ]Search ROM (搜索ROM)[FOH ]Con vert T emperatu re(温度变换)
[44H
]Alarm search (告警搜索)
[ECH ]
Recall EPROM (重新调出)
[B8H]Read Pow er supply(读电源)
[B4H]
1.4 硬件电路设计
系统整体硬件电路主要由传感器数据采集电路、温度显示电路、上下限报警调整电路、电源电路以及单片机主控电路构成如图2所示。
图2中有四个独立式按键可以分别调整温度计的上下限报警设置,可以任意调整报警上下限。
图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音。
L ED 数码管显示被测温度的数值,从而测出被测的温度值。
按健复位电路是上电复位加手动复
位,使用比较方便,在程序跑飞时,可以手动复位,这样不用再重启单片机电源,就可以实现复位。
显示电路是采用P0口输出段码至L ED,P2口控制位选通的动态扫描显示方式,三只数码管用N PN 型三极管驱动,这种显示方式的最大优点是显示清晰,软件设计简单。
图2 硬件电路图
2 系统软件设计与编程
系统程序主要包括主程序、温度转换子程序、按键子程序、报警子程序和显示数据刷新子程序等。
2.1 主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s 进行一次。
这样可以在一秒之内测量一次被测温度,其程序流程见图3所示。
2.2 温度转换子程序
温度转换子程序主要包括温度数据的读出和数据转换两个主要功能。
温度数据的读出主要是读出D S18B20中RA M 的9字节,在读出时需进行CRC 校验,校验有错时不进行温度数据的改写。
其程序流程图如图4所示。
温度数据转换主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s 显示程序延时法等待转换的完成。
温度转换命令子程序流
图3 主程序流程图
程图,如图5所示。
同时要注意的是要对DS18B20的RA M 中读数进行BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图6所示。
45
2.3 L ED 数码显示子程序
十进制转换调整后的数据送到寄存器R5、R4中,然后通过P1口把数据输出给D4、D3、D 2、D1四个数码显示器中,从而最终把测得的温度显示出来。
显示子程序流程图略。
3 结束语
文章对数字温度计的硬件和软件流程图作了较为详细得说明,所设计的数字温度计与传统的温度计相比,温度计系统易于实现、功能稳定、读数方便、测温范围广、测温准确。
可用于人们日常生活和工、农业生产中的各种温度测
量。
图4
读出温度子程序流程图
参考文献
[1] 马潮,詹卫前,耿德跟.AT M EGA 8原理及应用手册
[M ].北京:清华大学出版社,2003.
[2] 何立民.单片机中级教程 原理与应用[M ].北京:
北京航空航天大学出版社,2000.
[3] 何立民.M CS-51单片机应用系统设计[M ].北京:
北京航空航天大学出版社,2000.
[4] 赵润林,张迎辉.单片机原理与应用教程[M ].北京:
北京大学出版社,2005.
(责任编辑 李卫华)
46。