黑龙江八一农垦大学毕业设计(论文) (c) P2口(21脚~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。
(d) P3口(10脚~17脚):P3.0~P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。P3口的第2功能如表2所示。
表2 单片机P3.0管脚含义
引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
第2功能
RXD(串行口输入端0) TXD(串行口输出端)
INT0(部中断0请求输入端,低电平有效) INT1(中断1请求输入端,低电平有效) T0(时器/计数器0计数脉冲端) T1(时器/计数器1数脉冲端)
WR(部数据存储器写选通信号输出端,低电平有效) RD(部数据存储器读选通信号输出端,低电平有效)
综上所述,MCS—51系列单片机的引脚作用可归纳为以下两点: (1)单片机功能多,引脚数少,因而许多引脚具有第2功能;
(2)单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线。
3.2 温度采集模块
采用DS18B20作为测温电路的温度传感器。DS18B20的数字温度输出通过 “ 一线 ” 总线( 1-Wire是一种独特的数字信号总线协议,它将独特的电源线和信号线复合在一起,仅使用一条口线;每个芯片唯一编码,支持联网寻址、零功耗等待等,是所需硬件连线最少的一种总线)这种独特的方式,可以使多个 DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大可能性。它在测温精度、转换时间、传输距离、分辨率等方面比其他温度传感器有了很大的进步,给用户带来了更方便的使用和更令人满意的效果。
3.2.1 温度传感器DS18B20介绍
DSl8B20温度传感器是美国DALLAS半导体公司继DSl820之后最新推出的智能改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测
—7—
黑龙江八一农垦大学毕业设计(论文) 温度并且可根据要求通过简单的编程实现9~l2位的数字直读方式。可以分别存93.75ms和750ms内完成9位和12位的数字量,并且从DSl8B20读出的信息或写入DSl8B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接DSl8B20供电,而无需额外电源。因而使用DSl8B20可使系统结构更趋简单,可靠性更高。他在测温精度,转换时间,传输距离,本文系统地介绍了基于DS18B20的温度测量控制系统的组成、设计方案、电路原理、程序设计过程。DS18B20多点温度测量系统是以AT89C52单片机作为控制核心,智能温度传感器DS18B20为控制对象,用数码管显示,运用C语言实现系统的各种功能。设计完成了冷库温度的监控和报警等令人满意的效果。DSl8B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如图3所示。
存储器与控制逻辑64位ROM和单线接口Vdd温度传感器高温触发器TH高速缓存低温触发器TL配置寄存器8位CRC发生器 图3 DS18B20内部结构图
DS18B20的内部结构主要有四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图4所示。
—8—
黑龙江八一农垦大学毕业设计(论文)
图4 DS18B20的引脚
DS18B20的引脚说明如下: GND :地
DQ :数据I/O VDD :电源 NC :空脚
64位激光ROM开始8位是产品类型的编号,接着是每个器件的惟一的序号共有48位,最后8位是前56位的CRC校本文系统地介绍了基于DS18B20的多点温度测量控制系统的组成、设计方案、电路原理、程序设计以及系统仿真过程。DS18B20冷库温度监控报警系统是以AT89C52单片机作为控制核心,智能温度传感器DS18B20为控制对象,用数码管显示,运用C语言编程实现系统的各种功能。设计完成温度的测量,与上下限温度报警值设置。借助单片机编程软件Keil实现了系统软、硬件的交互联调,并结合数码管、DS18B20和AT89C52单片机最小系统进行了电路焊接和调试,实现了课题设计目的。
DSl8B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除EEPRAM。后者用于存储TH,TL值。数据先写入RAM,经校验后再传给EEPRAM。而配置寄存器为高速暂存器中的第5个字节,他的内容用与确定温度值的数字转换分辨率,DSl8B20 工作时按此寄存器中的分辨率将温度转换为相应精度的数值。低5位一直都是1,TM是测试模式位,用于设置DSl8B20在工作模式还是在测试模式。在DSl8B20出厂时该位被设置为0,用户不要去改动,Rl和R0决定温度转换精度位数。
因此,设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要在分辨率和转换时间权衡考虑。高速暂存存储器除了配置寄存器外,还有其他8个字节组成,其分配如表3所示。其中温度信息(第l,2字节),TH和TL值第3,4节,第6~8字节,表现为全逻辑1;第9字节读出的是前面所有的8字节的CRC码,可用来保证通信正确。
—9—
黑龙江八一农垦大学毕业设计(论文) R1 0 0 1 1
R0 0 1 0 1
分辨率 9 10 11 12
温度最大转换时
间/ms
93.75 187.5 275.00 750.00
表3数据分辨率和转换时间
当DSl8B20接收到温度转换命令后,开始启动转换,如表3所示。转换完成后的温度值就以16位带符号扩展到二进制补码形式储存在高速暂存存储器的第l,2字节。单片机可通过单线接口读到该数据,读取时低位在前面,高位在后,数据格式以0.0625℃/LSB形式表示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。
在DSl8B20完成温度变换之后,温度值与贮存TH和TL内的触发值相比较因为这些寄存器仅仅是8位,所以0.5℃位在比较时被忽略。TH或TL的最高有较位直接对应于l6位温度奇存器的符号位。如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位。每次温度测量更新此标志。只要告警标志置位,DSl8B20将对告警搜索命令做出响应。这允许并联连接许多DSl8B20,同时进行温度测量。如果某处温度超过极限,那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件。
3.2.2 DSl8B20具体参数及工作方式
参数特性:
(1)独特的单线接口只需l个接口引脚即可通信
(2)多点综合测温能力使分布式温度检测应用得以简化 (3)不需要外部元件 (4)可用数据线供电
(5)需备份电源
(6)测量范围从-55℃至+125℃增量值为0.5℃ (7)以9位数字值方式读出温度
(8)在1秒(典型值)内把温度变换为数字 (9)用户可定义的非易失性的温度告警设置
(10)告警搜索命令识别和寻址温度在编定的极限之外的器件温度告警情况 (11)应用范围包括恒温控制工业系统消费类产品温度计或任何热敏系统
—10—
黑龙江八一农垦大学毕业设计(论文) 极限参数:
(1)任何引脚相对于地的电压-0.5V至+7.0V (2)运用温度-55℃至+125℃ (3)贮存温度-55℃至+125℃ (4)焊接温度260℃/l0秒
表4部分温度转换值
温度 +125℃ +85℃ +25.0625℃ +10.125℃ +0.5℃ 0℃ -0.5℃ -10.125℃ -25.0625℃ -55℃
输入(2进制) 0000 0111 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 1111 0101 1110 1110 1110 0110 1111
输出(16进
制) 07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH EE6FH FE90H
3.2.3 DS18B20接口电路
图5温度传感器接口电路图
DS18B20控制方法
DS18B20有六条控制命令:
温度转换 44H 启动DS18B20进行温度转换
—11—