基于单片机的数字温度计.docx

上传人:b****0 文档编号:9120109 上传时间:2023-05-17 格式:DOCX 页数:39 大小:880.64KB
下载 相关 举报
基于单片机的数字温度计.docx_第1页
第1页 / 共39页
基于单片机的数字温度计.docx_第2页
第2页 / 共39页
基于单片机的数字温度计.docx_第3页
第3页 / 共39页
基于单片机的数字温度计.docx_第4页
第4页 / 共39页
基于单片机的数字温度计.docx_第5页
第5页 / 共39页
基于单片机的数字温度计.docx_第6页
第6页 / 共39页
基于单片机的数字温度计.docx_第7页
第7页 / 共39页
基于单片机的数字温度计.docx_第8页
第8页 / 共39页
基于单片机的数字温度计.docx_第9页
第9页 / 共39页
基于单片机的数字温度计.docx_第10页
第10页 / 共39页
基于单片机的数字温度计.docx_第11页
第11页 / 共39页
基于单片机的数字温度计.docx_第12页
第12页 / 共39页
基于单片机的数字温度计.docx_第13页
第13页 / 共39页
基于单片机的数字温度计.docx_第14页
第14页 / 共39页
基于单片机的数字温度计.docx_第15页
第15页 / 共39页
基于单片机的数字温度计.docx_第16页
第16页 / 共39页
基于单片机的数字温度计.docx_第17页
第17页 / 共39页
基于单片机的数字温度计.docx_第18页
第18页 / 共39页
基于单片机的数字温度计.docx_第19页
第19页 / 共39页
基于单片机的数字温度计.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的数字温度计.docx

《基于单片机的数字温度计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字温度计.docx(39页珍藏版)》请在冰点文库上搜索。

基于单片机的数字温度计.docx

基于单片机的数字温度计

基于单片机的数字温度计

上传说明:

1.此论文题目为《基于单片机的数字温度计设计》;

2.以AT89S51芯片为核心,DS18B20为感温元件设计而成;

3.功能:

四位数码管显示温度、智能报警、可设置报警温度范围;

4.此论文为本人参考多方面资料整理完善而成,其中或许有许多不足,需要亲自己参考其他资料加以确认;

5.仅供参考,严禁抄袭;

6.如出现抄袭而被查重,一切责任与本人无关!

 

2013年6月15日

基于单片机的数字温度计设计

作者姓名:

***专业班级:

***指导教师:

***

摘要

随着时代的进步和发展,人们对生活环境要求的不断提高,人们在生活的许多方面都有着对温度进行感知和控制的需要。

传统温度计由于精度等各种原因,已经不能满足我们的需要。

然而单片机技术发展迅速,已经普及到我们生活、工作、科研、各个领域,已经成为一种比较较成熟的技术。

本文描述的是一种基于AT89S51单片机的数字温度计及报警系统,该系统采用DS18B20作为温度采集、监测元件,将采集到的信号送到单片机进行处理,判断是否报警,再将数据送到数码管显示出来,该设计可以设置温度计的报警上下限。

文中介绍了集成温度传感器DS18B20的原理,AT89S51单片机的功能和应用,着重给出了软硬件系统的各部分电路。

该系统具有功能强大、结构简单和体积小等优点。

关键词:

单片机、温度计、AT89S51、DS18B20

ThedesignofMicrocontroller-baseddigitalthermometer

Abstract:

Withtheeraofprogressanddevelopment,people'slivingenvironmentrequirescontinuousimprovementinmanyaspectsoflifethatpeoplehavearighttemperaturesensingandcontrolneeds.Traditionalthermometertovariousreasonssuchasaccuracy,cannotmeetourneeds.However,therapiddevelopmentofchiptechnology,hasspreadtothewaywelive,workandresearchinvariousfields,hasbecomearelativelymaturetechnology.ThispaperdescribesaAT89S51microcontroller-baseddigitalthermometerandalarmsystem,thesystemusesastheDS18B20temperatureacquisition,monitoringcomponents,thecollectedsignaltothemicrocontrollerforprocessing,todeterminewhetherthealarm,thenthedatasenttothedigitaldisplayoutthatthedesigncansetthethermometeralarmlimit.ThispaperintroducestheprincipleofintegratedtemperaturesensorDS18B20,AT89S51microcontrollerfeaturesandapplications,withemphasisgiventoeachpartofthecircuithardwareandsoftwaresystems.Thesystemhasapowerful,simplestructureandsmallsize,etc.

Keywords:

microcontroller,thermometer,AT89S51,DS18B20

 

第1章前言1

1.1研究意义及背景1

1.2研究目的1

1.3主要研究工作2

第2章系统概述3

2.1系统方案3

2.2系统组成3

2.3系统性能指标4

第3章系统硬件设计5

3.1AT89S51单片机的介绍5

3.1.1单片机的选择5

3.1.2AT89S51单片机的功能结构6

3.2数码管显示电路9

3.2.14位共阳数码管9

3.2.2显示电路9

3.3DS18B20温度传感器10

3.3.1DS18B20简介10

3.3.2DS18B20的结构及工作原理11

