电子体温计的设计实现分析.docx

上传人:b****5 文档编号:6276150 上传时间:2023-01-05 格式:DOCX 页数:20 大小:130.63KB
下载 相关 举报
电子体温计的设计实现分析.docx_第1页
第1页 / 共20页
电子体温计的设计实现分析.docx_第2页
第2页 / 共20页
电子体温计的设计实现分析.docx_第3页
第3页 / 共20页
电子体温计的设计实现分析.docx_第4页
第4页 / 共20页
电子体温计的设计实现分析.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

电子体温计的设计实现分析.docx

《电子体温计的设计实现分析.docx》由会员分享,可在线阅读,更多相关《电子体温计的设计实现分析.docx(20页珍藏版)》请在冰豆网上搜索。

电子体温计的设计实现分析.docx

电子体温计的设计实现分析

 

本科生毕业设计

(申请学士学位)

 

论文题目电子体温计的设计与实现

作者涂玉娇

专业名称电子信息工程

指导教师汉书

 

2014年5月

 

学生:

(签字)

学号:

2010210055

答辩日期:

年月日

指导教师:

(签字)

 

电子体温计的设计与实现

摘要:

本设计是基于单片机AT89C51的电子体温计,传感器采用美国DALLAS半导体公司生产的新型可编程DS18B20温度传感器。

只需要将传感器DS18B20与人体接触,DS18B20就可以感应温度并且直接送入AT89C51单片机中,经过单片机的信号处理将其送出,然后温度通过LCD1602数码管进行显示。

当温度超过38°C,报警电路中红灯亮;当温度低于36°C时,报警电路中绿灯亮;当温度在36℃~38℃之间绿灯和红灯都不亮。

关键词:

电子体温计;DS18B20传感器;AT89C51单片机;LCD1602显示屏

Thedesignandimplementationoftheelectronicthermometer

Abstract:

ThisdesignisbasedonsinglechipmicroputerAT89C51electronicthermometer,sensorproducedbyDALLASsemiconductorpaniesintheUnitedStatesofnewprogrammableDS18B20temperaturesensor.JustneedtosensorDS18B20withhumanbodycontact,DS18B20temperaturecanbeinducedanddirectlyintothesinglechipmicroputerAT89C51,throughsinglechipmicroputerofsignalprocessingwillbesentout,andthenthetemperaturethroughtheLCD1602digitaltubedisplay.Whenthetemperaturemorethan38°C,redlightalarmcircuit;Whenthetemperaturebelow36°C,thegreenlightalarmcircuit;Whenthetemperaturein36℃~38℃betweengreenandredlightsarenotbright.

Keywords:

electronicthermometer;temperaturesensorDS18B20;AT89C51singlechip;LCD1602display

 

 

1绪论

温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、半导体集成数字温度计等。

在电子式温度计中,传感器是它的重要组成部分,传感器的精度、灵敏度基本决定了温度计的精度、测量围、控制围和用途等。

现在所使用的温度计还有很多是分辨力为1~0.1℃的水银、煤油或酒精温度计。

这些温度计的刻度间隔通常都很密,不容易准确分辨,读数困难,此外还有测温速度慢、环境污染严重、携带不方便等缺点。

本设计所介绍的电子体温计,与传统的温度计相比,具有读数方便、测温围广、测温准确等优点,其输出温度采用数字显示,主要用于对测温要求比较准确的场所,或科研实验室使用。

1.1课题设计的背景与意义

由于水银体温计使用方便、精度高,因而应用很广。

再加上测温方法及其结构都已成熟,没多大改进的余地,人们对它的研究失去了信心,至今几乎没有什么进展。

但是用水银体温计进行体温监测很不方便,水银污染的可能也很严重等,为了正确测量人体局部温度,促使人们开发了各种不同的测温仪器和测温方法,虽然水银体温计仍是一个精度高、价格便宜、使用方便的测温仪器。

现在已有许多医院采用了电子体温计,用其它电子仪器测量体温也日益普及。

这一事实至少表明,电子测温仪器的性能已接近水银温度计的性能。

温度是常用的测量及被控参数,在物理实验、医疗卫生、食品生产等领域,尤其在热学实验中,有特别重要的意义。

传统的水银体温计汞的污染及其携带不方便,易破碎,尤其是测量时间过长等缺点,本论文为解决此问题设计出了一种数字式电子体温计。

