基于51单片机的最小系统的数字体温计设计.docx
- 文档编号:5459192
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:25
- 大小:228.70KB
基于51单片机的最小系统的数字体温计设计.docx
《基于51单片机的最小系统的数字体温计设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的最小系统的数字体温计设计.docx(25页珍藏版)》请在冰豆网上搜索。
基于51单片机的最小系统的数字体温计设计
基于STC89C52最小系统的数字体温计设计
摘要
现代信息技术的三大基础是信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)。
传感器属于信息技术的前沿尖端产品,尤其是温度传感器种类日益繁多,数字温度传感器更因适用于各种微处理器接口组成的自动温度控制系统具有可以克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端等优点,被广泛应用于工业控制、电子体温计、测温仪器等各种温度控制系统中。
智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。
它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。
它们内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。
有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。
智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。
对某些智能温度传感器而言,单片机还可通过相应的寄存器来设定其A/D转换速率(典型产品为MAX6654),分辨力及最大转换时间(典型产品为DS1624)。
随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,采用单片机控制已经成为了一种潮流。
本文将介绍一种基于STC89C52单片机控制的数字体温计,配合采用DS18B20为温度采集模块,HS1602液晶显示模块显示结果,另外用MAX232模块进行电压转换进行程序的烧写,实现对体温的采集与再现。
关键词:
52单片机,DSI8B20,HS1602,体温计
THEDIGITALTHERMOMETERSDESIGNBASEDONSTC89C52’SMINUIMUMSYSTEM
ABSTRACT
Moderninformationtechnologyisbasedonthethreeinformationcollection(ie,sensortechnology),informationtransfer(ICT)andinformationprocessing(computertechnology).Sensorbelongstotheforefrontofcutting-edgeinformationtechnologyproducts,especiallytheincreasinglydiversetypesoftemperaturesensors,digitaltemperaturesensorismoresuitableforavarietyofmicroprocessorinterfaceforthecompositionoftheautomatictemperaturecontrolsystemcanovercometheanalogsensorsandsignalconditioningrequiredformicroprocessorinterfacingcircuitandA/Dconverterdefects,etc.,arewidelyusedinindustrialcontrol,electronicthermometer,thermometer,etc.ofvarioustemperaturecontrolsystems.Smarttemperaturesensor(alsoknownasdigitaltemperaturesensor)inthemid-1990s,cameout.Itisthemicro-electronicstechnology,computertechnologyandautomatedtestingtechniques(ATE)ofthecrystal.Theycontaintheinternaltemperaturesensor,A/Dconverter,signalprocessor,memory(orregisters)andtheinterfacecircuit.Someproductsarealsowiththemultiplexer,thecentralcontroller(CPU),randomaccessmemory(RAM)andread-onlymemory(ROM).Smarttemperaturesensorischaracterizedbythetemperaturedatacanbeexportedandtherelatedamountoftemperaturecontrol,fitavarietyofmicrocontrollers(MCU);anditisbasedonthehardwaretoachievethroughsoftwaretestingcapabilities,anditsdegreedependsonintelligentinthesoftwaredevelopmentlevel.Somesmarttemperaturesensor,thecontrollercanalsoregisterthroughtheappropriatesetofitsA/Dconversionrate(typicalproductsMAX6654),themaximumresolutionandconversiontime(typicalproductDS1624).Withtheprogressanddevelopment,microcontrollertechnologyhasspreadtoourlives,work,researchinvariousfields,hasbecomearelativelymaturetechnology,usingSCMhasbecomeatrend.ThisarticledescribesamicrocontrollerbasedcontrolofdigitalthermometersSTC89C52,withtheuseofDS18B20thetemperatureacquisitionmodule,HS1602liquidcrystaldisplaymoduledisplaystheresults,anothermodulewithaMAX232voltageconversion,toachievethetemperatureoftheacquisitionandreproduction.
Keywords:
52microcontroller;DSI8B20;HS1602;thermometer
1引言
体温计是在温度计的基础上研制成功的。
1714年,德国物理学家华伦海特,初期研制的体温表是把盛着酒精的玻璃管放在冰雪和盐的混合物里,看玻璃管内酒精降到哪里,刻上一条线,然后把表含入口中,看酒精升到哪里,又刻上一条线。
把这两条线作为固定点,再把两条线之间分成0~96°。
这就是初期的体温计。
后来,华海伦特把冰点定为32°,沸点为212°,发明了华氏温标。
1742年又发明了0~100°的摄氏温标,从此实现了体温计的刻度标准化。
1865年,英国的阿尔伯特发明了一种很有特色的体温计,特点是储存水银的细管里有一狭道,当体温计接触人体后,水银很快升到人体实际体温处,取出后水银柱不下降,而是在狭道处断开,使狭道以上部分始终保持体温度数。
这种温度计受到了临床的欢迎和普及应用。
但是随着科技的进步,如今,又出现了多种类型的体温计。
①电子式体温计
随着科学技术的发展,目前已经出现很多类型的新式体温计。
电子式体温计利用某些物质的物理参数(如电阻、电压、电流等)与环境温度之间存在的确定关系,将体温以数字的形式显示出来,读数清晰,携带方便。
其不足之处在于示值准确度受电子元件及电池供电状况等因素影响,不如玻璃体温计。
②耳温体温计
体温计一般在腋下、口腔、直肠等处使用,在实际应用中,人们普遍感觉不方便或不舒服。
耳式体温计是通过测量耳朵鼓膜的辐射亮度,非接触地实现对人体温度的测量。
只需将探头对准内耳道,按下测量钮,仅有几秒钟就可得到测量数据,非常适合急重病患者、老人、婴幼儿等使用。
③片式体温计
不断发展的新技术又带来了一种非常奇特的体温计,可以叫片式体温计或点阵式体温计。
这种体温计只有名片大小,长6-7厘米、宽0.5厘米左右,上面布满了一些附有数字的排列整齐的圆点。
在进行体温测试后,某一数值以下的圆点会全都变暗,而其余圆点颜色不变,使用者即可根据上述变化确定体温。
这种温度计价格不高,体积较小,便于携带和储存,本身污染非常小,特别适用于医疗机构,可以一次性使用,避免交叉感染。
④红外体温计
红外体温计是通过接受红外能量而设计的小仪器,其核心部件是一种叫红外探测器的光电元件,它可以将人体的红外辐射转变为电学信号,再经过电子学放大和处理成体温数字显示出来。
通过探测鼓膜及周围组织发射的红外线热量,再通过内置微电脑晶片快速计算出准确的体温,并且显示到小数点后一位,解决了传统体温计刻度难以辨认的困扰。
全新一秒体温计能在一秒钟内扫描八次体温,并显示出最高的一个温度读数,更加确保了测量的准确。
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计所介绍的数字体温计,具有实用性强、可靠性高,测量精度准确、测量速度快,读数方便等优点,输出温度采用数字显示,在设计中控制器使用STC89C52单片机,温度传感器使用DS18B20,用HS1602液晶显示器实现温度显示,用MAX232及串口实现数据传送,用USB接口实现供电。
2总体设计方案
2.1方案论证
2.1.1单片机系统
目前比较流行51系列单片机和凌阳单片机。
AT89C51单片机需要用仿真器来实现软硬件的调试,较为繁琐;STC89C52八位单片机除具有AT89C51单片机所有的优点外,具有更大的程序存储空间,可在线仿真的功能,方便调试。
因此,选用STC89C52八位单片机作为温度计的主控部分。
2.1.2电源模块
采用普通的直流电源实现电路简单,而且采用集成电源芯片设计的直流电源电压比较稳定,完全满足系统各模块的供电要求,但是普通直流电源体积比较大,变压器的散热对测温精度也有影响,所以采用USB接口直接由电脑供电,完全满足STC89C52和DS18B20等各模块的工作电压范围。
2.1.3温度传感器
采用专用的集成温度传感器(如AD590、LM35/LM45)和数字化温度传感器(DS18B20、DS1620)测温,数字化温度传感器具有接口简单、直接数字量输出、精确度高等优点。
DS18B20是DALLAS公司的最新单线数字温度传感器,它是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,它的测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为±0.5℃,现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等,DS18B20支持3~5.5V的电压范围,使系统设计更灵活、更方便、更便宜、体积更小。
DS18B20可以程序设定9~12位的分辨率,精度为±0.5℃,分辨率设定及用户设定的报警温度存储在E
PROM中,掉电后依然保存。
因此,本方案选用DS18B20作为温度测量传感器。
2.1.4显示模块
由于系统要求实现测量体温,要显示的信息不仅可以是温度值,还可以是简单的图形。
所以采用HS1602液晶显示模块显示测温结果。
2.1.5确定方案
为了不失通用性和智能性,本方案采用STC89C52单片机作为控制器,单总线温度传感器DS18B20进行温度采集。
电源部分并没有采用普通的直流电源而利用USB接口通过电脑供电,完全满足STC89C52和DS18B20等各模块的工作电压范围。
并且显示模块使用HS1602液晶显示器。
2.2总体设计
本方案设计的系统由单片机系统、温度传感器模块、液晶显示模块、单片机复位电路、串口通信模块和电源模块组成,其总体架构如图2.1。
图2.1总体设计方框图
Fig.2.1Blockdiagramoftheoveralldesign
3硬件设计
3.1单片机系统
方案采用STC89C52单片机作为控制器,完成所有的控制功能,包括:
温度传感器DS18B20的初始化和读取温度值、HS1602液晶模块驱动、温度存储及读取、和PC机的串口通信。
STC89C52是一个低功耗,高性能CMOS8位单片机,具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
1.主要特性:
•8031CPU与MCS-51兼容
•4K字节可编程FLASH存储器(寿命:
1000写/擦循环)
•全静态工作:
0Hz-24KHz
•三级程序存储器保密锁定
•128*8位内部RAM
•32条可编程I/O线
•两个16位定时器/计数器
•6个中断源
•可编程串行通道
•低功耗的闲置和掉电模式
•片内振荡器和时钟电路
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.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
3.1.1单片机最小系统
单片机最小系统应用是指仅使用单片机内部资源辅以必须的外围电路所构建的简单的应用系统。
它包括两方面的内容:
单片机的选择和单片机最小系统的设计。
通过单片机的选择,最大限度满足应用系统对硬件资源的要求。
最小应用系统设计则是指单片机最基本的、最通常的外围电路设计。
任何一个复杂的应用系统都是以最小应用系统为基础,通过搭接外部功能模块的方法实现的。
单片机最小系统的功能主要如下:
•单片机能够运行用户程序
•用户可以复位单片机
•具有相对强大的外部扩展功能
图3.1单片机最小系统原理框图
Fig.3.1SmallestMicrocontrollersystemblockdiagram
3.1.2复位电路
在单片机系统中,一般需要一个硬件复位电路,用于用户的手动复位。
常用的复位电路由一个电阻、一个电容和一个按钮组成,其原理图如图所示。
在接通电源后,自动实现自动复位操作。
在接通电源条件下,通过按钮操作是单片机实现复位。
上电自动复位时通过外部复位电容来实现的,手动复位通过单片机复位引脚经电阻和电源接通而实现的。
图3.2复位电路
Fig.3.2ResetCircuit
3.1.3时钟振荡电路
在单片机系统中,一般在单片机引脚XTAL1和XTAL2之间接一个晶振和两个电容,这样就构成了内部振荡方式,由于在单片机内部有一个高增益反相放大器,外接一个晶振后,构成了自激振荡器并产生振荡时钟脉冲。
其电路图如图所示。
图3.3时钟振荡电路
Fig.3.3Oscillationcircuit
3.1.4电源模块
本方案采用USB口通过电脑直接供电,电路连接简单易实现。
图3.4电源电路
Fig.3.1PowerModules
3.2温度传感器模块
3.2.1DS18B20原理
DS18B20采用3脚TO-92封装或8脚SOIC封装,管脚排列如图3所示。
图中GND为地,DQ为数据输入/输出端(即单线总线),该脚为漏极开路输出,常态下呈高电平,Vcc是外部+5V电源端,不用时应接地,NC为空脚。
图3.5DS18B20的外部结构
Fig.3.5DS18B20externalstructure
DS18B20内部主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL解发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分,内部结构如图3.6。
图3.6DS18B20内部结构
Fig.3.6DS18B20internalstructure
寄生电源由二极管VD1、VD2和寄生电容C组成,电源检测电路用于判定供电方式,寄生电源供电时,VDD端接地,器件从单线总线上获取电源,在DQ线呈低电平时,改由C上的电压Vc继续向器件供电。
该寄生电源有两个优点:
第一,检测远程温度时无需本地电源;第二,缺少正常电源时也能读ROM。
若采用外部电源VDD,则通过VD2向器件供电。
光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,序列开始8位(28H)是产品类型标号,接着的48位是DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。
光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20测量温度时使用特有的温度测量技术。
其内部的低温度系数振荡器能产生稳定的频率信号f0,高温度系数振荡器则将被测温度转换成频率信号f。
当计数门打开时,DS18B20对f0计数,计数门开通时间由高温度系数振荡器决定。
芯片内部还有斜率累加器,可对频率的非线性予以被偿。
测量结果存入温度寄存器中。
一般情况下的温度值应为9位(符号点1位),但因符号位扩展成高8位,故以16位编码形式读出,表3.1给出了温度和数字量的关系。
表3.1DS1820温度数字对应关系表
Table3.1
DS1820digitaltemperaturemappingtable
DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。
暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低8位,第二个字节是温度的高8位,第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新,第六、七、八个字节用于内部计算,第九个字节是冗余检验字节,如表3.2所示。
表3.2DS18B20暂存器分布
寄存器内容
字节地址
温度最低数字位
0
温度最高数字位
1
高温限制
2
低温限制
3
保留
4
保留
5
计数剩余值
6
每度计数值
7
CRC校验
8
该字节各位的意义为TMR1R011111,低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时该位被设置为0,用户不用改动,R1和R0用来设置分辨率,DS18B20出厂时被设置为12位,分辨率设置如表3.3所示。
表3.3分辨率设置表
Table3.3resolutionsettingstable
R1
R0
分辨率
温度最大转换时间
0
0
9位
93.75ms
0
1
10位
187.5ms
1
0
11位
375ms
1
1
12位
750ms
根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 最小 系统 数字 体温计 设计