基于DS18B20温度传感器的数字温度计_第1页
基于DS18B20温度传感器的数字温度计_第2页
基于DS18B20温度传感器的数字温度计_第3页
基于DS18B20温度传感器的数字温度计_第4页
基于DS18B20温度传感器的数字温度计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子设计竞赛 实验报告 专 业 计 算 机 科 学 与 技 术 指导教师 田 开 坤 学生组合 周焱华 王小彬 周焕军 设计题目 基于 度计设计 2006 年 5 月 15 日 蒇袇 膃芇蕿肃聿芆 蚂袆羅芆螄 虿莄芅薄袄艿 芄蚆螇膅芃 螈羂肁节蒈螅 羇芁薀羁芆 莀蚂螃膂莀 螅罿肈荿蒄螂 羄莈蚇肇羀 莇蝿袀艿莆葿 肅膅莅薁袈 肁莄蚃肄羇蒄 螆袇芅蒃蒅 虿膁蒂薈袅膇 蒁螀蚈肃蒀 蒀羃罿葿薂螆 芈蒈蚄羁膄 蒈螇螄肀薇 蒆羀羆薆薈螃 芄薅蚁羈芀 薄袃螁膆薃薃 肆肂膀蚅衿 羈腿螇 肅芇膈 蒇袇膃芇蕿 肃聿芆蚂袆羅 芆螄虿莄芅 薄袄艿芄蚆螇 膅芃螈羂肁 节蒈螅羇芁 薀羁芆莀蚂螃 膂莀螅罿肈 荿蒄螂羄莈蚇 肇羀莇蝿袀 艿莆葿肅膅莅 薁袈肁莄蚃 肄羇蒄螆袇芅 蒃蒅虿膁蒂 薈袅膇蒁螀蚈 肃蒀蒀羃罿 葿薂螆芈蒈 蚄羁膄蒈螇螄 肀薇蒆羀羆 薆薈螃芄薅蚁 羈芀薄袃螁 膆薃薃肆 肂膀蚅衿 羈腿 螇肅芇膈 蒇 袇膃芇蕿肃聿 芆蚂袆羅芆 螄虿莄芅薄袄 艿芄蚆螇膅 芃螈羂肁节 蒈螅羇芁薀羁 芆莀蚂螃膂 莀螅罿肈荿蒄 螂羄莈蚇肇 羀莇蝿袀艿莆 葿肅膅莅薁 袈肁莄蚃肄羇 蒄螆袇芅蒃 蒅虿膁蒂薈袅 膇蒁螀蚈肃 蒀蒀羃罿葿 薂螆芈蒈蚄羁 膄蒈螇螄肀 薇蒆羀羆薆薈 螃芄薅蚁羈 芀薄袃螁膆薃 薃肆肂膀蚅 衿羈腿螇 肅芇 膈蒇袇膃芇 蕿肃聿芆蚂袆 羅芆螄虿莄 目录 1 基于 度传感器的数字温度计设计 目 录 基于 度传感器的数字温度计设计 . 1 基于 度传感器的数字温度计设计 . 1 摘要: . 1 关键字 : . 1 of . 1 1 引言 . 2 2 总体设计 . 2 案论证 . 2 体设计 . 3 3 硬件设计 . 3 片机系统 . 3 度传感器模块 . 4 储模块 . 7 晶显示模块 . 9 口通信模块 . 11 源模块 . 12 4 软件设计 . 13 程序流程 . 13 块程序设计 . 13 动程序设计 . 16 储模块程序设计 . 18 口通信模块程序设计 . 19 5 测试及结果分析 . 22 6 附录 . 23 7 参考资料 . 24 基于 度传感器的数字温度计 1 基于 度传感器的数字温度计 设计 周焱华,王小彬,周焕军 ( 湖北师范学院计算机科学系 ) 摘要: 本文介绍了一种基于 数字温度计设计方案。 方案 利用 片机控制行数据采集 并 由 晶显示 模块 显示结果 ,另外,采集结果可由 口 送入计算机显示并存储。 按键控制实现 过界报警温度设定和 实时监控,利用 片进行存储,实现温度测量存储与再现 。 关键字: 温度采集 ,存储再现, 过界报警, 串行通信 of In we a of to on be by to of to of on to to 度传感器的数字温度计 2 1 引言 随着电子技术的发展,人们的生活日趋 数字化,多功能的数字温度计可以给我们的生活带来很大的方便 ; 支持 “ 一线总线 ” 接口的温度传感器 简化了数字温度计的设计 ,降低了成本; 以美国导体公司的单总线温度传感器 核心,以 司的 计的 度控制器结构简单、测温准确、具有一定控制功能的智能温度控制器 。 2 总体设计 案论证 度传感器 方案一: 采用热敏电阻可满足 测温要求 ,但热敏电阻精度 低, 重复性 和 可靠性较差,对于 精度要求较高的测温 不适用 , 而且 采用 热敏电阻 要求 复杂的电路和算法,增加了设计复杂度 。 方案二: 采 用专用 的 集成温度传感器(如 和 数字化温度传感器( 温,数字化温度传感器具有接口 简单 、直接数字量输出 、精确度高 等优点 。 司的最新单线数字温度传感器,它是世界上第一片支持“一线总线”接口的温度传感器 。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,它的测量温度范围为 55125,在 10 85范围内,精度为 现场温度直接以“一线总线”的数字方式传输 ,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等 , 持 3 电压范围,使系统设计更灵活、 更 方便 、 更便宜 、体积更小 。 以程序设定 9 12 位的分辨率,精度为 , 分辨率设定及用户设定的报警温度存储在 ,掉电后依然保存 。因此, 本方案 选用 为温度测量传感器 。 片机系统 目前比较流行 51 系列单片机和 凌阳 单片机。 片机需要用仿真器来实现软硬件的 调试,较为繁琐; 位单片机除具有 片机 所 有 的优点外, 具有更大的程序存储空间, 可在线仿真的功能, 方便 调试。凌阳十六位单片机 虽然可以更好的完成控制功能 , 但较 贵 , 而且 编程 以及 外围功能电路的 设计都不及 熟。因此,选用 为温度采集的控部分。 源模块 采用普通的直流电源实现电路简单,而且采用集成电源芯片设计的直流电源电压比较稳定 ,完全满足系统各模块的供电要求,但是普通直流电源体积比较大,变压器的散热对测温精度也有影响,所以,选用 锂离子手机充电电池和配套的锂电池充电器作为系统的供电模块。 手机用的 锂 电池电压范围是 限定充电电压是 全满足 各模块的工作电压范围。 示模块 由于系统要求实现测量环境温度、测量体温、过界报警设置、温度存储再现等多种功能,要显示的信息不仅仅是温度值,所以采用数码管显示几乎不可能 。另外, 手机电池 电量有限,而数码管耗电较大,不符合设计要求。因此,选用常见的 晶显示模块显示测温结果。 定方案 基于 度传感器的数字温度计 3 为了不失通用性和智 能性,本方案采用 单总线温度传感器 源部分没有采用普通的直流电源而利用锂离子手机充电电池和配套的锂电池充电器, 手机用的 锂 电池电压范围是 限定充电电压是 全满足 于手机电池电量有限,所以显示模块使用 晶显示模块而没有使用数码管。 体设计 本方案设计的系统由按键控制模块、单片机系统、温度传感器模块、液晶显示模块、存储模块、串口通信模块和电源模块组成, 其总体架构如图 1。 图 1 系统总体设计 3 硬件设计 片机系统 方案采用 片机作为控制器, 完成所有的控制功能,包括: 温度传感器 初始化和读去温度值 晶模块驱动 按键识别和控制 温度存储及读去 和 的串口通信 单片机系统的电路如图 2。 单片机系统 电源模块 温度传感器 模块 液晶显示模块 串口通信模块 按键 模块 存储 模块 程序控制 基于 度传感器的数字温度计 4 图 2 单片机系统电路 度传感器模块 理 用 3 脚 装或 8 脚 装,管脚排列如 图 3 所示。图中 地,数据输入 /输出端(即单线总线),该脚为漏极开路输出,常态下呈高电平 , 外部 +5V 电源端,不用时应接地 , 空脚。 图 3 外部结构 基于 度传感器的数字温度计 5 部 主要包括寄生电源、温度传感器、 64 位激光 线接口、存放中间数据的高速暂存器(内含便笺式 用于存储用户设定的温度上下限值的 发器存储与控制逻辑、 8 位循环冗余校验码( 生器等七部分 , 内部结构如图 4。 图 4 寄生电源由二极管 寄生电容 C 组成 , 电源检测电路用于判定供电方式 , 寄生电源供电时, 接地,器件从单线总线上获取电源 , 在 呈低电平时,改由 C 上的电压 寄生电源有两个优点:第一,检测远程温度时无需本地电源;第二,缺少正常电源时也能读 采用外部电源 通过 器件供电 。 光刻 的 64 位序列号是出厂前被光刻好的,它可以看作是该 地址序列码 ,如图 5 所示 。开始 8 位( 28H)是产品类型标号,接着的 48 位是 身的序列号,最后 8位是前面 56 位的循环冗余校验码( 8+4+1)。光刻 作用是使每一个 样就可以实现一根总线上挂接多个 目的。 主机操作 命令有五种,如表 1 所 示。 图 5 64 位 结构 表 1 指令 说明 读 33H) 读 匹配 55H) 继读完 64位序列号的一个命令,用于多个 跳过 此命令执行后的存储器操作将针对在线的所有 识别总线上各器件的编码,为操作各器件作好准备 报警搜索( 仅温度越限的器件对此命令作出响应 量温度时使用特有的温度测量技术。 其 内部的低温度系数振荡器能产生稳定的频率信号 温度系数振荡器则将被测温度转换成频率信号 f。当计数门打开时, 数,计数门开通时间由高温度系数振荡器决定。芯片内部还有斜率累加器,可对频率的非线性予以被偿。测量结果存入温度寄存器中。一般情况下的温度值应为 9 位(符号点 1 位),但因符号位扩展成高 8 位,故以 16 位被码形式读出, 表 2 给出了温度和数字量的关系。 基于 度传感器的数字温度计 6 表 2 度数字对应关系表 度传感器的内部存储器包括一个高速暂存 一个非易失性的可电擦除的后者存放高温度和低温度触发器 结构寄存器。暂存存储器包含了 8 个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低 8 位,第二个字节是温度的高 8 位 ,第三个和第四个字节是 易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新 , 第六、七、八个字节用于内部计算 , 第九个字节是 冗余检验字节 ,如表 3 所示。 表 3 寄存器内容 字节地址 温度最低数字位 0 温度最高数字位 1 高温限制 2 低温限制 3 保留 4 保留 5 计数剩余值 6 每度计数值 7 验 8 该字节各位的意义 为 1 1 1 1 1 , 低五位一直都是 1 , 测试模式位,用于设置工作模式还是在测试模式 , 在 厂时该位被设置为 0,用户不 用 改动 , 来设置分辨率 , 厂时被设置为 12 位 , 分辨率设置 如表 4 所示 。 表 4 分辨率设置表 0 分辨率 温度最大转换时间 0 0 9位 1 10位 0 11位 375 1 12位 750据 通讯协议,主机控制 成温度转换必须经过三个步骤:每一次读写基于 度传感器的数字温度计 7 之前都要对 行复位,复位成功后发送一条 令,最后发送 令,这样才能对 行预定的操作。复位要求主 数据线下拉 500 微秒,然后释放, 到信号后等待 16 60 微秒左右 ,后发出 60 240 微秒的存在低脉冲,主 到此信号表示复位成功。 令令和 暂存器的命令 如表 1 和表 5。 表 5 存器的命令 指令 说明 温度转换( 44H) 启动在线 ( 从高速暂存器读 9度值和 写数据( 4 将数据写入高速暂存器的第 2和第 3字节中 复制( 48H) 将高速暂存器中第 2和第 3字节复制到 将 和第 3字节 读电源供电方式( 了解 路连接 由于 作在单总线方式 , 其硬件接口非常简单 , 仅需利用系统的一条 I/ O 线与数据总线相连即可 , 如图 6 所示 。 图 6 路 储模块 构 本方案 利用 片进行存储,实现温度测量存储与再现 。 司生产的 串行 8K, 10248) , 直接通过 线的 的器件地址码变更来变换读写功能 ,当 从 串行时钟线 入正 边缘时钟信号时,数据进入每一个 件 ,在负边缘时数据从每个器件中输出 , 串行数据线 向输送时,该脚用漏极开路驱动, 1、 2、 3 脚作器件地址输入。其外部引脚及引脚功能如图 7 所示。 图 7 部引脚及引脚功能 部 主要由 储阵列 及 其 行和列 译码电路、电源泵 /定时、串行多路调制器、基于 度传感器的数字温度计 8 数据寄存器 、 线控制逻辑电路组成 ,如图 8 所示 。电源泵的设置免除外设置的写入高压电源;数据寄存 器保证了页写数据的装载空间;器件地址比较器用于辩识自己的从地址 。 图 8 部结构图 作原理 从地址选择 内的存储空间地址采用了一个 字 地址 ( 字节的寻址,故片内寻址范围为 256 字节。 页写功能 入时,总需要一定的写入时间( 515因此,在写入 时 无法连续写入多个数据字节 , 在 件中设有一定容量的数据寄存器 , 用户一次写入 数据字节不大于页写字节数时可按通常 写入速度 装载至 的数据寄存器中,随后启动自动写入定时控制逻辑,经过 510动将数据寄存器中的数据同步写入 指定单元中。 6。 页地址空间的 “翻卷 ” 对应于页写字节数,数据寄存器分别有 2、 3、 4 位页地址 , 为字地址的 低 位部分。在写入时,写入数据按照字地址( 最低部分,定为在数据寄存器的页地址空间、数据寄存器地址的低位部分,溢出时不会向字地址的高位部分进位,这就造成写入数据在地址的 “翻卷 ”。 写周期时序 由于页写功能的设置, 线对 操作只体现 在 对其数据寄存器的装载,在数据装载完毕, 收到 线发送的停止位后,自动启动一个内部同步的写周期,将数据寄存器中的数据写入 列中,在这个内部写入周期中所有输入皆无效。写周期结束后 基于 度传感器的数字温度计 9 连接电路 图 9 接电路 晶显示模块 用标准的 16 脚接口, 其引脚如 表 6 所示, 其中 地电源, 5V 正电源,液晶显示 模块 对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,可以通过一个10K 的电位器调整对比度。 寄存 器选择,高电平时选择数据寄存器 , 低电平时选择指令寄存器。读写信号线,高电平时进行读操作,低电平时进行写操作 , 当 同为低电平时可以写入指令或者显示地址,当 低电平 高电平时可以读忙信号,当 高电平 低电平时可以写入数据。 E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 背光电源, 5V 正电源, 7 为 8 位双向数据线。 表 6 接口信号说明 编号 符号 引脚说明 编号 符号 引脚说明 1 源地 9 ( H/L) 12 ( H/L) 13 , 晶显示模块 的初始化流程如下: 始化过程(复位过程) 时 15 指令 38H(不检测忙信号) 时 5 指令 38H(不检测忙信号) 时 5 指令 38H(不检测忙信号) 后每次写指令、读 /写数据之前均需检测忙信号) 指令 38H:显示模式设置 基于 度传感器的数字温度计 10 指令 38H:显示关闭 指令 01H:显示清屏 指令 06H:显示光标移动设置 指令 0示开关及光标位置 晶模块内部的字符 发生存储器( 经存储了 128 个不同的点阵字符图形,如表 7 所示 。 表 7 的字符代码与图形对应关系 高低 0000 0010 0011 0100 0101 0110 0111 0000 0 P p 0001 ! 1 A Q a q 0010 ” 2 B R b r 0011 # 3 C S c s 0100 $ 4 D T d t 0101 % 5 E U e u 0110 & 6 F V f v 0111 7 G W g w 1000 ( 8 H X h x 1001 ) 9 I Y i y 1010 * : J Z j z 1011 + ; K k 1100 , N n 1111 / ? O _ o 晶模块内部的控制器共有 11 条控制指令,如表 8 所示 。 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 表 8 晶模块内部的控制器控制指令 指令 指令码 说明 R/W 清屏 0 0 0 0 0 0 0 0 0 1 清显示 ,光标回位 光标返回 0 0 0 0 0 0 0 0 1 * 时 ,回原位 输入方式 0 0 0 0 0 0 0 1 I/D S 决定是否移动以及移动方向 显示开关 0 0 0 0 0 0 1 D C B 移位 0 0 0 0 0 1 S/C R/L * * 移动光标及整体显示 功能设置 0 0 0 0 1 F * * 0 0 0 1 4 2 0 设置 0 0 1 5 3 1 置 忙标志 /读地址计数器 0 1 出忙标志位 ( 1 0 写数据 将内容写入 1 1 读数据 将内容从 基于 度传感器的数字温度计 11 晶显示模块可以和单片机 接接口,电路如图 10 所示。 图 10 晶模块连接电路 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表 9 是 内部显示地址 。 即第 1 行的显示地址应为 80H+显示位置,第 2 行的显示地址应为 示位置。 表 9 内部显示地址 显示位置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 第 1 行 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 第 2 行 1 3 5 7 9 B D F 口通信模块 准(协议)的全称是 准,其中 表美国电子工业协会, 表推荐标准, 232 是标识号, C 代表 这之前,有 它规定连接电缆和机械、电气特性、信号功能及传送过程 。 合于数据传输速率在 0 20000b/s 范围内的通信 。 ,它只提供异步通信的 9 个信号 , 9 针串口功能见表 10,并且对 电缆长度 也有要求: 准规定,若不使用 码元畸变小于 4%的情况下, 间最大传输距离为 15m( 50英尺 )。可见这个最大的距离是在码元畸变小于 4%的前提下给出的 , 为了保证码元畸变小于 4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于 2500 表 10 9 针串口功能一览表 针脚 功能 针脚 功能 1 载波检测 6 数据准备完成 2 接收数据 7 发送请求 3 发送数据 8 发送清除 4 数据终端准备完成 9 振铃指示 5 信号地线 基于 度传感器的数字温度计 12 本 方案对 口 采用 3 线制 ( 软握手的零 式 进行单片机和 间的数据通信, 即 和单片机的发送数据线 ( 与接收数据 ( 交叉连接 ,二者的地线 ( 直接相连 , 其它信号线如握手信号线均不用 , 而采用软件握手 。 但由于 辑电对地是对称的 , 与 辑电平完全不同 , 逻辑 0 电平规定为 +5 +15V 之间 , 逻辑 1 是电平为 间 , 因此 利用 片 进行电平转换 ,电路连接如图 11。 图 11 信连接电路 源模块 本方案采用锂离子手机充电电池和配套的锂电池充电器作为电源, 手机用的 锂 限定充电电压是 全满足各模块的工作电压范围。 充电器在作为电源的同时也可以对锂电池进行充电,所以系统在离开市电时可正常工作。充电器电路如图 12 所示。 图 12 充电电路 基于 度传感器的数字温度计 13 4 软件设计 程序流程 软件部分包括五个部分,对应着系统的五种模式,程序流程如图 13 所示。 图 13 程序流程图 块程序设计 序流程 块程序主要完成 初始化和温度的读去操作,程序流程如图 14 所示。 序源码 /1820 初始化 初始化 读最新温度 读最新温度 设定温度值 保存 /删除数据 读出数据 刷新显示缓冲区数据 判断是否刷新显示缓冲区数 据 刷新显示缓冲区数据 保存数据并刷新显示缓冲区数据 刷新显 示缓冲区数据 显示 模式选择 改状态指示 改状态指示 改状态指示 改状态指示 改状态指示 环境温度模式模式 体温计 模式 设定 模式 读出数据 保存 /删除数据 基于 度传感器的数字温度计 14 n=0; ; ; _; ; 55); 0); /550Q=1; 5); Q=0) ; /820 ; /820 00); ; /单字节写入 i; i=0;i=1; /读取单字节 i,u=0; i=0;i=1; ; Q=1) u|=0 8);/40 u); /对从 出的温度值( 进行 处理,送显示缓冲区 基于 度传感器的数字温度计 15 256 + 625; ) 0 /0 / 5); ) 0 /0 / ; (&0 ; 图 14 块程序流程图 始化 结束 温度转换 跳过 配 延时 否存在? 跳过 配 读暂存器 转换为显示码 是 否 基于 度传感器的数字温度计 16 动程序设计 序流程 晶驱动主要完成 初始化以及字符和字符串的显示,程序流程如图 15 所示。 图 15 晶驱动程序流程图 序源码 /液晶初始化 5); );/显示模式设置三次 (此时不管 闲与否 ) ); );

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论