单片机电子体温计设计

体温,作为人体生理状况的主要指标显得十分重要,因此,无论在医院还是家庭,我们经常需要体温检测。体温的检测工具种类繁多,本课题的任务就是设计一种基于单片机的智能化电子体温计。
    在本设计中选用STC89C52型单片机作为主控制器件,选用DS18B20温度传感器作为测温电子元件,通过LCD1602液晶显示器实现温度显示。设计的主要内容包括两个部分,首先是对系统硬件部分的设计,以单片机为核心构架各模块电路。主要模块有温度检测电路和显示电路,其中为了给系统提供稳定的电压还包括稳压电源电路;然后是对系统软件部分的设计,根据传感器和显示器的通信协议编写驱动程序,以便在主程序中调用。主程序能够实现对系统的控制,从而完成电子体温计的各项功能。电路焊接完成后把仿真测试过的程序烧入单片机中运行,通过DS18B20直接获得被测温度值,送入单片机进行数据处理,之后进行输出显示,最终实现电子温度计的全部设计。
本课题设计的电子体温计作为一种新型的智能体温检测工具,与传统水银温度计相比有显著优点,比如反应速度快,易于读数,安全环保等。电子体温计的整个系统结构简单,运行速度快,信号采集效果良好,可适用于家庭、医院等各种场所。 HM000047
关键词: STC89C52单片机  DS18B20温度传感器  LCD1602液晶显示器  温度
1.1 设计背景、意义 查看完整请+Q:351916072获取
温度测量的历史,可以追溯到16世纪,那时出现了人类历史上的第一支温度计,它是由伽利略发明的气体膨胀式温度计。但是这种温度计用于体温测量是没有意义的,它们的体积过于庞大,测量时间过长,甚至能达到30分钟以上。真正使用方便,性能稳定的体温计是之后300多年才出现的。水银温度计最早出现在1714年,由加布里埃尔·华伦海特研制,有一位荷兰的医生用其为病人测量体温,使用还是很不方便。但是水银温度计经过几个世纪的发展,到现在已经十分小巧方便,而且价格便宜,得到了人们的广泛使用。
水银温度计的工作物质是水银,水银存储在温度计底部的液泡中,液泡的体积比上面的导管大很多,里面的水银在受热后膨胀,水银就会进入导管通过刻度显示温度。液泡与导管相连的是一段很狭窄的曲颈,当温度下将时,这段曲颈中的水银会断开,从而阻止了导管中的水银流入液泡,使温度计仍然保持最高时的温度。
尽管水银体温计精度高、体积小巧方便、价格便宜,得到广泛应用。但是水银体温计测温原理及其结构都已经完全成熟,没有了多少改进余地,就是说到现在水银体温计已经几乎没有多少发展的余地。而且水银温度计也有自己的显著缺点,水银温度计是很容易摔破的,一旦摔破,里面的水银流出,其污染也很严重,为了解决水银温度计的种种缺点,人们不得不尝试开发新型的体温测量工具。
在电子测量仪器蓬勃发展的现在,我们可以看到,基于单片机的智能化测量仪器是未来测量仪器的发展趋势,电子体温计就是作为其中的一支。人们已经发明出了各种各样的电子体温计,其中一些已经被医院采用为测量体温。比如利用红外线的额温体温计,虽然其测量精度不高,但其测量十分方便,时间极短,在检测大规模人员体温是否超标时十分有用。同时我们也看到,与其他电子测温仪器相比,电子体温计的发展相对缓慢,因为电子体温计以人的体温作为测量对象,其测量要求与同类别的温度测量相比有很大不同。测量体温时,传感器与人体的接触不会很全面,这就要求电子体温计的传感器十分敏感,另外体温的测量要求精度也很高,这无疑都是电子体温计面临的难题。
近些年,温度传感器又有了比较大的发展,以现在的温度传感器来看,电子体温计的性能与水银温度计的性能已经比较接近了。因此,考虑到传统的水银体温计多种缺陷,例如汞的污染及其玻璃结构易摔碎,特别是测量时间较长等缺点,本课题为解决以上等问题设计出一种数字式智能电子体温计。它在安全性及测量时间上比传统的水银体温计有着显著的优势,测量精度也能比得上传统的水银温度计。这种电子体温计基于STC52单片机,硬件电路简单,采用液晶显示温度,通过软件编程后,系统运行快速,显示界面友好,而且能对发热的体温进行报警,使用简单方便,整体安全环保,它能满足人们对体温计的普遍要求,可以适用于家庭和医院等各种场所。
1.2 设计目标要求
本科题设计的电子体温计在用于体温检测时,要能准确快速地测量出人体的局部体温,并且实时的显示出温度数值,电子体温计的测量时间要比较短,读数要方便,显示界要面尽量友好,并且要求能够进行温度报警。具体要求如下:
(1)测温范围35°C 到42°C 。
(2)测量误差小于0.5°C 。
(3)温度超过38°C时报警。
(4)温度上升时实时显示温度数据。
(5)温度下降使锁存最高温度。
(6)随时可以复位。
6 源程序代码: 查看完整请+Q:351916072获取
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit DQ=P3^7;    //ds18b20与单片机连接口
sbit RS=P3^2;
sbit RW=P3^1;
sbit EN=P3^0;
sbit BUZ=P1^7;
nsigned char code str1[]={"temperature:  "};
unsigned char code str2[]={"            "};
uchar data disdata[10];
uint num=0;
uint tvalue=0;    //温度值
uint protvalue=0;
uchar tflag;    //温度正负标志
/*************************lcd1602程序**************************/
void delay1ms(unsigned int ms)    //延时1毫秒(不够精确的)
  {  unsigned int i,j;
     for(i=0;i<ms;i++)
     for(j=0;j<100;j++);
 }
void wr_com(unsigned char com)    //写指令
  {  delay1ms(1);
     RS=0;
     RW=0;
     EN=0;
     P2=com;
     delay1ms(1);
     EN=1;
     delay1ms(1);
     EN=0;
   }
目  录
第1章 绪论 1
1.1 设计背景、意义1
1.2 设计目标要求2
第2章 系统整体设计方案 3
2.1 整体设计框架3
 2.1.1 系统模块3
 2.1.2 系统框图3
2.2 温度检测模块方案4
  2.2.1 方案论证4
  2.2.2 方案选择5
  第3章 系统的硬件电路设计 6
3.1 温度检测模块6
3.1.1 DS18B210传感器6
3.1.2 温度检测模块电路7
3.2 系统控制模块8
3.2.1 STC89C52单片机8
3.2.2 系统控制模块电路10
3.3 显示模块11
3.3.1 LCD1602液晶11
3.3.2 显示模块电路12
3.4 稳压电源模块13
3.5 本章小结13
第4章 系统的软件程序设计15
4.1 程序设计15
4.1.1 主程序框架15
4.1.2 DS18B20驱动16
4.1.3 LCD1602驱动19
4.2 仿真测试22
4.3 本章小结23
第5章 硬件电路的实现、调试和测量 24
5.1 硬件电路的制作24
5.2 系统调试24
5.3 数据测量25
5.4 结果分析26
5.5 本章小结27
总结与展望 28
致  谢 30
参考文献 31
附  录 32
  1 英文原文32
  2 中文翻译39
  3 总体电路图46
  4 PCB图46
  5 实物照片47
  6 源程序代码47 查看完整请+Q:351916072获取

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/3271.html

好棒文