基于单片机设计与实现的电子体温计_第1页
基于单片机设计与实现的电子体温计_第2页
基于单片机设计与实现的电子体温计_第3页
基于单片机设计与实现的电子体温计_第4页
基于单片机设计与实现的电子体温计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. . . . / 45摘 要体温是人体健康的一个很重要的指标,体温过高或过低都是身体健康异常的信号。传统的测试体温方法,一般是用水银体温计测量体温,水银体温计测量固然十分准确,但是响应时间长,而且会造成环境的严重污染。随着科技的发展,单片机已经广泛的应用到了物理实验、医疗卫生、食品生产各个领域。本文设计一种基于单片机设计和实现的电子体温计。本设计分为硬件设计和软件设计两个部分,其中硬件设计部分主要包括温度采集电路、显示电路、报警电路,软件设计部分用 KEIL 作为编程软件,使用 C 语言进行编程。本设计采用传感器 DS18B20 采集人体的温度,经过模数转换后的电信号传输到 51 单片机,最

2、后再传输到 LCD 液晶显示器显示。该电子体温计响应时间短,工作稳定,读数方便,测量精度高,当超过人体体温正常值是会发出蜂鸣警报声。并且其中不含汞,不会对环境造成污染,在家庭、医院等场合都能得到广泛应用。关关键键词词:电子体温计 51 单片机 DS18B20 LCD. . . . I / 45AbstractTemperature is one of the most important indexes of human health, it is too high or too low signal a health exception. Temperature measurement me

3、thod of traditional, is generally measured body temperature with a mercury thermometer, Mercury thermometer to measure is very accurate, but the long response time, and will cause serious pollution of the environment. With the development of science and technology, MCU has been widely applied to phy

4、sics experiments, medical and health, food production in various fields.This paper design a kind of electronic temperature meter based on 51 single chip microcomputer.The design is divided into two parts: hardware design and software design, the hardware design mainly includes temperature acquisitio

5、n circuit, display circuit, alarm circuit and keyboard control circuit, the part of software design uses KEIL as programming software , using C programming language. With sensor DS18B20 collecting temperature of human body, after it transfers to the analog to digital converter, the electrical signal

6、 will be transfer to a 51 single chip microcomputer, then transfer to the LCD liquid crystal display. The electronic thermometer with short response time, stable work, convenient reading, high measuring accuracy, when more than the normal human body temperature, it will sound a buzzer alarm. And whi

7、ch does not contain mercury, harmless to the human body and the surrounding environment, particularly suitable for families, hospitals and other occasions.Keyword:Keyword: Electronic thermometer 51 single chip microcomputer DS18B20 LCD. . . . II / 45目 录摘摘 要要 .I IABSTRACTABSTRACT .IIII目目 录录 .IIIIII引引

8、 言言 .1 11 1 设计任务与方案分析设计任务与方案分析 .2 21.1 设计任务与要求.21.2 设计总体方案与方案论证.21.3 体温测量的方案与分析.31.3.1 元件的选择.31.3.2 总体结构框图.41.3.3 测温流程图.42 2 主要元器件功能的介绍主要元器件功能的介绍 .5 52.1 单片机.52.1.1 AT89C52 芯片简介 .52.1.2 AT89C52 的引脚功能介绍 .62.1.3 AT89C52 的特殊功能 .82.1.4 AT89C52 的数据存储 .82.1.5 AT89C52 的中断 .82.1.6 AT89C52 的两种工作模式 .92.2 温度传感

9、器.102.2.1 DS18B20 简介 .102.2.2 DS18B20 的引脚说明 .102.2.3 DS18B20 的测温原理 .112.2.4 DS18B20 的外形和部结构 .112.2.5 DS18B20 的应用电路 .122.2.6 使用 DS18B20 的注意事项.132.3 LCD1602 .152.3.1 LCD1602 液晶的介绍 .152.3.2 LCD1602 液晶的引脚功能简介 .152.3.3 LCD1602 液晶的操作控制 .162.3.4 LCD1602 液晶的指令集 .17 3 3 系统硬件电路的设计系统硬件电路的设计 .20203.1 硬件总体设计思路 .

10、203.2 单片机时钟电路与复位电路的设计 .20. . . . III / 453.2.1 时钟电路设计.203.2.2 复位电路设计.213.3 温度传感器模块 .213.4 液晶显示模块 .213.5 报警电路模块 .244 4 系统软件设计系统软件设计 .25254.1 软件 KEIL和 PROTEUS的简单介绍 .254.1.1 软件 Keil 简介.254.1.2 软件 Proteus 简介.254.2 系统程序的编写 .264.2.1 系统主程序.264.2.2 温度传感器初始化.274.2.3 温度转换命令子程序.274.2.4 温度数据的计算方法.284.3 源代码 .285

11、 5 性能测试与分析性能测试与分析 2828结结 束束 语语 .3030参参 考考 文文 献献 .3131致致 .3232附附 录录 .3333. . . . 0 / 45引 言早在 16 世纪,伽利略就发明了水银体温计,但是由于各种原因,直到 300 年后才设计出使用方便、性能可靠的体温计。当水银受热膨胀时,它会沿着玻璃管上升,即使微小的温度变化也能够引起水银大幅度的上升,当水银的温度和被测皮肤温度一样时,水银停止上升,此时便可读取温度值了。测量完成后,还需有力甩体温计,使水银回到玻璃球,方能继续测量体温。在此之后,人们也陆陆续续的发明了各式各样的体温计,1714 年,加布里埃尔华伦海特研制

