八路温度采集与显示系统设计
第4字节的两个字节没有使用,但是在读回数据时,他们全部为逻辑1。还有一个第
9字节,可以用读暂存器命令读出。这个字节是以上8个字节的CRC码。
暂存器第5个字节是配置寄存器,用于确定温度值转换为数字值的分辨率。该配置寄存器字节各位的定义如表3.3所示。
表3.3 配置寄存器各位的定义
TM R1 R0 1 1 1 1 1 TM是测试模式位。R0、R1决定温度转换的分辨率位数,其定义如表3.4所
示。
表3.4 DS18B20的分辨率
R1 0 0 1 1 R0 0 1 0 1 分辨率 温度最大转换时间 9位 10位 11位 12位 93.75ms 187.5ms 375ms 750ms 3.2.2 DS18B20的特点
(1)1—Wire系统
1—Wire系统也称为单总线系统。单总线系统包括一个总线控制器和一个或多
个从机,DS18B20是从机。关于这种总线分三部分讨论:硬件配置、执行序列和单线信号(信号类型和时序)。
(2)硬件配置
单总线只有一条定义的信号线。重要的是每一个挂在总线上的器件都能在适当的时间驱动它。为此每一个总线上的器件都必须是漏极开路或者三态输出。DS18B20的单总线端口(I/O引脚)是漏极开路式的。一个多点总线由一个单总线或多个挂于其上的从机构成。单总线需要一个约5kΩ的上拉电阻[10]。
单总线的空闲状态是高电平。无论任何理由需要暂停某一执行过程时,如果还想恢复执行的话,总线必须停留在空闲状态。在恢复期间,如果单总线处于非活动(高电平)状态,位与位之间的恢复时间可以无限长。如果单总线停留在低电平超过
480μs,总线上的所有器件都被复位[10]。
(3)执行序列
13
八路温度采集与显示系统设计
通过单线总线端口访问DS18B20的协议如下:
①初始化;②ROM操作指令;③存储器操作指令;④执行/数据。 (4)初始化
通过单线总线的所有执行(处理)都从一个初始化序列开始。初始化序列包括一个由总线控制器发出的复位脉冲和跟在其后从机发出的存在脉冲。存在脉冲让总线控制器知道DS18B20在总线上且已准备就绪[12]。
(5)I/O信号
DS18B20需要严格的协议以确保数据的完整性。协议包括几种单线信号类型:
复位脉冲、存在脉冲、写0、写1、读0和读1。所有这些信号,除存在脉冲外,都是由总线控制器发出的。
和DS18B20间的任何通信都需要以初始化序列开始,初始化序列由一个复位脉冲和一个存在脉冲表示。一个复位脉冲跟着一个存在脉冲表明DS18B20已经准备好发送和接受数据(适当的ROM命令和存储器操作命令)。
总线控制器发出(TX)一个复位脉冲(一个最少保持480μs的低电平信号),然后释放总线,进入接收状态(RX)。单总线由5kΩ上拉电阻拉倒高电平。探测到
I/O引脚上的上升沿后,DS18B20等待15~60μs,然后发出存在脉冲(一个60~240μs的低电平信号)。
(6)读/写时间隙
DS18B20的数据读写是通过时间隙处理位和命令字来确认信息交换的。
①写时间隙
当主机把数据线从逻辑高电平拉倒逻辑低电平的时候,写时间隙开始。有两种写时间隙;写1时间隙和写0时间隙。所有写时间隙必须最少持续60μs,包括两个写周期间至少1μs的恢复时间。
I/O线电平变低后,DS18B20在一个15μs到60μs的窗口内对I/O线采样。
如果线上是高电平,就是写1,如果线上是低电平,就是写0。
主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的15μs内允许数据线拉倒高电平。
主机要生成一个写0时间隙,必须把数据线拉到低电平并保持60μs。R/错误!未找到引用源。
②读时间隙
14
八路温度采集与显示系统设计
当从DS18B20读取数据时,主机生成读时间隙。当主机把数据线从高电平拉到低电平时,写时间隙开始。数据线必须保持至少1μs;从DS18B20输出的数据在读时间隙的下降沿出现后15μs内有效。因此,主机在读时间隙开始后必须停止把I/O脚驱动为低电平15μs,以读取I/O脚状态。在读时间隙的结尾,I/O引脚将被外部上拉电阻拉倒高电平。所有读时间隙必须至少60μs,包括两个读周期间至少1μs的恢复时间。
3.2.3 DS18B20与单片机连接
由于DS18B20是但总线数字式温度传感器,内置了模数转换模块,所以只需按照前面介绍其三个端口各自的功能将其挂在单总线上即可,即VCC端口接电源,
DQ端口接单片机的P3.2端口,作为数据传送端口,并接一个5kΩ的上拉电阻,GND端口则接地,其硬件连接如图3.4所示。
图3.4 DS18B20与单片机硬件连接图
当系统正常运行时,对DS18B20进行初始化后开始采集到温度,采集温度后通过内置的模数转换模块对采集到的模拟量进行模数转换,转换成数字量之后通过
DQ端口将其送到单片机进行处理,处理之后送往显示。
3.3 显示模块硬件设计
3.3.1 LM041L液晶显示器的结构及其特点
标准的LCD字符型显示器模块的接口引脚名称和引脚功能如下[11]:
15
八路温度采集与显示系统设计
(1)GND:供电电源地。
(2)Vcc:供电电源正输入端(+5V)。 (3)Vo:液晶显示器对比对调整。
接正电源时对比度最弱,接地电源时对比度最高;使用时可以通过一个10kΩ的电位器调整对比度。
(4)RS:寄存器选择输入。
RS=0,选择指令寄存器。可以写指令,读忙标志或地址计数器;RS=1,选择
数据寄存器。可以写和读数据。
(5)R/错误!未找到引用源。:读写信号线。
高电平时进行读操作,低电平时进行写操作。当RS和R/错误!未找到引用源。为高电平时可以读忙信号;当RS为高电平R/错误!未找到引用源。为低电平时可以写入数据。
(6)E:命令使能端。
当E端由高电平跳变成低电平时,液晶模块执行命令。 (7)DB0~DB7(或D0~D7):8位双向数据线。 (8)BL1~BL4:背光板工作电压的输入端。
LM041L字符型显示器模块是4行×16个字符LCD显示器。该器件由64个
字符点阵块组成,可以显示ASCII码表中的所有可显示字符。LCD字符型显示器外形和引脚排列、名称如图3.5所示。
5×7点阵32个点阵玻璃板可视窗BL1BL2BL3BL4GNDVccDB0DB1DB2DB3DB4DB5DB6DB7R/WVoRSE
16
八路温度采集与显示系统设计
图3.5 LCD字符型显示器外形和引脚排列、名称
3.3.1 LM041L液晶显示器与单片机连接
通过上一节对LM041L液晶显示器的了解可以知道LM041L的DB0~DB7端口用作双向数据线,单片机的P0口也可作为数据输入输出端口,所以将LM041L的DB0~DB7链接到单片机的P1.0~P1.7,RS、R/错误!未找到引用源。及E端口分别与单片机的P3.5、P3.6及P3.7相连接,用来控制数据的读写及液晶显示器的工作状况。而Vcc和Vo则接电源,GND按照要求接地,LM041L与单片机的硬件连接如图3.6所示。
图3.6 液晶显示器与单片机硬件连接图
3.4 报警模块硬件设计
报警是微机控制系统的一项重要功能,主要用于保证生产过程正常运行和操作者 的生命安全。在生产过程中控制系统随时检测被控对象的一些重要参数,当超出允许范围时,控制系统便会发出声光报警信号,引起操作者注意以便采取相应的措施。智能型的报警系统不仅能够发出声光报警信号,甚至可以实现简单故障的自动处理[17]。
本系统在报警电路中分别安装了红色发光二极管和蜂鸣器,分别设置温度上限为
+90℃,温度下限为-10℃。当系统正常运行时,八路温度都在限定温度范围之内,
17