3.3.3测温电路13

3.3.4提高DS18B20测温精度的途径14

3.3.5DS18B20的使用注意事项15

3.4报警电路16

3.5晶振及复位电路17

3.5.1复位电路17

3.5.2晶振电路18

3.6系统工作原理19

第4章系统软件设计20

4.1主程序设计20

4.2DS18B20初始化21

4.3报警模块流程22

第五章仿真及调试23

5.1仿真23

5.2实物调试24

结论25

致谢26

参考文献27

附录28

 

第1章前言

1.1研究意义及背景

随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。

传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。

目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。

社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展,并朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展,本文将介绍智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,89S51单片机为控制器构成的数字温度测量装置的工作原理及程序设计作了详细的介绍。

与传统的温度计相比,其具有读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。

该设计控制器使用AT89S51单片机,测温传感器使用DS18B20,用数码管来实现温度显示,通过蜂鸣器和发光二极管实现报警。

1.2研究目的

温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。

在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、食物储存等领域内,温度常常是表征对象和过程状态的重要参数之一。

如发电厂锅炉的温度必须控制在一定范围内;许多化学反应的工艺过程必须在适当温度下才能正常进行;原油的提炼必须在一定温度和压力条件下才能得到汽油、柴油、煤油等不同产品。

没有适当的温度环境,许多电子设备就不能正常工作,食物储备对温度、湿度很是敏感。

由此可见,温度的测量和控制具有多么重要的意义。

虽然数字式温度计的应用已非常广泛,但随着科技的发展,温度传感器元件的不断更新换代,温度检测系统的结构、器件选择等方面任需要不断研究和创新。

不同领域对温度测量精度、灵敏度等有着特殊的要求。

本文主要目的为介绍一种使用方便、精度高、体积小、成本低廉的数字温度计系统设计。

1.3主要研究工作

此次主要以AT89S51单片机为核心、以DS18B20为感温元件,设计制作一种使用方便、精度高、体积小、成本低廉的数字温度计系统设计。

首先是对AT89S51单片机、DS18B20、数码管等元件结构、工作原理及使用方法进行分析和掌握;在此基础上对温度计的是硬件电路的进行可行性研究并提出自己的设计思路完成硬件部分的设计;最后对为软部分进行设计与调试,由此对工作电路进行仿真、测试、修改完善整个系统,实现数字温度计的基本功能。

第2章系统概述

2.1系统方案

数字温度传感器DS18B20输出信号全数字化,便于单片机处理及控制,省去传统测温方法的很多外围电路。

且该芯片的物理性、化学性很稳定,能用做工业测温元件。

采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,硬件实现简单,体积小,安装方便。

所以该系统利用AT89S51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可根据需要设定上下限报警温度。

2.2系统组成

本设计是以AT89S51单片机为核心的一种数字温度显示控制系统,系统整体硬件电路包括:

采集模块、显示模块、设置模块和单片机最小系统模块四大模块组成。

系统框图如:

图2-1

 

下面简单介绍各模块的组成及主要功能:

●设置模块:

因为不同环境对不同温度的需求,为使数字温度计能够针对不同温度环境,此次设计的数字温度计主要通过编写的程序和相应电路,对报警温度的上下限可进行人性化调整。

●采集模块:

采集模块主要由DS18B20温度传感器构成。

主要功能为对所处环境温度进行采集,并把温度转换为数字信号传递交由单片机处理。

●显示模块:

由一个4位共阳数码管、4个三极管、电阻等元件组成的显示电路。

能实时显示温度数值,精确到小数点后2位数字。

●报警模块:

主要由2只颜色不同的发光二极管及蜂鸣器组成。

正常情况下,只亮绿灯,以示环境温度在需求范围内;当环境温度低于所设置的报警温度下限或高于上限时,绿灯熄灭、红灯亮起、蜂鸣器报警。

●单片机最小系统:

为一块AT89S51芯片,对接收到的温度信号进行处理,此模块为整个系统组成的核心。

2.3系统性能指标

1.数码管温度显示基本范围:

0.00℃~99.99℃。

2.温度显示精度为:

0.01℃。

3.温度测量精度为:

±0.5℃(主要由DS18B20确定)。

4.默认报警温度上限为:

35℃,下限为:

5℃。

5.可以设定报警温度的上、下限。

第3章系统硬件设计

3.1AT89S51单片机的介绍

3.1.1单片机的选择

对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。

AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚。

它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程,所以低价位AT89S51单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。

单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用三节干电池供电。

其主要特征如下:

●与MCS-51兼容。

●4K字节可编程闪烁存储器。

●寿命:

1000写/擦循环。

●数据保留时间:

10年。

●全静态工作:

0Hz~24Hz。

●三级程序存储器锁定。

●128*8位内部RAM。

●32可编程I/O线。

●两个16位定时器/计数器。

●5个中断源。

●可编程串行通道。

●低功耗的闲置和掉电模式。

●片内振荡器和时钟电路。

3.1.2AT89S51单片机的功能结构

AT89S51有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。

AT89S51的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成。

其基本组成结构框图如:

图3-1。

AT89S51单片机为40引脚双列直插式封装。

其引脚排列和逻辑符号如图3-2所示。

各引脚功能简单介绍如下:

●VCC:

供电电压。

●GND:

接地。

●P0口:

P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。

当P1口的管脚写“1”时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。

●P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,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保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

●XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

●XTAL2:

来自反向振荡器的输出。

3.2数码管显示电路

3.2.14位共阳数码管

七段LED数码管有共阴极和共阳极两种结构形式。

显示电路一般分为静态显示和动态显示两类。

(1)共阳极接法:

把发光二极管的阳极连接在一起构成公共阳极。

使用时公共阳极接Vcc,当某阴极端为低电平时,该发光二极管就导通发光。

(2)共阴极接法:

把发光二极管的阴极连在一起构成公共阴极。

使用时公共阴极接GND,当某阳极端为高电平时,该段发光二极管就导通发光。

本文中使用的是4位共阳LED数码管,可以同时显示4位数字,温度显示可精确到0.01℃。

其引脚图如:

图3-3。

3.2.2显示电路

从P0口输出经限流电阻后接段码,P2.1、P2.3、P2.5、P2.7经C945三极管放大后接4个位码。

数码管显示局部电路图如:

图3-4。

3.3DS18B20温度传感器

3.3.1DS18B20简介

DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。

与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。

因而使用DS18B20可使系统结构更趋简单,可靠性更高。

他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。

DS18B20的主要特征:

●全数字温度转换及输出,可通过编程可实现9~12位的数字读数方式。

●独特的单线接口方式:

DS18B20与微处理器连接时仅需要一条口线即可现微处理器与DS18B20的双向通讯。

●不需要外围元件。

●最高12位分辨率,精度可达±0.5摄氏度。

温度传感器分别率由用户从9-12位中选择。

●12位分辨率时的最大工作周期为750毫秒。

●可选择寄生工作方式。

●能用数据线供电,供电的范围3.0V~5.5V

●检测温度范围为–55°C~+125°C(–67°F~+257°F)

●内置EEPROM,限温报警功能。

●多样封装形式,适应不同硬件系统。

●支持多点测温,多个DS18B20可以并联在惟一的三线上,实现多点测温。

●负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

●应用范围包括:

恒温控制、工业系统、消费类产品、温度计等。

3.3.2DS18B20的结构及工作原理

DS18B20引脚图如图3-5所示,引脚功能说明如表3-1:

表3-1DS18B20引脚功能

引脚

符号

说明

1

GND

接地

2

DQ

单线运用的数据输入/输出引脚漏极开路

3

VDD

可选VDD引脚的两种供电方式

图3-6为DS18B20的内部结构框图,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。

 

DS18B20的测温原理如图3-7所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

图中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。

另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。

系统对DS18B20的各种操作必须按协议进行。

操作协议为:

初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

3.3.3测温电路

DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。

DS18B20的电源供电方式有2种:

外部供电方式和寄生电源方式。

工作于寄生电源方式时,VDD和GND均接地,他在需要远程温度探测和空间受限的场合特别有用,原理是当1Wire总线的信号线DQ为高电平时,窃取信号能量给DS18B20供电,同时一部分能量给内部电容充电,当DQ为低电平时释放能量为DS18B20供电。

但寄生电源方式需要强上拉电路,软件控制变得复杂(特别是在完成温度转换和拷贝数据到E2PROM时),同时芯片的性能也有所降低。

因此,在条件允许的场合,尽量采用外供电方式。

无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电。

在这里采用前者方式供电。

DS18B20与芯片连接电路如图3-8所示:

 

外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。

站长推荐大家在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根VCC引线。

在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。

3.3.4提高DS18B20测温精度的途径

DS1820正常使用时的测温分辨率为0.5℃,这对于水轮发电机组轴瓦温度监测来讲略显不足,在对DS1820测温原理详细分析的基础上,我们采取直接读取DS18B20内部暂存寄存器的方法,将DS1820的测温分辨率提高到0.1℃~0.01℃。

首先用DS1820提供的读暂存寄存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度整数部分T整数,然后再用BEH指令读取计数器1的计数剩余值M剩余和每度计数值M每度,考虑到DS18B20测量温度的整数部分以0.25℃、0.75℃为进位界限的关系。

实际温度T实际可用下式计算得到:

T实际=(T整数-0.25℃)+(M每度-M剩余)/M每度(3-1)

低5位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。

在DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,即是来设置分辨率,如表3-2所示(DS18B20出厂时被设置为12位)。

表3-2RO、R1转换模式

R1

R0

分辨率

温度最大转换时/mm

0

0

9位

93.75

0

1

10位

187.75

1

0

11位

275.00

1

1

12位

750.00

由表3-2可见,设定的分辨率越高,所需要的温度数据转换时间就越长。

因此,在实际应用中要在分辨率和转换时间权衡考虑。

高速暂存存储器除了配置寄存器外,还有其他8个字节组成,其分配如下所示。

其中温度信息(第1,2字节)、TH和TL值第3,4字节、第6~8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。

根据D

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2