它在稳定性及响应时间上比传统的水银体温计有着显著的优势,精度要求也能和传统的水银体温计相媲美。

电子体温计能快速准确地测量人体体温,尤其是电子体温计不含水银,对人体及周围环境无害,特别适合于家庭、医院等场合使用。

我们都知道水银有剧毒,如果破损可能会带来玻璃扎伤或水银污染的隐患。

1.2电子体温计的设计要求

本设计旨在设计一个电子体温计,主要控制器采用单片机AT89C51,传感器采用美国DALLAS半导体公司生产的DS18B20智能型传感器。

测量出的温度采用LCD1602直接显示,当温度超过38°C,报警电路中红灯亮;当温度低于36°C时,报警电路中绿灯亮;当温度在36℃~38℃之间绿灯和红灯都不亮。

2系统方案论证

2.1系统方案论证

方案一

红外体温计是非接触式的,主要是靠红外传感器感应接收人体辐射的红外线,通过模数转换后,用单片机处理采样的数据,显示电路就可以显示出数据。

但是这个方案制作成本高,耗时比较长,主要是硬件电路与软件程序复杂。

方案二

本电路利用热敏电阻器件在测温电路中的感温效应,随着被测温度的变化,采集的电压或电流,进行模数转换后,用单片机进行加工处理采样得到的数据就可以通过显示电路显示出来。

但是热敏电阻测量体温有许多问题,比如说存在测量时间较长。

方案三

本设计电子体温计采用温度传感器作为检测元件,温度传感器有精度高的优点,可适用于体温检测。

它具有小型化、性能高、耗能低、抗干扰能力强、易配微处理器等优点。

并且经过单片机处理之后输出到液晶屏,可以直接读出被测的温度值,而且减少了外部的硬件电路设计,具有低成本和易使用的特点。

根据以上需求分析,本设计采用方案三来设计电子体温计。

2.2硬件选择

智能温度传感器(亦称数字温度传感器)是微电子技术、计算机技术和自动测试技术(ATE)的结晶,是在智能温度传感器的基础上发展而成的,典型产品有DS18B20。

DS18B20是Dallas半导体公司继DS1820后推出的一种改进型智能数字温度传感器,与传统热敏电阻相比,只需一根线就能直接读出被测温度,并可根据实际需求编程实现9~12位数字值的读数方式,所以温度传感器采用DS18B20。

MCS系列单片机集成了完整的中央处理单元。

单片机的开发环境要求较低,软件资源十分丰富,开发工具和语言也大大简化。

单片机的典型代表Intel公司在20世纪80年代初研制出来的MCS51系列单片机。

MCS51单片机在我国得到了广泛的推广应用,成为电子系统中普遍的应用手段,并在工控、交通运输、家电、仪器仪表等领域取得了大量应用成果。

基于以上,选择AT89C51单片机。

LCD液晶显示器是一种利用液晶的扭曲/向列效应制成的新型显示器。

它具有体积小、质量轻、功耗低、抗干扰能力强等优点。

LCD1602是字符式LCD液晶显示器,该显示器可以显示两行字符,每行16个字符,显示容量为16X2字符。

带有背光源,采用时分割驱动的形式,并行接口,可与单片机I/O端口直接相连,是当今显示器的主流,所以采用LCD1602作为显示器。

该系统的总体设计思路如下:

温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示.本系统显示器为点阵字符LCD1602液晶模块,检测围5摄氏度到60摄氏度。

本系统除了显示温度以外还可以通过按键设置两个上下限温度值,对所测温度进行监控报警,当温度高于或低于上下限时,进行信号灯报警,系统框图如图2-1。

图2-1电子体温计系统框图

3系统硬件电路设计

3.1AT89C51单片机电路

AT89C51单片机可应用许多场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。

由于价格低廉,经济实惠,很适合作为各种小型设计的需要。

单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个就能满足电路系统的设计需要,很适合便携手持式产品的设计,使用系统可用二节电池供电,也可用USB接口供电,主要特性如下:

(1)与MCS-51兼容

(2)4K字节可编程FLASH存储器

(3)128×8位部RAM

(4)32可编程I/O线

(5)两个16位定时器/计数器

(6)5个中断源

(7)可编程串行通道

