基于单片机的数字温度计设计大学毕业论文毕业设计学位论文范文模板参考资料管理资料.docx
《基于单片机的数字温度计设计大学毕业论文毕业设计学位论文范文模板参考资料管理资料.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字温度计设计大学毕业论文毕业设计学位论文范文模板参考资料管理资料.docx(27页珍藏版)》请在冰豆网上搜索。
基于单片机的数字温度计设计大学毕业论文毕业设计学位论文范文模板参考资料管理资料
设计题目:
基于单片机的数字温度计设计
摘要
温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,即随着现代信息技术的飞速发展,能够独立工作的温度检测和显示系统应用于诸多领域,因此研究温度的测量方法和装置具有重要意义。
在单片机的应用中,一个很重要的应用就是对温度进行检测,测量温度的关键是温度传感器,采用智能温度传感器以实现温度数字化,既能以数字形式直接输出被测温度值,具有测量误差小,分辨力高,抗干扰能力强,能够远程传输数据,带串行总线接口等优点。
本系统以AT89C51单片机作为主控制器件,DSl8B20作为测温传感器,通过4位共阳极LED数码管串口传送数据,进行温度数字的显示。
通过DSl8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃℃。
该器件可直接向单片机传输数字信号,便于单片机处理及控制。
另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。
所以,单片机、温度传感器等电子元器件的互联,可以研制和开发出具有高性价比的新一代测温系统——基于单片机的数字温度计。
基于单片机的数字温度计设计,即对温度进行实时测量,使用单线数字温度传感器DS18B20把温度信号直接转换成数字信号输入单片机,即将实时温度显示出来。
关键词:
单片机;温度检测;AT89C51;DS18B20;
摘要……………………………………………………………1
一、绪论………………………………………………………3
(一)、课题背景………………………………………………3
(二)、设计的目的和意义……………………………………3
(三)、课题研究的主要内容…………………………………3
二、系统方案论证与比较……………………………………4
(一)、方案比较………………………………………………4
(二)、方案论证………………………………………………5
三、系统硬件设计及电路……………………………………5
(一)、系统组成………………………………………………5
(二)、电路原理………………………………………………5
(三)单片机最小系统连接电路……………………………6
(四)、主控制器电路………………………………………6
1、AT89C51的简单介绍………………………………6
2、AT89C51单片机的管脚功能………………………8
(五)、温度传感器与单片机的连接电路……………………8
1、DS18B20的简单介绍………………………………9
2、DS18B20的引脚及功能介绍………………………10
3、DS18B20的内部结构………………………………11
4、DS18B20的测温原理………………………………12
5、DS18B20使用中的注意事项………………………13
(六)、显示电路………………………………………………14
(七)、电源电路………………………………………………14
(八)、复位信号及外部复位电路……………………………14
(九)、单片机与报警电路……………………………………14
四、系统软件设计及流程图………………………………15
(一)、概述……………………………………………………15
(二)、主程序模块……………………………………………15
(三)、各模块流程设计………………………………………16
1、温度传感器的数据流程设计…………………………16
2、报警模块流程设计……………………………………17
3、中断设定流程设计……………………………………18
五、仿真与调试………………………………………………20
总结与体会……………………………………………………22
参考文献………………………………………………………23
附录1原理图
附录3仿真图
附录4程序
一、绪论
(一)、课题背景
单片机更确切的应称作微控制器,是20世纪70年代中期发展起来的一种面向控制的大规模集成电路模块,其特点是功能强大、体积小、可靠性高、价格低廉。
随着人们生活水平到的不断提高,单片机控制无疑是人们追求的目标之一,其中数字温度计就是其应用中的一个典型例子。
温度测量在热学实验中,有特别重要的意义。
目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等。
、煤油或酒精温度计,这些为低级的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。
本文所介绍的数字温度计与传统的温度计相比,极有读数方便、测温范围广、测温准确等优点,其输出温度采用数字显示,主要供测温要求准确的场所和科研试验室使用。
(二)、设计的目的和意义
目的:
1、巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业设计控制的能力。
2、培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力。
3、通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。
意义:
通过本次毕业设计,熟悉单片机AT89C51和传感器DS18B20的应用,及单片机与外围带那里的接法,加深对单片机以及传感器的认识,了解单片机在日常生活中的应用及其重要性。
同时,通过查找资料,涉及电路,使本次设计的数字温度计具有结构简单、成本低廉、精度度高、反应速度快、数字化显示和不易损坏等特点。
在这次设计中,熟悉了制作一个产品的总体流程,能熟练使用一些必要的设计工具和仿真工具等。
通过选认元件,连线,调试检测等过程,锻炼自己的理论联系实际的能力和实际操作能力,从而综合性地巩固所学的知识,为将来的工作做一次实战演习。
(三)、课题研究的主要内容
数字温度计采用温度敏感元件也就是温度传感器,将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,如LED,LCD或者电脑屏幕等显示出来给人观察。
这样就完成了数字温度计的基本测温功能。
本课题的研究重点是设计一种基于单片机的数字温度计控制系统。
基于AT89C51单片机,采用数字温度传感器DS18B20,利用DS18B20不需要A/D转换,直接进行温度采集显示,报警的数字温度计设计。
包括传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等组成。
主要工作如下:
1、利用温度传感器(DS18B20)测量某一点环境能够温度。
2、测量范围为-55摄氏度至+125摄氏度,
3、精度误差小于1摄氏度。
4、可实现温度设定的上下限报警功能。
5、LED液晶显示实际温度值。
二、系统方案论证与比较
(一)、方案比较
方案一:
采用热电偶温差电路测温,温度检测部分可采用低温热偶,热电偶由两个焊接在一起的异金属导线组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。
数据采集部分则使用带有A/D通道的单片机,再将随被温度变化的电压或电流采集过来,进行A/D转换后,就可用单片机进行数据处理了,在显示电路上就可以将北侧温度显示出来。
热电偶优点是工作温度宽,且体积小,但是也存在输出电压小,容易遭受来自导线环路噪音的影响以及飘移较高的缺点并且这种电路需用到A/D转换电路,感温电路比较麻烦。
A/D转换器
单片机
温度显示
热电阻
方案一方框图
方案二:
采用数字温度计芯片DS18B20测量温度,输出信号全数字化。
便于单片机处理和控制,省去传统的测温方法的很多外围电路。
且该芯片的物理化学性质稳定,元件线性较好。
在0—100摄氏度时,最大线性偏差小于1摄氏度。
DS18B20的最大特点之一是采用了单总数的数据传输,由数字温度计DS18B20和微控制器AT89C51构成温度测量装置,它直接输出温度的数字信号,可直接和计算机连接。
这样温度系统的结构就比较简单,采用51单片机控制软件编程的自由度大,而且体积小,硬件实现简单,安装方便。
该系统利用AT89C51芯片控制温度传感器DS18B20进行温度的、实时检测并显示,能够实现快速测量温度,并可以根据需要设置上限报警温度。
温度传感器
DS18B20
显示器LED
单片机
AT89C51
方案二方框图
从以上两总方案,容易看出方案一的温测装置可测温度范围广,体积小,但是单线性误差大。
而方案二的温测装置电路简单,精准度较高,实现方便,软件设计也比较简单,故本次设计采用方案二。
(二)、方案论证
在日常生活及工农业生产中经常要检测温度,传统的方式是采用热电偶或热电阻。
其硬件电路和软件调试比较复杂,制作成本较高。
近年来随着科技的飞速发展,对单片机的应用不断深入。
所以我们选用单片机作为核心部件进行逻辑控制及信号的产生,用单片机本生的优势节约成本,使电路更简单。
根据题目的要求,本次设计采用由AT89C51单片机及DS18B20温度传感器组成数据采集电路,加上显示电路和控制电路等,根据温度数据测量,通过控制电路对温度进行控制。
本系统具有快速显示、测量准确、精度高、可调温控范围、硬件结构简单等优点,是一种比较经济的温度控制系统。
三、系统硬件设计及电路
(一)系统组成
本课题是以AT89C51单片机核心设计的一种数字温度控制系统。
系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路主板等组成。
系统框图主要由主控制器,单片机复位、报警案件设置、LED显示、温度传感器等组成。
根据系统功能要求,构造系统框图如图所示。
单片机
AT89C51
时钟复位电路
报警电路
DS18B20
温度数据采集
驱动显示
系统原理结构框图
(二)、系统设计原理
温度传感器DS18B20可以直接读取被测温度值,进行转换的特性,模拟温度值经过,DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度报警限比较,超过限度后通过扬声器报警,同时处理后的数据送到LED中显示。
用AT789C51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。
获得的数据可以同福哦MAX232芯片与计算机的RS接口进行串口通信,方便的采集和整理时间温度数据。
(三)、单片机最小系统连接电路
单片机小系统的电路图
(四)、主控制器电路
单片机AT89C51具有低电压和体积小等特点,四个端口只需要两个口就能满足带你路系统的设计需要,很适合便携式手持式产品的设计使用系统可用二节电池供电。
1、AT89C51介绍
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口被外部下拉为低电平时,
将输出电流,这是由于内部上拉的缘故。
在
FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位
双向I/O口,P2口缓冲器可接收,输出4个
TTL门电流,当P2口被写“1”时,其管脚
被内部上拉电阻拉高,且作为输入,并因此
作为输入时,P2口的管脚被外部拉低,将输
出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16为地址外部数据存储器进行存取时,P2口输出地址的高八位。
P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入由于外部下拉为低电平,P3看将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下备选功能口:
(串行输入口)
(串行输出口)
(外部中断0)
(外部中断1)
(计时器0外部输入)
(计时器1外部输入)
(外部数据存储器写选通)
(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当震荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于所存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在iSFR8EH地址上置0。
此时,ALE只有在执MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取值期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H--FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2、AT89C51单片机的管脚功能
兼容MCS-51指令系统
4k可反复擦写(>1000次)FlashROM
32个双向I/O口
可编程UARL通道
两个16位可编程定时/计数器
全静态操作0-24MHZ
1个串行中断
128x8bit内部RAM
两个外部中断源
共6个中断源
可直接驱动LED
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
(五)、温度传感器与单片机的连接电路
采用温度传感器DS18B20作为测温元件。
温度传感器的单总线(1-Wire),。
P2端口是一个带内部上拉电阻的8位双向I/O,其输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对该端口写“1”,可通过内部上拉电阻将其端口拉至高电平,此时可作为输入口使用,这是因为内部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器时。
如执行MOVXDPTR指令,则表示P2端口送出高8位的地址数据。
在访问8位地址的外部数据存储器时,可执行MOVXRI指令,P2端口内容即为特殊功能寄存器(SFR)区中R2寄存器内容,整个访问期间不改变。
在Flash编程和程序校验时,P2端口也接收高位地址和其他控制信号。
DS18B20与单片机的接口电路
1、DS18B20简单介绍
DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”。
温度测量范围为-55~+125摄氏度,可编程为9位~12为转换精度,,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
被测温度用符号扩展的16为数字量方式串行输出;其工作电源既可以在远端引入,也可以采用桨声电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
DS18B20的性能特点如下:
(1)、独特的单线接口方式,其在与微处理器连接时仅需一条口线即可实现微处理器与DS18B20的双向通讯。
(2)、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(3)、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一直三极管的集成电路内。
(4)、适应电压范围更宽,电压范围:
~,在寄生电源方式下可由数据线供电。
(5)、温范围-55摄氏度~+125摄氏度,在-10~+。
(6)、零待机功耗。
(7)、可编程的分辨率为9~12位,、、,可实现高精度测温。
(8)、,12位分辨率时最多ms内把温度值转换为数字,速度更快。
(9)、用户可定义报警设置。
(10)、报警搜索命令识别并标志超过程度限定温度(温度报警条件)的器件。
(11)、测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(12)、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。
2、DS18B20引脚及功能介绍
DS18B20可以程序设定9~12位的分辨率,精度为±°C。
可选更小的封装方式,更宽的电压适用范围。
温度传感器DS18B20的管脚排列、封装形式如图所示
8引脚封装TO-92封装
图温度传感器
NC(引脚1/26/7/8):
空引脚,悬空不使用。
GND(引脚5):
地信号。
DQ(引脚4):
数据输入/输出引脚;开漏单总线接口引脚;当被用在寄生电源下,也可以向器件提供电源;常态下高电平。
VDD(引脚3):
可选择的VDD引脚;电源电压范围3~;当工作于寄生电源是,此引脚必须接地。
3、DS18B20内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、温度报警触发器TH和TL、配置寄存器。
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。
64位光刻ROM的排列是:
开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例,用16位符号扩展的二进制补码读数形式提供,℃/LSB形式表达,其中S为符号位。
这时12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,;如果温度小于0,这5位为1,。
例如+125℃的数字输出为07D0H,+℃的数字输出为0191H,℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。
第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。
第六、七、八个字节用于内部计算。
第九个字节是冗余检验字节。
该字节各位的意义如下:
TMR1R011111
低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。
在DS18B20出厂时该位被设置为0,用户不要去改动。
R1和R0用来设置分辨率,如表1所示:
(DS18B20出厂时被设置为12位)
DS18B20温度转换时间表
R1
R0
分辨率/位
温度最大转向时间
0
0
9
0
1
10
1
0
11
375
1
1
12
750
根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~
64
位ROM和
单
线
接
口
存储器与控制逻辑
高
速
缓
存
温度传感器
高温触发器TH
低温触发器TL
配置寄存器
8位CRC发生器
240微秒的存在低脉冲,主CPU收到此信号表示复位成功。
DS18B20内部结构图
4、DS18B20测温原理
DS18B20测温原理,其低温度系数晶振振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2脉冲输入,内还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。
计数门开启时间由高温度系数振荡器来决定,每次测量前,首先将-55摄氏度多对应的基数分别置入减法计数器1和endure寄存器中,减法计数器1和温度寄存器被预置在-55摄氏度多对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温的斜率累加器用于补偿和修正测温过程中的非线性其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。
另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
在正常测温情况下,,可采用下述方法获得高分辨率的温度测量结果:
首先用DS18B20提供的读暂存器指令(BEH),然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz,然后再用BEH指令取计数器1的技计数剩余值Cs和每度计数值CD。
、,实际温度Ts可用下式计算:
Ts=()+(CD-Cs)/CD
5、DS18B20使用中的注意事项
DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
(1)、DS18B20从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不会出现转换错误的现象,使温度输出显示85.
(2)、在实际使用中发现,应使电源电压保持5V左右,若电源电压过低,会使所测的温度精度降低。
(3)、较小的硬件开销需要相对复杂进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
(4)、在DS18B20的有关资料中均提及单总线所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此,当单总线上所挂DS18B20超过8个时,就需解决微处理器的总线驱动问题,这一点在进行多点测温系统设计是要加以注意。
(5)、在DS