基于AT89C2051的数字温度计设计
- 格式:doc
- 大小:17.50 KB
- 文档页数:3
基于AT89C2051的数字温度计设计
作者:周学军
来源:《现代电子技术》2010年第17期
摘要:利用单片机AT89C2051作为控制器,以及用改进型智能温度传感器DS18B20作为温度采集器,设计了一款数字温度计。
该数字温度计能够测出-55~+125 ℃之间的温度,与传统的温度计相比,具有读数方便、测温范围广、测温准确等特点,适合日常生活、工业生产和科学研究等领域对温度测量的需要。
关键词:温度测量; DS18B20; AT89C2051; 数字温度计
中图分类号:TP271+.5文献标识码:A
文章编号:1004-373X(2010)17-0164-02
Design of Digital Thermometer Based on AT89C2051
ZHOU Xue-jun
(College of Physical and Electronic Information, Yan’an University, Yan’an 716000, China)
Abstract: A digital thermometer was designed with AT89C2051 MCU as controller and improved intelligent temperature sensor DS18B20 as temperature collector. The temperature between -55~+125 ℃ can be measured by this digital thermo-meter. Compared with the traditional thermometer, this digital thermometer has features of convenient reading, wide range temperature measurement, accurate temperature measurement and so on, it is suitable for the requirement of temperature measurement in daily life, industrial production and scientific research fields.
Keywords: temperature measurement; DS18B20; AT89C2051; digital thermometer
收稿日期:2010-04-09
单片机控制已成为今天电子设计追求的目标之一[1-5],本文将这种控制技术应用于温度测量中。
AT89C2051是美国Atmel公司生产的低电压、高性能CMOS 8位单片机[6-7],片内含有2 KB的反复擦写的只读程序存储器和128 B的随机存取数据存储器(RAM)。
美国DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能传感器[8-9]。
数字温度计是以DS18B20为检测元件,由AT89C2051作为主控制器的温度计,具有功耗低、结构简单、读数方便、测温范围广、测温准确的特点。
1 电路构成及工作原理
1.1 硬件设计
由 AT89C2051构成的温度计主要由三部分组成:DS18B20温度传感器、单片机
AT89C2051、由LED数码管构成的显示模块。
其系统原理框图如图1所示。
DS18B20作为单片机AT89C2051的外部信号源,把所采集到的温度转换为数字信号,通过I/O接口传给
2051,2051启动ROM内的控制程序驱动LED数码管,通过I/O接口和数据线(单片机和数码管的接口)把数据传送给数码管,将采集到的温度显示出来。
图1 温度计原理框图
1.2 总电路图
基于AT89C2051的温度测量系统电路图把温度转化成带符号的数字信号(以十六位补码形式,占两个字节),若采用带屏蔽的双绞电缆线,连线的长度可以达到150 m,输出脚I/O直接与单片机的P3.4相连,R1为上拉电阻,传感器采用外部电源供电。
AT89C2051是整个系统的核心部分,内含2 KB的FLASH ROM,用户程序存放在这里。
显示器模块由四位一体的共阳数码管和四个9012组成。
系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照DS18B20的通信协议编制。
系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。
产品的主要技术指标:测量范围: -55~ 5 ℃测量精度:0.5 ℃;反应时间小于等于500 ms。
2 软件设计
2.1 采集模块
该模块选用单线温度传感器DS18B20完成温度采集。
单片机AT89C51对DS18B20访问流程如下:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作。
DS18B20每一步操作都要遵循严格的工作时序和通信协议。
根据DS18B20的通讯协议,需经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令(指令代码CCH)并置标志位,根据标志位来判断是否初始化成功,最后发送RAM指令(指令代码44H)DS18B20开始转换,再读出温度转换值(指令代码BEH),读取的温度值高位字节送27H单元,低位字节送26H单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。
图2 基于AT89C2051的温度计
2.2 主处理模块
主处理模块主要是将各个模块进行协调处理以实现数据交互。
主处理模块首先完成初始化工作,初始化后进入循环处理,在循环过程中获得采集模块的数据,并将数据进行处理,根据处理后的结果进行显示。
主处理的流程图如图3所示。
图3 主处理流程图
2.3 显示模块
采用动态扫描的方法,其中控制位选,P1控制段选。
由
向各位轮流输出扫描信号,使每一瞬间只有一个数码管被选通,然后由P1送入该位所要显示的字形码,点亮该位字形段显示的字形。
在P1送出的码段和
送出的位段的配合控制下,使各个数码管轮流点亮显示各自的字形。
3 结语
该设计测温传感器采用改进型智能温度传感器DS18B20,测温范围为-55~+125 ℃,最大分辨率可达℃,可以直接读出被测温度值,而且采用单线制与单片机相连,减少了外部的硬件电路,同时可直接将温度转化成串行数字信号供微机处理。
参考文献
[1]彭为,黄科,雷道仲.单片机系统设计实例精讲[M].北京:电子工业出版社,2006.
[2]余锡存,曹国华.单片机原理及接口技术[M] .西安:西安电子科技大学出版社,2000.
[3]刘畅生,史俊杰.新型集成电路简明手册及典型应用(下册)[M] .西安:西安电子科技大学出版社,2005.
[4]沙占友,孟志永,王彦明.单片机外围电路设计[M].北京:电子工业出版社,2006.
[5]任家才.单片机实验与实践[M].北京:高等教育出版社,2006.
[6]郑敏,杨坤涛.用AT89C2051自身接口实现温度检测数码管动态显示和键盘扫描[J].安徽科技学院学报,2006,20(1):18-21.
[7]吕宏强.基于DS1620 和AT89C2051的数字温度计[J].现代电子技术,2003,26(6):81-86.
[8]王明慧.数字温度传感器DS18B20在化学工业现场温度检测中的应用[J].计算机与化学应用,2007,24(9):1249-1251.
[9]江世明,刘先任.基于DS18B20的智能温度测量装置[J].邵阳学院学报:自然科学
版,2004,1(4):28-29.
[10]党丰,王敬农,高国旺.基于DS18B20的数字式温度计的实现[J].应用实践,2007(3):10-11.。