(3) DS1820支持多点组网功能,多个DS1820可以并联在三线上,实现组网多点测温。 (4) DS1820在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(5) 温度范围-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。
(6) 可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(7) 在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8) 测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9) 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2.2.2 DS1820的工作原理
(1) DS1820的地址序列码。
DS1820的地址序列码光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是DS1820的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS1820自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS1820都各不相同,这样就可以实现一根总线上挂接多个DS1820的目的。
(2) DS1820温度值格式表。
DS1820中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。如表1所示。
表1 DS1820温度值格式表
LS Byte Bit7 2MS Byte 3 Bit6 2 Bit14 S 2Bit5 2 Bit13 S 1Bit4 2 Bit12 S 0Bit3 2 Bit11 S -1Bit2 2 Bit10 2 6-2Bit1 2 Bit9 2 5-3Bit0 2 Bit8 2 4-4Bit15 S 这是12位转化后得到的12位数据,存储在DS1820的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于
4
0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。
(3) 高速暂存存储器。
高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。其中第九个字节是冗余检验字节。其寄存器内容如表2所示。
表2 DS1820暂存寄存器分布 寄存器内容 温度值低位 (LS Byte) 温度值高位 (MS Byte) 高温限值(TH) 低温限值(TL) 配置寄存器 保 留 保 留 保 留 CRC校验值 字节地址 0 1 2 3 4 5 6 7 8 根据DS18B20的通讯协议,主机(单片机)控制DS1820完成温度转换必须经过三个步骤:每一次读写之前都要对DS1820进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS1820进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS1820收到信号后等待16~60微秒后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。ROM指令如表3所示,RAM指令如表4所示。
5
表3 ROM指令表
指 令 读ROM 约定代码 33H 功 能 读DS1820温度传感器ROM中的编码(即64位地址) 发出此命令之后,接着发出64 位ROM编码,访问单总线上与符合ROM 55H 该编码相对应的 DS1820 使之作出响应,为下一步对该DS1820 的读写作准备 搜索ROM 0F0H 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位ROM 地址。为操作各器件作好准备 跳过ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令,适用于单片工作 告警搜索命令 0ECH 执行后只有温度超过设定值上限或下限的片子才做出响应 表4 RAM指令表
指 令 约定代码 功 能 启动DS1820进行温度转换,12位转换时最长为750ms(9位温度变换 44H 为93.75ms),结果存入内部9字节RAM中 读内部RAM中9字节的内容 发出向内部RAM的3、4字节写上下限温度数据命令,紧跟该写暂存器 4EH 命令之后是传送两字的数据 将RAM中第3 、4字节的内容复制到EEPROM中 将EEPROM中内容恢复到RAM中的第3、4字节 读DS1820的供电模式。寄生供电时DS1820发送“0”,外接电源供电 DS1820发送“1” 读暂存器 0BEH 复制暂存器 重调 EEPROM 读供电方式 48H 0B8H 0B4H (6) DS1820使用中注意事项。
DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:
较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。
在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。
6
(7) DS18B20引脚图。
TO-92封装的DS18B20的引脚排列如图2所示,其引脚功能描述见下: GND:接地。
DQ:数据输入/输出引脚。 VDD:接+5V电源。
图2 DS18B20引脚图
2.3 STC89C52单片机
STC89C52是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
2.3.1 时钟电路
STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3所示。在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。
7
图3 内部方式时钟电路
2.3.2 复位及复位电路
复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表5所示。
表5 寄存器的复位状态
寄存器 PC ACC PSW SP DPTR P0-P3 IP IE TMOD 复位状态 0000H 00H 00H 07H 0000H FFH XX000000B 0X000000B 00H 寄存器 TCON TL0 TH0 TL1 TH1 SCON SBUF PCON 复位状态 00H 00H 00H 00H 00H 00H 不定 0XXX0000B RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。
复位操作有上电自动复位相按键手动复位两种方式:上电自动复位是通过外部复位电路的电容充电来实现的,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复
8
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于单片机与GSM模块无线温度传输系统 - 图文(3)在线全文阅读。
相关推荐: