图2-5上拉电阻
2.3键盘检测电路
最常见的键盘布局如图2-6所示。一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,4*4矩阵键盘的内部电路如图所示。
图2-6 矩阵键盘内部电路图
当 无按键闭合时,P3.0-P3.3与P3.4-P3.7之间开路。当有键闭合时,
与闭合键相连的两条I/O口线之间短路。判断有无按键按下的方法 是:第一步,置列线P3.4-P3.7为输入状态,从行线P3.0-P3.3输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。第二步,行线轮 流输出低电
8
平,从列线P3.4-P3.7读入数据,若有某一列为低电平,则对应行线上有键按下。综合一二两步的结果,可确定按键编号。但是键闭合一次只能进行 一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。
从矩阵键盘中分离出独立按键,将RD管脚用软件置低,然后依次检
测“P3.0,P3.1,INT1,INT1”这时就不需要再做矩阵键盘的检测了,这四个按键分别用作,设置键,温度增大,温度减小 暂停工作 等功能键。
2.4温度检测电路
温度采集的核心器件是DS18B20芯片
数字温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。电路图如下:
图2-7 DS18B20连接图
DS18B20的主要特性 :
9
适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数 据线供电
独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯
DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内
温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃
可编程 的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温
在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快
测量结果直接输出数字温度信号,以\一 线总线\串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力
负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。 DS18B20的外形和内部结构
DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的外形及管脚排列如下图
DS18B20 1 2 3
GND I/O UDD 图2-8 PR-35 DS18B20封装
DS18B20引脚定义:
(1)DQ为数字信号输入/输出端; (2)GND为电源地;
10
DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
2. DS18B2的内部结构
DS18B20内部的结构图如图 2-9所示,主要由64位ROM、温度传感器、高速缓存器及配置寄存器等部分组成。
DQ 内部电源 VDD 高 速 缓 存 器 温度传感器 高温触发器TH 64位ROM 和 单线接口 低温触发器TL 配置寄存器 8位CRC发生器 电源检测 存储与控制逻辑 VDD 图2-9 DS18B20的内部结构
DS18B20的相关部分进行简单的描述。
(1)64位ROM。64位ROM是厂家用激光刻录一个64位二进制ROM代码,
该芯片的标志号,如图2-10所示。
8位循环冗余检验MSB 48位序列号LSBMSB LSB8位分类编号(10H)MSB LSB
图2-10 64位ROM的结构
8位分类编号表示产品分类编号,DS18B20的分类号为10H;48号序列号是一个大于281×10的十进数编码,作为该芯片的唯一标志代码;8位循环冗余检验为56位的CRC循环冗余校验码。由于每个芯片的64位ROMD代码不同,因此在单总线上能够并挂多个DS18B20进行多点温度实时检测。
11
(2)温度传感器。温度传感器是DS18B20的核心部分,该功能部件可完成对温度的测量。通过软件编程可将-55~+125℃范围内的温度值按9位、10位、11位、12位的转换精度进行量化,以上的转换精度都包括一个符号位,因此对应的温度量化值分别是0.5℃、0.25℃、0.125℃、0.0625℃,即最高转换精度为0.0625℃。芯片出厂默认为12位的转换精度。当接收到温度转换命令(44H)后,开始转换,转换完成后的温度以16位带符号扩展的二进制补码形式表示,存储在高速缓存器RAM的第0、1字节中,二进制数的前5位是符号位。如果测得的温度大于0,这5位为0,只要讲测得的数值乘上0.0625即可得到实际温度;如果温度小于0这5位为1,测得的数值取反加1再乘上0.0625即可得到实际温度。
(3)高速缓存区。高速缓存区包括一个高速暂存器RAM和一个非易失性可电擦除E2PROM. 非易失性可电擦除E2PROM用于存放高温触发TH、低温触发TL和配置寄存器中的信息。
高速暂存器RAM是一个连续的8字节存储器如表2-1,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是配置寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。
表2-1 DS18B20暂存寄存器分布
寄存器内容 温度值低位 (LS Byte) 温度值高位 (MS Byte) 高温限值(TH) 低温限值(TL) 配置寄存器 保留 保留 保留 CRC校验值 字节地址 0 1 2 3 4 5 6 7 8 12