(8)低功耗的闲置和掉电模式

(9)片振荡器和时钟电路

AT89C51的引脚图如图3-1:

图3-1AT89C51引脚图

引脚说明:

1.VCC:

接+5V电源

2.GND:

接地

3.P0口:

P0口为一个8位漏级开路的双向I/O口。

当AT89C51扩展外部存储器及I/O接口芯片时,P0口作为地址总线(低8位)及数据总线的分时复用端口。

P0口也可作为通用的I/O口使用,但需加上拉电阻,这时为准双向口。

当作为通用的I/O输入时,应先向端口输出锁存器写入1。

P0口可驱动8个LS型TTL负载。

4.P1口:

P1口是一个具有部上拉电阻的8位准双向I/O口。

P1口是专为用户使用的准双向I/O口,当作为通用的I/O口输入时,应先向端口锁存器写入1。

P1口可驱动4个LS型TTL负载。

5.P2口:

P2口为一个具有部上拉电阻的8位准双向I/O口。

当AT89C51扩展外部存储器及I/O口时,P2口作为高8位地址总线用,输出高8位地址。

P2口也可作为普通的I/O口使用。

当作为通用的I/O口输入时应先向端口输出锁存器写入1。

P2口可驱动4个LS型TTL负载。

6.P3口:

P3口是一个带部上拉电阻的8位准双向I/O口。

P2口可作为普通的I/O口使用。

当作为通用的I/O口输入时应先向端口输出锁存器写入1。

P2口可驱动4个LS型TTL负载。

P3口还可以提供第二功能。

如下表3-1所示。

 

表3-1P3口的第二功能定义

引脚

第二功能

说明

P3.0

RXD

串行数据输入口

P3.1

TXD

串行数据输出口

P3.2

INT0

外部中断0输入

P3.3

INT1

外部中断1输入

P3.4

T0

定时器0外部计数输入

P3.5

T1

计时器1外部计数输入

P3.6

P3.7

WR

RD

外部数据存储器写选通输出

外部数据存储器读选通输出

3.2温度传感电路设计

DS18B20的性能特点:

(1)多个DS18B20可以并联在三线上,使多点组网的功能得到实现;

(2)无须添加外部器件;

(3)可用数据线或干电池供电,围为3.0~5.5V的电压;

(4)待机没有功率消耗;

(5)仅需一个端口引脚进行通信独特的单线接口;

(6)温度以9或12位数字显示;

(7)识别并标志超过程序限定温度的器件;

(8)具有负电压特性,电源极性反接时,温度计不会烧毁,但无常工作。

(9)DS18B20部结构主要由四部分组成:

64位ROM、温度传感器、非挥发的温度报警触发器及高速暂存器。

DS18B20传感器电路如图3-2所示。

图3-2DS18B20传感器电路

DS18B20有六条控制命令,如表3-2所示。

表3-2DS18B20控制命令

指令

约定代码

操作说明

温度转换

44H

启动DS18B20进行温度转换

读暂存器

BEH

读暂存器9个字节容

写暂存器

4EH

将数据写入暂存器的TH、TL字节

复制暂存器

48H

把暂存器的TH、TL字节写到E2RAM中

重新调E2RAM

B8H

把E2RAM中的TH、TL字节写到暂存器TH、TL字节

读电源供电方式

B4H

启动DS18B20发送电源供电方式的信号给主CPU

DS18B20遵循单总线协议,每次测温时都必须有4个过程:

初始化,传送ROM命令,传送RAM命令,数据交换。

比如主机控制DS18B20完成温度转换这一过程,根据DS18B20通讯协议,必须经过三个步骤:

每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

3.3报警电路的设计

如图3-3所示,温度在经过AT89C51处理后,将其和设定的上下限温度进行比较,判断温度值大小,当被测温度在设定上下限围,两灯不亮,表示人体体温正常。

当被测温度超过上限围红灯亮,低于下限围绿灯亮,表示人体体温度异常。

图3-3报警电路的显示

3.4显示电路的设计

LCD液晶显示器根据显示容和方式的不同可以分为字段式(又称笔画式)、点阵字符式和点阵图3种。

在此设计中我们采用点阵字符LCD,这里采用常用的2x16的1602液晶模块。

如图3-4。

1602采用并行接口方式,有16跟引线,各线的功能及使用方法如下所述:

