毕业设计(论文)基于单片机的电子体温计电路设计_第1页
毕业设计(论文)基于单片机的电子体温计电路设计_第2页
毕业设计(论文)基于单片机的电子体温计电路设计_第3页
毕业设计(论文)基于单片机的电子体温计电路设计_第4页
毕业设计(论文)基于单片机的电子体温计电路设计_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机的电子体温计电路设计基于单片机的电子体温计电路设计 摘摘 要要 温度作为一个重要的物理量,是工业生产过程中最普遍、最常用的测量及被控参 数之一。随着社会的发展、科学技术的不断更新,温度的测量范围要求不断扩大,同 时温度的测量准确性要求不断提高。它直接影响燃烧、化学反应、发酵、烘烤、蒸馏、 浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误就可能引起生 产安全、产品质量、产品产量等一系列问题。因此对温度测量的意义就越来越大。 电子体温计电路采用 at89s52 作为核心器件实现对系统的自动控制。外界温度经 ds18b20 集成温度传感器采集,温度变化最终转换为可被单片机识别

2、的数字信号,单 片机将采集到的温度值在 led 数码管上显示出来。当采集到的温度不在-55c125 c 时,启动报警装置,提醒相关工作人员采取措施。当采集到的温度在 35c40c 时,启动语音播报功能,提醒温度正常,温度偏高,温度偏低等。 传统所使用的温度计通常都是精度为 1c 和 0.1c 的水银、煤油或酒精温度计。 这些温度计的刻度间隔通常都紧密,不容易准确分辨,读数困难,而且他们的热容量 还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。电子 体温计与传统的温度计相比,具有读数方便,测温范围广,测温速度快、测温准确、 携带方便等优点。 关键词:关键词:单片机;电子体温

3、计;温度传感器;报警;语音播报 the design of the electronic thermometer based on microcontroller abstract temperature as an important physics, is the most common industrial production process, the most commonly used one of measuring and controlled parameter. with the development of society, the science and technol

4、ogy unceasing renewal, temperature measurement range requirements, at the same time expanding temperature measurement accuracy requirement enhances unceasingly. it directly affects combustion, chemical reaction, fermentation, roasted, distillation, concentration, extrusion, crystallization and air f

5、low etc physical and chemical processes. temperature control error could cause a production safety, product quality, product yield and so on. so the significance of temperature measurement is more and more big. electronic thermometers circuit uses at89s52 devices as the core device implements to the

6、 system automatic control. the temperature outside temperature sensors to collect by ds18b20 integration, the temperature change finally converted to can be microcontroller identification digital signal, microcontroller will to collect in led digital tube temperature displayed. when the collected c

7、temperature is not - 55 125 c - start alarm device, remind relevant working personnel take measures. when the collected in 35 c temperature of 40 c - start speech function, remind temperature normal higher temperature, temperature, low, etc. traditional use thermometer is usually accuracy 0.1 c and

8、1 c of mercury, kerosene or alcohol thermometer. the thermometer calibration interval are usually close, not easy accurate resolution, reading difficulties, and their heat capacity is bigger, the time needed to reach thermal equilibrium is long, so it is difficult to read accurate, and use very inco

9、nvenient. electronic thermometers and compared with traditional thermometer readings, convenient, measuring temperature range, temperature measuring speed, temperature measurement accurate, easy to carry, etc. keywords: microcontroller; electronic thermometers; temperature sensors; alarm; speech bro

10、adcast 目录目录 引引 言言1 第第 1 章章 绪论绪论 .2 第第 2 章章 硬件部分的设计硬件部分的设计 .4 2.1 at89s52 单片机及其晶振电路 .4 2.2 看门狗复位电路 .7 2.3 温度信号采集模块 .10 2.4 键盘与显示电路 .13 2.5 语音提示电路.16 2.6 报警电路 .17 2.7 输出驱动接口电路 .18 第第 3 章章 软件程序设计软件程序设计 19 3.2 定时器中断服务程序流程图设计.19 3.3 ds18b20 子程序流程图 .21 3.4 看门狗程序流程图的设计 .24 结论与展望结论与展望. 26 致致 谢谢. 27 参考文献参考文献

11、. 28 附录附录 a 总体电路图总体电路图 29 附录附录 b 外文文献及译文外文文献及译文 30 附录附录 c 参考文献题录及摘要参考文献题录及摘要 34 附录附录 d 源程序源程序.36 插图清单插图清单 图 2-1 总体电路框图.3 图 2-2 at89s52 的引脚图. .4 图 2-3 内部振荡电路连接图.6 图 2-4 外部振荡电路连接图. .6 图 2-5 x5045 的引脚图. .7 图 2-6 x5045 与 at89s52 单片机连接电路图.9 图 2-7 ds18b20 引脚图. .10 图 2-8 写“0”和写“1”时隙. .12 图 2-9 读0读和1时隙. .12

