数字式温度控制仪设计_第1页
数字式温度控制仪设计_第2页
数字式温度控制仪设计_第3页
数字式温度控制仪设计_第4页
数字式温度控制仪设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、四 川 理 工 学 院 毕 业 设 计(论 文说 明 书 题 系 目:别:数显温度控制仪的设计 电子与信息工程 系 电气工程及其自动化 XXXXX XXXXX 电气教研室 专业班级:学生姓名:指导教师:教 研 室:提交时 间:2007 年 6 月 22 日 数显温度控制仪的设计 摘 要 单片机系统的开发应用给现代工业测控领域带来了一 次新的技术革命, 自动 化、智能化均离不开单片机的应用。单片机由于其微小的体积和极低的成本,广 泛的 应用于家用电器、工业控制等领域中。在工业生产中,电流、电压、温度、 压力和流量也都是常用的被控参数。 本论文介绍了基于单片机的温度控制系统的硬件设计和软件开发的过

2、程。 本 系统由 DALLAS 出品的新型单路 串行数字式温度传感器 DS18B20 完成温度测量; 采用 AT89C51 单片机作为系统的控制芯片,完成温度值接 收、转换、分析、判断 阈值、 输出功能、 报警处理。 整个系统具有集成度高、 可靠性强、 抗干扰性强 (串 行通信特点 、鲁棒性强、可扩展性强、体积小、功耗低等特点。具有测温、上 限报警、下限报警、温度控制 及显示功能 。 关键词:DS18B20 关键词 单片机 显示 报警 -I- 四川理工学院本 科毕业(设计 论文 ABSTRA CT The development and application of MCU (Micro Co

3、ntrol Unit have made a great change in many fields of modern industrial detection and control. Because of the small scale, low price and high efficiency of MCU, it is widely used in home appliances and industrial control. In the process of producing、 current 、 voltage 、 temperature and pressure are

4、usually the parameters to be monitored. This paper mainly includes the introduction of AT89C51 and the general chips w hich are used in the system, the design of hardw are and softw are. In the system, One wire digital thermometer, DS18B20, is used to measure temperature and output the temperatur e

5、signal into AT89C51, then AT89C51 fulfill the functions, such as receiving the temperature signal, conversion, judge the threshold and alar m. The w hole system has many features, high integr ation, strong reliability, anti-jamming(the char acter of serial communication, robust, expansibility and lo

6、w pow er consumption. This system can measure temperature, display it and alarm when temperature over upper limit or low er limit, in the mean while, AT89C51 output signal to trigger the equipment which can regulate temperature. Keyw ords: DS18B20 singlechip display alarm - - 数显温度控制仪的设计目 录摘要.ABSTRA

7、CT. 第 1 章 概述 .1第 2 章 任务与要求 .2第 3 章 方案设计 .3第 4 章 单片机 AT89C51 的结构和原理 .54.1 AT89C51 单片机的结构 .54.2 引脚功能说明 .64.3 AT89C51 存储器 . .94.4 复位及其复位电路 .11第 5 章 DS18B20 智能温度控制器的介绍 .125.1 DS18B20 的内部结构 .135.2 DS18B20 温度传感器的存储器 .165.3 DS18B20 的操作命令 .175.4 DS18B20 的测温原理 .195.5 DS18B20 使用中注意事项 .20第 6 章 温度控制仪的硬件设计 .216.

8、1 硬件结构框图 .216.2 Pr otel99 设计原理图 .226.3 各部件电路介绍 .25第 7 章 温度控制仪的软件设计 .287.1 程序模块设计 .287.2 软件流程图 .29第 8 章 硬件电路板的制作步骤 .33第 9 章 结束语 .35谢辞 .37参考文献 .38附录 .39数显温度控制仪的设计第 1 章 概述 电子技术的飞速发展,给人类生活带来了根本的变革,特别是随着大规模集 成电路的产生而出现 的微型计算机,更是将人类社会带入了一个新的时代。利用 微机的强大功能,人们可以完成各种各样的控制。 然而,微机的造价高,对于大 多数的工业控制来说, 并不需要微机那样强大的功

9、能, 于是单片机就应运而生 了。 单片机其实是一个简化的微机,将微机的 CPU 、存储器、 I/O 接口、定时器 /计数 器等集成在一片芯片上 就是单片机,它主要用来完成各种控制功能。相对微机来 说,单片机价格低,非常适合于应用在简单的控制场 合以降低成本。另外,单片 机是按照工业控制要求设计的, 其可靠性很高, 可在工业现场复杂的环境下运行。 单片机依靠其高的可靠性和极高的性价比, 在工业控制、 数据采集、 智能化仪表、 家用电器等方面得到极为 广泛的应用。 在现代工业设计, 工程建设及日常生活中基于单片机的温度控制仪都起着重 要的作用,早期的 温度控制仪主要用于工厂生产中,起到实时采集温度

10、数据,提 高生产效率、产品质量之用。随着人们生活质量 的提高,现代社会中的温度控制 仪不仅应用在工厂生产方面也应用于酒店,以及家庭生活中。如高精度的生产 厂 房,对温度的要求极其严格,温度的变化极有可能对生产的产品造成极大的影响 1 。因此,这就需要一种 能够及时检测温度变化以及显示温度变化的设备,提供 温度数据值,使人们对温度的变化做及时的调整,温度 控制仪就可根据人们不同 的应用环境自行设置该环境的温度值,及时的反映生产、生活中温度的变化,使 人们 能及时看到温度变化的第一手资料,提示人们温度变化的情况,协助人们能 及时的调整,起到温度报警作用, 使温度控制仪更好的服务于社会生产、生活。

11、-1-四川理工学院本科毕业(设计论文第 2 章 任务与要求 一、设计任务 以温度传感器作为系统的检测元件,采用单片机作为系统的控制芯片,完 成 温度值接受、转换、分析、判断阀值、信号输出、报警处理。整个系统具有测量 温度、上限报警、下限报警、 温度控制及数码显示功能。不须设计具体的加热及 降温电路,只需检测向外围设备输出的温度控制信号是否存 在即可。 二、 主要内容及基本要求 1 利用温度传感器检测温度,将非电信号转换成电信号; 2 利用单片 机收集处理数据,并向外围设备输出控制信号; 3 采用 LED 实时显示被控温度及设定温度; 4 论文条理 清楚、通顺,论述要求充实,符合技术用语要求,符

12、号统一; 编号齐全,书写工整,图文清晰; 5 翻译相关 外文文献。 -2-数显温度控制仪的设计 第 3 章 方案设计 数显温度控制仪,是利用单片机作为系统的主控制器,根据温度传 感器测得 的温度值,由软件查询判断上下阀值是否达到(阀值由编程设定 。如果超过温 度上限,启动风扇 用以降低温度使温度值返回到阀值以下;如果温度值达到下限 阀值,则启动加热炉用以增加温度使温度值返回 阀值以上。风扇和加热炉的启动 与关闭,利用单片机管脚电平的高低分别控制。 考虑到本次数显温度控制仪的 控制对象是室温, 温度检测和调整范围只需为 0 99,温度控制的精度只需为 1即可满足设计要求。根据 这些指标可选用 数

13、字式温度传感器 DS18B20 作为系统的检测元件,单片机则选择通用性较好的 AT89C51 作 为系统的主控芯片,再增加 LED 数码管显示电路、加热及降温电路、 过温报警等辅助电路,通过软件程序设 计来实现人机对话功能,即可实现对室内 的温度控制。而本设计不须设计具体的加热及降温电路,只需检测向 外围设备输 出的温度控制信号是否存在即可,所以分别用发光二极管和蜂鸣器模拟代替。 根据系统要求,可以 对每一个具体部分进行分析设计。整个控制系统分为硬 件电路设计和软件程序设计两部分。 分析硬件电路主要 包括:电源电路部分, 键盘输入部分, 温度采集电路部分, 过温报警电路部分, LED 显示电路

14、部分,加热 及降温电路部分, AT89C51 单片机 部分。 这些可用一个方框图来表示, 如图 1-1 所示。 温度采集电路 LED 显 示 89 51 单 片 机 键 盘 加热及降温 电路 过温报警电路 电源电路 图 1.1 温度控制系统方框图 -3-四川理工学院本科毕业(设计论文 从方框图上我们可以看出,整个系统主要划分为控制电路部分、加热及降 温 电路部分和测量电路三个部分。控制电路是由单片机来处理给定信号和反馈信 号,发出相应的指令来控制相 关执行电路,是系统的核心。 AT89C51 对温度的控 制是通过加热及降温电路部分实现的, 只要改变加热或者 降温电路接通的时间便 可改变升温或者

15、降温的幅度,从而达到调节温度的目的。而加热电路或者降温电 路的接 通时间可以通过在 P 10 和 P 12 引脚上产生的触发脉冲控制, 该出发脉冲由 AT89C51 用软件产生。 加热及降 温电路用来实现对系统的升温或者降温。当温度 没有达到要求, 电路利用在 P10 和 P12 引脚上产生触发脉 冲的高低分别决定加热 或者降温电路的接通与断开。 不过此次设计中没有对加热和降温的具体电路作出 要求, 我们就用蜂鸣器和发光二极管分别代替,检测其控制输出信号是否存在即 可。测量电路的功能是将测量到的温 度信号送入单片机中进行处理, 它的核心元 件是智能温度传感器 DS18B20。 与传统的热敏电阻

16、相比, DS18B20 不需要 A/D 转 换器件和进行误差校正,而且分辨率更高,转换时间更快,稳定性更好。 软件程序主要由管理 程序和控制程序组成,是设计的核心部分。其中管理 程序是对显示 LED 进行动态刷新,控制指示灯,处理键 盘的扫和响应,执行中断 服务程序等。控制程序是用来对被控的对象进行采样,数据处理,根据温度控制 要求 进行计算和输出。 整篇论文的主要内容包括:单片机 AT89C51 的结构和原理、 DS18B20 智能温 度控制器的 介绍、 温度控制仪的硬件设计和软件设计、 硬件电路板的制作步骤等。 -4- 数显温度控制仪的设计 第 4 章 单 片机 AT89C51 的结构和原

17、理 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROM Falsh P r ogrammable and Erasable Read Only Memory的低电压、高性能 CMOS8 位微 处理器,俗称单片机。该 器件采用 ATMEL 高密度非易失存储器制造技术制造,与 工业标准的 MCS-51 指令集和输出管脚相兼容。由 于将多功能 8 位 CPU 和闪 烁存 储 器组合在单个 芯片中, ATMEL 的 AT89C51 是 一种高效微控 制器, AT89C51 单片 机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案 2 。 本章通过介绍 AT89C51 单 片

18、机内部硬件结构、引脚功能、储存器和其复位电 路等基础知识,使大家对 89 系列单片机的各种应用特性有 较全面的了解, 进一 步理解本设计的原理。 4.1 AT89C51 单片机的结构 AT89 系列单片机在结构上基本相同, 只是在个别模块和功能上有些区别, 图 4.1 是 AT89C51 单片机的内部结构方框图。 它包含了作为微型计算 机所需的基 本功能部件, 而各部分功能部件通过片内单一总线连成一个整体, 集成在一块芯 片上。 时钟电路 程 序存储 器 RA M 数据 存储 器 RA M 中央 处理 器 CPU 中断系 统 各种 I/O 定时 /计数 器 CTC 图 4.1 AT89C51

19、单片机的内部结构 由图 4.1 可知, AT89C51 单片机主要由中央处理器 (CPU 、 存储器、 I/O 端 口、 定时器 /计数器、 中断系统和内部总线等组成。 主要特性有:-5- 四川理工学院本科毕业 (设计 论文 ? 与 MCS-51 兼容 ? 4K 字节可编程闪烁存储器 ? 寿命:1000 写 /擦循环 ? 数据保留时间:10 年 ? 全静态工作:0Hz-24Hz ? 三级程序存储器锁定 ? 128*8 位内部 RA M ? 32 条可编程 I/O 线 ? 两个 16 位定时器 /计数器 ? 5 个中断 源 ? 可编程串行通道 ? 低功耗的闲置和掉电模式 ? 片内振荡器和时钟电路

20、 4.2 引脚功能说明 本系统选用 的 89C51芯片有 40条引脚,与其他 51系列单片机引脚是兼容的。 这 40条引脚可分为 I/O端口线、电源线、 控制线、外接晶体线四部分。其双列直 插封装形式如图 4.2所示。 图 4.2 AT89C51 双列直插式封装和引脚分 配图 -6- 数显温度控制仪的设计 一 . 管脚说明:VCC :供电电压。 GND :接地。 P0 口:P0 口为一个 8 位 漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能 够用于外部程序数据存储 器, 它可以被定义为数据 /地址的第八位。在 FIAS

21、H 编程时, P0 口作为原码输入 口, 当 FIASH 进行校验时, P0 输出原码, 此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收 输出 4TTL 门电流。 P1 口管脚写入 1 后, 被内部上拉为高, 可用作输入, P1 口被 外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和 校验时, P1 口作 为第八位地址接收。 P 2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P 2 口缓冲器可接收, 输 出 4 个 TTL 门电流,当 P2 口被写 “1” 时,其管脚被内部

22、上拉电阻拉高,且作为 输入。并因此作为输入时, P2 口的管 脚被外部拉低, 将输出电流。 这是由于内 部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存 储器进行存 取时, P2 口输出地址的高八位。在给出地址 “1” 时,它利用内部上拉优势,当 对外部八位地址数据 存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号 和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口, 可接收输出 4 个 TTL 门电流。 当 P3 口写入 “1” 后,它们被内部上拉为高电平,并用作输入。作为输 入

23、,由于外部下拉为低电平, P3 口将输出电流(ILL 这是由于上拉的缘故。 P 3 口也可作为 AT89C51 的一些特殊功能口,如下表所示:端口 管脚 备选功 能 P 3.0 RXD(串行输入口 P 3.1 TXD(串行输出口 P 3.2 INT 0 (外部中断 0 P 3.3 INT 1 (外部中断 1 P3.4 T0(记时器 0 外部输入 P3.5 T1(记时器 1 外部输入 -7- 四川理工学院本科毕业(设计论文 P3.6 WR (外部数据存储器写选通 P3.7 RD (外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收一 些控制信号。 RST :复位输入。 当振荡器复位器件时

24、, 要保持 RST 脚两个机器周期的高电 平时间。 ALE /PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 低位字节。在 FLASH 编程期间,此引脚用于 输入编程脉冲。在平时, ALE 端以不 变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用 作对外 部输出的脉冲或用于定时目的。然而要注意的是:每当用作 外部数据存储器时, 将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 “0” 。 此时, ALE 只有在执行 MOVX 、 MOV C 指令时 ALE 才 起作用。另外,该引脚被略微拉高。 如果微处理器在外部执行状态

25、ALE 禁止,置位无效。 P SEN :外部程序 存储器的选通信号。在由外部程序存储器取指期间,每个 机器周期两次 PSEN 有效。但在访问外部数据存储器 时,这两次有效的 PSEN 信 号将不出现。 E A /VPP :EA 保持低电平时, 当 则在此期间外部程序存储器 (0000H-FFFFH , 不管是否有内部程序存储器。 注意加密方式 1 时, 将内部锁定为 RESET ; EA EA 当 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(V PP 。 XT AL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XT AL2:来自反向振

26、荡器的输出。 二、振荡器特 性:XT AL1 和 XT AL2 分别为反向放大器的输入和输出。该反向放大器可以配置为 片内振荡器。 石晶振荡和 陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XT AL2 应不接。其余输入至内部时钟信号要通过一个二分 频触发器,因此对外部时钟信 号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度 3 。 三、芯片擦 除:整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合, 并保持 -8- 数显温度控制仪的设 计 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写 “1” 且在 任何非空存储字节被重复编 程以前,该操作必

27、须被执行 3 。 此外, AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持 两种软件可选的掉电模式。在闲置模式下, CPU 停止工作。但 RA M 、定时器、计 数器、串口和中断系统仍在 工作。在掉电模式下,保存 RA M 的内容并且冻结振荡 器,禁止所用其他芯片功能,直到下一个硬件复位为止。 4.3 AT89C51 存储器 AT89C51 单片机存储器结构采用哈佛型结构,即将程序存储器和数据存储 器分开,它 们有各自独立的存储空间、 寻址机构和寻址方式, 其典型结构如图 4.3 所示。 FFFFH 外 部 1000H 00H 0FFFH 内部 E A =1 0000H 外

28、部 E A =0 80H 7FH 00H 专 用寄 存器 内部 RA M FFFFH 外 部 0000H 图 4.3 AT89C51 存储器结构图 (a 程序存储器地址分配; (b 数据存储器地址分配 一、程序存储器 AT89C51 程 序存储器有片内和片外之分。片内有 4KB 字节的 Flash 程序存储 器,地址范围为 0000H 0FFFH 。当不够 使用时,可以扩展片外程序存储器,因 为程序计数器 PC 和程序地址指针 DPTR 都是 16 位的,所以片外程 序存储器扩展 的最大空间是 64KB ,地址范围为 0000H FFFFH 。无论片内还是片外扩展的程序 存储器,两 者的地址空

29、间是统一的。 0000H 0FFFH 这 4KB 的地址空间为片内和 片外程序存储器所共有,或片内占用或 者片外占用,但两者不能同时占用。为了 加以区分, AT89C51 提供了一个专用的控制引脚 E A 。 E A 引脚接 高电平时,单片 -9- 四川理工学院本科毕业(设计论文 机程序从内部 ROM 开始执行,当 PC 值超出内部 ROM 的容量时,会自动转向外部 程序存储器空间。若 EA 引脚接低电平,则程序从外部扩展程序存储器的 0000H 地址开始取指执行,不管是否有内部 Flash 存储器 2 。 在 64KB 程序存储器空间中,有六个单元具 有固定用途。第一个是 0000H 单 元

30、,由于 AT89C51 复位后程序计数器 PC 的内容为 0000H , CPU 必须从 0000H 单元 开始执行程序, 即 0000H 单元是整个系统程序的起始地址。 而 0000H 单元与另一 固定地址单元 0003H 之间只有 3 个字节空间,因此,一般在 0000H 单元中存放一 条绝对转移指令,用户编写的程序从转 移地址开始存放,这样做的目的是为了跳 过其他五个中断入口地址。当系统不使用中断时,则无需跳转,程序 从 0000H 单 元开始顺序存放即可 2 。 在系统需要扩展外部程序存储器时, P0 口和 P2 口作为地址 /数据 总线使用。 P 0口作为地址 /数据复用总线使用,它

31、先输出 16 位地址的低 8 位(PC 程序计数 器低 8 位 。 当系统不需扩展,只用内部 4KB 的 Flash 存储器时, P0 口和 P 2 口 可作为普通 I/O 口使用。 二、数据存 储器 AT89C51 数据存储器也有片内和片外之分。片内有 256 个字节 RA M ,地址范 围为 00H FFH 。 片外数 据存储器可扩展 64KB 存储空间,地址范围为 0000H FFFFH ,但两者的地址空间是分开的,各自独立的,结构分配如图 2.3(b 所示。 访问的指令也各不相同,访问内部数据存储器时,用 MOV 指令;访问外部数据存 储器时, 用 MOVX 指令。 片内数据存储器分为

32、两部分:00H 7FH 单元空间的 128 字节为 RA M 区; 80H FFH 单元空间的 128 字节为专用寄存器 (SFR 区。两部分的地址空间是连续的。 AT89C51 单片机可扩展片外 64KB 空间的数据寄存器,地址范围为 0000H FFFH ,它与程序存储器的地址空间是重合的,但两者的寻址 指令和控制线不同。 程序存储器的访问指令为 MOVC , 控制线为 PSEN ,而片外数据存储器访问指令为 MOVX , 读写控制线为 WR 、 RD 。所以,尽管地址重合,也不会造成混乱。 值得注意的是,数据存储器与 I/O 端口 及外围设备是统一编址的, 即任何扩 展的 I/O 端口以

33、及外围设备地址均占用数据存储器地址, 因此使用时要合 理安排 - 10 - 数显温度控制仪的设计 数据存储器地址空间。 4.4 复位及其复位电路 单片机在开机时或在工作 中因干扰而使程序失控或工作中程序处于某种死 循环状态等情况下都需要复位。 复位的作用是使中央处理器 CPU 以及其他功能部 件都恢复到一个确定的初始状态,并从这个状态开始工作。 AT89C51 单片机的复 位是靠 外部电路实现的,信号由 RESET(RST 引脚输入,高电平有效,在振荡器 工作时,只要保持 RST 引脚高电平 两个机器周期,单片机即可复位,复位后, PC 程序计数器的内容为 0000H ,片内 RA M 中的内

34、容不变 4 。 复位电路一般有上电复位、手动开关复位和自动复位电路三种,本设计采用 的复位电路是手动开关复位,如图 4.4。 图 4.4 手动复位电路 手动复位电路在有按键按下时,由于电容充电产生一点时间的高电平, 就可 以使单 片机复位 5 。 - 11 - 四川理工学院本科毕业 (设计 论文 第 5 章 DS18B20 智能温度控制器的介绍 DALLAS 最新单线数字式温度传感器 DS18B20 是一种新型的 “ 一线器件 ” , 其体积更小、更适用于各种场合、且适用 电压更宽、更经济。也是世界上第一片 支持 “ 一线总线 ” 接口的温度传感器。它将温度传感器、 A/D 传感器、寄存 器、

35、 接口电路集成在一个芯片中, 可实现直接数字化输出和测试, 并且有控制功能强、 传输距离远、抗干扰 能力强、微型化、微功耗、易于配微控制器(MCU 或者 微型计算机进行数据处理及温度控制的特点。与传统 的热敏电阻相比,它能够直 接读出被测温度并且可根据实际要求通过简单的编程实现 912 位的数字值读 数 方式。 可以分别在 93.75 ms 和 750 ms 内完成 9 位和 12 位的数字量,并且从 DS18B20 读出的信息或写入 DS18B20 的信息仅需要一根口线 (单线接口 读写, 温度变换功率来源于数据总线,总线本身也可以向所挂 接的 DS18B20 供电, 而 无需额外电源 6

36、。 因而使用 DS18B20 可使系统结构更趋简单, 可靠性更高。 它 在 测温精度、转换时间、传输距离、分辨率等方面较 DS1820 有了很大的改进, 给用户带来了更方便的使用和更 令人满意的效果。 DS18B20 的主要特点有:? 独特的单线接口方式:DS18B20 与微处理器连接时仅需要一 条口线即可 实现微处理器与 DS18B20 的双向通讯。 ? 在使用中不需要任何外围元件。 ? 可用数据线供电, 电压范围:+3.0+5.5 V。 ? 测温范围:-55 +125。固有测温分辨率为 0.5。 ? 通过编程可实现 912 位 的数字读数方式。 ? 用户可自设定非易失性的报警上下限值。 ?

37、 支持多点组网功能,多个 DS18B20 可以并 联在惟一的三线上,实现多 点测温。 ? 负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工 作 7 。 ? - 12 - 数显温度控制仪的设计 DS18B20 5.1 DS18B20 的内部结构 DS18B20 采用 3 脚 PR35 封 装或 8 脚 SOIC 封装,其内部结构如图 5.1 所示, 主要由 4 部分组成:位 ROM 、 64 温度传感器、非挥 发的温度报警触发器 TH 和 TL 、 配置寄存器。 图 5.1 DS18B20 的内部结构图 DS18B20 的管脚排列、各种 封装形式如图 5.2 所示, DQ 为数字信

38、号输入 / 输出端; 为电源地; 为外接电源输入端 GND VCC (两种电 源接法, 见图 5.3 所示 。 图 5.2 DS18B20 的管脚排列及各种封装形式 - 13 - 四川理工学院本科毕业(设 计论文 图 5.3(a DS18B20 的接法 图 5.3(b DS18B20 的接法 本设计采用的 DS18B20 封装及其外形 如图 5.4 所示:图 5.4(a DS18B20 的外形图 图 3.5(b DS18B20 的外形图 刻在 ROM 中的 64 位 序列号是出厂前被光刻好的, 它可以看作是该 DS18B20 的地址序列码。 64 位光刻 ROM 的排列是:开始 8 位 (28

39、H 是产品类型标号,接 着的 48 位是该 DS18B20 自身的序列号, 最后 8 位是前面 56 位的循环冗余 校验码 (CRC=X8+X5+X4+1 。 光刻 ROM 的作用是使每一个 DS18B20 都各不相同, 这样就可以实现一 根总线上挂 接多个 DS18B20 的目的。 - 14 - 数显温度控制仪的设计 DS18B20 中的温度传感器可完成对温 度的测量,以 12 位转化为例 :用 16 位 符号扩展的二进制补码读数形式提供,以 -25.0625 /LSB 形式表达, 其中 S 为 符号位。 (详见图 3.5. 表(1 :温度 /数据关系表 表 (1 LSB Byte MSB

40、Byte Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 23 Bit15 S 22 Bit14 S 21 Bit13 S 20 Bit12 S 2 ?1 Bit11 S 2 ?2 Bit10 2 ?3 Bit9 2 ?4 Bit8 26 25 24 Temperature(温度 T emperatur e(温度 温度 +125 +85 +25.0625 +10.125 +0.5 0 -0.5-10.125 -25.0625 -55 二进制 (十六进制 十六进制 Digital output (二进制 Digital output (十六进 制 0000 011

41、1 1101 0000 0000 0101 0101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000 1111 1111 0101 1110 1111 1110 0110 1111 1111 1100 1001 0000 图 3.5 07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH FF6FH FC90H 这是 12 位转化后得 到的 12 位数据, 存储在 DS18B20 的两个 8 比

42、特的 RA M 中, 二进制中的前面 5 位是符号位,如果测得 的温度大于 0,这 5 位为 0,只要将测 到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位 为 1,测到的 数值需要取反加 1 再乘于 0.0625 即可得到实际温度。 - 15 - 四川理工学院本科毕业(设计 论文 例如 +125的数字输 出为 07D0H , +25.0.0625的数字输出 为 0191H , -25.0625的数字输 出为 FF6FH , -55的数字输出为 FC90H 。 5.2 DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储 器包括一个高速暂存 RA

43、M 和一个非易失性 的可电擦除的 E2RA M, 后者存放高温度和低温度触发器 TH 、 TL 和结构寄存器 8 。 暂存存储器包含了 8 个连续字节,前两个字节是测得的温度信息,第一个字 节的内容是 温度的低八位,第二个字节是温度的高八位。第三个和第四个 字节 是 TH 、 TL 的易失性拷贝,第五个字节是 结构寄存器的易失性拷贝,这三个字节 的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。 第九个 字节是冗余检验字节。 表 (2 DS18B20 暂 存 储 器 分 布 字节地址 0 1 2 3 4 5 6 7 8 寄存器内 容 温度最低数字位 温度最高数字位 高温限值 低温

44、限值 保留 保留 计数剩余值 每度计数值 CRC 校验 该字 节个位的意义如下:TM R1 R0 1 1 1 1 1 低五位一直都是 1 , TM 是测试模式位,用于设置 DS18B20 在工 作模式还是 在测试模式。在 DS18B20 出厂时该位被设置为 0,用户不要去改动。 R1 和 R0 用 来设置分辨 率,如下表所示:- 16 - 数显温度控制仪的设计 分辨率和最大转换时间设置表:R1 R0 分辨率 温度最大转换 时间 0 0 9位 93.75ms 0 1 10 位 187.5ms 1 0 11 位 375ms 1 1 12 位 750ms 由此表看见,设定的分辨率越 高,所需要的温度

45、 -数据转换时间就越长。因 此,在实际应用中需要在分辨率和转换时间二者之间权衡考虑。在 芯片出厂时 R1 和 R0 均被配置为 “1” , 即工作在 12 位模式下。 DS18B20 分别工作在 9 位、 10 位、 位和 12 位模式下, 11 对应的温度分辨率依次是 0.5、 0.25、 0.125、 0.0625。当 DS18B20 接收带温度转 换命令 (44H后,开始启用转换。转换完成 后的温度值就以 16 位带符号扩展的二进制补码形式,存储在便笺 RA M 的第 0, 1 字节。在执行读便笺 RA M 命令后,可将这两个字节的温度值通过单线总线传送给 主 CPU , 高为字节中的符

46、号代表温度值是正还是为负 9 。 5.3 DS18B20 的操作命令 在硬件上, DS18B20 与单片机 的连接有两种方法,一种是 Vcc 接外部电源, GND 接地, 与单片机的 I/O 端口线相连; DQ 另一种是用寄 生电源供电, 此时 VCC 、 GND 接地, DQ 接单片机 I/O 端口线 10 。无论是内部寄生电源还是外部供电, I/O 端口线要接 5K 左右的上拉电阻 , 用以增加单片机管脚的驱动能力。 - 17 - 四川理工学院本科毕业(设计 论文 DS18B20 对 ROM 有五条操作命令,如下表所示:指 令 读 ROM 约定代码 33H 操 作 说 明 读 DS18B2

47、0 中的编码(即读 64 位地址 发出次命令之后,接着发出 64 位 ROM 编码,访问单线 符合 ROM 55H 总线上与该编码相对应的 DS18B20 使之作出响应, 为下一 步对该 DS18B20 的读写作准备。 搜索 ROM F0H 用于确定接在同一总线上 DS18B20 的个数和识别 64 位 ROM 地址,为操作各器件作好准备。 跳过 ROM CCH 忽略 64 位 ROM 地址, 直接向 DS18B20 发温度变换命令, 适用用于单片工作。 报警搜索 ECH 执行后, 只有温度超过设定值上限或者下限的片子才做 出响应。 DS18B20 对存储器有六条操作命令, 如下表 所示:指

48、令 约定代码 44H BEH 4EH 48H B8H B4H 操 作 说 明 温度转换 读暂存器 写暂存器 复制暂存器 重新调 E RA M 读电源供电方式 2 启动 DS18B20 进行温度转换 读暂存器 9 个字节内容 将数据写入暂存器 的 TH 、 TL 字节 把暂存器的 TH 、 TL 字节写到 E RA M 中 把 E RA M 中的 TH 、 TL 字节写到暂存器 TH 、 TL 字节 启动 DS18B20 发送电源供电方式的信号给主 CPU 2 2 CPU 对 DS18B20 的访问流程是:先对 DS18B20 初始化, 再进行 ROM 操作命令, 最后才能对存储器操作,数据操作

49、。 DS18B20 每一步操作都要 遵循严格的工作时 序和通信协议。如主机控制 DS18B20 完成温度转换这一过程,根据 DS18B20 的通 讯协 议,须经三个步骤:每一次读写之前都要对 DS18B20 进行复位,复位成功后 发送一条 ROM 指令, 最后发 送 RA M 指令, 这样才能对 DS18B20 进行预定的操作 6 。 - 18 - 数显温度控制仪的设计 5.4 DS18B20 的测温原理 DS18B20 的测温原理如图 5.6 所示。图中低温度系数振荡器晶振的振荡频率 受温度影响很小, 用 于产生固定频率的脉冲信号送给减法计数器 1,高温度系数 振荡器晶振随温度变化其振荡频率

50、明显改变, 所产生的信号作为减法计数器 2 的 脉冲输入。图中还隐含着计数门,当计数门打开时, DS18B20 就对低温度系数 振 荡器产生的时钟脉冲进行计数,进而完成温度的测量。计数门的开启时间由高温 度系数振荡器来决定,在每 次测量前,首先将 -55所对应的基数分别置入减法 计数器 1 和温度寄存器中,减法计数器 1 和温度寄存器被 预置减法计数,当减法 计数器 1 的预置值减到 0 时温度寄存器的值将减 1,减法计数器 1 的预置将重新 被 装入, 减法计数器 1 重新开始对低温度系数振荡器晶振产生的脉冲信号进行计 数。如此循环,直到减法计数 器 2 计数到 0 时,停止温度寄存器值的累

51、加,此时 温度寄存器中的数值即为所测温度 11 。图 3.6 中的斜 率累加器用于补偿和修正 测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关 闭就 重复上述过程, 直至温度寄存器值达到被测温度值。 这就是 DS18B20 的测温 原理。 斜率累加器 预置 低温度 系数振荡器 减法计数器 1 计数比较器 预置 增加 减到 0 温度寄存器 停止 高温度系数振荡器 减法计数器 2 减到 0 图 5.6 DS18B20 的内部测温电路框图 - 19 - 四川理工学院本科毕业 (设计 论文 5.5 DS18B20 使用 中注意事项 DS1820 虽然具有测温系统简单、测温精度高、

52、连接方便、占用口线少等优 点,但在实际应用中也 应注意以下几方面的问题:(1较小的硬件开销需要相对复杂的软件进行补偿,由于 DS1820 与微处理 器间 采用串行数据传送,因此,在对 DS1820 进行读写编程时,必须严格的保证 读写时序,否则将无法读取测温结 果。在使用 P L/M、 C 等高级语言进行系统程序 设计时,对 DS1820 操作部分最好采用汇编语言实现 12 。 (2在 DS1820 的有关资料中均未提及单总线上所挂 DS1820 数量问题,容 易使人误认为可以挂任意多个 DS1820, 在实际应用中并非如此。 当单总线上所 挂 DS1820 超过 8 个时, 就需要解决微处理器的总线驱动问 题,这一点在进行多 点测温系统设计时要加以注意 6 。 (3连接 DS1820 的总线电缆是有长度限制的。 试验中, 当采用普通信号电 缆传输长度超过 50m 时, 读取的测温数据将发生错误。 当将总线电缆改为双绞线 带 屏蔽电缆时,正常通讯距离可

温馨提示

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

评论

0/150

提交评论