火灾自动报警系统设计
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图3.5所示。
64 位 ROM 和 单 线 接 口 C 高 速存储器与控制逻温度传感器 高温触发器TH 低温触发器TL 配置寄存器 8位CRC发生器
Vdd 缓存 图3.5
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图3.6所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3.7所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
温度 LSB 温度 MSB TH用户字节1
TL用户字节2 配置寄存器 保留 保留 保留 CRC 图3.6
11
火灾自动报警系统设计
图3.7 DS18B20字节定义
由表3.2可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位s=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位s=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表3.2是一部分温度值对应的二进制温度数据。
表3.2 DS18B20温度转换时间表 R1 0 0 1 1 R0 0 1 0 1
分辨率/位 9 10 11 12 温度最大转换时间/ms 93.75 187.5 375 750 3.3.2 DS18B20温度传感器与单片机的接口电路
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式。
3.3.3 DS18B20的控制方法
DS18B20有六条控制命令,指令约定代码操作说明 CCH:跳过扫描温度传感芯片序列号 44H:启动DS18B20进行温度转换 BEH :读度温度值
12
火灾自动报警系统设计
3.3.4 DS18B20的复位时序
图3.8 DS18B20复位时序图
1.先将数据线置高电平“1”
2.延时(该时间要求的不是很严格,但是尽可能的短一点) 3.数据线拉到低电平“0”
4延时750微秒(该时间的时间范围可以从480到960微秒)
5数据线拉到高电平“1”
6延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)
7若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第5步的时间算起)最少要480微秒
8将数据线再次拉高到高电平“1”后结束
3.3.5 DS18B20的读时序
对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。
图3.9 DS18B20读时序过程
13
火灾自动报警系统设计
1.将数据线拉高“1”
2.延时2微秒
3.将数据线拉低“0” 4.延时15微秒
5.将数据线拉高“1” 6.延时15微秒
7.读数据线的状态得到1个状态位,并进行数据处理 8.延时30微秒
3.3.6 DS18B20的写时序
对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
图3.10 DS18B20写时序过程
1.数据线先置低电平“0” 2.延时确定的时间为15微秒
3.按从低位到高位的顺序发送字节(一次只发送一位) 4.延时时间为45微秒 5.将数据线拉到高电平
6.重复上1到6的操作直到所有的字节全部发送完为止 7.最后后将数据线拉高
3.4 LCD显示器 3.4.1 LCD主要技术参数
1.显示容量:16×2个字符 2.芯片工作电压:4.5—5.5V 3.工作电流:2.0mA(5.0V) 4.模块最佳工作电压:5.0V 5.字符尺寸:2.95×4.35(W×H)mm
14
火灾自动报警系统设计
3.4.2 1602LCD的基本参数及引脚功能
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图3.11所示:
图3.11
3.4.3引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3.3所示: 表3.3:引脚接口说明表 编号 1 2 3 4 5 6 7 8 符号 VSS VDD VL RS R/W E D0 D1 引脚说明 电源地 电源正极 液晶显示偏压 数据/命令选择 读/写选择 使能信号 数据 数据 编号 9 10 11 12 13 14 15 16 符号 D2 D3 D4 D5 D6 D7 BLA BLK 引脚说明 数据 数据 数据 数据 数据 数据 背光源正极 背光源负极 15