12、 图 2-10 温度传感器 ds18b20 与单片机的连接.13 图 2-11 74ls164 引脚图. .14 图 2-12 显示电路的连接.15 图 2-13 按键对单片机的接口电路图.15 图 2-14 语音模块与单片机的接口电路.17 图 2-15 报警电路图.17 图 2-16 驱动电路与单片机的连接.18 图 3-1 主流程图.19 图 3-2 键盘扫描流程图.20 图 3-3 中断程序流程图.21 图 3-4 ds18b20 的读程序流程图. .22 图 3-5 ds18b20 的写程序流程图.23 图 3-6 温度采集程序流程图.23 图 3-7 x5045 读写程序流程图.

13、.25 表格清单表格清单 表 2-1 p1 口引脚的第二功能.5 表 2-2 p3 口引脚的第二功能.5 表 2-3 引脚功能描述.7 表 2-4 x5045 状态寄存器各位定义.8 表 2-5 wd1、wd0 组合定义.8 表 2-6 bl1、bl0 组合定义.8 表 2-7 x5045 内部指令.9 表 2-8 温度和数字量的关系.10 表 2-9 ds18b20 内部存储器. .11 表 2-10 温度存储格式与配置寄存器控制字格式.11 表 2-11 存储器中逻辑地址定义.11 表 2-12 74ls164 的真值表. .12 引引 言言 在现代化的工业生产中,温度是常用的测量及被控参

14、数。温度测量在物理实验、 医疗卫生、食品生产等领域,尤其在热学实验中,有特别重要的意义。随着时代的进 步和发展,单片机技术已经普及到我们生活、工作、科研各个领域,已经成为一种有 力的工具。传统所使用的温度计通常都是精度为1c和0.1c的水银、煤油或酒精温度 计。这些温度计的刻度间隔通常都紧密,不容易准确分辨,读数困难,而且他们的热 容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。 电子体温计与传统的温度计相比,具有读数方便,测温范围广,测温速度快、测温准 确、携带方便等优点,其输出温度采用数字显示,主要用于对温度比较准确的场所, 或科研实验室使用。本文将介绍一种基于单

15、片机控制的电子温度计,它克服了传统的 水银温度计测温速度慢、环境污染严重、携带不方便等缺点。具有体积小、可靠性高、 抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。 该设计是以单片机为核心,配合温度传感器,以及相关的电路组成。可以接收所 测环境和人体的温度信号,检测人员可以通过仪器的数码显示数据,实时监控环境的 温度情况。所有的测量操作都可以通过主机控制软件来实现。由温度传感器得到的测 量信号,经电路转换为电信号,然后通过一定的放大,再通过 a/d 转换送到单片机进 行数据处理,经软件分析处理后送显示装置,cpu 根据检测到的温度结果,判断温度, 是否在界定的范围内,由此启动

16、系统的报警,并进行自动调节,直到温度达到标准范 围之内为止。 第第 1 1 章章 绪论绪论 温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电 偶温度计、半导体集成数字温度计等。在电子式温度计中,传感器是它的重要组成部 分,传感器的精度、灵敏度基本决定了温度计的精度、测量范围、控制范围和用途等。 温度传感器应用极其广泛,目前已经研制出多种新型温度传感器,从而构成性能优良 的温度监控系统13 。 由于水银体温计使用方便、精度高,因而应用很广。再加上测温方法及其结构都 已成熟,没多大改进余地,人们对它的研究失去了信心,至今几乎没有什么进展。由 于用水银体温计进行体温监测很不方便

17、,水银的污染可能也很严重等,为了正确测量 人体局部温度,促使人们开发了各种不同的测温仪器和测温方法。虽然水银体温计仍 不愧是一个精度高、便宜、使用方便的测温仪器,现在已有许多医院采用了电子体温 计,用其它电子仪器测量体温也日益普及。这一事实至少表明,电子测温仪器的性能 已接近水银温度计的性能。它在稳定性及响应时间上比传统的水银体温计有着显著的 优势,精度要求也能和传统的水银体温计相媲美。 在本设计中单片机是系统的控制核心,所以单片机的性能关系到整个系统的好坏。 因此单片机的选择,对所设计系统的实现以及功能的扩展有着很大的影响。单片机种 类很多,在众多51系列单片机中,较为常用的是atmel公司

18、at89c51和at89s52单片机, at89c51片内4krom是flash工艺的,使用专用的编程器自己就可以随时对单片机进行 电擦除和改写,片内有128字节的ram。而at89s52含有在系统可编程的flash存储器, 片内有8k闪存,ram的容量也较at89c51大,为256字节。显然这种单片机优点更多, 开发时间也大为缩短。因此,在本次设计中选用了atmel公司的at89s52单片机2。 在本设计中,温度信号的采集为模拟信号,而单片机接收的为数字信号,因此需 要进行 a/d 转换,在需要进行多路 a/d 转换时,目前常采用多通道 a/d 转换器,如 adc0809、ad574 等。这