12、了在水的冰点和人的体温围设定刻度的水银体温计,最终因为体积过大而未被医生们所接纳,1868 年,当时体温计的体积依旧过大,测量体温大概要花 20 分钟。水银体温计测量精度高,便于携带,各方面都已经非常成熟了,人们也就没有再研发其他种类的体温计,但随着工业发展的步伐加快,环境遭到了严重的破坏,环境保护俨然迫在眉睫,促使人们开发出对环境无害的电子体温计。计算机的发展十分迅速,短短几十年就已经普与到我们生活、工作等各个领域,我们的生活因此得到了极大的便利。近些年来,微型计算机(单片机)的发展与应用更是在数码家电产品中引发了一场革命。鉴于单片机的强大功能,具有可编程性,体积小,价格低廉,人们开发出了基

13、于单片机控制的电子体温计。本文介绍一种基于 51 单片机控制的电子体温计,由温度传感器 DS18B20 负责温度的采集和模数转换,单片机将采集到的温度经过转换,最后在 LCD 上显示出温度值,当被测皮肤温度高于预定温度时,会发出蜂鸣警报声。此设计的关键是编程,从而实现温度的采集、转换、显示、上下温度报警,结构比较简单,易于实现。与传统水银体温计相比,电子体温计采集温度的能力更强,响应时间短,测量精度高,更安全,不必担心因为水银泄漏而造成的人体伤害和环境污染。. . . . 1 / 451 设计任务与方案分析1.1 设计任务与要求本设计是以 51 单片机为核心设计的电子体温计。其中数字温度传感器

14、和单片机相连,对其采集到的温度电信号进行滤波和放大,然后把温度的标准电信号经过 A/D 转换,最终得到测量的温度值并用液晶显示器显示出来。设计出的电子体温计在功能上应达到以下要求。 (1)体温计的测量围为 0C50C,显示精度为 0.1C。 (2)当温度高于 37C 或低于 32C 时,LED 亮,达到警报的目的。 (3)用液晶显示器显示出温度值。1.2 设计总体方案与方案论证 随着生活水平的不断提高,人们对体温计的要求越来越高,例如要求体温计响应时间短,测量准确。传统的测温元件一般是热电偶,是通过将采集到的电压转换相应的温度,这不仅需要很多繁琐的硬件支持,而且调试起来非常复杂,应用起来需要大

15、笔的花销。DS10B20 作为常用的温度传感器,具有精度高,抗干扰能力强,成本低廉,体积小等特点。该传感器具有独特的单线接口方式,只需要和单片机连接一条线即可实现单片机与传感器的双向通讯,并且在使用过程中不需要外接任何元件,因此它的硬件电路比较简单。其测量围是 0C50C,固有误差 1C,可以满足本次设计的要求。工作电压是 3.05.5V/DC,适用于小电源工作电路。故采用温度传感器 DS18B20 作为本次设计系统中的温度检测元件。根据设计要求,整个系统有 5 个部分构成:单片机 AT89C52,数码管显示电路,键盘控制电路,报警电路,温度传感器。方案设计的目的是为了使软件编程更为简单,测量

16、精度更高,实现起来更加容易,测温围更广。1.3 体温测量的方案与分析1.3.11.3.1 元件的选择元件的选择本次设计所采用的测温元件是温度传感器 DS18B20,DS18B20 数字温度传感. . . . 2 / 45器接线方便,因此硬件电路比较简单,成本低,在管道式,螺纹式等多种场合都比较适用,该传感器有多种型号,如 LTM8874,LTM8877 等。其封装形式多样,不同的应用场合下其外观也不同。封装后的 DS18B20 在农业大棚测温上可以得到应用,电缆沟温度测量,机房温度测量,高炉水循环温度测量,洁净室温度测量等各种非极限温度场合。使用便捷,所占空间小,适用于各种狭小空间中的数字温度

17、测量和控制领域。单片机 AT89C52 属于 51 系列单片机,它能够和计算机进行通讯,完成数据的传输,还能够独立控制多点 DS18B20 的工作,它安装起来比较方便,体积也小,硬件的实现也比较容易,最关键的是,针对 51 系列单片机的软件编程自由度很大,大多数的逻辑控制和算术算法都可以通过软件编程实现。为了使显示更加清晰,本次设计的显示电路所采用的是串口显示,这样做是为了减少使用的资源。该系统使用 LCD1602 液晶显示数码管构成显示电路,从 P3 口 TXD,RXD 串口输出段码。该系统之所以使用单片机 AT89C52 控制 DS18B20 温度传感器测量温度并使温度值在液晶显示器上显示

