基于单片机的数字体温计设计及仿真实现毕业设计论文Word文档下载推荐.docx
- 文档编号:4442144
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:52
- 大小:944.97KB
基于单片机的数字体温计设计及仿真实现毕业设计论文Word文档下载推荐.docx
《基于单片机的数字体温计设计及仿真实现毕业设计论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字体温计设计及仿真实现毕业设计论文Word文档下载推荐.docx(52页珍藏版)》请在冰点文库上搜索。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
摘要
本设计主要研究了基于低能耗单片机数字体温计的原理与实现。
设计分为硬件与软件两部分,其中硬件设计部分由数据采集模块,显示模块,按键及报警模块部分组成,实现了整体电路的设计及数据采集模块,显示模块的整合。
中央处理芯片使用的为51单片机,温度传感器为DS18B20,用LCD1602显示温度值。
软件设计部分使用C语言进行编程,用keil作为编程软件,软件设计部分实现了将温度传感器采集的数字信号以十进制的形式表示,并在LCD1602上给予准确显示,当温度值超过标准体温值(设定值)时蜂鸣器报警,测定温度用按键予以保持。
与传统的水银体温计相比,本设计的基于51单片机的数字体温计能够准确测温,精确度在0.0625,显示温度在一位小数点。
测量时间短,单次测量反应时间不到一秒钟。
本数字体温计携带方便,不易破碎,精度高。
关键字:
数字体温计,51单片机,DS18B20,LCD1602
Abstract
Throughthepaper,Iresearchedtheprincipleandachievementofthedigitalthermometer,whichisbasedonSingle-chipmicrocomputer.Thedesignisdividedintotwoparts:
thehardwarepartandthesoftwarepart,thehardwarepartisdividedintodatacollectionpart,displayingpart,keyingandalertingpart,whilerealizesthedesignofthewholecircuitry,thedataacquisitionandthesynthesizedofthedisplaypart.Thecentralprocessingchipis51Single-chipmicrocomputer,thetemperaturesensorisDS18B20andthedisplayerisLCD1602.ThesoftwaredesignpartusesClanguagetoprogramme,useskeilastheprogrammesoftware,thesoftwaredesignpartrealizesturningthesignaltemperaturesensorcollectstodecimalsystem,displayingthetemperatureonLCD1602,whenthetemperatureishigherthanthestandardtemperature(setvalue),thebuzzergiveanalarm,thekeyisusedtokeepthemeasuredtemperature.
Comparedthedigitalthermometerwiththetraditionalthermometer,thedigitalthermometerbasedonSingle-chipwhichischeapcanmeasuretemperatureaccuracily.Theaccuracyis0.0625.Itcandisplaythenumberatoneradixpoint.Themeasuringtimeisshort,thetimemeasureeachtimeisshorterthanonesecond.Itcanbecarriedconveniency,itischeapanditisaccurate.
Keywords:
DigitalThermometer,51Single-chipMicrocomputer,DS18B20,LCD1602
前言
数字体温计在医院、家庭等地方正在日益普及,单片机的普遍应用给日常生活带来了极大的方便,较之传统的水银体温计,基于单片机的数字体温计更加适合人们测量体温的要求。
温度测量在很多领域有着重要的意义。
由于水银体温计使用方便、精度高,因而应用很广。
现在所使用的很多还是分辨率为1~0.1的水银温度计。
再加上测温方法及其结构都已成熟,没多大改进余地,人们对它的研究失去了信心,至今几乎没有什么进展。
用水银体温计进行体温监测很不方便,此类温度计的刻度间隔一般都很密,不容易准确分辨,读数困难,而且他们的热容量比较大,达到热平衡所需的时间较长,使用非常不方便。
水银的污染也很严重。
为了正确测量人体局部温度,促使人们开发了各种不同的测温仪器和测温方法。
近些年来,市场上出现了电子体温计,这对于传统的体温测量来说是一个很大的进步。
温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、半导体集成数字温度计等。
在电子式温度计中,传感器是它的重要组成部分,温度计的精度、灵敏度基本决定了温度计的精度、测量范围、控制范围和用途等。
温度传感器应用极其广泛,目前已经研制出多种新型温度传感器,从而构成性能优良的温度监控系统。
本设计在普通电子体温计的基础上有了很大的提高:
电路简单,功耗低,精度高,能够实现超温报警。
在进行本设计之前,查找了大量的资料和文献,综合分析了各种方案的利弊,研究了多个温度传感器及液晶显示屏,最终选定了最优方案:
利用DS18B20测温,LCD1602显示温度值,AT89C51作为中央处理芯片。
在理论研究的基础上,进行了C语言的编程和protues仿真,并进行了硬件的设计,最终实现了温度的精确测量。
在温度显示的基础上增加了按键部分,按下按键可以保持当前的体温值,使之不受外部温度的影响,再次按下按键时可以继续测温。
当温度值大于设定值时蜂鸣器可以报警。
本设计的数字体温计精度高,利用DS18B20的12位分辨率,可以使精确度达到0.0625。
利用LCD1602显示温度,可以直观地观察体温值。
根据硬件进行的编程使整个测温系统测量时间短,使之也适合无法长时间安静的儿童。
1系统方案设计
基于本课题,进行了多种方案的比较,选出了最优设计方案。
1.1温度传感模块的选定
方案一:
利用LM35温度传感器采集温度,经过放大器进行信号放大,再经过A/D转换,将模拟信号转换为单片机能够处理的数字信号。
此方案电路复杂,需要的器件多,成本高。
方案二:
采用热敏电阻。
热敏电阻虽价格便宜,原理简单,但线性度不好,如果不进行线性补偿,对于输出的要求,难于达到设计精度;
如要对非线性进行补偿,则电路结构复杂,难于调整。
方案三:
利用DS18B20温度传感器进行温度采集。
DS18B20集成了放大器和A/D转换,无需外部器件,独特的单线接口仅需一个端口引脚进行通讯,使电路大大简化。
温度数字量转换时间短,可使用3.0~5.5V电源供电。
零待机功耗。
根据分析,采用方案三。
1.2显示模块的选定
利用数码管显示,数码管只能利用七段码显示数字,一个数码管只能显示一位数字,并且需要使用译码器进行译码,用于体温测量使用的数码管较多,而且显示的数字不方便读取,数码管显示占用的单片机I/O口较多。
利用LCD12864显示,LCD12864可以显示中文,但是对于本设计,12864编程复杂,器件成本高,占用空间大。
利用LCD1602显示,LCD1602能够显示两行字符,每行可以显示16个字符,可以显示字母及数字,并且可以根据指令设定显示模式,背光情况,方便使用,便于读取。
液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。
相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少的多。
根据分析,采用方案三。
1.3总体方案设计
根据温度范围和精度选择DS18B20传感器,利用DS18B20传感器采集温度。
(1)将DS18B20采集的数据经单片机的I/O口输入到单片机中,经单片机将数据处理转换成1602能显示的温度值。
(2)用液晶屏显示温度值。
(3)当温度超过一定值时,利用蜂鸣器进行报警。
(4)按下按键可以使温度固定,使之不受外部环境的影响,再次按下按键可以继续进行测温。
1.4总体结构框图
图1.1系统结构框图
Fig.1.1Frameofsystemstructure
2设计原理
2.1单片机AT89C51
2.1.1单片机简介
单片机是指一个集成在一块芯片上的完整计算机系统。
尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:
CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜,为学习、应用和开发提供了便利条件。
2.1.2AT89C51
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图2.1AT89C51引脚图[1]
Fig.2.1AppearanceofAT89C51
VCC:
接电源。
GND:
接地。
P0:
P0口为一个8位双向I/O口,每管脚可吸收8个TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
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),这是由于上拉的缘故。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
表2.1特殊功能寄存器
Tab.2.1Storageofspecialfunction
特殊功能寄存器
初始态
ACC
00H
B
PSW
SP
07H
DPH
TH0
DPL
TLO
IP
xxx00000B
TH1
IE
0xx00000B
TMOD
TCON
SCON
xxxxxxxxB
SBUF
P0-P3
1111111B
PCON
0xxxxxxxB
EA/VPP:
当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,EA将内部锁定为RESET;
当EA端保持高电平时,此间内程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
AT89C51中有一个用于构成内部震荡器的高增益反相放大器,外接石英晶体及电容C1,C2接在放大器的反馈回路中构成并联震荡电路。
对外接电容C1,C2虽然没有十分严格的要求,但电容容量的大小会轻微影响震荡频率的高低、震荡器工作的稳定性、起振的难易程序及温度稳定性。
可以采用外部时钟,这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。
芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
2.1.3AT89C51闲散节电模式
AT89C51有两种可用软件编程的省电模式,它们是闲散模式和掉电工作模式。
这两种方式是控制专用寄存器PCON中的PD和IDL位来实现的。
PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态。
IDL是闲散等待方式,当IDL=1,激活闲散工作状态,单片机进入睡眠状态。
如需要同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。
在闲散工作模式状态,中央处理器CPU保持睡眠状态,而所有片内的外设仍保持激活状态,这种方式由软件产生。
此时,片内随机存取数据存储器和所有特殊功能寄存器的内容保持不变。
闲散模式可由任何允许的中断请求或硬件复位终止。
终止闲散工作模式的方法有两种,一是任何一条被允许中断的事件被激活,IDL被硬件清除,即刻终止闲散工作模式。
程序会首先影响中断,进入中断服务程序,执行完中断服务程序,并紧随RETI指令后,下一条要执行的指令就是使单片机进入闲散工作模式,那条指令后面的一条指令。
二是通过硬件复位也可将闲散工作模式终止。
需要注意的是:
当由硬件复位来终止闲散工作模式时,中央处理器CPU通常是从激活空闲模式那条指令的下一条开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期有效,在这种情况下,内部禁止中央处理器CPU访问片内RAM,而允许访问其他端口,为了避免可能对端口产生的意外写入,激活闲散模式的那条指令后面的一条指令不应是一条对端口或外部存储器的写入指令[2]。
2.1.4AT89C51掉电模式
在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在中指掉电模式前被冻结。
退出掉电模式的唯一方法是硬件复位,复位后将从新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效且必须保持一定时间以使振荡器从新启动并稳定工作。
本设计中,利用单片机的P3.7口接DS18B20的通讯端,单片机的P0口及P2.5、P2.6、P2.7口接LCD1602液晶显示屏,P2.0口接按键,P1.5口接蜂鸣器。
2.2温度传感器DS18B20
2.2.1DS18B20性能
(1)
可以用数据线供电,电压范围:
3.0~5.5V;
(2)
测温范围为:
-55~+125℃;
(3)
可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125和0.0625℃;
(4)
12位分辨率时最多在750ms内把温度值转换为数字;
(5)
负压特性:
电源极性接反时,温度计不会因发热而烧毁,但是不能正常工作。
2.2.2DS18B20的外形和内部结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列如图2.2所示:
图2.2DS18B20外形图[3]
Fig.2.2AppearanceofDS18B20
引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
DS18B20内部结构:
图2.3DS18B20内部结构
Fig.2.3InsidestructureofDS18B20
2.2.3相关数据
DS18B20温度值格式表:
表2.2温度格式表
Tab.2.2Formoftemperaturelayout
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
LSByte
23
22
21
20
2-1
2-2
2-3
2-4
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
MSByte
S
26
25
24
这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0;
如果温度小于0,这5位为1。
表2.3温度数据表
Tab.2.3Formoftemperaturedata
温度
数字输出(二进制)
数字输出(十六进制)
+125oC
0000000011111010
00FAH
+25oC
0000000000110010
0032H
+1/2oC
0000000000000001
0001H
0oC
0000000000000000
0000H
-1/2oC
1111111111111111
FFFFH
-25oC
1111111111001110
FFCEH
-55oC
1111111110010010
FF92H
2.2.4DS18B20寄存器配置
温度值分辨率设置表:
表2.4温度值分辨率设置表
Tab.2.4Formofdistinguishability
R1
R0
分辨率
温度最大转换时间
9位
93.75ms
1
10位
187.5ms
11位
375ms
12位
750ms
2.2.5高速暂存存储器
高速暂存存储器由9个字节组成,其分配如表所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;
当S=1时,先将补码变为原码,再计算十进制值。
表
2是对应的一部分温度值。
第九个字节是冗余检验字节。
表2.5DS18B20暂存寄存器分布
Tab.2.5FormoftemporarystorageofDS18B20
寄存器内容
字节地址
温度值低位
温度值高位
高温限值TH
2
低温限值TL
3
配置寄存器
4
保留
5
6
7
CRC检验
8
根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 数字 体温计 设计 仿真 实现 毕业设计 论文