19、些转换器多为 8 通道,电路较为复杂。智能温度传感器 ds18b20,它是将温度传感器、a/d 转换器、寄存器集成在一块芯片中,所以在温度 的采集中就不需要另外添加 a/d 转换器了7。 报警电路很简单,当显示的温度超过设定的温度值时,单片机就会从 int1 引脚发 出一连串脉冲,驱动蜂鸣器发出报警声。 在本设计中,键盘接口电路较为简单,而显示部分有两种方案供选择:一种为 lcd,一种为 led。lcd 液晶显示的像素单元是整合在同一块液晶版当中分隔出来的 小方格。通过数码控制这些极小的方格进行显像。显示非常细腻但是造价很高。而 led 数码显示中每一个像素单元就是一个发光二极管,如果是单色,

20、一般是红色发光 二极管。如果是彩色,一般是三个三原色小二极管组成的一个大二极管。这些二极管 组成的矩阵由数码控制实时显示文字或图象,造价相对低廉,显示效果也较好。 由于单片机工作现场存在着各种干扰,为保证系统的可靠工作,本设计选择了常 用的看门狗芯片 x5045,以实现对单片机的复位,监控等功能6 。程序的设计也考虑 了抗干扰措施。 在设计初期找了很多温度传感器,在智能化的温度传感器中,大多是同步串行总 线技术,如 i(philips) 、smbus(intel)、spi(motorola)、microwire/plus(nsc)等串行总 线协议,而 ds18b20 采用的是 1-wire 总

21、线协议。1-wire 是 dallas 公司的一项专 有技术,它采用一根信号线实现信号的双向传输,具有接口简单、节省 i/o 口线、便 于扩展和维护等优点。为此最终确定使用美国达拉斯(dallas)半导体公司推出的智能 温度传感器 ds18b20,它是将温度传感器、a/d 转换器、寄存器、极口电路集成在一块 芯片中,可实现直接数字化输出和测试。 语音提示模块采用 isd2560 语音录放集成电路14。这是一种永久记忆型语音录放 电路,其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、 自动增益控制、逻辑控制、模拟收发器、译码器和 480k 字节的 eeprom,应用更方 便

22、。也可以通过 a/d 转换器、单片机、存储器、d/a 转换器实现声音信号的采样、处 理、存储,首先要将声音信号放大,通过 a/d 转换器采样将语音模拟信号转换成数字 信号,并由单片机处理后放到存储器中,实现录音操作。在录放的过程中由单片机控 制 d/a 转换器,将存储器中的数据转换成声音信号,此方案复杂,集成度低,我选择 isd2560 来实现。 系统主要由以上元器件组成,通过硬件电路和软件程序的设计,实现系统的基本 功能。以下就分别对系统的硬件以及软件方面做一详细介绍。 第第 2 2 章章 硬件部分的设计硬件部分的设计 对于硬件部分的设计,本着简单可靠的思想。本次设计的对象是针对一个应用系

23、统,是对环境温度或是人体温度的检测,其系统构图如图 2-1 所示。系统中主要用到: at89s52 单片机与晶振时钟电路;看门狗复位电路;温度传感器 ds18b20;键盘输入; led 显示与报警电路;语音提示模块等。总体电路框图如下: 单 片 机 晶振电路 测温电路 复位电路 显示电路 键盘报警电路 输出驱动电路 语音提示电路 图 2-1 总体电路框图 2.1 at89s52 单片机及其晶振电路 2.1.1 功能特性描述 at89s52 是一种低功耗、高性能 cmos 八位微控制器,具有 8k 在系统可编程 flash 存储器,使用 atmel 公司高密度非易失性存储器技术制造,与工业 80

24、c51 产 品指令和引脚完全兼容。片上 flash 允许 rom 在系统可编程,亦适于常规编程器。在单 芯片上,拥有灵巧的 8 位 cpu 和在系统可编程 flash,使其为众多嵌入式控制应用系 统提供灵活的解决方案。 其主要特性为: 与 mcs-51 单片机产品兼容; 8k 字节在系统可编程 flash 存储器; 1000 次擦写周期; 全静态操作:0hz33hz; 三级加密程序存储器; 32 个可编程 i/o 口线; 三个 16 位定时器/计数器; 八个中断源; 全双工 uart 串行通道; 低功耗空闲和掉电模式; 掉电后中断可唤醒; 看门狗定时器; 双数据指针; 掉电标识符。 at89s

25、52 芯片的引脚见图 2-2 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst 9 3.0/rxd 10 3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.5/t1 15 p3.6/wr 16 p3.7/rd 17 xtal1 18 xtal2 19 vss 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 psen 29 ale 30 ea 31 p0.7 32 p0.6 33 p0.5