18、,是因为这样的系统会有很强的扩展性、能够根据实际需求设置上下限报警温度值、测量温度的响应时间短。为了使在处理数据的同时显示时间,可以在系统设计中使用时钟芯片来获取时间的数据。某些时间点的温度数据可以存储在单片机 AT89C52 中,此时单片机 AT89C52 俨然成为了一个存储元器件。键盘的作用是温度查询与调时,测得的温度数据能够通过PC 机的接口和单片机 AT89C52 进行串口通讯,使温度数据的采集与整理变得格外方便。. . . . 3 / 45 1.3.2 总体结构框图温度传感器 DS18B20 负责采集温度,采集到的温度信号传输给单片机AT89C52,单片机再将输出信号传输给数码管显示

19、电路,如果超过预定值,单片机还会发送信号给警报电路,蜂鸣器会发出警报声。按键电路(连个按键)和主控制器相连。 图 1.1 电子体温计的系统总体结构框图1.3.3 测温流程图 图 1.2 测温流程图. . . . 4 / 452 主要元器件功能的介绍2.1 单片机2.1.12.1.1 AT89C52AT89C52 芯片简介芯片简介本次设计所采用的主控制器是 AT89C52,它是由 ATMEL 公司生产的,生产过程中使用非易失性、高密度技术,使得其性能十分稳定。AT89C52 是一个 8位单片机,具有高性能、低电压的特点。片含有 256 字节的 RAM(随机存取数据存储器)和 8 KB 的可反复擦

20、写的 FLASH ROM(只读程序存储器),最多可擦写1000 次。AT89C52 兼容 MCS-51 指令系统,因此对于单片机初学者来说是一个不错的入门级学习工具。AT89C52 是 AT89C51 的增强型,AT89C52 较之AT89C51,RAM 空间更大,AT89C51 的 RAM 空间只有 AT89C52 的一半;FLASH 更大,AT89C51 部的 FLASH ROM 的容量只有 4 KB;中断源更多,AT89C52 在 AT89C51的基础上增加了一个定时器/计数器 T2。 图 2.1 单片机的引脚排列图. . . . 5 / 45该单片机体积较小,允许低电压供电,只需要两个

21、端口就能满足设计电子体温计系统的需求,因此它可以用两节电池供电。2.1.22.1.2 AT89C52AT89C52 的引脚功能介绍的引脚功能介绍(1)P0 口:P0 口也可以说是地址/数据总线复用口,它是一组漏极开路型双向 I/O 口,有 8 位。当对 P0 端口写“1”时,可作为高阻抗输入端用。在作为输出口使用时,其输出缓冲级可驱动 8 个 TTL 逻辑门电路。程序校验时,输出指令,校验时,要求外接上拉电阻。 ,而在 Flash 编程时,P0端口接收指令。(2)P1 口:P1 的每位能输出电流能驱动 4 个 TTL 逻辑门电路。它一个带部上拉电阻的双向 I/O 口,共 8 位,在作为输入口用

22、时,某个引脚被外部信号拉低时会输出一个电流,这是因为其部有上拉电阻存在。当对端口 P1 写“1”时,现在 P1 可当做输入口,这是因为部上拉电阻将端口拉到高电平。AT89C52 的 P1.0 与 P1.1 还能够分别作为定时/计数器 2 的外部计数输入和输出,因此总的来说,AT89C52 是 AT89C51 的增强型。 图 2.2 P1.0 和 P1.1 口的附加功能. . . . 6 / 45(3)P2 口:P2 的部带有上拉电阻,它的输出电流可以驱动 4 个 TTL 逻辑门电路,它是是一个 8 位双向 I/O 口。如果对 P2 口写“1”时,此时该端口可以作为输入口使用,这是因为上拉电阻将

23、 P2 口拉到高电平,与此同时,某个引脚会输出一个电流(当该引脚被外部信号拉低时) 。闪存校验或编程时,端口会接收一部分的控制和高位地址信号。在访问 8 位地址的外部 data memory 时,P2 锁存器的容会由 P2 端口输出。在访问 6 位地址的外部 data memory 或外部 program memory 时,P2 端口会输出高 8 位地址数据。(4)P3 口:P3 口的部带有上拉电阻,它的输出电流可以驱动 4 个 TTL 逻辑门电路,它是一组 8 位双向 I/O 口。相对 P3 口的一般功能,它的第二功能更为重要,它可接收一些用于程序校验与 Flash 闪速存储器的控制信号。当

24、对 P3 端口写“1”时,该端口可以作为输入口使用,这是因为上拉电阻将 P3 口拉到高电平,与此同时,它将用上拉电阻输出电流,这是由于 P3 口被外部信号拉低的缘故。(5)XTAL1:部振荡器反相放大器和时钟发生器的输入端。(6)XTAL2:振荡器反相放大器的输出端口。(7)PSEN:program memory 允许 PSEN 输出时外部 program memory 的读选通信号,当单片机由外部 program memory 取数据,每个机器周期输出两次脉冲。在这个过程中,如果访问外部 data memory 时,会跳过两次 PSEN 信号。(8)RST:复位输入端。当振荡器工作时,当 R