VSS

(1):

接地电源。

VDD

(2):

电源正极,接+5V电源。

VL(3):

液晶显示偏压信号。

RS(4):

数据/指令寄存器选择端。

高电平时选择数据寄存器,低电平时选择指令寄存器。

R/W(5):

读/写选择端。

高电平时读操作,低电平时进行写操作。

E(6):

使能信号,下降沿触发。

D0~D7(7~14):

I/O数据传输线。

BLA(15):

背光源正极。

BLK(16):

背光源负极。

图3-4LCD1602显示电路

最后将所有模块整合,各个模块的引脚分别与对应的单片机接口连接。

4系统的软件设计

4.1主控程序设计

主程序是系统的监控程序,需要调用4个子程序,包括数码管显示程序、温度测试、处理子程序和报警子程序,流程图如4-1所示。

系统在初始化完成后就进入温度测量程序,实时的测量当前的温度并通过显示电路在LCD1602上显示。

程序中以中断的方式来重新设定温度的上下限,根据硬件设计完成对温度的控制。

系统软件设计的总体流程图如下。

主控程序代码见附录一。

图4-1系统总体设计流程图

4.2中断程序设计

MCS-51单片的中断系统有5个中断请求源,如表4-1所示。

用户可以用关中断指令“CLREA”来屏蔽所有的中断请求,也可以用开中断指令“SETEA”来允许CPU接收中断请求。

在本设计中我们选用INTO来作为中断请求源。

表4-15个中断源的中断入口地址

中断源

入口地址

外部中断0

0003H

定时器T0

000BH

外部中断1

0013H

定时器T1

001BH

串行口

0023H

MCS-51响应中断后,就进入中断服务程序,中断程序的基本流程图如图4-2。

 

图4-2中断程序的基本流程

5仿真结果

仿真图如图5-1所示。

结论:

(1)当按下DS18B20的左边红色按钮一次时,温度减少1℃;当按下右边红色按钮一次时,温度增加1℃;

(2)所测温度在低于36℃,报警电路中绿灯亮;所测温度在高于38℃,报警电路中红灯亮;当温度在36℃~38℃之间绿灯和红灯都不亮。

图5-1在Proteus中的电路仿真图

通过自己亲自动手设计,使我学到许多东西,包括硬件和软件等方面,使我了解到单片机的开发过程,能有计划的进行电子体温计的研制。

单片机的设计开发不仅是软件和硬件上要通过,在成为商品之前要对其外观继续设计等,使消费者对此有第一感官的吸引力。

总之,在产品设计时一定要考虑仔细、有计划,要考虑到产品的成本、功能、外观等一系列的问题,这样设计出来的产品才有商业价值,才有竞争力。

单片机系统硬件及软件的设计,创新点在于针对温度的测量特点,采用温度传感器可与单片机直接相连,并且由于它的高度集成化,简化外围电路并降低费用,提高了电路工作的可靠性和稳定性,达到了较高的性价比。

该测温系统经过多次测试,工作稳定可靠、体积小、集成度高、灵敏度高、响应时间短、抗干扰能力强、调试方便、测温稳定等特点。

此外该系统成本低廉,器件均为常规元件,有很高的工程价值。

如稍加改动,该系统可以很方便地扩展为集温度测量、控制为一体的产品,具有一定工程应用价值。

参考文献

[1]万岐江,王淑萍,汪凤兰.体温测量的研究进展[J].XX:

医科大学学报,2008(03).

[2]梁森,王侃夫,黄杭美.自动检测与转换技术[M].:

机械工业,2006.

[3]高吉祥.数字电子技术[M].电子工业,2003.

[4]康华光.电子技术基础模拟部分[M].高等教育,1988.

[5]卜益民.模拟电子技术[M].:

邮电大学,2005.

[6]自美.电子线路设计[M].:

华中科技大学,2000.

[7]高晓蓉.传感器技术[M].西南:

交通大学,2003.

[8]黄继昌.传感器工作原理及应用实例[M].人民邮电,1998.

[9]金发庆.传感器技术与应用(第二版)[M].:

机械工业,2006.

[10]庄春生,杰,宏伟,肖红.新型智能电子体温计的研究[J].科学,2004(03).