26、34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 vcc 40 图 2-2 at89s52 的引脚图 vcc:电源 vss:地 p0 口:8 位漏极开路的双向 i/o 口。作为输出口,每位能驱动 8 个 ttl 逻辑电平。 对 p0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0 口 也被作为低 8 位地址/数据复用。在这种模式下,p0 具有内部上拉电阻。 在 flash 编程时,p0 口也用来接收指令字节;在程序校验时,输出指令字节。程 序校验时,需要外部上拉电阻。 p1 口:具有内部上拉电阻的 8 位双向 i/o 口,p1 输出缓

27、冲器能驱动 4 个 ttl 逻辑 电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。此外, p1.0 和 p1.2 分别作定时器/计数器 2 的外部计数输入(p1.0/t2)和定时器/计数器 2 的 触发输入(p1.1/t2ex) ,具体如表 2-1 所示。在 flash 编程和校验时,p1 口接收低 8 位地址字节。 p2 口:具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动 4 个 ttl 逻辑 电平。对 p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输

28、入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。在访问 外部程序存储器或用 16 位地址读取外部数据存储器时,p2 口送出高八位地址。在这种 应用中,p2 口使用很强的内部上拉发送 1。在使用 8 位地址访问外部数据存储器时, p2 口输出 p2 锁存器的内容。 表 2-1 p1 口引脚的第二功能 引脚号第二功能 p1.0t2(定时器/计数器 t2 的外部计数输入) ,时钟输出 p1.1t2ex(定时器/计数器 t2 的捕捉/重载触发信号和方向控制) p1.5mosi(在系统编程用) p1.6miso(在系统编程用) p1.7sck(在系统编程用) 在

29、flash 编程和校验时,p2 口也接收高 8 位地址字节和一些控制信号。 p3 口:p3 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动四 个 ttl 逻辑电平。对 p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输 入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流 (iil) 。 p3 口亦作为 at89s52 特殊功能(第二功能)使用,如下表 2-2 所示。在 flash 编 程和校验时,p3 口也接收一些控制信号。 表 2-2 p3 口引脚的第二功能 引脚号第二功能 p3.0rxd(串行输入) p3.1txd(串行输出) p

30、3.2 (外部中断 0)0int p3.3 (外部中断 1)1int p3.4t0(定时器 0 外部输入) p3.5t1(定时器 1 外部输入) p3.6 (外部数据存储器写选通)wr p3.7 (外部数据存储器读选通)rd rst:复位输入。晶振工作时,rst 脚持续 2 个机器周期高电平将使单片机复位。 看门狗计时完成后,rst 脚输出 96 个晶振周期的高电平。特殊寄存器 auxr(地址 8eh)上的 disrto 位可以使此功能无效。disrto 默认状态下,复位高电平有效。 ale/:控制信号(ale)是访问外部程序存储器时,锁存低 8 位地址的输prog 出脉冲。在 flash 编

31、程时,此引脚()也用作编程输入脉冲。prog 在一般情况下,ale 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器 或时钟使用。然而,特别强调,在每次访问外部数据存储器时, ale 脉冲将会跳过。 如果需要,通过将地址为 8eh 的 sfr 的第 0 位置“1”,ale 操作将无效。这一位置 “1”,ale 仅在执行 movx 或 movc 指令时有效。否则,ale 将被微弱拉高。这个 ale 使能标志位(地址为 8eh 的 sfr 的第 0 位)的设置对微控制器处于外部执行模式下 无效。 :外部程序存储器选通信号。当 89s52 从外部程序存储器执行外部代码时,psen 在每个机器周

32、期被激活两次,而在访问外部数据存储器时,将不被激活。psenpsen /vpp:访问外部程序存储器控制信号。为使能从 0000h 到 ffffh 的外部程序ea 存储器读取指令,必须接地。为执行内部程序指令,应该接 vcc。eaea 在 flash 编程期间,也接收 12 伏 vpp电压。ea xtal1:振荡器反相放大器和内部时钟发生电路的输入端。 xtal2:振荡器反相放大器的输出端。 2.1.2 at89s52 与晶振连接电路 at89s52 单片机有一个用于构成内部振荡器的反相放大器,xtal1 和 xtal2 分别 是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振

33、荡器。 从外部时钟源驱动器件的话,xtal2 可以不接,而从 xtal1 接入,如图 2-4。在本设计 系统中采用的是内部振荡电路连接法,如图 2-3 所示。 c2 c1 xtal2 xtal1 gnd xtal2 xtal1 gnd nc 外部振荡信号 图 2-3 内部振荡电路连接图 图 2-4 外部振荡电路连接图 (石英晶振 c1,c2=30pf10pf 陶瓷谐振器 c1,c2=40pf10pf) 2.2 看门狗复位电路 当系统 cpu 不能正常工作时,有可能会造成死机、信息丢失、运行不稳定等故障。 为了解决这些问题,实现系统安全可靠、稳定、实时运行,可以采用集可编程看门狗、 电压监控、e

