基于AT89C51单片机电子体温计设计

上传人:豆浆 文档编号:2310991 上传时间:2017-07-22 格式:DOC 页数:22 大小:142KB
返回 下载 相关 举报
基于AT89C51单片机电子体温计设计_第1页
第1页 / 共22页
基于AT89C51单片机电子体温计设计_第2页
第2页 / 共22页
基于AT89C51单片机电子体温计设计_第3页
第3页 / 共22页
基于AT89C51单片机电子体温计设计_第4页
第4页 / 共22页
基于AT89C51单片机电子体温计设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《基于AT89C51单片机电子体温计设计》由会员分享,可在线阅读,更多相关《基于AT89C51单片机电子体温计设计(22页珍藏版)》请在金锄头文库上搜索。

1、沈阳理工大学课程设计11系统设计的目的意义1.1 目的体温是生命活动的一种表现,是人体新陈代谢的一个重要生理参数。体温既有生理学的意义,又有重要的临床意义,是临床诊断的一个重要指标。因此体温计在现在的生活中有极为重要的作用。传统的水银体温计易破碎,存在水银污染的可能,测量时间较长,不易读数,为此设计一种新型的体温计,它的测量精度与传统的水银体温计相媲美的情况下,大大地缩短了测量时间且携带方便,对环境几乎没有污染。它以AT89C51 单片机为核心,结合温度传感器,LED 模块等外部设备,在软件的控制下,实现智能化的体温测量,不但能够精确测温,而且能够对温度进行逻辑判断,并且通过 LED 显示器将

2、测量结果显示出来。若温度高于 38 摄氏度系统就会自动报警,这就意味着所测得的温度异于人体正常温度,引起人们注意。本设计的创新点在于,不仅完成了电子体温计的要求,而且还增加了一个报警装置。当测量者的体温高于人体正常体温时,体温计就会自动报警,人性化设计,为广大客户带来方便。1.2 国内外进展情况中国电子体温计行业最早起源于 1998 年,以每年高于 30%的速度发展至今经历了十多年时间。高达数倍甚至十多倍的利润空间、较低的政策壁垒和技术壁垒吸引了众多企业进入该行业。目前国内涌现了大小 80 多家电子体温计品牌,既有“欧姆龙” 、“婴之侣” 、 “捷威”等行业领头的外资品牌,也有“华辰” 、 “

3、世佳” 、 “华安” 、 “康复”等迅速发展壮大的国内品牌。今后试图进去该行业的生产厂家将达到 50 多家。由于行业逐步规范和新一轮电子体温计产品消费热潮的兴起,2009 年以后,电子体温计产品行业进入了一个前所未有的高速发展时期,市场的快速发展孕育着巨大的商机。沈阳理工大学课程设计21.3 设计思路本系统可以使用 ISIS 画出原理图,打开 ISIS 软件,单击命令窗口 filenew design,创建一个 default 模板,保存名称为“基于 AT89C51 单片机电子体温计设计.DSN”。执行菜单命令 librarypick device/symbol,添加所需元件。本程序中可以使用

4、 DS18B20 温度传感器,上面有“+” “-”可以模拟外界温度变化。芯片选取74LS137,74LS373。在原理图编辑窗口中放置元件,再单击工具箱中的“原件终端”图标,在对象选择中单击 POWER 和 GROUND 放置电源和地。放置好元件后,布好线。左键双击各元件,设置好相应参数,完成电路设计。设计的软件部分在 Keil 中完成,具体操作步骤在后面仿真步骤中有详细介绍,在此就不一一列出。沈阳理工大学课程设计32系统分析2.1 系统总体设计本系统采用 AT89C51 单片机、DS18B20 温度采集模块和 LED 显示器共同实现。AT89C51 集合了温度传感器、放大器、A/D 转换器三

5、者的作用。其中 AT89C51 通过P1.0 和 DS18B20 进行单总线通信,启动 DS18B20 温度采集功能并取出转化后的体温数值,最后将体温值显示在外接在 P0 口与 P2 口的四位共阴 LED 上。设计思路如图2.1 所示。DS18B20 单片机 LED 显示器蜂鸣器图 2.1 设计思路示意图2.2 DS18B20基础知识DS18B20 是 Dallas 公司继 DS1820 后推出的一种改进型智能数字温度传感器,与传统热敏电阻相比,只需一根线就能直接读出被测温度,并可根据实际需求编程实现912 位数字值的读数方式。2.2.1 DS18B20的封装形式及引脚功能DS18B20 有三