[11]腾召胜,继峰,黄大春.基于数字温度传感器DS1620的储粮温度自动测试系统[J].仪表技术和传感器,2000.

[12]霍孟友.单片机原理与应用[M].机械工业,2004.

[13]红卫.基于单片机的智能系统设计与实现[M].:

电子工业,2005.1.

[14]王元庆,董戴,洪光烈.液晶显示屏的液晶层温度测量方法的研究[M].仪器仪表学报2004(6):

15-20.

[15]StanleyB.Lippman.C++Primer[M].:

人民邮电,2008.

[16]谭浩强.C++程序设计[M].:

清华大学,2004.

[17]Huddleston,C.[美].IntelligentSensorDesign:

UsingtheMicrochipdsPIC(智能传感器设计)[M].:

人民邮电,2000:

827-1124.

[18]F.Rettig,R.Moos.DirectthermoelectricgassensorsDesignaspectsandfirstgassensors[M].SensActuatorsB,2007.

 

附录一主程序

#include

#defineucharunsignedchar

#defineuintunsignedint

uchari;

sbitlcdrs=P3^0;

sbitlcdrw=P3^1;

sbitlcde=P3^2;

sbitd1=P0^1;

sbitd2=P0^0;

ucharcodet0[]="thetemperature";

ucharcodet1[]="is";

ucharcodewendu[]="0123456789";//利用一个温度表解决温度显示乱码

sbitDQ=P3^7;//定义ds18B20总线IO

//液晶显示模块

voiddelay(uintz)

{

uintx,y;

for(x=100;x>1;x--)

for(y=z;y>1;y--);

}

voidwrite_(uchar)

{

lcdrs=0;

P1=;

delay(5);

lcde=1;

delay(5);

lcde=0;

}

voidwrite_date(uchardate)

{

lcdrs=1;

P1=date;

delay(5);

lcde=1;

delay(5);

lcde=0;

}

voidinit_lcd()

{

lcde=0;

lcdrw=0;

write_(0x38);

write_(0x01);

write_(0x0c);

write_(0x06);

write_(0x80);

for(i=0;i<16;i++)

{

write_date(t0[i]);

delay(0);

}

write_(0x80+0x40);

for(i=0;i<16;i++)

{

write_date(t1[i]);

delay(0);

}

}

//温度采集模块

voidtmpDelay(intnum)

//延时函数

{while(num--);

}

voidInit_DS18B20()//初始化ds1820

{

unsignedcharx=0;

DQ=1;//DQ复位

tmpDelay(8);//稍做延时

DQ=0;//单片机将DQ拉低

tmpDelay(80);//精确延时大于480us

DQ=1;//拉高总线

tmpDelay(14);

x=DQ;//稍做延时后如果x=0则初始化成功,x=1则初始化失败

tmpDelay(20);

}

unsignedcharReadOneChar()//读一个字节

{

unsignedchari=0;

unsignedchardat=0;

for(i=8;i>0;i--)

{

DQ=0;//给脉冲信号

dat>>=1;

DQ=1;//给脉冲信号

if(DQ)

dat|=0x80;

tmpDelay(4);}

return(dat);}

voidWriteOneChar(unsignedchardat)//写一个字节

{

unsignedchari=0;

for(i=8;i>0;i--)

{

DQ=0;

DQ=dat&0x01;

tmpDelay(5);

DQ=1;

dat>>=1;

}

}

unsignedintReadtemp()//读取温度

{

unsignedchara=0;

unsignedcharb=0;

unsignedintt=0;

floattt=0;

Init_DS18B20();

WriteOneChar(0xCC);//跳过读序号列号的操作

WriteOneChar(0x44);//启动温度转换

Init_DS18B20();

WriteOneChar(0xCC);//跳过读序号列号的操作

WriteOneChar(0xBE);//读取温度寄存器

a=ReadOneChar();//连续读两个字节数据//读低8位

b=ReadOneChar();//读高8位

t=b;

t<<=8;

t=t|a;//两字节合成一个整型变量。

tt=t*0.0625;//得到真实十进制温度值。

因为DS18B20可以精确到0.0625度,所以读回数据的最低位代表的是0.0625度

t=tt*10+0.5;//放大十倍,这样做的目的将小数点后第一位也转换为可显示数字,同时进行一个四舍五入操作。

return(t);

}

vo

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1