34、2prom 等功能于一身的 x5045 芯片。这种组合设计有效地减少了硬件电路 的复杂程度。 x5045 中的看门狗对系统提供了保护功能。当系统发生故障而超过设置时间时,电 路中的看门狗将通过 reset 信号向 cpu 做出反应。x5045 提供了三个时间值供用户选 择使用。它所具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降 到允许范围以下时,系统将复位,直到电源电压返回到稳定值为止。x5045 的存储器与 cpu 可通过串行通信方式接口。 引脚介绍:x5045 的引脚图可参见图 2-5。它共有 8 个引脚: vcc reset wp vss cs si sck so x50

35、45 图 2-5 x5045 的引脚图 表 2-3 引脚功能描述 引 脚 名称 功能描述 1 /cs wdi 芯片选择输入:当是高电平时,芯片末选中,并将 so 置为高阻态。cs 器件处于标准的功耗模式,除非一个向非易失单元写的周期开始。在 是高电平时,将拉低将使器件处于选择状态,器件将工作于cscs 功耗状态。在上电后任何操作之前,必须要有一个高变低的过程。cs 看门狗输入:在看门狗定时器超时并产生复位之前,一个加在 wdi 引 脚上的由高到低的电平变化将复位看门狗定时器。 2so 串行输出:so 是一个推/拉串行数据输出引脚,在读数据时,数据在 sck 脉冲的下降沿由这个引脚送出。 3 w

36、p写保护:当引脚是低电平时,向 x5045 中写的操作被禁止,但是wp 其它的功能正常。当引脚是高电平时,所有操作正常,包括写操作。 如果在是低的时候,变为低电平,则会中断向 x5045 中写的cswp 操作,但是,如果此时内部的非易失性写周期己经初始化了,变wp 为低电平不起作用。 4vss 地。 5si 串行输入:si 是串行数据输入端,指令码、地址、数据都通过这个引 脚进行输入。在 sck 的上升沿进行数据的输入,并且高位(msb)在前。 6sck 串行时钟:串行时钟的上升沿通过 si 引脚进行数据的输入,下降沿通 过 so 引脚进行数据的输出。 7reset 复位输出:reset 下是

37、一个开漏型输出引脚。只要 vcc 下降到最小允 许 vcc 值,这个引脚就会输出高电平,一直到 vcc 上升超过最小允许 值之后 200ms 。同时它也受看门狗定时器控制,只要看门狗处于激活 状态,并且 wdi 引脚上电平保持为高或者为低超过了定时的时间,就 会产生复位信号。引脚上的一个下降沿将会复位看门狗定时器。cs 由于这是一个开漏型的输出引脚,所以使用时必须接上拉电阻。 8vcc 正电源。 x5045 的状态寄存器描述了器件的当前状态,各位意义如下所示: 表 2-4 x5045 状态寄存器各位定义 76543210 00wd1wd0bl1bl0welwip 其中,wd1、wd0 是看门狗

38、定时时间设置位;bl1、bl0 是存储单元写保护区设置位; wel 是只读标志,1 表明写使能开关打开;wip 也是只读标志,1 代表芯片内部正处于 写周期。电复位时,各位都被清零。 x5045 芯片功能包括以下 4 种: (1)上电复位控制。在对 x5045 通电时,reset 引脚输出有效的复位信号,并保持 至少 200ms,使 cpu 有效复位。 (2)电源电压监控。当检测到电源电压低于内部门槛电压 vtrip时,reset 输出复 位信号,直至电源电压高于 vtrip并保持至少 200ms,复位信号才被撤消。vtrip的出厂 值根据芯片型号不同共有 5 个级别的电压范围。对于需要电源电

39、压精确监控的应用, 用户可以搭建编程电路,对芯片内 vtrip电压进行微调。 (3)看门狗定时器。芯片内部状态寄存器的 wd1、wd0 是看门狗定时设置位,通过 状态寄存器写指令 wrsr 修改这两个标志位,就能在三种定时间隔中进行选择或关闭定 时器。对看门狗的复位由输入电平的下降沿完成。下表是 wd1、wd0 组合的含义。cs 表 2-5 wd1、wd0 组合定义 wd1wd0 看门狗定时值 001.4s 01600ms 10200ms 11 禁止看门狗工作 (4)串行 e2prom。芯片片内含 512 字节存储单元,10 万次可擦写,数据保持时间 100 年,并设计了 3 种保护方式防止误