6、种封装形式:(1) 采用 3 引脚 TO-92 的封装形式。(2) 采用 6 引脚 TSOC 封装形式。(3) 采用 8 引脚 SOIC 封装形式。DS18B20 芯片的引脚功能如下:(1) GND:电源地。(2) DQ:数字信号输入/输出端。(3) VDD:外接供电电源输入端。采用寄生电源方式时,该引脚接地。沈阳理工大学课程设计42.2.2 DS18B20的内部结构温度传感器 DS18B20 的内部结构如图所示,主要由 64 位 ROM、温度传感器及高速缓存器配置寄存器等部分组成,如图 2.2 所示。64 位 ROM和单线接口 高速缓存器温度传感器高温触发器 TH低温触发器 TL配置寄存器存

7、储与控制逻辑电源检测 8 位 CRC 发生器C下面对 DS18B20 的相关部分进行简单的描述。(1)64 位 ROM。64 位 ROM 是由厂家用激光刻录一个 64 位的二进制 ROM 代码,是该芯片的标志号,如图 2.3 所示。8 位循环冗余检验 48 位序列号 8 位分类编号(10H)MSB LSB MSB LSB MSB LSB8 位分类编号表示产品分类编号,DS18B20 的分类编号为 10H;48 号序列号是一个大于 281x1012 的十进数编码,作为该芯片的唯一标志代码;8 位循环冗余检验为前 56位的 CRC 循环冗余校验码( CRC=X8+X5+X4+1) 。由于每个芯片的

8、 64 位 ROM 代码不同,因此在单总线上能够并挂多个 DS18B20 进行多点温度实时检测。(2)温度传感器。温度传感器是 DS18B20 的核心部分,该功能部件可完成对温度的测量。通过软件编程可将-55+125 摄氏度范围内的温度值按 9 位、10 位、11 位、12 位的转换精度进行量化,以上的转换精度都包括一个符号位,因此对应的温度量化DQVDD图 2.2 DS18B20内部结构示意图图 2.3 64位 ROM示意图沈阳理工大学课程设计5值分别为 0.5、0.25、0.125、0.0625 摄氏度,即最高转换精度为 0.0625 摄氏度。芯片出厂时默认为 12 位的转换精度。当接收到

9、温度转换指令(44H )后,开始转换,转换完成后的温度以 16 位带符号扩展的二进制补码形式表示,存储在高速缓存器 RAM 的第0、1 字节中,二进制数的前 5 位是符号位。如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘上 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘上 0.0625 即可得到实际温度。(3)高速缓存器。高速缓存器包括一个高速暂存器 RAM 和一个非易失性可电擦除 E2PROM。非易失性可电擦除 E2PROM 用于存放高温触发器 TH、低温触发器 TL 和配置寄存器中的信息。高速暂存器 RAM 是一个连续 8

10、字节的存储器,前两个字节是测得的温度信息,第1 个字节的内容是温度的低 8 位,第 2 个字节是温度的高 8 位。第 3 个和第 4 个字节是高温触发器 TH、低温触发器 TL 的易失性复制,第 5 个字节是配置寄存器的易失性复制,以上字节的内容在每一次上电复位时被刷新。第 6、7、8 个字节用于暂时保留为1。(4)配置寄存器。配置寄存器的内容用于确定温度值的数字转换分辨率。DS18B20 工作时按此寄存器的分辨率将温度转换为相应精度的数值,它是高速缓存器的第 5 个字节,该字节定义如图 2.4 所示。TM R0 R1 1 1 1 1 1TM 是测试模块位,用于设置 DS18B20 在工作模式

11、还是在测试模式。在 DS18B20出厂时,该位被设置为 0,用户不必改动;R1 和 R0 用来设置分辨率;其余 5 位均固定为 1。DS18B20 的分辨率设置如表 2.1 所示。R1 R0 分辨率 最大转换时间(ms)0 0 9 位 93.750 1 10 位 187.51 0 11 位 3751 1 12 位 750图 2.4 高速缓存器的第 5个字节示意图表 2.1 DS18B20的分辨率设置沈阳理工大学课程设计62.2.3 DS18B20的测温原理DS18B20 主要由斜率累加器、温度系数振荡器、减法计数器、温度寄存器等部分组成。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修

