此外,分时实现的DS18B20的单线通信功会有高要求的时隙理念,因此对于读写时序就显得至关重要。系统依照协议进行DS18B20的操作。操作协议的内容是:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→数据处理。
DS18B20有两种样式,分别是3脚PR-35封装和8脚SOIC封装,图2。2为它的内部结构框图:
图2。2 DS18B20内部结构图
2。3。2 DS18B20工作原理来自优I尔Y论S文C网WWw.YoueRw.com 加QQ7520~18766
DS18B20一个工作周期可以分为两部分,一个是温度检测,另一个是数据处理,因此要先了解18B20的内部存储器资源再讲解它的工作流程。DS18B20的存储器资源一共有三种形式,它们分别是:
ROM只读存储器,它是用来存放DS18B20的ID编码,它的前8位是单线系列的编码,而DS18B20的编码是19H,之后的48位是芯片中唯一序列号,最后的8位是之前56位的CRC码。出产时的数据设置是固定的,用户不能更改。
RAM数据暂存器,内部计算和数据存取是它的主要功能,掉电之后,数据会丢失,DS18B20一共有9个字节的RAM,每个字节都是8位组成。温度转换后的数据值的信息是由第1、第2个字节显示,第3、第4个字节是用户带电可擦可编程只读存储器的镜像,而EEPROM也经常用于温度报警值的储存。它的值将被刷新当它处于上电复位的时候。用户的第3个EEPROM的镜像是第5个字节。而第6、第7、第8个字节是计数寄存器,它们都能使用户有更高的温度分辨率,同样的,它们也作为内部温度转换和计算的暂存单元来使用。前8个字节的CRC码是第9个字节。
EEPROM非易失性记忆体,长期存储数据、上下限温度的报警值以及校验数据就是用它来保存的,DS18B20一共有3位EEPROM,并且它们在RAM 中都有镜像,这样就可以使用户方便操作[5]。
当DS18B20工作的时候,寄存器中的分辨率转换成相应精度的温度数值。该字节各位的定义如图2。3所示。低5位一直为1,工作模式位是TM,DS18B20是在工作模式还是在测试模式就是用它来设定的,DS18B20的该位在刚出厂的时候是被设定为0的,当用户去改动它的时候,R1和R0就决定了温度转换的精度位数,以此来设置分辨率。
温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC
图2。3 DS18B20字节定义
2。4 显示模块选择
方案一:使用LED数码管动态扫描。LED数码管不仅在显示数字上最适用,而且应用动态扫描法和单片机连接的时候,它占用单片机的接口比较少。
方案二:采用LCD1602液晶显示屏。虽然LCD1602液晶显示屏的显示功能比较全面,但是本次设计只需要数字,不需要显示文字和图形,因此不采用它。
因此LED数码管在电路上相对简单,可以节约成本。
2。4。1 数码管的分类
数码管按照段数分为七段和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多了一个小数点的显示位。按发光二极管单元的连接方式可以把数码管分为共阳极和共阴极。
共阳数码管指的是把所有的发光二极管阳极都接到一起从而形成公共阳极的数码管。当使用的时候,共阳数码管应该把公共极COM连接在+5V上,只有在某一字段的发光二极管的阴极是低电平时,它的相应字段就能点亮。而在某一字段的阴极是高电平时,其相应字段就不会亮。论文网
而共阴数码管就是把阴极都连接在一起。而在使用的时候,共阴数码管应该把公共极COM连接在地线GND上,只有在某一字段的发光二极管的阳极是高电平时,它的相应字段就能点亮。而在某一字段的阳极是低电平时,其相应字段就不会亮[6]。