40、写。包括:写保护引脚,当引脚被拉低时,wp 内部存储单元状态寄存器都禁止写入;存储区域写保护模式,通过对状态寄存器的 bl1、bl0 位的设置,可以选择对不同的存储区域进行写保护;在进行任何写操作前 都必须打开写使能开关,而且在上电初始化写操作完成时,写使能开关自动关闭。显 然,在几方面的保护之下,产生误写的可能性极小,下表是 bl1、bl0 组合的含义。 表 2-6 bl1、bl0 组合定义 bl1bl0 写保护的单元地址 00 没有保护 01 180h1ffh 10 100h1ffh 11 000h1ffh (1)wren 和 wrdi 是写使能开关的开/关指令。它们都是单字节指令。 (2

41、)rdsr 和 wrsr 是状态寄存器的读/写指令。在从 si 输入指令后,rdsr 的执行 结果,即状态寄存器内容须从 so 读出;而 wrsr 需要紧接着输入修改数据。 (3)read 和 write 是存储单元的读/写指令。输入指令后(指令的位三用于选择存 储器的上半区和下半区),接着输入低八位地址,最后就可以连续读出或写入数据。 其中,读指针和写指针的工作方式完全不同,读指针的全部 8 位用来计数,0ffh 溢出 后变成 00h;写指针只用最低两位计数,xxxxxx11b 溢出后变成 xxxxxx00b,所以连续 写的实际结果是在 4 个单元中反复写入。另外,由于 e2prom 的写入

42、时间长,所以在连 续两条写指令之间应读取 wip 状态,只有内部写周期结束时才可输入下一条写指令。 芯片内部共有 6 条指令,如下表 2-7 所示。 表 2-7 x5045 内部指令 命令名称命令格式内 容 wren0000 0110 打开写使能开关 wrdi0000 0100 关闭写使能开关 rdsr0000 0101 读状态寄存器 wrsr0000 0001 写状态寄存器 read0000 a8011 读存储单元 write0000 a8010 写存储单元 对 x5045 的操作是通过 4 根口线、sck、si 和 so 进行同步串行通信来完成的。cs x5045 与 at89s52 单片

43、机的连接电路图见图 2-6。sck 是外部输入的同步时钟信号,在 对芯片进行写入指令或数据时,时钟前沿将 si 引脚信号输入;在读取数据时,时钟后 沿将数据位输出到 so 引脚上。数据的输入、输出都是高位在先。 vcc reset vcc reset wp vss cs si sck so x5045 4.7k r1 p1.0 p1.1 p1.2 p1.3 图 2-6 x5045 与 at89s52 单片机连接电路图 综上所述,并基于电路产生复位信号的条件,只要满足以下任意一个条件,就将 使系统产生复位,迫使程序从起点执行。 (1)该芯片在其上电后自产生复位信号,这样就实现单片机的上电自动复位

44、; (2)当电源 vcc低于规定值时, (如 vcc=5v,则规定值为 4.252.5v) ,将产生复 位信号。这样就实现系统电源的掉电复位; (3)当程序在编程选择的时间里没有访问 x5045 时,即没有一个喂狗语句,则看 门狗(wdt)将起作用,rst 将产生复位信号,迫使单片机复位。 2.3 温度信号采集模块 2.3.1 ds18b20 的芯片简介 ds18b20 是美国达拉斯(dallas)半导体公司推出的应用单总线技术的数字温度传感 器。该器件将半导体温敏器件、a/d 转换器、存储器等做在一个很小的集成电路芯片上。 本设计中温度传感器之所以选择单总线数字器件 ds18b20,是在经过

45、多方面比较和考虑 后决定的,主要有以下几方面的原因: (1)系统的特性:测温范围为-55+125 ,测温精度为士 0.1;温度转换精 度 912 位可变,能够直接将温度转换值以 16 位二进制数码的方式串行输出;12 位精 度转换的最大时间为 750ms;可以通过数据线供电,具有超低功耗工作方式。 (2)系统成本:由于计算机技术和微电子技术的发展,新型大规模集成电路功能 越来越强大,体积越来越小,而价格也越来越低。一支 ds18b20 的体积与普通三极管 相差无几,价格只有十元人民币左右。 (3)系统复杂度:由于 ds18b20 是单总线器件,微处理器与其接口时仅需占用 1 个 i/o 端口且

46、一条总线上可以挂接几十个 ds18b20,测温时无需任何外部元件,因此, 与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工程的施工 量。使测温系统的线路结构设计和硬件开销大为简化。 (4)系统的调试和维护:由于引线的减少,使得系统接口大为简化,给系统的调 试带来方便。同时因为 ds18b20 是全数字元器件,故障率很低,抗干扰性强,因此, 减少了系统的日常维护工作。 ds18b20 采用 3 脚封装如图 2-7 所示: ds18b20 图 2-7 ds18b20 引脚图 引脚说明: 1.gnd 接地 2.dq 数字输入/输出 3.vdd 可选的电源 2.3.2 ds18b20

