基于AT89C51单片机的数字温度计
- 格式:doc
- 大小:623.14 KB
- 文档页数:14
基于AT89C51单片机数字温度计的设计一、项目概述在生活和生产中,人们经常要用到一些测温设备,但是传统的测温设备具有制作成本高、硬件电路和软件设计复杂登缺点。
基于AT89C51的数字温度计具有制作简单、成本低、读数方便、测温范围广等优点,应用前景广泛。
二、项目要求基于AT89C51的数字温度计的具体要求如下:1.温度值用LED显示。
2.测温范围为-30~100℃,且测量误差不大于±0.5℃。
3.成品的体积、质量尽可能小。
三、设计框图及流程图1 主控制器单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
2 显示电路显示电路采用4位共阳LED数码管。
3温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20的性能特点如下:●独特的单线接口仅需要一个端口引脚进行通信;●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;●无须外部器件;●可通过数据线供电,电压范围为3.0~5.5V;●零待机功耗;●温度以9或12位数字;●用户可定义报警设置;●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; ●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20采用3脚PR -35封装或8脚SOIC 封装,其内部结构框图如下图所控制器使用单片机AT89C51,测温传感器使用DS1820,用4位共阳极LED 数码管以动态扫描法实现温度显示,电路图如图1所示:图1.电路原理图五、软件设计1.程序流程图主程序的主要是负责温度的实时显示,读出并处理DS1280测量的当前温度值,温度测量每1s进行一次。
基于AT89C51DS18B20的数字温度计设计一、本文概述Overview of this article本文旨在探讨基于AT89C51微控制器和DS18B20数字温度传感器的数字温度计设计。
我们将详细介绍如何利用这两种核心组件,结合适当的硬件电路设计和软件编程,实现一个能够准确测量和显示温度的数字温度计。
This article aims to explore the design of a digital thermometer based on AT89C51 microcontroller and DS18B20 digital temperature sensor. We will provide a detailed introduction on how to utilize these two core components, combined with appropriate hardware circuit design and software programming, to achieve a digital thermometer that can accurately measure and display temperature.我们将对AT89C51微控制器和DS18B20数字温度传感器进行简要介绍,包括它们的工作原理、主要特性和适用场景。
然后,我们将详细阐述硬件电路的设计,包括微控制器与温度传感器的连接方式、电源电路、显示电路等。
We will provide a brief introduction to the AT89C51 microcontroller and DS18B20 digital temperature sensor, including their working principles, main characteristics, and applicable scenarios. Then, we will elaborate on the hardware circuit design, including the connection method between the microcontroller and temperature sensor, power circuit, display circuit, etc.在软件编程方面,我们将介绍如何使用C语言对AT89C51微控制器进行编程,实现温度数据的读取、处理和显示。
基于单片机的数字温度计设计摘要随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。
采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。
在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。
温度控制在生产过程中占有相当大的比例。
温度测量是温度控制的基础,技术已经比较成熟。
传统的测温元件有热电偶和二电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。
我们用一种相对比较简单的方式来测量。
我们采用美国DALLAS半导体公司继DS18B20之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度范围为-55~125 ºC,最高分辨率可达0.0625 ºC。
DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
本文介绍一种基于AT89C51单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量范围0℃-~+100℃,使用LED模块显示,能设置温度报警上下限。
正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C51单片机功能和应用。
该电路设计新颖、功能强大、结构简单。
关键词:温度测量;DS18B20;AT89C51- I -Design of Digital Thermomer Based on SCMAbstractAlong with national economy development, the people need to each heating furnace、the heat-treatment furnace、in the reactor and the boiler the temperature carry on the monitor and the control. Not only uses the monolithic integrated circuit to come to them to control has the control to be convenient, simple and flexibility big and so on merits, moreover may enhance large scale is accused the temperature technical specification, thus can big enhance the product the quality and quantity.In daily life and industrial production process, often used in the detection and control of temperature, temperature is the production process and scientific experiments in general and one of the important physical parameter. In the production process, in order to efficiently carry out the production, to be its main parameters, such as temperature, pressure, flow control, etc... Temperature control in the production process of a large proportion. Temperature measurement is the basis of temperature-controlled, more mature technology.Traditional thermocouple and temperature components are the second resistor.The thermocouple and thermal resistance are generally measured voltage, and then replaced by the corresponding temperature, these methods are relatively complex, requiring a relatively large number of external hardware support. We use a relatively simple way to measure. We use the United States following DALLAS Semiconductor DS1820 improved after the introduction of a smart temperature sensor DS18B20 as the detection element, a temperature range of -55 ~ 125 º C, up to a maximum resolution of 0.0625 º C. DS18B20 can be directly read out the temperature on the north side, and three-wire system with single-chip connected to a decrease of the external hardware circuit, with low-cost and easy use.The introduction of a cost-based AT89C51 MCU a temperatur measurement circuits, the circuits used DS18B20 high-precision temperatur sensor, measuring scope 0℃-~+100℃,can set the warning limitation, the use of seven segments LED that can be display the current temperature. The paper focuses on providing a software and hardware system components circuit, introduced the theory of DS18B20, the founctions and applications of AT89C51 .This circuit design innovative, powerful, can be expansionary strong.Keywords:Temperatur measurement;DS18B20; AT89C51- II -目录摘要......................................... . (I)Abstract (II)第1章绪论 (5)1.1课题背景及研究意义 (5)1.2国内外现状 (5)1.3课题的设计目的 (6)1.4课题的主要工作 (6)1.5本文研究内容 (6)第2章开发工具Proteus与Keil (8)2.1 Proteus软件 (8)2.1.1 Proteus简介 (8)2.1.2 4大功能模块 (8)2.1.3 ISIS智能原理图输入系统 (10)2.1.4 Proteus简单应用 (10)2.2 Keil软件 (11)2.2.1 Keil软件简介 (11)2.2.2 Keil软件调试功能 (11)2.3本章小结 (12)第3章系统概述 (13)3.1方案选择 (13)3.1.1方案一 (13)3.1.2方案二 (14)3.2系统设计原理 (14)3.3系统组成 (14)3.4 DS18B20温度传感器与单片机的接口电路 (15)3.5本章小结 (16)第4章系统硬件设计 (17)4.1 80C51单片机的介绍 (17)4.1.1 80C51单片机主要特性 (18)4.1.2 80C51单片机管脚图 (19)4.1.3 80C51单片机的中断系统 (21)4.1.4 80C51单片机的定时/计数器 (21)4.2 LCD液晶显示器简介 (21)4.2.1液晶模块简介 (22)4.2.2液晶显示部分与89C51的接口 (23)4.3通讯模块 (24)4.4 DS18B20介绍 (25)4.4.1温度传感器工作原理 (25)- III -4.4.2 DS18B20相关介绍 (27)4.4.3 DS18B20使用中的注意事项 (28)4.5本章小结 (28)第5章系统软件设计 (29)5.1主程序设计 (29)5.2 DS18B20初始化 (30)5.3数据测试 (31)5.4仿真结果 (31)5.5本章小结 (33)结论 (34)致谢 (35)参考文献 (36)附录A (37)附录B (44)附录C (49)附录D (50)- IV -第1章绪论1.1课题背景及研究意义随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。
38基于AT89C51单片机的数字体温计的设计李素蕊 新乡医学院三全学院 毕彦平 新乡医学院【摘 要】本文介绍了基于单片机,采用DS18B20单线数字温度传感器设计的数字体温测量系统,该系统便于医护人员对诸如儿童、精神病人等病人的体温的记录,实用性较强。
【关键词】数字体温计;AT89C51;DS18B201.引言患者的体温是医务人员对其进行体格检查、诊断疾病,进行生命体征监测的重要指标。
通过测量的体温变化,可以了解疾病发生和发展的规律,反映出某种疾病或疾病的某一个阶段,及时控制疾病的恶化[1]。
因此医护人员会对患者每天都进行两次的体温测量,如若患者为儿童或者精神病患者,体温测量会更费时。
近年,人们还设计出了人体红外测温仪这种非接触式体温计,但这种体温计容易受皮肤的干燥清洁度、空气温度、污染、电磁场等干扰因素的影响[3],因此要求被测人在被测环境中停留30min以上,以保证被测人额头与外界换热条件趋于稳定,从而提高测量准确性。
还有一些用其他芯片设计的数显体温计,由于采用的温度传感器的不稳定性,从而亦影响测量的准确度。
为了提高医护人员的工作效率,减少病患者的痛苦及其时间。
而针对市面上及部分医院用到的普通的数显体温计,准确度不够高,误差相对较大,从而影响对疾病的观察和诊断,基于这一点,我们设计了一种采用DS18B20数字温度传感器,基于单片机芯片AT89C51设计的数字体温计,其为测量准确度较高,成本又相对低的快速的数显体温计。
2.系统硬件设计框图本系统的设计框图如下图1所示,由DS18B20单线温度传感器来感知外界温度的变化,通过总线传给单片机AT89C51,进而读取温度后提示及其显示温度。
图1 硬件电路框图采用的DS18B20是一种价格便宜的单线数字温度传感器,它具有很多优点:(1)体积小,共有接地、电源、数据线3个引脚,无需额为的电源[4];(2)测温速度快,最多0.75s可以完成,极大提高了测温速度;(3)测温分辨率可达0.0625℃,性能稳定,安全可靠;(4)DS18B20适合于构成多点温度测控系统,在医院体温检测中也得到了一定应用[5]。
摘要随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研等各个领域,已经成为一种比较成熟的技术,采用单片机控制已经成为了一种潮流。
现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。
传感器属于信息技术的前沿尖端产品,尤其是温度传感器种类日益繁多,数字温度传感器更因适用于各种微处理器接口组成的自动温度控制系统具有可以克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端等优点,被广泛应用于工业控制、电子体温计、测温仪器等各种温度控制系统中。
本文将介绍一种基于STC89C52单片机控制的数字体温计,配合采用DS18B20为温度采集模块,HS1602液晶显示模块显示结果,另外用MAX232模块进行电压转换,实现对体温的采集与再现。
关键词:52单片机,DSI8B20,HS1602,体温计THE DIGITAL THERMOMETERS DESIGN BASED ON STC89C52’S MINUIMUM SYSTEMABSTRACTWith the progress and development, microcontroller technology has spread to our lives, work, research and other fields, has become a relatively mature technology, using SCM has become a trend. Modern information technology is based on the three information collection (ie, sensor technology), information transfer (ICT) and information processing (computer technology). Sensor belongs to the forefront of cutting-edge information technology products, especially the increasingly diverse types of temperature sensors, digital temperature sensor is more suitable for a variety of microprocessor interface for the composition of the automatic temperature control system can overcome the analog sensors and signal conditioning required for microprocessor interfacing circuit and A / D converter defects, etc., are widely used in industrial control, electronic thermometer, thermometer, etc. of various temperature control systems. This article describes a microcontroller based control ofdigital thermometers STC89C52, with the use of DS18B20 the temperature acquisition module, HS1602 liquid crystal display module displays the results, another module with a MAX232 voltage conversion, acquisition and representation of body temperature.KEYWORDS:52 microcontroller, DSI8B20, HS1602, thermometer目录1引言--------------------------------------------------------------------------------------------------------------- 1 2总体设计--------------------------------------------------------------------------------------------------------- 22.1方案论证 ------------------------------------------------------------------------------------------------- 22.1.1单片机系统--------------------------------------------------------------------------------------- 22.1.2电源模块------------------------------------------------------------------------------------------ 22.1.3温度传感器--------------------------------------------------------------------------------------- 22.1.4显示模块------------------------------------------------------------------------------------------ 32.1.5确定方案------------------------------------------------------------------------------------------ 32.2总体设计 ------------------------------------------------------------------------------------------------- 3 3硬件设计--------------------------------------------------------------------------------------------------------- 43.1 单片机系统 --------------------------------------------------------------------------------------------- 43.2电源模块 ------------------------------------------------------------------------------------------------- 63.3 复位电路 ------------------------------------------------------------------------------------------------ 63.4 时钟振荡电路 ------------------------------------------------------------------------------------------ 73.5单片机最小系统 ---------------------------------------------------------------------------------------- 73.6温度传感器模块 ---------------------------------------------------------------------------------------- 83.6.1 DS18B20原理 ----------------------------------------------------------------------------------- 83.6.2 DS18B20电路连接 --------------------------------------------------------------------------- 103.7液晶显示模块 ----------------------------------------------------------------------------------------- 113.8 串口通信模块 ---------------------------------------------------------------------------------------- 13 4软件设计------------------------------------------------------------------------------------------------------- 164.1 软件流程 ---------------------------------------------------------------------------------------------- 164.2 DS18B20模块程序设计 -------------------------------------------------------------------------- 174.3 HS1602驱动程序设计 ------------------------------------------------------------------------------ 174.4 RS-232-C串口通信模块程序设计 ---------------------------------------------------------------- 18 5结果分析------------------------------------------------------------------------------------------------------- 19 6结语------------------------------------------------------------------------------------------------------------- 20 参考文献: ------------------------------------------------------------------------------------------------------ 21 附录1 完全电路图 -------------------------------------------------------------------------------------------- 22 附录2 部分源程序 -------------------------------------------------------------------------------------------- 231引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温体温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
摘要随着科学技术的不断发展,温度的检测、控制应用于许多行业,数字温度计就是其中一例,它的反应速度快、操作简单,对环境要求不高,因此得到广泛的应用。
传统的温度测量大多使用热敏电阻,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路将模拟信号转换成数字信号才能由单片机进行处理。
本课题采用单片机作为主控芯片,利用DS18B20来实现测温,用LCD液晶显示器来实现温度显示。
温度测量范围为0~119℃,精确度0.1℃。
可以手动设置温度上下限报警值,当温度超出所设报警值时将发出报警鸣叫声,并显示温度值,该温度计适用于人们的日常生活和工、农业生产领域。
关键词:数字温度计;DS18B20;AT89C51; LCD1602Design and Simulation of Digital Thermometers Based onAT89C51Deng Lian WeiAbstractWith the continuous development of science and technology, the temperature detection and control used in many industries, the digital thermometer is a case in which the reaction speed, simple operation, less demanding on the environment, it is widely used. Most of the traditional use of thermistor temperature measurement, but poor reliability of thermistors to measure temperature, low accuracy, and must go through a special interface circuit converts the analog signal to digital signal processing by the microcontroller. The subject of using SCM as the main chip, the use of DS18B20 to achieve temperature, with the LCD liquid crystal display to achieve the temperature display.Temperature measurement range is 0 ~ 119 ℃, accuracy of 0.1 ℃. You can manually set the alarm value upper and lower temperature, when the temperature exceeds the set alarm when the alarm calls, and display temperature, the thermometer for people's daily lives and industrial and agricultural production areas.Keywords:Digital Thermometer; DS18B20; AT89C51; LCD1602目录第一章绪论 (1)1.1 前言 (1)1.2 课题的目的及意义 (1)1.3 该论文研究的内容 (1)第二章设计方案 (2)2.1 方案1:使用电阻元件 (2)2.2 方案2:使用温度传感器 (2)2.3 方案2的总体设计框图 (2)2.3.1 温度传感器 (2)2.3.2 1602LCD模块显示特性 (6)第三章硬件电路设计 (10)3.1 电路原理图 (10)3.2 LCD1602显示器与单片机的接口电路 (10)3.2.1 查看温度报警值 (11)3.2.2 报警状态显示 (11)3.3 DS18B20温度传感器与单片机的接口电路 (11)3.3.1 检测DS18B20状态 (12)3.4 按键与单片机的接口电路 (12)3.4.1 设定温度报警值 (13)第四章软件设计 (14)4.1 读出温度子程序 (15)4.2 温度转换命令子程序 (15)4.3 计算温度子程序 (16)4.4 显示数据刷新子程序 (16)4.5 电路仿真 (17)4.6 结果分析 (20)总结 (21)参考文献 (22)附录 (23)基于AT89C51的数字温度计设计与仿真绪论第一章绪论1.1 前言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求也越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
摘要随着科技的不断发展,现代社会对各种信息参数的精确度和准确度的要求都有了很大的增长,而如何准确和迅速的获得这些参数就需要受制于现代信息技术的发展水平。
目前的智能温度传感器(亦称为数字温度传感器)是在20世纪90年代问世的,是微电子技术、计算机技术和自动测试技术(ATE)的结合。
它的特点是能输出温度数据和相关的温度控制量,适合各种微控制器(MCU)。
社会的发展使得人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础之上从模拟到数字式,从集成化到智能化、网络化的发展,并且朝着多功能。
高精度、总线标准化、高安全性和可靠性、开发网络传感器和虚拟传感器、研制单片测温系统等高科技的方向迅速发展。
本文将介绍智能集成温度传感器DS18B20的结构特征和控制方法,并对以此传感器,89C51单片机为控制器构成的数字温度计测量装置的工作原理和程序设计做了详细的介绍。
和传统的温度计相比它具有测量广泛,读数方便,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或者是科研实验室使用。
该设计控制器使用ATMEL公司的AT89S51单片机,测温传感器使用DALLAS公司的DS18B20,用液晶显示器来实现温度显示。
关键词:18B20 单片机 LEDABSTRACTWith the development of science and technology, precision and accuracy of modern society on various parameters of information requirements, there has been a lot of growth, and how accurate and fast access to these parameters will need to be subject to the level of development of modern information technology.Current smart temperature sensor (also referred to as digital temperature sensor) is launched in in the 1990 of the 20th century, is micro-electronics technology, computer technology and automated testing technologies (ATE) combination. It features the output temperature data and related temperature control, suitable for various microcontroller (MCU). Society tends to make people's requirements have become more sophisticated about sensors, temperature sensors are now based on single-chip industry from analog to digital, from integration to the development of intelligent, networked, and versatile. High accuracy, standardization, high security and reliability, to develop bus networks sensors and virtual sensors, development of single-chip microcomputer temperature measuring system and the rapid development of high technology. This article describes the architecture of intelligent integrated temperature sensor DS18B20 feature and control method, and with this sensor, 89S51 single-chip controller working principle and design of a digital thermometer measurement unit is introduced in detail. And it has measured a wide range than traditional thermometers, reading, accuracy of temperature measurement, the output temperature with digital display, place used primarily for accurate temperature measurement requirements, or a research laboratory. The design of controller using ATMEL's AT89S51 single-chip, DS18B20 temperature sensor using the DALLAS company, realizes with the LCD temperature display.Keywords: 18B20 Single-chip microcomputer LED目录第1章前言 (1)第2章数字温度计总体设计方案 (2)2.1数字温度计设计方案 (2)2.2总体设计框图 (2)第3章数字温度计硬件设计 (3)3.1主控制器AT89C51 (3)3.1.1 AT89C51的特点及特性: (3)3.1.2管脚功能说明: (3)3.1.3片内振荡器: (5)3.1.4芯片擦除: (6)3.2单片机主板电路 (7)3.3温度采集部分的设计 (7)3.3.1温度传感器DS18B20 (7)3.4显示部分电路设计 (12)3.4.1 74LS164引脚功能及特性 (13)3.4.2温度显示电路 (13)3.5报警系统电路 (14)第4章数字温度计的软件设计 (16)4.1系统软件设计的流程图 (16)4.2数字温度计部分程序清单 (18)结论 (24)致谢 (25)参考文献 (26)第1章前言随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。
引言概述:AT89C51单片机是一种常用的单片机型号,广泛应用于各种数字电子设备中。
本文将基于AT89C51单片机,设计一款温度计,用于测量环境温度。
通过该设计,可以实时监测环境温度,并将温度值以数字形式显示在屏幕上,提供给用户参考。
正文内容:1. 硬件设计1.1 传感器选择首先,需要选择适合的传感器来测量环境温度。
常见的温度传感器有热敏电阻、温度传感器模块等。
在本设计中,选择了DS18B20温度传感器模块,该传感器具有精度高、体积小等特点,适合本温度计的设计需求。
1.2 电路连接在硬件设计中,需要将DS18B20温度传感器模块与AT89C51单片机相连。
具体步骤如下:1) 将DS18B20传感器的VCC引脚连接至单片机的VCC引脚,将GND引脚连接至单片机的GND引脚,将DQ引脚连接至单片机的P1口,通过电阻和电容设置硬件复位电路。
2) 设置单片机的相应引脚为输入或输出引脚,使其与传感器的引脚相对应,并根据需要设置引脚的电平状态。
3) 根据DS18B20传感器的通信协议,使用单片机的串口通信功能与传感器进行通信,获取温度值。
2. 软件设计2.1 程序框架在软件设计中,需要设计相应的程序框架,以实现温度的测量与显示。
整体的程序框架如下:1) 初始化单片机的串口通信功能,设置波特率等参数。
2) 初始化DS18B20传感器,包括设定分辨率、温度精度等参数。
3) 循环读取传感器的温度数值,并进行必要的温度转换处理。
4) 将处理好的温度数值通过单片机的数码管显示出来。
2.2 温度转换在软件设计中,需要对从传感器获取的温度数值进行转换处理,以得到真实的温度值。
具体的转换公式如下:1) 首先,读取传感器内部存储器中的原始温度数据。
2) 根据DS18B20传感器的配置,进行温度计算。
3) 最后,将计算得到的温度值转换为摄氏度或华氏度,并存储到相应的变量中,以便后续显示。
3. 测试与调试在进行实际应用之前,需要对设计的温度计进行测试与调试,确保其功能正常。
摘要:随着现代信息技术的飞速发展和传统工业改造的逐步实现.能够独立工作的温度检测和显示系统应用于诸多领域。
本文将介绍一种基于AT89C51 单片机的数字温度计,本温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89C51,测温传感器使用DS18B20,用4位共阳极LED数码管采用动态扫描方式,实现温度显示。
关键词:AT89C51 数字温度计DS18B20AT89C51基本结构和原理AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示1.1主要特性:(1)与MCS-51 兼容(2)4K字节可编程闪烁存储器(3)寿命:1000写/擦循环(4)数据保留时间:10年(5)全静态工作:0Hz-24MHz(6)三级程序存储器锁定(7)128×8位内部RAM(8)32可编程I/O线(9)两个16位定时器/计数器(10)5个中断源(11)可编程串行通道(12)低功耗的闲置和掉电模式(13)·片内振荡器和时钟电路1.2管脚说明:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH 编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
1.3振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
1.4复位电路:单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。
例如,若时钟频率为12 MHz,每机器周期为1μs,则只需2μs以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。
单片机常见的复位如图所示。
电路为上电复位电路,它是利用电容充电来实现的。
在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。
只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。
该电路除具有上电复位功能外,若要复位,只需按图中的RESET 键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。
温度传感器DS18B20测温原理DS18B20的性能特点DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9-12位的数字值读数方式。
DS18B20的性能特点如下:(1)独特的单线接口仅需要一个端口引脚进行通信,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)DS18B20支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点组网测温;(3)无须外部器件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(4)可通过数据线供电,电压范围为3.0-5.5V;(5)零待机功耗;(6)温度以9或12位数字,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;(7)用户可定义报警设置;(8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;(9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;(10)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力DS18B20组成及结构DS18B20采用3脚PR35封装或8脚SOIC封装,其引脚排列及内部结构框图如图2及图3以及图4的测温原理图如下所示:图2 引脚排列图3 内部结构框图图4 DS18B20测温原理图预置 斜率累加器比较低温度系数振荡计数器1温度寄存器Tx预置=0高温度系数振荡-0计数器2T 1加1停止T 264位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
温度报警触发器TH和TL,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如图4所示。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如图5所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRCTM R1 R0 1 1 1 1 1图5 DS18B20的字节定义DS18B20的分辨率定义如表2-1所示表2-1 分辨率设置表R0 R1 分辨率最大温度转移时间0 0 9位96.75ms0 1 10位187.5ms1 0 11位375ms1 1 12位750ms由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
主机控制DS18B20完成温度转换过程是:每一次读写之前都要对DS18B20进行复位,即将数据总线下拉500us,然后释放,DS18B20收到信号后等待16-60us左右,之后发出60-240us的存在低脉冲,主CPU收到此此信号表示复位成功;复位成功后发送一条ROM指令,然后发送RAM指令,这样才能对DS18B20进行预订的读写操作。
表2-2 ROM指令集指令约定代码功能读ROM 33H 读DS18B20中的编码符合ROM 55H 发出此命令后,接着发出64位ROM编码,访问单线总线上与该编辑相对应的DS18B20使之做出响应,为下一步对该DS18B20的读写作准备搜索ROM 0F0H 用于确定挂接在同一总线上的DS18B20个数和识别64位ROM地址,为操作各器件作准备跳过ROM 0CCH 忽略64位ROM地址,直接向DS18B20发送温度变换指令告警搜索命令0ECH 执行后,只有温度跳过设定值上限或下限的片子才能做出反应表2-3 RAM指令集指令约定代码功能温度转换44H 启动DS18B20进行温度转换读暂存器0BEH 读暂存器9个字节内容写暂存器4EH 将数据写入暂存器的TH、TL字节复制暂存器48H 把暂存器的TH、TL字节写到E2RAM中重调E2RAM 0B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节读供电方式0B4H 启动DS18B20发送电源供电方式的信号给主CPUDS18B20的测温原理DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。