25、ST 的引脚产生两个机器周期以上的的高电平时,会使 AT89C52 复位。(9)EV/VPP:外部访问允许端口。只有当 EA 端接地时,才能使 CPU 只允许外部 program memory,其中地址是 0000H-FFFFH。闪存存储器编程时,EV/VPP 端口接+12V 的编程允许电源。(10)ALE/PROG:ALE 是地址锁存允许端口,PROG 是输入编程脉冲端口。 当访问外部 data memory 或 data memory 时,ALE 输出脉冲用于锁存地址的低 8 位字节。大多数情况,ALE 是以 1/6 的时钟振荡频率输出恒定的脉冲信号,所以它可用于定时目的或对外输出时钟。值

26、得注意的是:每当访问外部data memory 时会跳过一个 ALE 脉冲。在对 Flash memory 编程的期间,该端口. . . . 7 / 45还将用于 PROG(输入编程脉冲) 。2.1.32.1.3 AT89C52AT89C52 的特殊功能的特殊功能在单片机的片 data memory 中,字段位在 80H 到 FFH 之间的 128 个单元称为 SFR(特殊功能寄存器) ,在这个字段位围,只有一部分字节被定义,还有很大一部分字节没有被定义。无法对未被定义的单元进行读写操作,写入的数据将丢失,读出的数据也都不准确。这些单元的数值在复位后总是“0” 。2.1.42.1.4 AT89

27、C52AT89C52 的数据存储的数据存储单片机有 256 个字节的部随机存取存储器,SFR(特殊功能寄存器)与 80H至 FFH 间的高 128 个字节的地址是重叠的,但它们在物理上是分开的。当指令访问的部单元的地址在 7FH 以上,指令所使用的寻址方式会有不同,如果指令是以间接寻址的方式访问的,那么它将访问高 128 字节的随机存取存储器,例如下面指令是采用间接寻址的,R1 的容为 080H,则说明它访问数据的地址是080H。MOV R1,#data如果指令是以直接寻址的方式访问的,那么它将访问特殊功能寄存器,例如下面指令是采用直接寻址的,它访问的是特殊功能寄存器 080H 地址单元,而不

28、是说它访问数据的地址是 080H。MOV 080H,#data2.1.52.1.5 AT89C52AT89C52 的中断的中断AT89C52 单片机有 6 个中断源:一个串行中断,0、1、2 三个定时中断定时器,INT0、INT1 两个外部中断。每个中断源都能通过清除特殊寄存器 IE 中的相关中断允许控制位使中断源无效,通过置位使中断源有效。其中,IE 还含一个能使所有中断禁止的中断总控制位,它就是 EA。如下表所示,IE.6 是无用的。对于单片机 AT89S52 而言,IE.5 同样不可用。这些是为 AT89 系列的新型单片机预留的,用户在编程时不必给他们写 1。当定时器 0、1 的标志位

29、TF1 和 TF0 在计数溢出时,在这个周期中,S5P2被置位,电路会在下个周期捕捉它们的值。当定时器 2 的标志位 TF2 在计数溢出时,同个周期 S5P2 被置位,并且电路会在同一个周期捕捉它的值。. . . . 8 / 45寄存器 T2CON 中的 EXF2 和 TF2 的或逻辑能够触发定时器 2。上述标志位会在程序入中断服务后被硬件清零。在现实情况当中,中断服务程序一定会判断是否是 EXF2 或者 TF2 激活中断。标志位也务必被软件清零。图 2.3 中断允许控制位2.1.62.1.6 AT89C52AT89C52 的两种工作模式的两种工作模式(1)掉电工作模式:使单片机 AT89C5

30、2 进入掉电模式的指令一般都是最后被执行的一条指令,在这个模式下,特殊功能寄存器与片 Random-Access Memory(随机存取存储器)的容将被冻结,振荡器也会停止工作。只能通过硬件复位退出掉电模式,复位后的 AT89C52 芯片的 RAM 中的容不会改变,只是会将所有的特殊功能寄存器重新定义。值得注意的是,当 Vcc 还没有恢复到正常工作电压时,是无法对 AT89C52 芯片进行复位的,除此之外,还应在 Vcc 恢复到正常工作电压后保持一定时间使得振荡器重启并稳定工作方可进行复位操作。(2)空闲工作模式:在这种工作模式下,全部片的外接设备处于激活状态,CPU 则保持睡眠状态,与此同时

31、,全部的特殊功能寄存器和片 Random-Access Memory(随机存取存储器)的容将被冻结,和掉电工作模式不同的是,硬件复位或任何允许的中断请求都可以退出空闲工作模式。通过硬件复位的方式退出空闲工作模式只需要两个机械周期的有效复位信号,在此期间,允许访问端口引脚,但禁止片硬件访问部 Random-Access Memory(随机存取存储器),为了避免在退出空闲工作模式期间对端口意外写入,激活空闲工作模式的指令的后一条指令不应该是对外部存储器或端口的写入指令。. . . . 9 / 452.2 温度传感器2.2.12.2.1 DS18B20DS18B20 简介简介DS18B20 作为常用

32、的温度传感器,具有精度高,抗干扰能力强,成本低廉,体积小等特点。其测温围是-55C125C,固有误差 1C。工作电压是3.05.5V/DC,适用于小电源工作电路。 2.2.22.2.2 DS18B20DS18B20 的引脚说明的引脚说明(1)GND 地信号(2)DQ 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。(3)VDD 可选择的 VDD 引脚。当利用寄生电源工作时,此引脚务必接地。图 2.4 DS18B20 的引脚分布图. . . . 10 / 452.2.32.2.3 DS18B20DS18B20 的测温原理的测温原理温度传感器采集温度信息,单片机

