基于ds18b20的数字温度计的设计内容摘要:

加 12V编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特性 : XTAL1 和 XTAL2 分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器。 数字温度传感器 DS18B20 介绍 DALLAS 最新单线数字温度传感器 DS18B20 是一种新型的 “ 一线器件 ” ,其体积更小、更适用于多种场合、且适用电压更宽、更经济。 DALLAS 半导体公司的数字化温度传感器 DS18B20 是世界上第一片支持 “ 一线总线 ” 接口的温度传 感器。 温度测量范围为 55~ +125 摄氏度,可编程为 9 位~ 12 位转换精度,测温分辨率可达 摄氏度,分辨率设定参数以及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。 被测温度用符号扩展的 16 位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个 DS18B20 可以并联到 3 根或 2 根线上, CPU只需一根端口线就能与诸多 DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。 因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样 的数字温度计,十分方便。 DS18B20 内部结构及功能 DS18B20 的内部结构如图 所示。 主要包括:寄生电源、温度传感器、 64 位激光 ROM 和单总线接口、存放中间数据的高位暂存器 RAM、用于存储用户设定温度上下限值的 TH 和 TL 触发器、存储与控制逻辑、 8 位循环校验码( CRC)发生器等 8 部分。 本科生课程设计(论文) 7 图 DS18B20 内部结构 DS18B20 测温原理 DS18B20的测温原理如图 ,图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信 号送给定时器 1。 高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器 2 的脉冲输入。 计数器和温度寄存器被预置在 —55℃所对应的一个基数值。 计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1的预置值。 图 测温原理图 C 64 位 RAM 和 单 线 接 口 高速暂存器 存储器控制逻辑 温度传感器 高温触发器TH 低温触发器 TL 配置寄存器 8 位 CRC 发生器 本科生课程设计(论文) 8 DS18B20 的特性及引脚 DS18B20 具有如下特性: 1. 采用单总线技术,与单片机通信只需要一根 I/O 线,在一根线上可以挂接多个DS18B20。 2. 每只 DS18B20 具有一个独有的,不可修改的 64 位序列号,根据序列号访问地应的器件。 3. 低压供电,电源范围从 3~5V,可以本地供电,也可以直接从数据线上窃取电源(寄生电源方式)。 4. 测温范围为 55℃ ~ +125℃ ,在 10℃ ~ 85℃ 范围内误差为 177。 ℃。 5. 可编辑数据为 9~12 位,转换 12 位温度 时间为 750ms(最大)。 6. 用户可自设定报警上下限温度。 7. 报警搜索命令可识别和寻址哪个器件的温度超出预定值。 8. DS18B20 的分辩率由用户通过 EEPROM 设置为 9~ 12 位。 9. DS18B20 可将检测到温度值直接转化为数字量,并通过串行通信的方式与主控制器进行数据通信。 DS18B20 采用 3 引脚封装,如图图 所示。 其中, VCC 和 GND 是电源和接地的引脚, DQ 是输入 /输出引脚(单线接口时,可作寄生供电)。 图 DS18B20 引脚图 系统电路的设计 单片机最小系统 主 控制器 AT89C51 单片机的有最小系统、键盘电路、外围接口扩展电路、故障报警电路。 其中键盘电路可以用来进行参数设定,外围扩展电路可以扩展 I/O 口,增强驱动能力。 其外部接收转速偏差电压信号及电流转差反馈信号,经过内部软件进行相应的调节,输出信号至驱动电路控制晶闸管的触发角。 单片机最小系统如图 所示。 本科生课程设计(论文) 9 图 AT89C51最小系统 显示电路 显示电路需要用 4 位 LED 数码管来显示温度值。 利用单片机的 I/O 口驱动 LED 数码管的亮灭。 如图 所示。 图 显示电路接口图 本科生课程设计(论文) 10 报警电路 数字温度计通过蜂鸣器发出间隔频率不一样的报警声音,实现分级报警。 工作电路如图 所示。 当 口输入低电平是,三极管导通,蜂鸣器响;当 口述如高电平时,三极管截止,蜂鸣器不工作。 图 报警器工作电路 键盘电路 键盘电路如图 所示。 S1 控制系统复位清零;当 S2 按下时,控制单片机升温;当 S3 按下时,控制单片机降温;当 S4 按下时,确定单片机的设定值。 图 键盘电路 电源电路 电源 是应用于系统的重要组成部分,与单片机电路翔连,电源设计的不可靠将影响到整个系统的稳定。 由于本实验单片机所需提供电电源为 5V 直流稳压电源,而供电电源为 220V 的交流电,因此,本设计中选用 7805 三端稳压器。 其工作原理:220V/50HZ 的交流电压经变压器变压为 9Vd 交流电输入到电桥中,交流信号经桥路 本科生课程设计(论文) 11 进行整流后转化为直流电压,得到单相全波脉冲波形,再经电解电容的滤波得到波动不太大的信号,经过一个无极性电容滤掉外部带来的高频干扰进入 7805 芯片,在 7805的输出端输出一个平稳的 +5V 直流电平。 如图 所示。 图 电源电路 总电路的设计 系统设计电路如图 所示 : 本科生课程设计(论文) 12 图 设计总电路 本科生课程设计(论文) 13 第 4 章 软件设计 程序设计内容 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。 主程序 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的当前温度值,温度测量每 1s 进行一次。 主程序需要调用四个子程序,分别为数码管显示 程序,温度测试及处理子程序,报警子程序,中断设定子程序。 各模块功能如下: ( 1)数码管显示程序:向数码的显示送数,控制系统的显示部分。 ( 2)温度测试及处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。 ( 3)报警子程序:进行温度上下限判断及报警输出。 主程序流程图如图 所示: 图 主程序流程图 本科生课程设计(论文) 14 读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的 9 字节。 在读出是须进行 CRC 检验,这是一种使用广泛、检错能力很强的差错检测方法。 它对数据进行多 项式计算,并将得到的和数作为这个文件的一个实用特征码。 检验有错时不进行温度数据的改写。 其流程图如图 所示: 图 读 DS18B20 流程图 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令。 其流程图如图 所示: Y 发 DS18B20 复位命令 发跳过 ROM 命令 发读取温度命令 读取操作, CRC 校验 9 字节完。 CRC 校验正。 确。 移入温度暂存器 结束 N N Y 本科生课程设计(论文) 15 发 DS18B20 复位命令 发跳过 ROM 命令 发温度转换开始命令 结束 图 温度转换命令子程序流程图 计算温度子程序 计算温度子程序的主要功能是将 RAM 中读取值进行 BCD 码的转换运 算,并进行温度值正负的判定,其程序流程图如图 所示 图 计算温度子程序流程图 开始 温度零下 ? 温度值取补码置“ — ”标志 计算小数位温度 BCD 值 计算整数位温度 BCD 值 结束 置“ +”标志 N Y 本科生课程设计(论文) 16 显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为 0 时将符号显示位移入下一位。 程序流程图如图 所示: 图 显示数据刷新子程序流程 程序设计 程序设计:。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。