电子体温计
哈尔滨理工大学课程
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
说明书
房屋状态说明书下载罗氏说明书下载焊机说明书下载罗氏说明书下载GGD说明书下载
课程设计说明书
设计题目: 电子体温计设计 专 业: 机械电子工程 班 级: 学 号:
姓 名:
指导教师:
二〇一三年 十一月
哈尔滨理工大学课程设计说明书
任务分配 总体
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
设计:
软件系统设计:
硬件系统设计:
绘图:
软件编程:
附上整体效果图【图片】
哈尔滨理工大学课程设计说明书
目录
任务分配 ................................................................................................0 绪论........................................................................................................1 第一章 任务要求 ..................................................................................3 第二章 设计思路 ..................................................................................4 第三章系统设计 ....................................................................................5 第四章 方案设计与论证 .......................................................................6 第五章硬件电路设计.............................................................................8 5.1 传感器电路 ..................................................................................8 5.1.1 DS18B20四个比较重要的主要的数据部件 .............................8 5.1.2 数字温度传感器DS18B20介绍 ............................................. 10 5.2 单片机电路 ................................................................................ 11 5.3 LCD1602显示屏电路 .................................................................. 14 5.4 电源模块 .................................................................................... 16 第六章 软件设计 .............................................................................. 18 6.1 DS18b20的读操作...................................................................... 18 6.2 DS18b20的温度数据处理 .......................................................... 19 6.3 1602显示部分 ........................................................................... 20 第七章系统调试与测量 ....................................................................... 22 7.1 系统调试 .................................................................................... 22 7.2 测量数据 .................................................................................... 22 7.3 误差分析 .................................................................................... 23 设计总结 .............................................................................................. 24 参考文献 .............................................................................................. 25 附录...................................................................................................... 26
哈尔滨理工大学课程设计说明书
绪论
体温测量的历史,最早出现在16世纪。当时空气热膨胀是Saatorio主要根据的原理,制出了第一支体温计,用于测量口腔温度体。到20世纪初,才开始设计采用水银来制作体温计,至今水银体温计在家庭等处,得到了广泛的应用。埃布斯坦在1928年发表的报告中指出,水银温度计当时除测量口腔及腋下的温度外,还可以用来测量颈部、外耳,大腿根部及尿温。水银体温计的原理就是玻璃球内积存的水银温度和被测量皮肤的温度相等。
由于水银体温计精度很高、使用方便、并且易于携带,因而很多人喜欢采用水银体温计。再加上体温计测温方法及其结构都已完全成熟,并没太多的改进余地,人们对水银体温计的研究热情逐渐降低,到现在水银体温计几乎已经没有什么发展的余地。再加上由于测量体温用水银体温计很不方便,如果打破摔坏体温计,水银的污染也很严重等,为了准确测量人体的局部温度,促使人们不得不开发了多种多样的测温方式和测温器件设备。
现在其它不同种类的电子仪器测量体温也日益普及,已有许多医院采用了电子体温计来测量体温。这一事实至少说明了,电子测温仪器的性能与水银温度计的性能已经很接近了。因此,鉴于传统的水银体温计多种因素,诸如汞的污染及其携带不方便易破碎,尤其是测量时间过长等缺点,本课题为解决此问题设计出一种数字式电子体温计。它在稳定性及响应时间上比传统的水银体温计有着显著的优势,精度要求也能和传统的水银体温计相媲美。
单片机智能化仪表在测量仪表的方面,有着很大的发展趋势。它给日常生活带来多方面的进步,其中数字温度计就是一个典型的例子,家庭、医院等随处可见,为了能更加满足人们的需要,数字体温计正在不断的进行更新换代。
现在所使用的温度计还有很多是水银、酒精或煤油。温度计的分辨力都是为1,0.1?。这些普通水银温度计的刻度间隔通常都很密集,读
哈尔滨理工大学课程设计说明书
数比较困难,分辨的不准确,而且他们有着比较大的热容量,需要很长时间达到热平衡,因此温度数值很难读准,使用非常不方便。本设计所介绍的电子体温计,主要用于家庭等普通环境。与传统的水银温度计相比,电子体温计易于读数,广泛的测温范围,测温精度比较高等优点,其输出温度采用数字显示。
现在温度计发展非常迅速,从最原始的玻璃管温度计发展到了现在的热电偶温度计、热电阻温度计、集成的半导体数字温度计等。在电子式温度计中,最重要组成部分就是传感器。温度计的测量范围、精度、控制范围和用途取决于传感器的精度、灵敏度等等。现在的温度传感器被广泛的应用,目前已经研制出各种各样的新型温度传感器,从而现在温度监控系统的功能日趋强大。
2
哈尔滨理工大学课程设计说明书
第一章 任务要求
该系统的用于体温检测,能准确快速地测量人体体温,并且需要实时的显示当前的温度。与传统的水银玻璃体温计相比,电子体温计具有方便的读数,高精度的测量,测量时间比较短,能记忆并有与其它体温计不同的蜂鸣提示的优点。
测温范围32?C ~43?C,误差在?0.2?C以内,当温度超过37.5?C时,可以报警,采用LED数码管直读显示。并且能够实时的宽范围的温度检测,能清楚的显示与读出数据。
3
哈尔滨理工大学课程设计说明书
第二章 设计思路
本研究旨在设计一个电子体温计,主要控制器采用单片机STC89C52,传感器采用美国DALLAS半导体公司生产的DS18B20智能型传感器。该传感器检查的温度是32?C ~43?C之间,检查的分辨率为?0.2?C。当温度出现不同寻常的时候,不在设置范围内时,可以报警,且是通过蜂鸣器。研究工作总体包括以下多个方面:了解电子体温计的工作原理,典型结构,发展历史及国内外的研究和发展的现状;研究电子体温计的两个最主要的核心模块:DS18B20传感器控制和STC89C52单片机主控制器。
4
哈尔滨理工大学课程设计说明书
第三章系统设计 为满足系统的三个需求:
(1)实时的温度检测。
(2)数据能清楚的显示与读出。
(3)温度变化的曲线能够实时的描绘出来。整个电子体温计系
统应该设计必须含有以下几个模块:
a.温度采集模块。
b.显示模块。
c.串口通信接口。
d.核心系统模块。
LED
显 主 串口通信接示
口
控
制
5V稳压电
器 路
温
度
传
时钟振荡 感
器
图3.1 电子体温计系统框图
5
哈尔滨理工大学课程设计说明书
第四章 方案设计与论证
方案一:
本电路设计的电子温度计,如图4.1,热敏电阻器件在测温电路中的感温效应。随被测温变化,采集的电压或电流,进行模数转换后,再用单片机进行加工处理采样的数据,就可以通过显示电路显示出来。但是热敏电阻测量体温有许多问题,存在测量时间较长等问题。
图4.1 基于热敏电阻的电子体温计系统框图
方案二:
红外体温计是非接触式的,算是高端的技术,最近几年才发展起来的。主要是靠红外传感器感应接收人体辐射的红外线,通过模数转换后,用单片机处理采样的数据,显示电路就可以显示出来数据。但是这个方案制作成本费用高,耗时比较长,主要是体现在硬件电路与软件程序复杂。
方案三:
数字温度计采用单片机的温度传感器设计,各种各样的精度高的温度计不断出现,不断发展。数字温度检测要求必须满足的条件是检测的精度高于控制的精确度,否则无法控制的体温计测量精度的要求。所以电子体温检测的一项重要的性能参数其中有一项就是测量精度。因此数字体温检测追求的一个目标就是高精度。检测手段不断的现代化,现在检测能达到的很高的灵敏度、精度及测量范围等。同时,科学技术的发展达到的水平越高,又为检测技术、传感器技术提供了新的技术支持。目前市场上出现了很多传感器,很多高精度的传感器已经出现,而且精度越来越高。DS18B20将会不断的完善,从而测量的更加精确、更加简单,更加人性化,更满足系统设计的需求。
传统的传感器热电阻、热电偶等,只有通过外部硬件的支持,测出的电压,才会转换成对应的温度值。比如说模数转换是不可少的,还有其他的等等一些硬件电路,比较复杂。有如下缺点:软件调试复杂;硬件电路复杂;制作成本高。
本电子体温计采用DS18B20作为检测元件,DS18B20是一种改
6
哈尔滨理工大学课程设计说明书
进型智能温度传感器,最高分辨率可达0.0625?C,测温范围为-55~125?C。其中在32 ºC,45 ºC的范围内的测量精度为?0.2ºC,此传感器可适用于体温检测。它具有小型化、性能高、耗能低、抗干扰能力强、易配微处理器等。并且DS18B20采用单片机与三线制相连,可以直接读出被测的温度值,而且减少了外部的硬件电路设计,具有低成本和易使用的特点。综上所述,决定采取DS18B20作电子体温计为选择方案。
方案确定
根据以上需求分析,本次设计采用方案三来设计电子体温计。
7
哈尔滨理工大学课程设计说明书
第五章硬件电路设计
5.1 传感器电路
美国DALLAS半导体公司设计生产一种DS18B20温度传感器,并且DS18B20是一种智能化的温度传感器。新出来的,比较流行的温度传感器,是与平常传统的热敏电阻等测量温度的元件相比较,它提供9位(二进制)温度读数,并且可以指示器件的温度,而且能够直接读出被测的温度数值。
DS18B20的性能和特点如以下几点,都是很好的优点:其一是多个DS18B20可以并联在唯一一个单独的三线上,并且能够实现多点组网功能;其二是独特单独的单线接口仅仅需要一个端口引脚就可以进行通信;其三是用户可以自己定义的非易失性温度报警的设置;不需要外部的外围器件;其余的是可以通过数据线供电,电压范围为是在3.0~5.5V;当待机的时候,功耗为零;温度以9~12位的数字两读出;负电压特性,当电源极性接反的时候,温度计不会因发热而烧毁,只是不能正常工作。报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件。
5.1.1 DS18B20四个比较重要的主要的数据部件
(1)ROM能够用64位进行光刻,并且出厂前已经光刻好了光刻ROM中的64位序列码,因此它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:产品类型标号是在开始8位(28H),接着的DS18B20自身的序列码是48位的,56位校验码是在最后8位。
(2)DS18B20中有个温度传感器,并且该传感器是用来测量人体体温的。每一个DSl820中,包括独一无二的序列码,序列码是64位长的。DSl820内部的ROM(只读存贮器)就是用来装填该序号值的。产品类型编码是在前面的8位 (DSl820编码均为10H)。接着是每个器件唯一的序列码,在中间的48位,最后面的8位是前面56位的CRC(循环冗余校验)码,而循环冗余校验码的
公式
小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载
是(CRC=X8+X5+X4+1)。每一个DS18B20都各不相同,主要体现是在光刻ROM的作用,这样就可以实现多个DS18B20挂接在一根总线上。图5.1为DS18B20的实物图。
8
哈尔滨理工大学课程设计说明书
图5.1不锈钢封装防水型DS18b20温度探头
图5.2 DS18B20内部结构图
9
哈尔滨理工大学课程设计说明书
图5.3 DS18B20电路图
5.1.2 数字温度传感器DS18B20介绍
DS18B20的主要特性:
(1)适应更加宽广的电压范围,电压范围:3.0,5.5V,并且采用数据线供电,与此同时也可以采用寄生电源方式;
(2)DS18B20还具有的很多强大的功能,其中一项就是支持多点的组网功能,在唯一单独的三线上,就可以让多个DS18B20功能并联,实现组网多点测量体温;
(3)具有很独特的单线接口方式,需要一条口线即可让DS18B20在与微处理器连接,并且能够实现微处理器与DS18B20的双向通讯;
(4)不需要用其他的任何外围的元器件DS18B20就可以使用,一只三极管的集成电路包含了全部传感元件及转换电路;
(5)温范围,55?,+125?,在-10,+85?的时侯精度是?0.5?左右;
(6)有9,12位的分辨率是可以用来编写程序的,对应的可分辨温度依次分别为0.0625?、0.125?、0.25?和0.5?,测量温度可实现精度高;
(7)温度转换为数字,且条件是在9位分辨率时,最多花费 93.75ms,而在12位分辨率时,把温度值转换为数字,速度更快,最多在750ms内;
(8)测量结果可以输出直接明确的数字的温度信号,通过串行,CPU接受"一线总线",同时可以传送CRC校验码,拥有极强的抗干扰纠错能力;
10
哈尔滨理工大学课程设计说明书
(9)负压特性:当接反电源极性的时候,芯片不会发热,因而更加不会被烧毁, 但之后不能正常工作。
5.4DS18B20封装管脚图
5.2 单片机电路
STC89C52是一种CMOS8位微小型控制器,其性能高、功耗低,并且具有可编程Flash 存储器,数据容量是8K。在单芯片上,STC89C52为众多嵌入式控制系统应用提供有效、灵活的解决方案主要其原因就是拥有可编程Flash 和灵活的8 位CPU。 具有以下标准功能:512bitRAM,8kbitFlash, 32 位I/O 口线,看门狗的定时器,内置4KB EEPROM,MAX810复位电路,单个6向量2级中断结构,三个16 位计数器/ 定时器,全双工串口。另外静态逻辑操作是STC89X52 降至0Hz,并且支持2种软件,与此同时,还可选择节电模式。当CPU 停止工作,就是属于空闲模式。此时允许RAM、串口、计数器/定时器、中断时候继续工作。保存RAM内容,可以在掉电保护方式下,并且可以把振荡器冻结了,单片机停止一切工作,直到下一个硬件复位或中断为止。最高运作频率35Mhz,6T/12T可选。
STC单片机引脚说明:
11
哈尔滨理工大学课程设计说明书
图5.5 STC89S52管脚图
(1)GND:接地
(2)VCC:电源电压
(3)RST:重新设置。当振荡器复位器件时,要保证持续RST脚两个机器周期的高电平时间。
(4)/EA/VPP:在此时间段外部程序的存储器(0000H-FFFFH),就必须是在/EA保持持续电平低时,不管是否有内部的程序存储器。/EA将内部锁定为恢复设置,此时应当注意加密方式1;当/EA端保持电平高的时候,在FLASH可以编写程序的期间。此间的内部的程序存储器,施加12V编程电源在这个引脚上,也可以用于(VPP)。
(5)XTAL1:输入内部时钟的工作电路以及输入反向振荡的放大器。
(6)XTAL2:为反向振荡器的输出。
(7)P0口:总线复用口是P0口,而且是数据/地址合起来的,也即是一个8位开路漏级双向I/O口。作为输出口用时,每管脚可吸收8TTL门电流。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。当P0口的管脚第一次写1时,被定义为高阻态输入。当FIASH进行校验时,P0外部必须被拉高,是由于P0输出原码,在FIASH编程时,P0 口作为原码输入口。
(8)P1口:把1写在P1口管脚之后,高电平就会在内部产生,并且可以用作输入。4TTL的门电流能够被P1口缓冲器可以能够吸收或输出,主要原因是P1口内部带一个可以提供上拉电阻的8位双向
12
哈尔滨理工大学课程设计说明书
I/O口。电流在内部被上拉,当下拉为低电平在P1口被外部产生的时候,电流将会被输出。地址接收是当P1口作为第八位,并且在FLASH编程和校验的时侯。
(9)P2口:4个TTL的门电流可以在P2口的缓冲器可吸收或输出,P2口内部带一个8位双向I/O口,并且是可以上拉电阻的。并因当P2口的管脚被外部拉低,这个是作为输入的时侯来的,将输出电流。这是由于内部上拉的缘故。P2口在FLASH编程和校验时接收控制信号和高八位地址信号。P2口当用在16位地址外部数据存储器,并且进行存取或外部程序存储器的时候,P2口输出地址的高八位。管脚内部有上拉电阻拉高,主要是当P2口被写“1”时,并且把P2口当作为输入。它优势有利用内部上拉,并且在给出地址“1”的时侯,当进行读写外部八位地址数据存储器的时候,P2口输出其特殊功能寄存器的内容。
(10)P3口:P3口内部的管脚是8个带上拉电阻的双向I/O口,可吸收或输出4个TTL门电流。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。当P3口写入“1”后,用作输入,与此同时,并且内部电平上拉为高电平。
AT89C51的某些特殊功能口可以采用P3口来实现,如下表1所示:
表5.1 P3特殊功能口 ?
管脚 备选功能
P3.0 串行输入口
RXD
P3.1 串行输出口
TXD
P3.2 外部的中断0
/INT0
P3.3 外部的中断1
/INT1
P3.4 外部的输入记时器
T0 0
P3.5 外部的输入记时器
T1 1
P3.6 写选通的外部数据
/WR 存储器
P3.7 读选通的外部数据
13
哈尔滨理工大学课程设计说明书
/RD 存储器
P3口同时为闪烁编程和编程校验,且可以接收一部分控制信号。
(11)/PSEN:外部程序存储器之中有选通信号在。在由外部程序存储器工作时候,取指期间,两次/PSEN有效,且在每个机器周期中。但两次有效的/PSEN信号将不出现在访问外部数据存储器时。
(12)ALE//PROG:通常情况下,ALE端输出正脉冲信号,并且以不变的频率周期,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。当外部存储器准备被访问的时候,锁存地址的地位字节可以让地址锁存允许的输出电平。此引脚用于输入编程脉冲,主要是用在FLASH编程期间。此时, ALE只有在执行MOVX,只有在ALE情况下,MOVC指令是才起作用的。然而要注意的是:跳过一个ALE脉冲,就会用作外部数据存储器时。如想禁止ALE的输出可在SFR8EH地址上置0。另外,该引脚被略微拉高。如果是无效的置位,很可能主要原因是禁止了微处理器在外部执行状态ALE。
本次设计中使用的引脚为RXD,TXD,P2,P3口。
图5.6单片机电路原理图
5.3 LCD1602显示屏电路
1602液晶也叫1602字符型液晶,字母、数字、符号等的点阵型液晶模块将可以显示在1602上的,可以显示一个字符,是通过每个点阵字符位来实现的,并且组成部分是若干个5X7或者5X11等点阵字符位。每位之间有一个点距的间隔,每行之间也有间隔,起到了字
14
哈尔滨理工大学课程设计说明书
符间距和行间距的作用。1602LCD是指显示的内容可以显示每行16个字符液晶模块,并且可以显示两行,1602代表的就是这个意思。
LCD1602液晶显示内容丰富、小巧的体积、功耗低、超薄且轻巧,常用在微型仪表和低功耗应用系统中。
1602的16脚接口是采用标准规范的,其中:
(1)第1脚:接地电源是VSS;
(2)第2脚:正电源是VDD接+5V ;
(3)第3脚:液晶显示器调整对比度的端口是V0,接正电源的时候对比度是最弱的,接地电源的时候对比度是最高的,对比度太高时会出现不一样的“鬼影”,使用时,对比度的调整,可以通过一个10K的电位器来进行;
(4)第4脚:RS为选择寄存器,指令寄存器用于低电平的时候、数据寄存器用于高电平的时候;
(5)第5脚:信号线RW是代表读写的,写操作通常都是在低电平的时候进行,读操作通常都是在高电平的时候进行,显示地址或者写入指令就要当RS和RW均是为低电平的时候。低电平的时候可以写入数据,必须要是当RS是高电平RW时候,高电平的时候可以读忙信号,必须要是当RS是低电平RW时候;
(6)第6脚:E端是使能端,其作用就是当E端从高电平跳转成为低电平的时候,液晶模块会按照流程执行命令;
(7)第7,14脚:8位双向数据线是从D0到D7;
(8)第15,16脚:这些都是空脚;
从以上可以知道,LCD1602有16只管脚,每只都有不同的作用。设计好电路,再通过软件编程。当通电时候,就会启动显示屏,显示屏就会工作,就会显示外面所需要的。
图5.7 LCD1602电路原理图
15
哈尔滨理工大学课程设计说明书
5.4 电源模块
如图5.8所示,该电路图是电源模块,主要负责整个电路系统的电源供应。整个电子体温计采用的是稳压5V恒流电源。
由于这个电子体温计的电路系统的外部电源,不一定全都是系统所要求的而5V稳压电源,故需要对输入的电压进行稳压处理才行,通过处理电压,才会产生5V的电压。并且稳压是时候,所采用的稳压的芯片是最常用的78xx系列的7805稳压芯片。为了系统运行的稳定性,而且由于稳压芯片有波动的波形。所以应该要对稳压之前和之后的电压进行滤波处理,处理之后的波形,才会增加电形的平滑,这时候,电子体温计整个电路系统才运行的更加稳定,可靠,不会出问题。
图5.8电源模块电路原理图
以下是整个电子体温计的系统电路原理图
16
哈尔滨理工大学课程设计说明书
图5.9 电子体温计原理图
如图5.9所示,整个电路原理图,分有几个模块,其中主要就是有单片机模块,DS18B20温度传感器模块,显示模块和电源模块。而其中也有些小模块,如晶振模块,报警器模块等等。这四个大模块,不同功能,有机的结合起来,成为一个完整的整体。
17
哈尔滨理工大学课程设计说明书
第六章 软件设计
6.1 DS18b20的读操作
DSl8B20的主要数据元件有:64位激光Lasered ROM,温度灵敏元件和非易失性温度告警触发器TH和TL。DSl8B20可以从单总线获取电源,当信号线为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上寄生(电容)电源为止。此外,还可外接5 V电源,给DSl8B20供电。DSl8B20的供电方式灵活,利用外接电源还可增加系统的稳定性和可靠性。DS18B20读写时序如图4-1~4-3:
图6.1 DS18B20的复位时序图
图6.2 DS18B20的写数据时序图
图6.3 DS18B20的读数据时序图
18
哈尔滨理工大学课程设计说明书
由时序图可知,DS18B20在复位时需要480us的低电平,等待15us后MCU将总线拉高,等待DS18B20的响应信号;DS18B20在写数据时分为写“0”和写“1”操作,写“0”操作时,DS18B20需要至少60us的总线被拉低,然后在60us内将“0”写入DS18B20中,持续时间至少1us,写“1”操作是只需将写入的“0”改为“1”即可;DS18B20读操作也分为读“0”和读“1”操作,读“0”操作时,总线需要15us被拉低,再拉高45us,然后再15us内将数据读走,读“1”操作同读“0”操作。程序流程图如图4-4:
开始
DS18B20的初
始化
跳过读序列号的操
作
启动温度转
换
DS18B20的初
始化
跳过读序列号的操
作
读取温度寄
存器
LOW-低八位 HIGH-高
八位
RET
图6.4 DS18B20读取温度的流程图
6.2 DS18b20的温度数据处理
读出温度数据后,LOW的低四位为温度的小数部分,可以精确到
19
哈尔滨理工大学课程设计说明书
0.0625?,LOW的高四位和HIGH的低四位为温度的整数部分,HIGH的高四位全部为1表示负数,全为0表示正数。所以先将数据提取出来,分为三个部分:小数部分、整数部分和符号部分。小数部分进行四舍五入处理:大于0.5?的话,向个位进1;小于0.5?的时候,舍去不要。当数据是个负数的时候,显示之前要进行数据转换,将其整数部分取反加一。还因为DS18B20最低温度只能为-55?,所以可以将整数部分的最高位换成一个“-”,表示为负数。图4-2为温度数据处理程序的流程图。
开始
提取整数部分存
入HT
提取小数部分存入LT
LT右移三位,将精度降低到0.5摄
氏度
将小数部分整数
化
N LT是否大于5 是否为负
数 N Y Y
HT++
负数标志flag=1
提取符号部
分存入sign RET
图6.5 温度数据处理流程图
6.3 1602显示部分
1602的读写时序图如下:
20
哈尔滨理工大学课程设计说明书
图6.6 1602液晶的读时序图
图6.7 1602的写时序图
21
哈尔滨理工大学课程设计说明书
第七章系统调试与测量
7.1 系统调试
电子体温计系统的硬件调试一般分下面几个步骤。
第一步:检查外部的各种元器件,看元器件是否完好无损,并且观察电路板上的电路是否有断点。是否有漏焊,虚焊等等。
第二步:用仪器仪表进行检测,这里主要采用万用表进行检测,先用万用表复核目测中有疑问的连接点,拐点等等,再次检测各种地线与电源线之间是否有短路、断路等不良现象。
第三步:通电检测。给电路PCB板通上电,检测所有器件的电源是否符合要求的值。并且检测整个电路的功能是否能够正常运行。
第四部:在通电工作中,观察电子体温计能否正常的测量体温,并且检查显示屏能否正常显示数据。
7.2 测量数据
表7.1
测量人物 普通水银体电子体温计
温计
36.4 36.2 同学甲
36.5 36.4 同学乙
36.6 36.6 同学丙
36.8 36.6 同学丁
图7.1 水银温度计
图7.2 电子体温计实物图
如图8.1所示,此处采用的是原始的水银温度计来进行体温的测
22
哈尔滨理工大学课程设计说明书
量,所测得的数据是36.3?,如图7.2所示,采用本次设计的电子体温计测量同一个同学的体温,所得数据是36.8?。通过以上水银体温计和电子体温计比较,得出电子体温计基本符合本次设计的要求,但是还是有细小的误差。
以上数据是通过多个同学的测量,水银体温计和电子体温计均测量了几次,再将所测得的数据填入上表中,通过数据分析,电子体温计,基本符合要求,没有出现重大误差。
7.3 误差分析
通过用普通水银体温计与电子体温计分别测量人体体温,得出以上几组数据。但是仍然有细微的误差,通过分析,可以得出以下几点原因。
(1)硬件电路设计的细小误差。由于是在制作电路板时候的微小误差,与做工精细有关。
(2)软件程序的误差。在编程时候,一些数据,延时,有些细微的差异。
23
哈尔滨理工大学课程设计说明书
设计总结
本次用单片机设计电子体温计系统终于完成了,在本次设计中, 我不仅把知识融会贯通,而且丰富了大脑,同时在外观到
论文
政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载
的编写都是先查阅了大量资料过程中也了解了许多课外知识后确定,再经老师指导,开拓了视野。在这次课程设计中,我切身感受到了使自己在专业知识方面和动手能力方面有了质的飞跃。
在此次课程设计过程中,我也曾遇到过困难,如软件不知如何编程、论文不知从何下手等种种困难。刚开始面对课题感到迷茫,不知该从何下手,但经过老师的辅导、与自己在图书馆和网上查阅的相关资料,不断学习,并开始论文的编写。但是再编程调试过程中又遇到问题,总是出现问题,在自己耐心的调试下终于把软件这个问题解决了,最终完成了论文。从中我体会到了人是越挫越勇的,只有战胜自己,才会取得成功。
通过本次课题设计,我了解到电子体温计的主要设计思路,巩固了自己所学电子科技方面的大量学科知识,也加深了诸如PROTEL99等软件的熟练程度。同时,也了解到电子体温计具体步骤措施、主要是对DS18B20的了解更加深入。与此同时,更加熟悉了单片机的内部结构,对我将来的工作也有很大的作用。
24
哈尔滨理工大学课程设计说明书
参考文献
[1]
[2]
[3] 高晓蓉.传感器技术[M].西南交通大学出版社,2003
[4] 黄继昌. 传感器工作原理及应用实例[M].人民邮电出版社,1998
[5] 陈杰. 传感器与检测技术[M].高等教育出版社,2002
[6] 金发庆.传感器技术与应用(第二版)[M].北京:机械工业出版社,2006
[7] 沙占友,马洪涛,安国臣,孟志永.新型智能温度传感器的与原理及应用,电子测量与仪器学报第16卷增刊.2002.10:144-146
[8] 沙占友.智能化温度测试系统的优化设计.电子测量与仪器学报第16卷增刊.2002.10:125-127
[9] 高吉祥. 数字电子技术[M].电子工业出版社,2003
[10] 沈任元 ,吴勇.数字电子技术[M].北京:机械工业出版社,2005
[11] 康华光. 电子技术基础模拟部分[M].高等教育出版社,1988
[12] 卜益民. 模拟电子技术[M].北京:邮电大学出版社,2005
[13] 王港元.电工电子实践指导[M].南昌:江西科学技术出版社,2005
[14] 谢自美.电子线路设计[M].武汉:华中科技大学出版社,2000
[15] 冯璐.免疫金渗滤法定量检测研究[M].河北工业大学,2008
[16] 金毅.温度的测量史[M].教学仪器与实验,2011年27卷8期
[17] 张晔等. DS18820的液体温度测量系统设计[M]. 测试技术学报,2010年24卷6期
25
哈尔滨理工大学课程设计说明书
附录
#include
//包含头文件,一般情况不需要改动,头文件
包含特殊功能寄存器的定义
#include
unsigned char flag_get=0;
sbit DQ=P3^3;//ds18b20 端口
unsigned char TemperatureFlag=0;
/******************************************************************/
/* 函数声明 */
/******************************************************************/
unsigned int ReadTemperature(void);
void Init_DS18B20(void);
unsigned char ReadOneChar(void);
void WriteOneChar(unsigned char dat);
void delay(unsigned int i);
void ReadToData();
void putchar(unsigned char buff);
void Display();
/*------------------------------------------------
延时子程序
------------------------------------------------*/ void delay(unsigned int cnt)
{
26
哈尔滨理工大学课程设计说明书
EA=0; //总中断打开
cnt=cnt*2;
while(--cnt);
EA=1;
}
/******************************************************************/
/* 串口初始化函数 */
/******************************************************************/
void UARTinit(void)
{
SCON = 0x50; /* SCON: 模式 1, 8-bit UART,
使能接收 */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 0xFD; /* TH1: reload value for 9600 baud @ 11.0592MHz */
TR1 = 1; /* TR1: timer 1 run
*/
TI = 1;
}
/*------------------------------------------------
主函数
27
哈尔滨理工大学课程设计说明书 ------------------------------------------------*/
main()
{
P3=0XFF;
UARTinit();
InitLcd(); //初始化LCD
DelayMs(15); //延时保证信号稳定
while(1)
{
ReadToData();
Display();
}
}
/**********************************************************
********/
/* 初始化
*/
/**********************************************************
********/
void Init_DS18B20(void) {
unsigned char x=0;
DQ = 1; //DQ复位
delay(8); //稍做延时
DQ = 0; //单片机将DQ拉低
delay(80); //精确延时 大于 480us
28
哈尔滨理工大学课程设计说明书
DQ = 1; //拉高总线
delay(10);
x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
delay(5);
}
/**********************************************************
********/
/* 读一个字节
*/
/**********************************************************
********/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0; for (i=8;i>0;i--)
{
DQ = 0; // 给脉冲信号
dat>>=1;
DQ = 1; // 给脉冲信号
if(DQ)
dat|=0x80;
delay(5);
}
return(dat);
}
29
哈尔滨理工大学课程设计说明书
/******************************************************************/
/* 写一个字节 */
/******************************************************************/
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay(5);
DQ = 1;
dat>>=1;
}
delay(5);
}
/******************************************************************/
/* 读取温度 */
/******************************************************************/
unsigned int ReadTemperature(void)
30
哈尔滨理工大学课程设计说明书 {
unsigned char a=0;
unsigned int b=0;
unsigned int t=0;
Init_DS18B20();
WriteOneChar(0xCC); // 跳过读序号列号的操作 WriteOneChar(0x44); // 启动温度转换
delay(200);//用显示代替显示
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
a=ReadOneChar(); //低位
b=ReadOneChar(); //高位
b<<=8;
t=a+b;
return(t);
}
/**********************************************************
********/
/* 读取到显存
*/
/**********************************************************
********/
void ReadToData()
{
unsigned char TempH,TempL;
unsigned int temp;
31
哈尔滨理工大学课程设计说明书
static int preTemp=0,num=0;
temp=ReadTemperature();
if(temp&0x8000)//读出来温度,预处理
{
TemperatureFlag=0x40;//负号标志
temp=~temp; // 取反加1
temp +=1;
}
else
TemperatureFlag=0;
TempH=temp>>4;
TempL=temp&0x0F;
TempL=TempL*6/10;//小数近似处理
if(preTemp-5=100)
{TimeNum[0]='S';TimeNum[1]='T';TimeNum[2]='O';TimeNum[3]='P';Ti
32
哈尔滨理工大学课程设计说明书
meNum[4]=' ';TimeNum[5]='^';TimeNum[6]='_';TimeNum[7]='^';} //如果100次温度不在上升,则证明温度稳定了,显示stop ^_^
else
{TimeNum[0]='R';TimeNum[1]='e';TimeNum[2]='a';TimeNum[3]='d';TimeNum[4]='i';TimeNum[5]='n';TimeNum[6]='g';} //否则显示Reading
}
/******************************************************************/
/* 串口输出 */
/******************************************************************/
void putchar(char buff)
{
EA=0;
SBUF=buff;
while(!TI);
TI=0;
EA=1;
}
33