33、传送温度转换指令给温度传感器,DS18B20 会启动转换,经过转换后的温度值就以带符号的 16 位二进制补码形式存储在高速暂存存储器的第 1,2 字节中。通过数据线,AT89C52 可读到该数据,读取的方式是高位在后,低位在前,格式是 0.0625C/LSB。将转化后所得的16 位数据,存储在温度传感器的两个 8 bit 的随机存取存储器中,其中前 5 位表示符号位,当测得的温度低于 0C,这 5 位数值置 1,将通过测量得到的数值取反后加 1,并乘 0.0625,就能够得到实际温度值。当测得的温度高于0C,这 5 位数值都为 0,只需将测得到数据乘以 0.0625,便可得到实际的温度值。例如

34、+25.0625C 的输出数字是 07D0H。 图 2.5 9 比特格式2.2.42.2.4 DS18B20DS18B20 的外形和部结构的外形和部结构DS18B20 温度传感器的部构造主要由四部分组成:配置寄存器、温度传感器、非挥发的温度报警触发器 TL 和 TH、64 位光刻只读存储器。图 2.6 温度传感器的管脚排列图. . . . 11 / 45 图 2.7 温度传感器的部结构图 图 2.8 温度传感器的测温原理图2.2.52.2.5 DS18B20DS18B20 的应用电路的应用电路温度传感器的测温系统有很多优点,比如接线口较少、方便连接、测量的精度高、测温系统简单。DS18B20

35、有几种不同的应用方式(外部电源供电方式、寄生电源强上拉供电方式、寄生电源供电方式) ,其对应的测温电路图也不同,因为它的外部单元供电方式是温度传感器最佳的工作方式,电路简单,抗干扰能力强,而且工作稳定,可以开放出可靠稳定的多点温度监控系统,所有下面介绍它的外部电源供电方式。在外部电源供电方式下,引脚 VDD 接入温度传感器的工作电源,此时电源电流足够可以保证精度的转换,因此 I/O 线没有必要强上拉,理论上来讲,总. . . . 12 / 45线上还可以接多个温度传感器 DS18B20,组成多点温度测量系统。当利用外接电源进行供电时,可以将温度传感器 DS18B20 的款电源电压围的优点发挥得

36、淋漓精致,即便电源电压降到 3V,依旧可以保证测量温度的精度。图 2.9 温度传感器的外部电源供电方式图 2.9.1 温度传感器的多点测温电路原理图2.2.62.2.6 使用使用 DS18B20DS18B20 的注意事项的注意事项DS18B20 的测温系统简单、方便连接、接线口少、测量精度高,但在实际应用的过程中还是应该注意以下几点问题:. . . . 13 / 45(1)温度传感器 DS18B20 具有独特的单线接口方式,只需要和单片机连接一条线即可实现单片机与传感器间的双向通讯,并且在使用过程中不需要外接任何元件,因此它的硬件电路比较简单。DS18B20 扁平的一面,接线方式变为右正左负,

37、如果接反就会有发热现象,严重的有可能烧毁。如果传感器总是显示 85C,可以首先判断是否接反,如果不是因为接反的缘故,那么可以检查DS18B20 的引脚 GND 是否悬空,悬空,则无法转换温度。(2)在使用 C 语言等高级语言对 DS18B20 的操作部分进行编程时,最好采用汇编语言。由于 DS18B20 的硬件部分较为简单,因此要想实现完善的功能,就需要复杂的软件编程对它进行补偿,并且 AT89C52 与 DS18B20 之间是通过串行数据进行出生的,只有在对温度传感器进行读写编程时严格的保证其读写时序,才能读取测温的结果。(3)温度测量电缆线建议使用屏蔽 4 芯双绞线,其中一对则接信号线和G

38、ND,另一组接 GND 和 VCC,屏蔽层在远端单点接地,因为在测温过程中,当AT89C51 向 DS18B20 发送温度转换指令后,总要等待 DS18B20 返回信号后程序才会继续执行,如果某个温度传感器断线或者接触不良,该温度传感器在接收到单片机的温度转换指令后就不会发送回返回信号,如此一来,程序会进入死循环。采用上述接线的方法,可以最大程度上避免此类问题的发生。(4)在设计使用温度传感器进行长距离测温时,需要考虑阻抗匹配和分布电容的问题,由于总线分布是信号波发生畸变,当使用超过 50 米的普通电缆线进行传送时,测温数据的读取会发送错误。当使用双绞线带屏蔽电缆时,其通讯距离一般为 150

39、米,当使用的双绞线带屏蔽电缆的每米绞合次数增多时,其通讯距离也会加长。(5)在介绍 DS18B20 的外部电源供电方式时,提到过其总线上还可以接多个 DS18B20 传感器,组成多点测温系统,可是并未说明总线上所挂的温度传感器的数量是否有限制,容易使人误解,其实当总线上所挂温度传感器的数量超过 8 个时,AT89C52 的总线驱动就会产生问题,所以在利用 DS18B20 组成多点测温系统时需要注意这个问题。. . . . 14 / 452.3 LCD16022.3.12.3.1 LCD1602LCD1602 液晶的介绍液晶的介绍LCD1602 属于工业字符型液晶,最多能够显示 16 列 2 行

