DS18B20 的主要 特征: (1)全数字温度转换及输出; (2)先进的单总线数据通信; (3)最高12 位分辨率,精度可达0.5 摄氏度; (4)12 位分辨率时的最大工作周期为750 毫秒; (5)可选择寄生工作方式; (6)检测温度范围为55C~+125C(67F~+257 (7)内置EEPROM,限温报警功能;(8)64 位光刻 ROM,内置产品序列号,方便多机 挂接; (9)多样封装形式,适应不同硬件系统。 DS18B20 是通过 WIRE协议与主机进行通信 的,本文采用PIC16F877 的一个I/O口模拟出1- WIRE 时序,从而读出测量温度,DS18B20 与PIC16F877 连接 (见图2)。 DS18B20与PIC16F877 连接电路图 2.2 红外接收电路设计 红外接收电路用于接收红外信号并从调制信号中 解调出遥控器二进制控制脉冲信号,本文采用红外接收 电路采用HS0038 来实现。HS0038 集光电转换、解调和 放大于一体,HS0038 能接收调制中心频率38k 的红外 线,HS0038 有三个引脚,一个VCC 一个GND,一个红 外遥控编码输出,只需少数外接元件就能实现从红外接 收到输出与TTL 电平兼容的所有工作。接收的遥控码 是由一个低电平与一个高电平构成,不同脉宽高低电平 的组合组成不同控制码。本文将解调的信号直接输入 PIC16F877 的I/O接口,由程序识别出用户对温度控制 的指令,HS0038 与PIC16F877 连接(见图3)。 HS0038与PIC16F877 连接电路图 2.3 数码管接口电路设计 数码管中的每一段相当于一个发光二极管,8 段数 码管则具有8 个发光二极管。数码管要正常显示,就要 用驱动电路来驱动数码管的各个段码,从而显示出我 们要的数字,因此根据数码管的驱动方式的不同,可以 分为静态式和动态式两类。静态驱动也称直流驱动,是 指每个数码管的每一个段码都由一个单片机的I/O 口进行驱动。动态显示驱动是数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱 动是将所有数码管的8 个显示笔划“a,b,c,d,e,f,g,dp”的 同名端连在一起,另外为每个数码管的公共极COM增 加位选通控制电路,位选通由各自独立的I/O线控制; 在轮流显示过程中,每位数码管的点亮时间为1~2ms, 由于人的视觉暂留现象及发光二极管的余辉效应,尽 管实际上各位数码管并非同时点亮,但只要扫描的速 度足够快,给人的印象就是一组稳定的显示数据,不会 有闪烁感,动态显示的效果和静态显示是一样的,能够 给单片机节省大量的I/O端口,而且功耗更低。 本论述采用8 段数码管显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由PIC16F877 的一个8 位I/O口控制,形成段选线的多路 复用。8 个数码管的位选端由PIC16F87 的另外一个8 个数码管的“动态扫描”。在这种方式中,虽然每一时刻只选通一位数码管,但由于人眼具有一定的“视觉残留”, 只要延时时间设置恰当,便会感觉到8 位数码管同时被 点亮了。8 数码管动态扫描电路图工业科技 64 甘肃科技纵横 甘肃科技纵横 2010 年(第40 软件设计方案根据设计任务要求,可将软件分为以下几个模块: wire总线通信模块、红外命令接收模块、数码管动态 扫描模块、报警模块,限于篇幅,着重介绍第一个模块 的编程思路及实现步骤。 Wire总线是美国的达拉斯半导体公司(DALLAS SEMICONDUCTOR)近年来推出了一项特有的单总线 技术。该总线采用单根信号线,既可传输时钟,又能传 输数据,而且数据传输是双向的,因而这种单总线技术 具有线路简单,硬件开销少,成本低廉,便于总线扩展 和维护等优点。主机和从机之间的通信可通过3 wire器件、识别 wire器件 和交换数据。由于它们是主从结构,只有主机呼叫从机 时,从机才能应答,因此主机访问1- wire 器件都必须严 格遵循单总线命令序列,即初始化、ROM、命令功能命 令。如果出现序列混乱,1- wire 器件将不响应主机。 DS18B20 高速暂存器共9 个存储单元如表1 所示,命 令如表2 所示 DS18B20内部寄存器 DS18B20命令表 DS18B20 器件要求采用严格的通信协议,以保证 数据的完整性。该协议定义了几种信号类型:复位脉 冲,应答脉冲时隙;写0,写1 DS18B20的通信,是通过操作时隙完成单总线上的数 据传输。发送所有的命令和数据时,都是字节的低位在 前,高位在后。读出温度子程序的主要功能是读出RAM 字节,在读出时需要进行CRC校验,校验有错 时不进行温度数据的改写。其程序流程图如图5 所示。 DS18B20温度读取程序流程图 实验结果系统设计完成后组装了一台样机进行实验,实验 测得室内水温为23.43 度,同时用电子温度计进行对比 测试,测试结果一致。 结束语本论述设计了并实现了一种智能型电热水器温度 监测控制系统,该系统具有温度测量精确、通过红外通 信设定水温,单片机自动控制加热时间,该仪器能够提 升电热水器温控系统的精确度,使电热水器具有一定 的智能性。