47、 的温度测量 ds18b20 的核心功能是其数字温度传感器,其温度与数字量的关系如表 2-8 所示。 温度传感器的测量结果被用户定义为 9,10,11 或 12 位,其各自的准确度为 0.5、0.25、0.125、0. 0625。ds18b20 测得温度数据在温度寄存器中被存为带标志位 的 16 位数,标志位 s 表示温度是正是负,为正则 s=0,为负则 s=1, 如果 ds18b20 设 定为 12 位结果,温度寄存器中所有位将包含有数据;对于 11 位结果,0 位未定义;10 位结果,0 位和 1 位未定义;9 位结果位 2、位 1 和位 0 未定义。表 2-9 是 ds18b20 内 部

48、存储器,表 2-10 是 ds18b20 温度存储格式与配置寄存器控制字的格式。由表 2-8 可 知,检测温度由两个字节组成,字节 1 的高 5 位 s 代表符号位,字节 0 的低 4 位是小 数部分,中间 7 位是整数部分。字节 4 是配置寄存器控制字的格式,当主机发出温度 转换命令(44h)时,启动温度转换过程,转换时间最长 750 ms。主机通过读寄存器命 令(beh) ,将温度值读出。通过写寄存器功能命令,改变分辨率的设置。 表 2-8 温度和数字量的关系 温 度 数字输出(二进制) 数字输出(十六进制) +1250c0000 0111 1101 0000b07d0h +850c000

49、0 0101 0101 0000b0550h +25.06250c0000 0001 1001 0001b0191h 表 2-9 ds18b20 内部存储器 字 节 romram 0产品代号(28h)温度低 8 位 148 位器件序列号温度高 8 位 248 位器件序列号 th 348 位器件序列号 tl 448 位器件序列号配置寄存器 548 位器件序列号保留 648 位器件序列号保留 7 crc 保留 8 crc 表 2-10 温度存储格式与配置寄存器控制字格式 bite7bite6bite5bite4bite3bite2bite1bite0 字节 0232221202-12-22-32-

50、4 字节 1sssss2-62-52-4 字节 40r1r011111 2.3.3 温度报警信号 ds18b20 完成温度转换后,就把测得的温度值与 th,tl 作比较。若 tth 或 ttl, 则将该器件内的报警标志置位,并对主机发出的告警搜索命令作出响应。因此,多只 ds18b20 同时测量温度并进行报警搜索,一旦某测温点越限,主机利用报警搜索命令, 即可识别正在报警的器件,并读出其序列号。 2.3.4 温度传感器的登记 每一个 ds18b20 在接入系统工作前,必须先进行登记注册。在每台分机上都有一 个登记注册端口,ds18b20 在接入系统前,先接到登记注册端口,确认后,cpu 将 d

51、s18b20 的物理位址(8 个 byte)读出, 然后存入到 e2prom 中刚才设定的逻辑地址上, ds18b20 在 e2prom 中逻辑地址定义见表 2-11。 表 2-11 存储器中逻辑地址定义 表中各位表示的意义如下: a15、a14 存储操作标志(为固定值 00) a13、a12、a11 口地址 a10、a9、a8 线地址 a7、a6、a5、a4 点地址 a3、a2、a1、a0 存储区域 2.3.5 ds18b20 的通信协议 数字式温度传感器和模拟传感器最大的区别,是将温度信号直接转化成数字信号, 然后通过串行通信的方式输出。因此掌握 ds18b20 的通信协议是使用该器件的关

52、键。 所有的 ds18b20 器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了 几种信号类型:复位脉冲、应答脉冲时隙;写“0”写“1”时隙;读“0”读“1” 时 隙。与 ds18b20 的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令 和数据时,都是字节的低位在前,高位在后。 (1)复位和应答脉冲时隙 每个通信周期起始于微控制器发出的复位脉冲,其后跟 ds18b20 发出的应答脉冲。 在写时隙期间,主机向 ds18b20 器件写入数据,而在读时隙期间,主机读入来自 18b20 的数据。在每一个时隙,总线只能传输一位数据。 (2)写时隙 当主机将单总线 dq 从逻辑高(空

53、闲状态)拉为逻辑低时,即启动一个写时隙。所 有的写时隙必须在 60120us 完成,且在每个循环之间至少需要 1us 的恢复时间。写 0 和写 1 时隙如图 2-8 所示。在写 0 时隙期间,微控制器在整个时隙中将总线拉低,而 写 1 时隙期间,微控制器将总线拉低,然后在时隙起始后 15us 之后释放总线。 写“0”时隙 1 ustrec 1 us 写“1”时隙 60120 us vp e2prom th tl 配置寄存器 a15a14a13a12a11a10a9a8a7a6a5a4a3a2a1a0 00p1p2p3l1l2l3d1d2d3d4xxxx gnd ds18b20 采样 ds18b