40、的字符(32 个字符) 。LCD1602 是点阵型液晶显示器,它一般专门用来显示符号、数字、字母。其中每个点阵字符位都能够显示一个字符,每个字符之间会有一个点距的间隔,行间也有间隔,因此它显示图像的效果不太好。图 2.9.2 LCD1602 显示屏2.3.22.3.2 LCD1602LCD1602 液晶的引脚功能简介液晶的引脚功能简介图 2.9.3 LCD1602 引脚图(1)Vss:电源地。(2)Vcc:接 5V 电源的正极。(3)V0:对比度调制端。当对比度过高时,可以使用一个 10K 的电位器进行调整。(4)RS:寄存器选择端。低电平时选择 Instruction Register(指令

41、寄存器) ,高电平时选择 Data Register(数据寄存器) 。(5)RW:读写信号线。低电平时进行写操作(write) ,高电平时进行读操作(read) 。. . . . 15 / 45(6)E:使能端。负跳变时执行指令,高电平时读取信息。(7)DB0DB7:8 位双向数据端。(8)BLA:背光电源或空脚。(9)BLK:背光负极。2.3.32.3.3 LCD1602LCD1602 液晶的操作控制液晶的操作控制LCD1602 液晶部的 CGROM(字符发生存储器)存储有 160 个不同的点阵字符图形,比如,常用符号、英文字母、阿拉伯数字、日文等,每一个字符都对应一个符号,例如英文字母“A

42、”的代码是 01000010B(42H),显示时液晶显示模块只需把地址 42H 中的点阵字符图形显示处理,就能在显示屏上看到“A”的字样了。因为 PC 中的字符代码和字符发生存储器存储的字符代码基本上是一致的,因此在向显示数据随机存储器写程序时可以直接用 P2=A,就可以完成对 P2 的赋值,当 PC 编译时,会先将A转换成代码 41H。0 xA00 xFF 是希腊文字符与日文字符,0 x200 x7F 是标准的 ASCII 码,其余字符码(0 x800 x9F 和 0 x100 x1F)则没有定义。下表是液晶显示器 LCD1602 的 16 进制 ASCII 码表地址:读数方法为,先读左边那

43、列,再读上面那行,例如:字母 A 的 ASCII 为 0 x41,符号#的 ASCII 为0 x23(0 x 表示十六进制) 。. . . . 16 / 45图 2.9.4 字符发生存储器中字符字模和字符码关系对照表 2.3.42.3.4 LCD1602LCD1602 液晶的指令集液晶的指令集LCD1602 液晶显示器的指令集见附录部分。. . . . 17 / 45 3 系统硬件电路的设计3.1 硬件总体设计思路本文旨在研究设计一款电路简单,低成本,低功耗,体积小的电子体温计,使得其可以应用于家庭与医疗部门等场合。为了能够准确测量体温,并且精度达到 0.0625C ,显示的温度值保留小数点后

44、一位,本设计选择了合适的元器件。本设计的硬件总体设计思路是用 DS18B20 测温,利用它采集测量的温度信号,单片机对采集的信号进行处理,将电信号转化为温度值。用液晶显示器(LCD)显示出温度值。如果温度值超过设定值,蜂鸣器会进行报警,按一下按键,使体温值不受外界变化的影响而保持稳定不变,方便人们读取温度值。图 3.1 电子体温计电路设计原理图. . . . 18 / 453.2 单片机时钟电路与复位电路的设计3.2.13.2.1 时钟电路设计时钟电路设计一般而言,单片机对振荡晶体的频率的要 1.224MHz,通常为11.0529MHz。时钟电路设计图如下,其中电容 C1,C2 的大小能够影响

45、振荡晶体输出频率的大小、稳定,它的取值围是 20100pF,一般值是 30 pF。图 3.2 时钟电路设计图3.2.23.2.2 复位电路设计复位电路设计计算机每次启动允许时,系统中的某些部件与 CPU 都要有一个确切的初值,这个初值也可以说是单片机的复位状态。RST 是高电平有效,当给电容 C3 瞬间充电时,引脚 RST 会产生正脉冲,RST 引脚上持续接大约 10ms(大约 2 个机械周期)以上的高电平,单片机就可以复位。如果想在单片机工作以后进行复位,只要按下开关按钮,就可完成。当晶体振荡器的频率是 12MHZ 是,RC 的一般值是 C3=10uF,R2=8.2K。图 3.3 复位电路设

46、计图. . . . 19 / 45 3.3 温度传感器模块温度传感器是以单总线方式工作的,并且只有 3 个端口,所以 DS18B20 的硬件连接方式十分简单,温度传感器和单片机 AT89C52 之间只需要一根 I/O 线即可完成连接。其电路连接图请参考图 3.1。3.4 液晶显示模块在本文的上一部分,介绍了 LCD1602 的引脚功能,让我们对该液晶显示器有了大概的了解,下面,将通过介绍 LCD1602 的 11 条控制指令,加深我们对于它的了解。图 3.4 LCD1602 的控制指令. . . . 20 / 45指令功能说明:指令 1:显示清零,光标复位到 00H 位置。指令 2:返回光标,

