1、基于单片机的温度采集系统设计报告第 1 页 共 54 页摘 要在日常生活及工农业生产中,对温度的检测及控制时常显得极其重要。因此,对数字显示温度计的设计有着实际意义和广泛的应用。本文介绍一种利用单片机实现对温度只能控制及显示方案。本毕业设计主要研究的是对高精度的数字温度计的设计,继而实现对对象的测温。测温系数主要包括供电电源,数字温度传感器的数据采集电路,LED 显示电路,蜂鸣报警电路,继电器控制,按键电路,单片机主板电路。高精度数字温度计的测温过程,由数字温度传感器采集所测对象的温度,并将温度传输到单片机,最终由液晶显示器显示温度值。该数字温度计测温范围在-55+125,精度误差在0.5以内
2、,然后通过LED 数码管直接显示出温度值。数字温度计完全可代替传统的水银温度计,可以在家庭以及工业中都可以应用,实用价值很高。关键词:单片机:ds18b20:LED 显示:数字温度.AbstractIn our daily life and industrial and agricultural production, the detection and control of the temperature, the digital thermometer has practical significance and a wide range of applications .This art
3、icle describes a programmer which use a microcontroller to achieve and display the right temperature by intelligent control .This programmer mainly consists by temperature control sensors, MCU, LED display modules circuit. The main aim of this thesis is to design high-precision digital thermometer a
4、nd then realize the object temperature measurement. Temperature measurement system includes power supply, data acquisition circuit, buzzer alarm circuit, keypad circuit, board with a microcontroller circuit is the key to the whole system. The temperature process of high-precision digital thermometer
5、, from collecting the temperature of the object by the digital temperature sensor and the temperature transmit ted to the microcontroller, and ultimately display temperature by the LED. The digital thermometer requires the high degree is positive 125and the low degree is negative 55, the error is le
6、ss than 0.5, LED can read the number. This digital thermometer could 基于单片机的温度采集系统设计报告第 2 页 共 54 页replace the traditional mercurial thermometer, can be used in family or industrial and production, it has a great value.Key words: MCU: DS18B20 : LED display: Digital thermometer。基于单片机的温度采集系统设计报告第 3 页 共
7、54 页1.绪 论 31.1 课题背景 31.2 立题的目的和意义 41.3 温度控制系统的预期功能和基本原理 41.4 本系统主要研究内容 62.多功温度控制系统总体分析与设计 72.1 温度控制系统的组成和工作原理 72.2 温度采集转换系统 82.3 升降温控制系统 102.4 键盘显示系统 112.5 报警系统 122.6 电源系统 132.7 硬件电路设计 142.7.1 系统硬件配置 142.7.2 主要元件简介 143.软件系统设计 283.1 软件总体设计 283.2 系统初始化函数 303.3 控制函数 303.4 键盘显示函数 313.5 降温函数 323.6 曲线算法 3
8、33.7 采样 34结 论 35致 谢 37参考文献 38系统源程序 39基于单片机的温度采集系统设计报告第 4 页 共 54 页基于 8051 单片机的温度采集器1 绪 论1.1 课题背景温度控制是自动控制经常讨论的课题之一,它代表了一类自动控制的方法。而且其应用十分广泛,可以说在生产生活中无处不在,例如锅炉、电冰箱等。而由温度控制带来的时滞效应难题始终困扰着实际应用。随着科学技术的高速发展,温度控制技术得到了很大的进步,其应用的领域也不断的扩大。本文将使用 8051 型单片机对温度控制的基本原理实例化,设计一个带有多功能的、能够减小时滞效应的温度采集控制系统。目的是利用毕业设计的这段时间学
9、习一种利用 8051 型单片机进行温度采集控制的方法。1.2 立题的目的和意义8051 型单片机是常用的控制芯片,在智能仪器仪、工业检测控制、机电一体化等方面取得了令人瞩目的成果,用其作为温度采集控制系统的实例也很多。使用 8051 单片机能够实现温度全程的自动控制,而且 8051 单片机易于学习、掌握,性能价格比高。使用 8051 型单片机设计温度采集控制系统,可以即时、精确的反映温度变化。完成诸如升温到特定温度、降温到特定温度、在温度点保持恒温等多种控制方式,可以应用到空调、锅炉、电热器一类的设备上。基于单片机的温度采集系统设计报告第 5 页 共 54 页1.3 温度控制系统的预期功能和基
10、本原理多功能温度控制系统的设计初衷是满足实际生产中温度控制的需要。为此本系统针对实际应用开发了两种温度控制的模式。第一种控制模式类似于空调,锅炉等需要保持在一定区间内恒温的设备,他们都需要有加温或降温功能,有的当温度超过一定上限时会报警。本系统中把这种工作模式命名为 Control 模式,简写为 C 模式。系统工作在这种模式下时,首先系统会提示用户输入温度的上限与下限的温度值。然后根据实际温度的情况决定采取那些方案。如下图 131 所示:用 户 设 定 的 下 限 温 度 用 户 设 定 的 下 限 温 度当 前 实 际 温 度图 131 第一种控制模式示意图该时刻的实际温度低于用户设定的下限
11、温度,所以此时刻系统正处于升温状态,直到实际温度到达上限温度值,系统才停止升温。反之,如果实际温度高于用户设定的下限值时,系统处于降温状态。当实际温度超过用户设定的上、下限温度时,系统还会通过声音、警报灯来报警,同时启动相应的降升温措施。第二种模式在日常生产中是十分普遍的,例如铸造模具、热时效处理等都需要完成“升温恒温降温”反复的过程。本系统模拟了热时效的处理过程,采用“升温恒温升温恒温降温恒温降温”的梯形曲线过程,如下图 132 所示的:基于单片机的温度采集系统设计报告第 6 页 共 54 页温度 时 间 秒图 132 图 131 第二种控制模式示意图这种模式对温度控制的要求比较高,技术指标
12、也很多,例如必须保持采样时间有单位并且均匀、升温降温的过程要稳定、迅速等。常用的温度控制算法都采用 PID 算法。本设计从成本、设计复杂度、实用性及开发时间诸多因素的考虑采用了 DDC 算法,主要体现在升降温过程中。系统为典型的反馈式温度控制系统,组成部分见图 133。其中数字控制器的功能由 8051 单片机实现。图 133 温度控制系统组成框图1.4 本系统主要研究内容本系统所要完成的任务是:(1)能够实时、准确的采样温度值。(2)能够以 DDC 控制方式,进行升温、降温过程。(3)完成温度梯形曲线的变化过程。(4)更加人性化的设计。上、下界限温度能够用户输入并显示,声音、警报灯的报警功能等
13、。基于单片机的温度采集系统设计报告第 7 页 共 54 页2.多功温度控制系统总体分析与设计2.1 温度控制系统的组成和工作原理多功能温度控制系统能是以 8051 单片机作为核心,周边设备使用 DS18B20型单线智能温度传感器、液晶显示芯片 74HC00、继电器及其驱动电路、红、蓝色发光二极管、蜂鸣器、电加热器、直流电机风扇等。经 DS18B20 采集到的数字量与用户设定的温度值进行比较,即可得到现场温度和设定温度的偏差。用户设定值由键盘输入。由 8051 单片机构成的数字控制器按最小拍进行运算,计算出所需要的控制量。数字控制器的输出经标度变换后送给 8051 内部定时计数器转变为高低电平的
14、不同持续时间,送至继电器及其驱动电路,触发晶闸管并改变其导通角大小,从而控制电加热器的加热电压,起到控温的作用。系统基本硬件结构框图如图 211 所示。其功能和原理如下:(1)8051:负责中心运算和控制,协调系统各个模块的工作。(2)温度温度传感器 DS18B20:负责温度与数字量的转化。其精度可精确到小数点后四位。(3)功率模块:采用随机型固态继电器控制加热设备的方式。随机型固态继电器采用低电压输入方式,一般为 DC310V,用可控硅做输出器件。这样控制部分与大功率部分实现隔离,可抑制干扰。基于单片机的温度采集系统设计报告第 8 页 共 54 页图 211 系统基本硬件结构框图(4)人机交
15、互模块:用 4X1 键盘和液晶显示器构成友善的人机交互界面。(5)抗干扰模块:使用看门狗芯片 X25045,其看门狗功能将对系统起到有效的监视作用,内含 512B 串行 E2PROM,具有掉电非易失特性,在本系统中做数据备份用。(6)红、蓝色 LED,蜂鸣器:负责系统的报警功能。当温度超过用户设定的上、下限值时系统将报警。LED 灯在单片机的控制下点亮,同时蜂鸣器发出报警声,通知用户采取相应的措施。2.2 温度采集转换系统在设计此类系统时,传统的方法是通过热敏电阻或模拟集成温度传感器采集温度的模拟量,再用 A/D 器将转换后的数字量送给单片机,这些方案的主要缺点是精度差, (例如典型的模拟集成
16、温度传感器 AD590 的精度仅为 0.5)并且因为采用了 A/D 转换器使电路过于复杂。基于简化电路,提高性价比的考虑,本设计采用集成化智能型温度传感器 DS18B20 完成现场温度的采集。系统电路图如图 221 所示图 221 温度转换采集系统电路图基于单片机的温度采集系统设计报告第 9 页 共 54 页DS18B20 是美国 DALLAS 公司生产单线智能温度传感器,其采用 DALLAS 公司独特的“单线(1Wire)总线”专有技术,通过串行通信接口(I/O)直接输出被测温度值(912 位二进制数据,含符号位) 。其工作在在 12 位模式下时,所对应的温度分辨力高达 0.0625。温度/
17、数字转换时间的典型值为93.75ms。根据定义,单线总线只有一根线,这意味着总线上每个器件只能分时驱动单线总线,并要求每个器件必须有漏极开路输出或三态输出的特性。 DS18B20 的单线接口 I/O 就属于漏极开路输出。在单线总线上必须接上拉电阻,其电阻值约为 5K(标称值可取 5.1 K 或 4.7 K) 。当单线总线上挂有多个从属器件时,也称之为多点总线。单线总线杂空闲状态下呈高电平。操作单线总线时,必须从空闲状态开始。单线总线加低电平的转换时间超过 480us 时,总线上所有的器件均被复位。在主 CPU 发出复位脉冲后,从属器件就发出应答脉冲(PRESENCE PULSE) ,来通知主
18、CPU 它已经作好了接收数据和命令的准备工作。DS18B20 与微处理器的电路接法如图 222 所示:寄生电源接法外部电源接法图 222 DS18B20 与微处理器连接图基于单片机的温度采集系统设计报告第 10 页 共 54 页而传统温度采集转换系统则通过温度传感器集成芯片将温度变化量转换成电流值变化量,输入放大电路转换为电流变化量,再输入 ADC0809 将模拟信号转换为数字信号。利用单片机采集并存储采集到的数据。系统电路图如下图223 所示。图 223 传统温度采集转换系统电路图2.3 升降温控制系统本系统使用 DDC 控制技术。DDC 控制是当现场温度在用户设定的上、下限温度范围内时,加
19、热器或降温器的工作随着温度接近临界值而相应调整的一种控制方式,通常所说的 DDC 段一般定为5,当温度变化超出这个范围时,加热器或降温器被控制为 DDC 控制,一般有下面二种控制方式:时间 DDC 型、电流 DDC 型,DDC 控制能消除“开关“型控制产生的锯齿波形,减少对电网的冲击,如图 231 的 DDC 控制一般不用在负载变化范围较大而控制精度又较高的场合。基于单片机的温度采集系统设计报告第 11 页 共 54 页图 231 DDC 控制下的现场温度曲线此系统由继电器及其驱动电路,直流电机风扇,散热片及电加热器组成,完成温度的升降。利用继电器及其驱动电路,直流电机风扇相组合可实现风扇的转
20、速控制,驱动电路实际上是一个复杂的放大电路,如图 232 所示: 图 232 继电器及其驱动电路电路图连接到直流电机风扇后,转动方向是由电压来控制的,电压为正则正转,电压为负则反转。转速大小则是由输出脉冲的占空比来决定的,正向占空比越大则转速越快,反向转则占空比越小转速越快。见下面图 233:图 233 直流电机风扇控制脉冲图在程序设计中用 P1.4 控制送出脉冲。P1.4 为“1”时,输出 12V;P1.4 为“0”时,输出 0V。用输出脉冲后的延时时间来决定输出电压值,具体的情况将在第三章中说明。2.4 键盘显示系统本系统的用户界面利用人机工程学原理,运用系统科学理论和系统科学方法进行设计
21、,使其能够适合操作者的应用需求。LCD 的应用使操作者能够用容基于单片机的温度采集系统设计报告第 12 页 共 54 页易理解的方式显示控制系统的当前状态和操作者关心的信息,例如当前时间、当前温度、上限温度、下限温度。系统给操作者提供容易理解和充分的信息提示,以方便操作者的正确使用。同时,还考虑了用户操作界面有较好的容错能力,提高了系统的整体综合能力。系统的连接图如图 241 所示。图 241 键盘显示系统电路图本设计由 74HC00 芯片控制的 4 键键盘和液晶显示器组成,以实现用户的输入与数据输出。第一个键的作用是配合第三个键(加 1)和第四个键(减 1)对进行时间设定,第二个键的作用是配
22、合第三个键(加 1)和第四个键(减 1)对上、下限温度进行设定。2.5 报警系统报警系统由声报警和光报警组成。声报警通过 P1.6 接控制爱迪克系统的音效模块发声,用单片机控制 P1.6 产生一定频率的方波就可以实现音效模块的发声。音效模块是一个带有扬声器的放大电路。其电路图如图 251 所示。基于单片机的温度采集系统设计报告第 13 页 共 54 页图 251 报警系统(声报警)电路图光报警由 1 个红色发光二极管和 1 个蓝色发光二极管组成,一共需要 2 根数据线,使用单片机直接控制。要实现的功能是在第一种工作模式下时,当现场温度高于用户设定的上限温度时,红色发光二极管点亮;当现场温度低于
23、用户设定的下限温度时,蓝色发光二极管点亮。在第二种工作模式下,保持恒久熄灭状态。其电路图如图 252 所示。图 252 报警系统(光报警)电路图2.6 电源系统电源的滤波、保护电路对电源有重要的意义,系统能否安全使用,很大程度上取决于电源的稳定和保护。本设计使用 4 个二极管构成的桥式整流电路为其整流电路,如图 261 所示。滤波电路选用电容滤波,稳压选用三稳压块7805 和 7812,此电路简单适用。继电器和直流电机风扇用到 12V 电源,单片机等使用+5V 电源。本电源系统由 U1(7805) 、U2(7812)和发光二极管 LED 及相关阻容元件构成,其中 U1 输出稳定的 5V 电压,
24、U1 输出稳定的 12V 电压。发光二极管在这里作为电源指示,R3 为 LED 的限流电阻。C8,C9,C10,C11 为电源滤波电容。 图 261 电源系统电路图基于单片机的温度采集系统设计报告第 14 页 共 54 页2.7 硬件电路设计2.7.1 系统硬件配置采用总线型结构的设计。由 P0 口作数据线,P0 口和 P2 口共同作地址线。2.7.2 主要元件简介8051 单片机8051 是 Intel 公司于 80 年代初推出的 8 位嵌入式微控制器(内部数据总线为 8 位,外部数据总线为 8 位) ,它与 MCS96 系统中的其它芯片相比,具有性能高、功能全、售价低廉、使用方便(48PI
25、NDIP)等优点。8051 在工业应用方面有许多明显的特点,它具有灵活方便的 8 位总线外围支援器扩展功能,而在数据处理方面又有 8 位微机的快速功能。由于大的高度集成化已把许多常驻用的输入检测输出控制通道都制作在同一块硅片上,大大地灵活了外部连线,增强了系统的稳定性并且速度快(时钟 12MHz) ,非常适合于工业环境下安装使用。因此本系统 CPU 选用 8051 芯片。8051 单片机引脚采用 40 双列直插式封装结构。其引脚图如图 271 所示。8051CPU 中的主要元件有:高速寄存器阵列、特殊功能寄存器(SFR) 、寄存器控制器和算术逻辑单元(RALU) 。它与外部通讯是通过特殊功能寄
26、存器 SFR或存储器控制器进行的。8051CPU 的主要特色是体积小,重量轻,抗干扰能力强,售价低,使用方便。此外,通过 SFR 还可以直接控制 I/O、A/D、PWM、串行口等部件的有效运行。CPU 内部的一个控制单元和两条总线寄存器阵列和 EALU 连接起来。这两条总线是:16 位地址总线(A-BUS)和 8 位数据总线(D-BUS) 。数据总线仅在基于单片机的温度采集系统设计报告第 15 页 共 54 页RALU 与寄存器阵列或 SFR 之间传送数据,地址总线用作上述数据传送的地址总线或用作与寄存器控制器连接的多路复用地址/数据总线。CPU 对片内 RAM 访问是直接访问和通过寄存器 R
27、0,R1 间接访问的。8051 工作时所需的时钟可通过其 XTALL 输入引脚由外部输入,也可采用芯片内部的振荡器。8051 的工作频率为 612MHz。在本系统中采用 11.0592MHz频率。图 271 8051 单片机引脚图8051 每次上电时必须复位。所谓复位,就是让单片机应用系统在正式工作之前处于一种特定状态,即正式工作前的起点,这个任务就是由复位电路来完成。8051 单片机在引脚 RESET/Vpp 出现高电平时实现复位和初始化。RESET 由高电平变低电平后,单片机从 0000h 地址开始执行程序,其初始复位不影响内部 RAM 的状态,包括工作寄存器 R7R0。在正常运行的情况下
28、,要实现复位操作,必须使 RESET 引脚至少保持两个机器周期的高电平。CPU 在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至 RESET 端电平变低。复位期间不产生 ALE 及 PSEN 信号。8051 的内部结构框图如图 272 所示。基于单片机的温度采集系统设计报告第 16 页 共 54 页图 272 8051 单片机内部结构框图2. 1602 液晶显示器液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。本设计使用的字符型液晶模块是一种用 5x7 点阵图形来显示字符的液晶显示器,容量为 1 行 2 行
29、 16 个字。1602 采用标准的 16 脚接口,其中 VSS 为地电源,VDD 接 5V 正电源,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影” ,可通过一 10K 的电位器调整对比度。RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 RW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据。E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。D
30、0D7 为 8 位双向数据线。1602 液晶模块内部的字符发生存储器(CGROM)存储了 160 个点阵字符图形,基于单片机的温度采集系统设计报告第 17 页 共 54 页如图 2-7-1 所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是 01000001B(41H) ,显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“A” 。1602 液晶模块内部的控制器共有 11 条控制指令,如表 271 所示:表 271 1602 液晶模块指令表指令 S /W7 6 5 4 3 2 1 0清显示
31、0 0 0 0 0 0 0 0 0 1光标返回 0 0 0 0 0 0 0 0 1 *置输入模式 0 0 0 0 0 0 0 1 /DS显示开/关控制 0 0 0 0 0 0 1 D C B光标或字符移位 0 0 0 0 0 1 /C/L* *置功能 0 0 0 0 1 L N F * *置字符发生存储器地址 0 0 0 1 字符发生存储器地址(ACG)置数据存储器地址 0 0 1 显示数据存储器地址(ADD)读忙标志或地址 0 1 F 计数器地址(AC)写数到 CGRAM 或 DDRRAM 1 0 要写的数据从 CGRAM 或 DDRRAM 1 1 读出的数据1602 液晶模块的读写操作、屏
32、幕和光标的操作都可以通过指令编程来实现。(说明:1 为高电平、0 为低电平) 指令 1:清显示,指令码 01H,光标复位到地址 00H 位置 指令 2:光标复位,光标返回到地址 00H 指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标基于单片机的温度采集系统设计报告第 18 页 共 54 页的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令 5:光标或显示
33、移位 S/C:高电平时移动显示的文字,低电平时移动光标 指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符 指令 7:字符发生器RAM 地址设置 指令 8:DDRAM 地址设置 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令 10:写数据 指令 11:读数据1602 液晶显示模块可以和单片机 8051 直接连接,电路如图 273 所示。图 2731602 液晶模块与 8051 单
34、片机连接图液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。基于单片机的温度采集系统设计报告第 19 页 共 54 页1602 的内部显示地址。表 272 1602 液晶模块内部显示地址图1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16比如第二行第一个字符的地址是 40H,那么是否直接写入 40H 就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实际写入的数据应该是 0100000
35、0B(40H)+10000000B(80H)=11000000B(C0H)以下是在液晶模块的第二行第一个字符的位置显示字母“A”的程序:RS EQU P3.0RW EQU P3.1E EQU P3.5ORG 0000HMOV P1,#00000001B ;清屏ACALL ENABLEMOV P1,#00111000B ;8 位 2 行 5x7 点阵ACALL ENABLEMOV P1,#00001111B ;显示器开、光标开、闪烁开ACALL ENABLEMOV P1,#00000110B ;文字不动,光标自动右移ACALL ENABLEMOV P1,#0C0H ;写入显示起始地址(第二行第一
36、个位置)ACALL ENABLEMOV P1,01000001B ;字母 A 的代码SETB RS ;RS=11 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F2 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F基于单片机的温度采集系统设计报告第 20 页 共 54 页CLR RW ;RW=0CLR E ;E=0ACALL DELAYSETB E ;E=1AJMP $ENABLE: CLR RS ;写入控制命令的子程序CLR RWCLR EACALL DELAYSETB ERETDELAY: MOV
37、P1,#0FFH ;判断液晶显示器是否忙的子程序CLR RSSETB RWCLR ENOPSETB EJB P1.7,DELAY ;如果 P1.7 为高电平表示忙就循环等待RET程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。注意显示字符时光标是自动右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序 DELAY,然后输入显示位置的地址 0O0H,最后输入要显示的字符 A 的代码 41H。3. DS18B20 数字温度传感器DS18B20 数字温度计是 DALLAS 公司生产的 1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线
38、路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。一、DS18B20 的性能特点(1)DS18B20 采用 DALLAS 公司独特的“单线(1-Wire)总线”专有技术,基于单片机的温度采集系统设计报告第 21 页 共 54 页通过串行通信接口(I/O)直接输出被测温度值(9 位二进制数,含符号位) 。(2)测温范围是55+125。其分辩力为 0.5,但若采用高分辨力模式,分辩力可达 0.1。温度/数字量转换时间的典型值为 200ms,最大值为500 ms。(3)内含 64 位经过激光修正的只读存储器 ROM,扣除 8 位产品系列号和8 位循环冗余校验码 CRC 之后,产品序号占 4
39、8 位。出厂前就作为 DS18B20 唯一的产品序号,存入其 ROM 中,在构成大型温控系统时,允许在单线总线上挂接多片 DS18B20。(4)适配各种单片机或系统机。(5)用户可分别设定各路温度的上、下限并写入随机存储器 RAM 中。利用报警搜索命令和寻址功能,可迅速识别出发生了温度越限报警的器件。(6)内含寄生电源。该器件既可以由单线总线供电,也可选用外部+5V 电源(允许电压范围是 3.45.5V) ,进行温度/数字转换时的工作电流约为 1.5 mA,待机电流仅为 25uA,典型功耗为 5mW。二、DS18B20 的引脚介绍PR35 封装的 DS18B20 的引脚排列图 274,其引脚功
40、能描述见表 2-7-1。 图 274 DS18B20 的引脚排列图DS18B20 详细引脚功能描述序号名称引脚功能描述1 GND 地信号2 DQ 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3 VDD 可选择的 VDD 引脚。当工作于寄生电源时,此引脚必须接地。基于单片机的温度采集系统设计报告第 22 页 共 54 页表 273 DS18B20 引脚功能描述图三、DS1820 的工作原理DS1820 的内部结构如图 275 所示。由图 275 可知,DS1820 由三个主要数字器件组成: 64bit 闪速 ROM; 温度传感器;非易失性温度报警触发器 T
41、H 和 TL。64bit 闪速 ROM 的结构如图 276 所示图 275 DS1820 内部结构图图 276 DS1820 内部的 64bit 闪速 ROM 结构图它既可寄生供电也可由外部电源供电。在寄生供电情况下,当总线为高电平时,DS1820 从总线上获得能量并储存在内部电容上 当总线为低电平时,由电容向 DS1820 供电。DS1820 的测温原理:内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。计数器设置为-55时的值,如果计数器到达 0 之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-
42、55。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。如果门电路仍然未关闭,则重复以上过程。温度表示值为 9bit,高位为符号位,其结构如下:对 DS1820 的使用,多采用单片机实现数据采集。处理时,将 DS1820信号线与单片机一位口线相连,单片机可挂接多片 DS1820,从而实现多点温度检测系统。系统对 DS1820 的操作以 ROM 命令和存储器命令形式出现。基于单片机的温度采集系统设计报告第 23 页 共 54 页(1)ROM 命令代码及其含义READROM 命令代码33H:如果只有一片 DS1820,可用此命令读出其序列号,若在线 DS1
43、820 多于一个,将发生冲突。MATCHROM 命令代码55H:多个 DS1820 在线时,可用此命令匹配一个给定序列号的 DS1820,此后的命令就针对该 DS1820。SKIPROM 命令代码CCH:此命令执行后的存储器操作将针对在线的所有 DS1820。SEARCHRDH 命令代码F0H:用以读出在线的 DS1820 的序列号。ALARMSEARCH 命令代码ECH:当温度值高于 TH 或低于 TL 中的数值时,此命令可以读出报警的 DS1820。(2)存储器操作命令代码及其含义WRITESCRATCHPAD 命令代码4EH:写两个字节的数据到温度寄存器。READSCRATCHPAD 命
44、令代码BEH:读取温度寄存器的温度值。COPYSCRATCHPAD 命令代码48H:将温度寄存器的数值拷贝到EERAM 中,保证温度值不丢失。CONVERT 命令代码44H:启动在线 DS1280 做温度 A/D 转换。RECALL EE 命令代码B8H:将 EERAM 中的数值拷贝到温度寄存器中。READPOWERSUPPLY 命令代码B4H:在本命令送到 DS1280 之后的每一个读数据间隙,指出电源模式:“0”为寄生电源;“1”为外部电源四、DS18B20 的使用方法由于 DS18B20 采用的是 1Wire 总线协议方式,即在一根数据线实现数据的双向传输,而对 AT89S51 单片机来
45、说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对 DS18B20 芯片的访问。由于 DS18B20 是在一根 I/O 线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20 有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时基于单片机的温度采集系统设计报告第 24 页 共 54 页序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在
46、先。DS18B20 的复位时序 DS18B20 的读时序对于 DS18B20 的读时序分为读 0 时序和读 1 时序两个过程。对于 DS18B20的读时隙是从主机把单总线拉低之后,在 15 秒之内就得释放单总线,以让DS18B20 把数据传输到单总线上。DS18B20 在完成一个读时序过程,至少需要60us 才能完成。DS18B20 的写时序对于 DS18B20 的写时序仍然分为写 0 时序和写 1 时序两个过程。对于DS18B20 写 0 时序和写 1 时序的要求不同,当要写 0 时序时,单总线要被拉低至少 60us,保证 DS18B20 能够在 15us 到 45us 之间能够正确地采样 IO 总线上的“0”电平,当要写 1 时序时,单总线被拉低之后,在 15us 之内就得释放单总线。基于单片机的温度采集系统设计报告第 25 页 共 54 页X25045 看门狗芯片在微机智能测控系统的设计中,断电数据保存功能、看门狗功能、上电掉电复位功能、电源电压监控功能等对系 统是非常重要的。美国 Xicro 公司生产的 X25045 芯片集上述功能于一身,这种组合大大简化了硬件设计,提高了系统的 可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗。X25045 芯片的引脚排列如图 277 所示。图 277 看门狗芯片 X25045