基于单片机的数字温度计设计课程论文(编辑修改稿)内容摘要:
000000B SBUF 不定 IE 0X000000B PCON 0X000000B TMOD 00H ( 2)复位信号及其产生 RST 引脚是复位信号的输入端。 复位信号是高电平有效,其有效时间应持续 24个振荡周期 (即二个机器周期 )以上。 若使用颇率为 6MHz 的晶振,则复位信号持续时间应超过 4us 才能完成复位操作。 产生复 位信号的电路逻辑如图 所示: 图 复位信号的电路逻辑图 整个复位电路包括芯片内、外两部分。 外部电路产生的复位信号 (RST)送至施密特触发器,再由片内复位电路在每个机器周期的 S5P2 时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。 复位操作有上电自动复位 和 按键手动复位两种方式。 上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图 ( a)所示。 这佯,只要电源 Vcc 的上升时间不超过 1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。 按键手动复位有电 平方式和脉冲方式两种。 其中,按键电平复位是通过使复位端经电阻与 Vcc 电源接通而实现的,其电路如图 ( b) 所示;而按键脉冲复位则是利用 RC微分电路产生的正脉冲来实现的,其电路如图 ( c)所示: 单片机原理及应用课程设计 12 ( a)上电复位 ( b)按键电平复位 ( c)按键脉冲复位 图 复位电路 上述电路图中的电阻、电容参数适用于 6MHz 晶振,能保证复位信号高电平持续时间大于 2个机器周期。 DS18B20 芯片简介 芯片简介 ( 1) 适应电压范围更宽,电压范围: V~ ,在寄生电源方 式下可由数据线供电。 ( 2) 独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 ( 3) DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 ( 4) 测 温范围- 55℃ ~+ 125℃ ,在 10℃ ~ +85℃ 时精度为 177。 ℃。 ( 5) 可编程的分辨率为 9~ 12位,对应的可分辨温度分别为 ℃ 、 ℃ 、 ℃和 ℃ ,可实现高精度测温。 ( 6) 在 9 位分辨率时最多在 内把温度转换为数字, 12 位分辨率时最多在750ms 内把温度值转换为数字,速度更快。 ( 7) 测量结果直接输出数字温度信号,以 “ 一线总线 ” 串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力。 ( 8) 负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作 [5]。 单片机原理及应用课程设计 13 DS18B20 的外形和内部结构 DS18B20 内部结构如图 所示,主要由 4 部分组成: 64位 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。 DS18B20 外形及管脚排列如图 和表 33 所示。 I/O C VDD 图 DS18B20 的内部结构 图 DS18B20 的管脚排列 64 位ROM和单线接 口 高速缓存 存储器 存储器和控制器 8 位 CRC 生成器 温度传感器 低温触发器 TL 高温触发器 TH 配置寄存器 电源检测 单片机原理及应用课程设计 14 表 33 DS18B20 引脚定义: 序号 名称 引脚功能描述 1 GND 地信号 2 DQ 数据输入 /输出引脚。 开漏单总线接口引脚。 当被用着在寄生电源下,也可以向器件提供电源。 3 VDD 可选择的 VDD 引脚。 当工作于寄生电源时,此 引脚必须接地。 ( 1) 64 位 ROM ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码,每个 DS18B20 的 64 位序列号均不相同。 64 位 ROM 的循环冗余校验码( CRC=X8+ X5 + X4 + 1 )。 ROM 的 作 用 是 使 每 一 个 DS18B20 都 各 不 相 同 , DS18B20 中的温度传感器完成对温度的测量,用 16 位符号扩展的二进制补码读数形式提供,以 ℃ /LSB 形式表达,其中 S 为符号位。 DS18B20 温度值格式表 44如下所示。 ROM 中的 64 位序列号是出厂前被光刻好的,他可以看作是该 DS18B20 的地址序列码,每个 DS18B20 的 64 位序列号均不相同。 64 位 ROM 的循环冗余校验码( CRC=X8+ X5+ X4+ 1)。 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。 DS18B20 中温度传感器完成对温度的侧 量,用 16位符号扩展的二进制补码读数形式提供, 以 ℃ /LSB 形式表达,其中 S为符号位。 DS18B20 温度值格式表 34 如下所示。 这是 12 位转化后得到的 12 位数据,存储在 DS18B20 的两个 8比特的 RAM 中,二进制中的前面 5位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 即可得到实际温度;如果温度小于 0,这 5位为 1,测到的数值需要取反加 1再乘于 即可得到实际温度。 例如+ ℃的数字输出为 0191H,-℃的数字输出为 FF6FH。 表 34 DS18B20 温度值格式表 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 LS Byte 23 22 21 20 21 22 23 24 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 MS Byte S S S S S 26 25 24 ( 2) 高低温报警触发器 TH和 TL DS18B20温度传感器的内部存储器包括一个高速暂存 RAM和 一个非易失性的可电擦除的 EEPRAM,后者存放高温度和低温度触发器 TH、 TL 和结构寄存器。 ( 3)配置寄存器 该字节各位的意义如下 表 35所示。 单片机原理及应用课程设计 15 表 35 配置寄存器结构 TM R1 R0 1 1 1 1 1 低五位一直都是 “ 1” , TM是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式。 在 DS18B20 出厂时该位被设置为 0,用户不要去改动。 R1 和 R0 用来设置分辨率,如下表 36 所示( DS18B20 出厂时被设置为 12 位)。 表 36 温度分辨率设置表 R1 R0 分辨率 温度最大转换时间 0 0 9 位 0 1 10 位 1 0 11 位 375ms 1 1 12 位 750ms ( 4)高速暂存器 高速暂存器是一个 9 字节的存储器。 开始两个字节包含被测温度的数字量信息;第 5字节分别是 TH、 TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第 8字节未用,表现为全逻辑 1;第 9字节读出的是前面所有 8 个字节的 CRC码,可用来保证通信正确。 高速暂存器 RAM 结构图如下表 37所示。 表 37 DS18B20 暂存寄存器分布 寄存器内容 字节地址 温 度值低位 ( LS Byte) 0 温度值高位 ( MS Byte) 1 高温限值( TH) 2 低温限值( TL) 3 配置寄存器 4 保留 5 保留 6 保留 7 CRC 校验值 8 DS18B20 的工作时序 DS18B20 的一线工作协议流程是:初始化→ ROM 操作指令→存储器操作指令→数据传输。 其工作时序包括初始化时序、写时序和读时序,如图 ( a)( b)( c)所示。 单片机原理及应用课程设计 16 DS18B20 等待 DS18B20Tx 产生 15us— 16us 脉冲 60240 主机复位脉冲 VCC 480usTX960us 主机 Rx min480us 1Wire Bus GND 图 ( a)初始化时序 主机写“ 0”时隙 主机写“ 1”时隙 VCC 60usTX120us 1ustxcc∞ 1Wire Bus GND DS18B20 采样 1us DS18B20 采样 15us MIN TYP MAX MIN TYP MAX 15us 30us 15us 15us 30us 图 ( b)写时序 VCC 主机读“ 0”时隙 主机读“ 1”时隙 1Wire Bus GND 主机采样 1us 15us 15us 30us 主机采样 15us 图 ( c)读时序 主机控制 DS18B20 完成任何操作之前必须先初始化,即主机发一复位脉冲 (最短为 480us 的低电平 ),接着主机释放总线进入接收状态, DS18B20 在检测到 I/O 引脚上的上升沿之后,等待 1560us 然后发出存在脉冲 (60240us 的低电平 )。 写时间片:将数据从高电平拉至低电平,产生写起始信号。 在 15us 之内将所需写的位送到数据线上,在 15us 到 60us 之间对数据线进行采样,如果采样为高电平,就写 1,如果为低电平,写 0 就发生。 在开始另一个写周期前必须有 1us 以上的高电平恢复期。 读时间片 :主机将数据线从高电平拉至低电平 1us 以上,再使数据线升为高电平,从而产生读起始信号。 主机在读时间片下降沿之后 15us 内完成读位。 每个读周期最短的持续期为 60us,各个读周期之间也必须有 1us 以上的高电平恢复期。 单片机原理及应用课程设计 17 DS18B20 与单片机的典型接口设计 图 以 MCS- 51 系列单片机为例,画出了 DS18B20 与微处理器的典型连接。 图 ( a)中 DS18B20 采用寄生电源方式,其 VDD 和 GND 端均 接地,图 ( b)中 DS18B20 采用外接电源方式,其 VDD 端用 3V~ 电源供电 [6]。 (a) 寄生电源工作方式 (b) 外接电源工作方式 图 电源工作方式图 DS18B20 的各个 ROM命令 ( 1) Read ROM [33H] 这个命令允许总线控制器读到 DS18B20 的 8 位系列编码,惟一的序列号的 8 位CRC 码。 只有在总线上存在单只 DS18B20 的时候才能用这个命令。 如果总线上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极 开路连在一起形成“与”的效果)。 ( 2) Match ROM [55H] 这是个匹配 ROM 命令,后跟 64 位 ROM 序列,让总线控制器在多点总线上定位一只特定的 DS18B20。 只有和 64 位 ROM 序列完全匹配的 DS18B20 才能响应随后的存储器操作。 所有和 64位 ROM 序列不匹配的从机都将等待复位脉冲。 这条命令在总线上有单个或多个器件时都可以使用。 ( 3) Skip ROM [0CCH] 这个命令允许总线控制器不用提供 64 位 ROM 编码就使用存储器操作命令,在单点总线情况下,可以节省时间。 如果总线上不止一个从机,在命令之后紧 跟着发一条读命令,由于多个从机同时传信号。 总线上发生数据冲突(漏极开路连在一起形成“与”的效果)。基于单片机的数字温度计设计课程论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。