47、光标复位到 00H 位置。指令 3:置输入模式,其中 I/D 表示光标的移动方向,低电平向左移,高电平向右移,S 则表示判断所有的文字是否右移或左移,低电平表示是,高电平表示否。指令 4:开关控制显示,其中 D 代表整体显示开关的控制,低电平则关,高电平则开。C 代表光标开关的控制,低电平说明无光标,高电平说明有光标。B 代表光标是否闪烁的控制,低电平不闪烁,高电平闪烁。指令 5:字符或光标移动。S/C 代表低电平移动光标,高电平移动字符。R/L,低电平向右移,高电平向左移。指令 6:预置功能。其中 DL 表示低电平时是 4 位总线,高电平时是 8 位总线。N 表示低电平时显示单行字符,高电平

48、时显示双行字符。F 代表高电平时显示的点阵字符为 510,低电平是显示的点阵字符为 57。指令 7:字符发送存储器地址。地址格式:字符地址8+字符行数。指令 8:数据存储器地址。第一行地址:80H8FH,第二行的地址:C0HCFH。指令 9:读忙标志或地址。BF 表示忙标志位,低电平代表空闲,高电平代表忙,这个时候模块不能接收数据或命令。指令 10:写数据到 CGRAM。指令 11:从 CGRAM 中读数据。如下图所示,温度传感器采用的是寄生电源供电方式,此时 GND 接地,VCC接电源。可以一个 MOSFET 管实现对总线的上拉,这样做可以确保在有效的温度传感器时钟周期给 DS18B20 提

49、供充足的电流,因为单片机和温度传感器之间只有一条线相连,所以发送端口一定是三态的。当温度传感器处在温度 A/D 转换操作与写存储器是,总线上一定要有较强的上拉,上拉开启的最长时间是 10us。. . . . 21 / 453.5 报警电路模块报警电路是利用发光二极管来实现的。当温度值超过预定值时,发光二极管会发光报警。图 3.5 报警电路连接图. . . . 22 / 454 系统软件设计4.1 软件 Keil 和 Proteus 的简单介绍4.1.14.1.1 软件软件 KeilKeil 简介简介Keil C51 一款兼容 51 单片机 C 语言的软件开放系统,它是由美国公司Keil Sof

50、tware 研发的。Keil 为使用者提供了包含库管理、连接器、宏汇编、功能强大的仿真调试器、C 编译器等在的较为完善的开发方案,并通过一个uVision(集成开发环境)将这些部分整合在一起。C 语言较之汇编语言在可维护性、功能、可读性、结构性方面有很大的优势,因此使用起来更加容易,并且器生成目标程序的效率很高,也容易理解,尤其在大型软件的开放时更能体现出他的优势。在 window xp、window 7、window 2000、NT 等操作系统在都可以正常允许软件 Keil。无论你选择汇编语言还是 C 语言,该软件都可以为你提供极大的便利。4.1.24.1.2 软件软件 ProteusPro

51、teus 简介简介软件 Proteus 是英国公司 Lab Center Electronics 开发的一款 EDA 工具软件。除了最基本的仿真功能以外,它还可以仿真单片机与其外围元器件。Proteus 因此在单片机开放应用方面有着举足轻重的作用。它实现了从概念到产品的整个的设计,其中包括原理图(PCB 版图)布线、将程序烧到单片机、外围电路的协同仿真,一键切换至 PCB 版图设计。下面介绍一下 Proteus 的设置:F2:栅格是 0.5 毫米,显示栅格是 0.5 毫米,在进行 PCB 版图设计时用处很大;F3:栅格是 1 毫米,显示栅格是 1 毫米,在进行 PCB 版图设计时用处很大;F4

52、:栅格是 2.5 毫米,显示栅格是 2.5 毫米,在进行 PCB 版图设计时用处很大;F5:重定位中心;F6:以鼠标为中心进行放大;. . . . 23 / 45F7:以鼠标为中心进行缩小;F8:当前工作区全部显示;Ctrl+F1:栅格宽度是 0.1mm 毫米,显示栅格是 0.1 毫米,在进行 PCB 版图设计时用处很大;Ctrl+s:磁吸的开关,磁吸是用于对准一些点的,如引脚等;Ctrl+画线:能够划曲线;R:刷新;u:撤销键;m:显示单位切换,在右下角会有显示;x:定位坐标的打开或关闭,会显示一个大十字射线;o:重置原点,将鼠标指向的点重置为原点;+ -:旋转;Ctrl+pgup:最顶层;

53、Ctrl+Pgdn:最底层;Pgup:改变图层;Pgdn:改变图层。4.2 系统程序的编写4.2.14.2.1 系统主程序系统主程序系统主程序的功能是读出和处理 DS18B20 测量出的温度值,并实现温度值在液晶上的显示。电子体温计的功能的实现主要是由软件配合硬件电路来完成的。根据软件的作用,可以分成两类:主程序(监控软件)和子程序(执行软件) 。其中主程序主要负责协调操作者和各个执行模块间的关系,它是整个控制系统的核心,子程序则是负责完成各种实际的功能,比如通信、计算、测量、显示等。首先需要根据电子体温计的整体功能选择合适的监控代码结构,然后根据其实时性的特点,将各个执行模块与监控软件之间的