12、正减法计数器的预置值。温度系数振荡器用于产生减法计数脉冲信号,其中低温度系数振荡器受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器 1;高温度系数振荡器受温度的影响较大,随温度的变化,其振荡频率明显改变,产生的信号作为减法计数器2 的输入脉冲。减法计数器对脉冲信号进行减法计数。温度寄存器暂存温度数值。在图中还隐含着计数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数,从而完成温度测量。计数门的开启时间由高温度系数振荡器决定,每次测量前,首先将-55 摄氏度多对应的基数分别置入减法计数器 1 和温度寄存器中,减法计数器 1 和温度寄存器被预置在-55 摄氏

13、度所对应的一个基数值。减法计数器 1 对低温度系数振荡器产生的脉冲信号进行减法计数,当减法计数器1 的预置值减到 0 时,温度寄存器的值将加 1。之后,减法计数器 1 的预置将重新被装入,减法计数器 1 重新开始对低温度系数振荡器产生的脉冲信号进行计数,如此循环,直到减法计数器 2 计数到 0 时,停止温度寄存器的值的累加。此时,温度寄存器中的数值即为所测温度。斜率累加器不断补偿和修正测温过程中的非线性,只要计数门未关闭就重复上述过程,直至温度寄存器的值达到被测温度值。由于 DS18B20 是单总线芯片,在系统中若有多个单总线芯片,每个芯片的信息交换则是分时完成的,均有严格的读/写时序要求。系

14、统对 DS18B20 的操作协议为:初始化 DS18B20(发复位脉冲) 发 ROM 功能命令 发存储器操作命令处理数据。2.2.4 DS18B20的 ROM命令(1)Read ROM 命令代码 33H,允许主设备读出 DS18B20 的 64 位二进制 ROM 代码。该命令只适用于总线上存在单只 DS18B20。(2)Match ROM 命令代码 55H,若主线上有多个从设备,使用该命令可以选中某一制定的 DS18B20,即可与 64 位二进制 ROM 代码完全匹配的 DS18B20 才能响应其操作。沈阳理工大学课程设计7(3)Skip ROM 命令代码 CCH,在启动所有 DS18B20

15、转换之前或系统只有一个DS18B20 时,该命令将允许主设备不提供 64 位二进制 ROM 代码就使用寄存器操作命令。(4)Search ROM 命令代码 F0H,当系统初次启动时,主设备可能不知总线上有多少个从设备或者它们的 ROM 代码,使用该命令可确定系统中的从设备个数及 ROM 代码。(5)Alarm ROM 命令代码 ECH,该命令用于鉴别和定位系统中超出程序设定的报警温度值。(6)Write Scratchpad 命令代码 4EH,允许主设备向 DS18B20 的寄存器写入两个字节的数据,其中第一个字节写入 TH 中,第二个字节写入 TL 中。可以在任何时刻发出复位命令中止数据的写

16、入。(7)Read Scratchpad 命令代码 BEH,允许主设备读取暂存器中的内容。从第一个字节开始,直到 CRC 读完第九个字节。也可以在任何时刻发出复位命令中止数据的读取操作。(8)Copy Scratchpad 命令代码 48H,将高温触发器 TH 和低温触发器 TL 中的字节复制到非易失性 E2PROM。若主机在该命令之后又发出读操作,而 DS18B20 又忙于将暂存器的内容复制到 E2PROM 时,DS18B20 就会输出一个“0” 。若复制结束,则DS18B20 输出一个“1” 。如果使用寄生电源,则主设备发出该命令后,立即发出强上拉并至少保持 10ms 以上的时间。(9)Convert T 命令代码 44H,启动一次温度转换。若主机在该命令之后又发出其他操作,而 DS18B20 又忙于温度转换,DS18B20 就会输出一个“0” 。若转换结束,则DS18B20 输出一个“1” 。如果使用寄生电源,则主设备发出该命令之后,立即发出强上拉并至少保

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号