项目九 数字温度计(课件)-《单片机技术应用》同步教学(北理版)

2024-07-10
| 18页
| 41人阅读
| 2人下载
普通

内容正文:

项目九 数字温度计 任务一 掌握 DS18B20 的工作原理 任务二 设计数字温度计 返回 1 任务一 掌握 DS18B20 的工作原理 一、任务描述 介绍数字温度传感器 DS18B20 的工作原理,了解其内部结构及相关寄存器的使用方法。 二、DS18B20 简介 传统的温度检测元件有热敏电阻和热电偶。这些检测元件将所测温度信号转换为模拟电信号输出,需再经 A/D 转换电路将模拟信号转换为数字信号后送至单片机电路处理。采用这种温度检测方法,系统硬件电路与软件编程都相对复杂。 下一页 返回 任务一 掌握 DS18B20 的工作原理 本系统采用数字温度传感器 DS18B20 作为温度检测元件,测温范围为− 55 ℃~+ 125 ℃。DS18B20 可以直接读出被测温度值,而且采用 3 线制与单片机相连,硬件电路简单,节省系统成本并提高了系统可靠性。 DS18B20 主要具有以下特点: ( 1 ) 采用单总线( 1 − wirebus )通信方式,仅需一条口线即可实现与单片机进行数据传输。 ( 2 ) 具有 3 引脚小体积封装方式,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 ( 3 ) 测温范围为− 55 ℃~ +125 ℃。 上一页 下一页 返回 任务一 掌握 DS18B20 的工作原理 ( 4 ) 电源供电范围为 3.0 ~ 5.5 V 。 ( 5 ) 可编程为 9 ~ 12 位数字量输出。 ( 6 ) 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测温。 ( 7 ) 每个 DS18B20 器件都有独一无二的序列号。 三、DS18B20 内部结构 1. 引脚功能 DS18B20 为三引脚元件,外形同普通三极管,如图 9 − 1 所示,引脚功能详见表 9 − 1 。 上一页 下一页 返回 任务一 掌握 DS18B20 的工作原理 2. DS18B20 内部结构 DS18B20 主要由 64 位 ROM 、温度传感器、非挥发的温度报警触发器 TH 和 TL ,以及配 置寄存器等组成,如图 9 − 2 所示。 四、DS18B20 工作命令 工作时, DS18B20 主机(单片机)可以使用各种命令对 DS18B20 进行操作。操作过程为:初始化 DS18B20 、发 ROM 功能命令、发存储器操作命令。 上一页 下一页 返回 任务一 掌握 DS18B20 的工作原理 1. 读 ROM [ 33H ] 这个命令允许总线控制器读到 DS18B20 的 8 位系列编码、唯一的序列号和 8 位 CRC 码。只有在总线上存在单只 DS18B20 的时候才能使用这个命令。如果总线上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突。 2. 匹配 ROM [ 55H ] 这个是匹配 ROM 命令,后跟 64 位 ROM 序列,让总线控制器在多点总线上定位一只特定的 DS18B20 。只有和 64 位 ROM 序列完全匹配的 DS18B20 才能响应随后的存储器操作。所有和 64 位 ROM 序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用。 上一页 下一页 返回 任务一 掌握 DS18B20 的工作原理 3. 跳过 ROM [ 0CCH ] 这条命令允许总线控制器不用提供 64 位 ROM 编码就使用存储器操作命令,在单点总线情况下,可以节省时间。如果总线上不止一个从机,在“ Skip ROM ”命令之后跟着发一条读命令,由于多个从机同时传送信号,总线上就会发生数据冲突。 4. 搜索 ROM [ 0F0H ] 当系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或它们的 64 位ROM 编码。搜索 ROM 命令允许总线控制器用排除法识别总线上的所有从机的 64 位编码。 上一页 下一页 返回 任务一 掌握 DS18B20 的工作原理 5. 报警搜索[ 0ECH ] 这条命令的流程和搜索 ROM 相同。然而,只有在最近一次测温后遇到符合报警条件的情况, DS18B20 才会响应这条命令。报警条件定义为温度高于 TH 或低于 TL 。只要 DS18B20不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。 6. 写暂存存储器[ 4EH ] 这个命令向 DS18B20 的暂存器 TH 和 TL 中写入数据。可以在任何时刻发出复位命令来中止写入。 上一页 下一页 返回 任务一 掌握 DS18B20 的工作原理 7. 读暂存存储器[ 0BEH ] 这个命令读取暂存器的内容。读取将从第 1 个字节开始,一直进行下去,直到第 9 字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。 8. 拷贝暂存存储器[ 48H ] 这个命令把暂存器的内容拷贝到 DS18B20 的 EEPROM 存储器里,即把温度报警触发字节存入非易失性存储器里。如果总线控制器在这条命令之后跟着发出读时隙,而 DS18B20又忙于把暂存器拷贝到 EEPROM , DS18B20 就会输出一个 0 ,如果拷贝结束, DS18B20 则输出 1 。 上一页 下一页 返回 任务一 掌握 DS18B20 的工作原理 如果使用寄生电源,总线控制器必须在这条命令发出后立即启动强上拉并最少保持10 ms 。 9. 温度转换[ 44H ] 这条命令启动一次温度转换而无须其他数据。温度转换命令被执行,而后 DS18B20 保持等待状态。如果总线控制器在这条命令之后跟着发出时隙,而 DS18B20 又忙于做温度转换,则 DS18B20 将在总线上输出 0 ,若温度转换完成,则输出 1 。如果使用寄生电源,总线控制器必须在发出这条命令后立即启动强上拉,并保持 500 ms 以上时间。 上一页 下一页 返回 任务一 掌握 DS18B20 的工作原理 10. 重新调出[ 0B8H ] 这条命令把报警触发器里的值拷贝回暂存器。这种拷贝操作在 DS18B20 上电时自动执行,这样器件一上电暂存器里马上就存在有效的数据了。若在这条命令发出之后发出读数据时隙,器件会输出温度转换忙的标识: 0 为忙, 1 为完成。 11. 读电源[ 0B4H ] 若把这条命令发给 DS18B20 后发出读时隙,器件就会返回它的电源模式: 0 为寄生电源,1 为外部电源。 上一页 下一页 返回 任务一 掌握 DS18B20 的工作原理 五、DS18B20 工作时序 作为单总线器件, DS18B20 与单片机间采用串行数据传输方式,要求按照严格的时隙进行操作。主机使用时隙来读写 DS18B20 的数据位和写命令字的位(在此所有程序均采用12 MHz 晶振),单片机 P3.7 引脚接 DS18B20 数据线。 上一页 返回 任务二 设计数字温度计 一、任务描述 利用单片机 AT89S51 与 DS18B20 设计一数字温度计,测温范围为− 55 ℃~+ 125 ℃,显示精度为 0.1 ℃。采用 4 位 LED 数码管显示温度,一位小数、三位整数。正温度时,最高位显示百位温度或不显示,负温度时最高位显示符号“−”。系统采用 12 MHz 晶振。 二、硬件电路设计 DS18B20 典型应用电路如图 9 − 8 所示。 DS18B20 数据端接至单片机 P3.7 引脚,采用四位数码管显示温度值(三位整数,一位小数)。 下一页 返回 任务二 设计数字温度计 三、软件设计 系统程序主要包括主程序、温度转换子程序、温度 BCD 码转换子程序、显示缓冲区刷新子程序等。 四、源程序清单 上一页 返回 图 9 - 1 返回 表 9 - 1 返回 图 9 - 2 返回 图 9 - 8 返回 $$

资源预览图

项目九 数字温度计(课件)-《单片机技术应用》同步教学(北理版)
1
项目九 数字温度计(课件)-《单片机技术应用》同步教学(北理版)
2
项目九 数字温度计(课件)-《单片机技术应用》同步教学(北理版)
3
项目九 数字温度计(课件)-《单片机技术应用》同步教学(北理版)
4
项目九 数字温度计(课件)-《单片机技术应用》同步教学(北理版)
5
项目九 数字温度计(课件)-《单片机技术应用》同步教学(北理版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。