54、调度关系安排得更加合理。. . . . 24 / 45图 4.1 系统主程序流程图4.2.24.2.2 温度传感器初始化温度传感器初始化图 4.2 温度传感器初始化流程图4.2.34.2.3 温度转换命令子程序温度转换命令子程序在温度转换命令子程序中,主要是发送使得温度开始转换的指令,当采用的分辨率是 12 位时,转换时间大概为 750 毫秒。在本次设计中,采用 1 秒显示程序延时法等待温度转换的完成。. . . . 25 / 45图 4.3 温度转换命令子程序流程图4.2.44.2.4 温度数据的计算方法温度数据的计算方法只要将从温度传感器上读出的二进制数值转换成十进制数值,才能够将其作为字

55、符显示在液晶显示器上。温度传感器的转换精度是 912 位,本次设计采用 12 位,以便提高转换精度。由于采用 12 位的转换精度,故须将寄存器中的二进制数值乘 0.0625,才能得到实际温度值(十进制) 。下表是十进制与二进制的近似对应关系,二进制围为 0F,转换成十进制小数就是 0.0625 的倍数(015 倍) 。图 4.4 十进制与二进制的近似对应关系4.3 源代码完整源代码见附录部分。5 性能测试与分析 将各个部分的硬件电路连接完成后进行调试检查,然后运用软件 Keil 和Proteus 进行仿真实验。常温下的仿真效果图如下所示。. . . . 26 / 45图 5.1 常温仿真效果图

56、当温度低于预设值时,LED 灯亮,达到报警的目的。其仿真图如下所示。图 5.2 低温报警电路仿真图当温度高于预设值时,LED 灯亮,达到报警的目的。其仿真图如下所示。. . . . 27 / 45图 5.3 高温报警电路仿真图结 束 语在本次设计中,我们详细的研究了基于单片机实现的电子体温计的工作原理,通过调试,其性能要求到达到了开题报告的要求,并最终完成电子体温计的设计任务。通过本次论文设计,概括了以下几点结论:1.根据目前的温度测量系统的特点,设计出了一套适用于温度传感器DS18B20 的温度测量网络的方案,该方案最显著的特点就是系统的经济实用性、快速化和数字化。2.软件程序的编写采用结构

57、化、模块化的设计风格,更加易于维护与修改。3.采用单片机 AT89C52 为总线命令,基本结构为单总线,实现与温度传感器的连接。因为是初次设计,并且时间也较为紧迫,这次的设计还有很多的不足之处:1.如果有需要的话,可以在该系统中添加控制电路,并在其中进行 PID 算法,可以达到提高精度的目的。2.进一步完善电子体温计系统的可靠性。比如当温度传感器 DS18B20 无常工作时,虽然更换掉传感器十分简单,但是这将涉与到应用程序的修改与该传感器的序列号的修改,这些都是需要完善的。3.完善系统的应用软件。比如在温度采集时,可以试着用只用一次命令就是全部单总线上的温度传感器进行温度采集并转换,这样可以减

58、少系统运行所需要的时间。这次的论文就电子体温计在温度测量系统上做了大概的研究和探讨。并达到了电子体温计设计最初的要求,为今后实现网络化和数字化的温度测量系统提供了一种参考。. . . . 28 / 45参 考 文 献1 鞠建平.单片机应用技术教程M.:华中科技大学,2012(9).2 康光华.电子技术基础数字部分M.:高等教育,2006(1),5.3 后金.数字信号处理M.:高等教育,2008(11),2.4 邱关源.电路M.:高等教育,2006(5),5.5 吴大正.信号与线性系统分析M.:高等教育,2005(8),4.6 谭浩强.C 语言程序设计M.:清华大学,2010(10),8.7 耿

59、.数据结构用 C 语言描述M.:高等教育,2012(7),2.2014-2-14 wenku.baidu./view/596c9bce89eb172ded63b755.html. 2014-2-17 wenku.baidu./view/f819ef82b9d528ea81c7795d.html.2014-2-21 wenku.baidu./view/76c25e2158fb770bf78a5597.html.2014-3-15 wenku.baidu./view/7ace14140b4e767f5acfce83.html. 2014-3-29 wenku.baidu./view/7cb3624

60、dcf84b9d528ea7ab7.html. . . . . 29 / 45致 经过几个月的学习和实践,基于单片机设计与实现的电子体温计论文基本完成,由于是第一次做这种较为复杂的设计,再加上经验不足,时间有限,难免有很多问题考虑得不周到,如果没有玲远老师的指导,同学们的支持,很难想像这次的毕业论文会按时完成。在这期间,周围的老师和同学给了我很大的帮助,在此,我要表达对他们诚挚的感。在这里,首先得感我的指导老师,她同时也是给我们上了一年课的老师,为我们在模拟电子技术方面打下了坚实的基础。在本次毕业论文的写作过程中,从选题到收集资料,可行性方案的确定,论文提纲的拟定与修改,写作,中期检查,后期修

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论