基于单片机的多点温度采集系统 下载本文

根据以上原则,DS18B20温度一体化的数字传感器完全可以满足设计要求,因此本次设计采用DS18B20温度传感器。 2.3.2 温度传感器DS18B20简介 2.3.2.1 DS18B20的引脚图

DS18B20数字温度传感器的外形及管脚示意图如图2.4所示。

图2.4 DS18B20外形及管脚排列示意图

各引脚的功能如下: 引脚1—电源地;

引脚2—数字信号输入/输出端;

引脚3—外接供电电源输入端(在寄生电源接线方式时接地); 2.3.2.2 DS18B20的内部结构

DS18B20的内部存储资源分为8个字节的ROM、9个字节的RAM、3个字节的EEPROM,如表2.1所示。

表2.1 DS18B20内部存储器分布

ROM(8个字节) RAM (9个字节) EEPROM(3个字节) A1 B1 C1 A2 B2 C2 A3 B3 C3 A4 B4 A5 B5 A6 B6 A7 B7 A8 B8 B9 (1)ROM:在DS18B20内部光刻了一个长度为64bit的ROM,这个编码是器件的身份识别标志。如表2.2所示。64位光刻ROM的排列是:开始(最低)8位是产品类型标号,对于DS18B20来说就是(28H),接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

表2.2 DS18B20中64位ROM存储内容分布

8位CRC编号 48位序列号 8位产品系列编码 MSB LSB MSB LSB MSB LSB 注:MSB为最高有效位 LSB为最低有效位

8

(2)RAM:高速暂存存储器(RAM)由9个字节组成,包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是温度高限TH、温度低限TL暂存区,第五个字节是配置寄存器暂存区,第6、7、8字节是系统保留用,就相当于DS18B20的运算内存,第九个字节是冗余检验字节。其分配如表2.3所示。

表2.3 DS18B20暂存寄存器分布

寄存器内容 温度值低位(LS Byte) 温度值高位(MS Byte) 高温限值(TH) 低温限值(TL) 配置寄存器 保留 保留 保留 CRC校验值 字节地址 0 1 2 3 4 5 6 7 8 第0和第1字节:当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。两字节所表示内容如表2.4所示。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。

表2.4 DS18B20温度值低位和高位寄存器

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 LS Byte 2 3 22 21 20 2-1 2-2 2-3

bit15 bit14 bit13 bit12 bit11 bit9 bit8 bit7 MS Byte S S S S S 26 25 2-4

24 温度转化后得到的16位二进制数据中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125℃的数字输出为07D0H,十进制是2000,乘以0.0625就等于125℃。

9

第2第3字节:RAM的第2、3、4字节和EEPROM的三个字节是对应的,内容是相同的,只是RAM因为是暂存器,失电后数据就丢失了。而EEPROM是电擦除只读存储器,失电后数据不会丢失。第2字节为报警值高限TH,第3字节为报警值低限TL。

第4字节 配置寄存器:第4字节的配置寄存器是用来设置DS18B20的工作模式和测量精度的,其内容如表2.6所示。

表2.6 DS18B20配置寄存器结构

TM R1 R0 1 1 1 1 1 低五位一直都是\,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如表2.7所示(DS18B20出厂时被设置为12位)。

表2.7 DS18B20温度分辨率设置表

R1 0 0 1 1 R0 0 1 0 1 分辨率 9位 10位 11位 12位 温度最大转换时间 93.75ms 187.5ms 375ms 750ms 我们使用时可以跟据实际需要通过修改RAM第4字节的R0和R1的值来DS18B20的温度测量精度。需要保存这种设置时,还要用一条复制命令将RAM内的数据复制到EEPROM内。

第5、6、7、8字节:RAM的第5、6、7字节是器件的保留字节,就相当于器件内部转换运算时所用的内存。第8字节是循环冗余校验字节。它是前面8个字节的CRC值。起着对前面字节的校验作用。

(3)EEPROM:EEPROM只有三个字节,和RAM的第2、3、4字节的内容相对应,它的作用就是存储RAM第2、3、4字节的内容,以使这些数据在掉电后不丢失。 2.3.2.3 DS18B20供电方式

外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证测量精度。所以本系统采用外部电源供电方式。

在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强

10

上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上可以挂接任意多个DS18B20传感器,组成多点测温系统。外部电源供电方式如图2.5所示。在外部供电方式下,DS18B20的GND引脚必须接地,不能悬空,否则不能转换温度,读取的温度总是85℃。

图2.5 DS18B20外部电源供电

本次设计中,将两个DS18B20温度采集电路分别接于单片机的P0.0引脚和P0.1引脚。

2.4 键盘控制电路设计

2.4.1 键盘控制的主要功能

在单片机应用系统中,键盘用于输入数据、代码和命令;显示器用来显示单片机的输入值、控制过程中间信息及运算结果等。键盘和显示器是实现人机对话两个必不可少的硬件配置。

在本系统中,键盘控制电路的主要功能是用于温度限值的设定和切换LCD显示的温度数据项。 2.4.2 键盘电路设计

在键盘接口技术中,键盘分独立式键盘和矩阵式键盘两种。 1、独立式键盘

独立式键盘是最简单的键盘电路,每个键独立的连接一根输入线。这种键盘的优点是结构简单、使用方便,目前这种结构的键盘应用还相当普遍,这种键盘的缺点是每个键占用一根I/O口线,这样随着键盘数量的增加I/O端口会不足。因此独立式按键结构的键盘只适应于键盘数量较少的应用系统。 2、矩阵式键盘

矩阵式键盘也称行列式键盘。在系统所需按键数较多时,采用此种结构式键盘。 行列式键盘由键盘开关矩阵、输出(行线)锁存器、输入(列线)缓冲器三部分组成。在行列式键盘有以下几种结构形式。

11