54、20 采样 15 us 45 us 15 us 45 us 图 2-8 写“0”和写“1”时隙 (3)读时隙 ds18b20 器件仅在主机发出读时隙时才向主机传输数据,所以在主机发出读数据命 令后,必须马上产生读时隙,以便 ds18b20 能够传输数据。所有读时隙至少需要 60us,且在两次独立的读时隙之间,至少需要 1us 的恢复时间。每个读时隙都有主机 发起,至少拉低总线 1us。读时隙如图 2-9 所示,在主机发起读时隙之后,ds18b20 器 件才开始在总线上发送“0”或“1” ,若 ds18b20 发送“1” ,则保持总线为高电平。若 发送“0” ,则拉低总线当发送“0”时,ds18

55、b20 在该时隙结束后,释放总线,由上拉 电阻将总线拉回至空闲高电平状态。ds18b20 发出的数据,在起始时限之后保持有效时 间 15us。因而主机在读时隙期间,必须释放总线,并且在时隙起始后的 15us 之内采样 总线状态。 1 ustrec 读“0”时隙 读“1”时隙 vp 主机采样 1 us 主机采样 1 us 15 us 45 us 15 us 图 2-9 读0和1时隙 2.3.6 ds18b20 与单片机的接口电路 ds18b20 只有三根外引线:单线数据传输总线端口 dq ,外供电源线 vdd ,共用地 线 gnd。ds18b20 有两种供电方式:一种为数据线供电方式,此时 vd

56、d 接地,它是通过 内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间 较长。这种情况下,用单片机的一个 i/o 口来完成对 ds18b20 总线的上拉。另一种是 外部供电方式(vdd 接+5v),相应的完成温度测量的时间较短。 在本设计中采用外部供电方式实现 ds18b20 传感器与单片机的连接,其接口电路 如图 2-10 所示。 ea/vp 31 x1 19 x2 18 reset 9 rd 17 wr 16 int0 12 int1 13 t0 14 t1 15 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00

57、 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 psen 29 ale/p 30 txd 11 rxd 10 at89s52 vcc vcc 1 2 3 ds18b20 r10 图 2-10 温度传感器 ds18b20 与单片机的连接 2.4 键盘与显示电路 2.4.1 led 显示电路设计 在单片机系统中,发光二极管(led)常常作为重要的显示手段,它既可以显示系统 的状态,又可以显示数字和字符。由于 led 显示器的驱动电

58、路简单,易于实现且价格 低廉,因此是工业仪表和实验室仪器常用的一种输出显示设备。led 显示器,它是将多 个发光二极管集中在一块,构成阿拉伯数字笔画的形状。这些发光二极管共用一个或 两个公共极,为数字信息的显示提供了方便。led 显示器的驱动方法分静态和动态两种。 所谓动态是指 led 显示器上的信息是通过不断地刷新(即周期性的驱动)维持的。动态 驱动的优点是连线比静态方式大为减少,它是数码显示器常用的一种方式。静态驱动, 编程简单,但占用 i/o 口较多。本设计采用 74ls164 驱动 4 位 led 显示的动态扫描驱 动方式。 1、芯片介绍 74ls164 是 8 位串入并出移位寄存器,

59、其芯片引脚如图 2-11 所示。 a 1 b 2 q0 3 q1 4 q2 5 q3 6 q4 10 q5 11 q6 12 q7 13 clk 8 mr 9 74ls164 图 2-11 74ls164 引脚图 引脚功能如下: a 与 b串行数据输入,每个输入可以作为另一个输入的高电平有效输入,在使用 时,两个输入端必须相连,而不同输入端必须接高电平。 clk时钟信号,高电平有效。 mr/清零复位端,低电平有效。 q0q7数据输出端。 74ls164 的真值表为表 2-12 示: 表 2-12 74ls164 的真值表 输入输出 mr/clkabqaqbqcqdqeqfqgqh lxxxll

60、llllll hlxxqa0qb0qc0qd0qe0qf0qg0qh0 hhhhqanqbnqcnqdnqenqfnqgn hlxlqanqbnqcnqdnqenqfnqgn hxllqanqbnqcnqdnqenqfnqgn 在使用时将 a、b 并接作为数据的串行输入端 dio,clk 作为时钟端。串行输入时, 先将数据在 a、b 端准备好,在 clk 端产生一上升沿,则一位数据移至最低位 q0;再将 下一位数据准备好后,在 clk 端产生下一上升沿,则下一位数据移至次低位 q1,其余 位顺次从低位到高位移动。这种时序符合串行器件特性,即把 74ls164 当成一典型串 行外设,用具有串行外

温馨提示

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

评论

0/150

提交评论