(论文)基于单总线温度传感器的温度检测系统设计设计最新优秀毕业论文资料搜集呕血奉献_第1页
(论文)基于单总线温度传感器的温度检测系统设计设计最新优秀毕业论文资料搜集呕血奉献_第2页
(论文)基于单总线温度传感器的温度检测系统设计设计最新优秀毕业论文资料搜集呕血奉献_第3页
(论文)基于单总线温度传感器的温度检测系统设计设计最新优秀毕业论文资料搜集呕血奉献_第4页
(论文)基于单总线温度传感器的温度检测系统设计设计最新优秀毕业论文资料搜集呕血奉献_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

基于单总线温度传感器的温度检测系统设计1 届本科生毕业设计(论文)届本科生毕业设计(论文) 中文题目:基于单总线温度传感器的温度检测系统设计 英文题目:The Temperature Detection System Design based one wire bus temperature sensor 专 业 电气工程及其自动化 专业方向 电气工程及其自动化 班 级 学 号 学生姓名 指导教师 教 研 室 电气工程及其自动化 机械与自动化工程学院机械与自动化工程学院 年年 月月 日日 基于单总线温度传感器的温度检测系统设计2 基于单总线温度传感器的温度检测系统设计基于单总线温度传感器的温度检测系统设计 摘要:温度是工业生产和自动控制中最常见的工艺参数之一。过去温度检测系统设计中, 大多采用模拟技术进行设计,这样就不可避免地遇到诸如传感器外围电路复杂及抗干扰能 力差等问题;而其中任何一环节处理不当,就会造成整个系统性能的下降。随着半导体技 术的高速发展,特别是大规模集成电路设计技术的发展, 数字化、微型化、集成化成为了 传感器发展的主要方向。本文介绍了检测的基本概念,单总线数字温度传感器 DS18B20 及单片机 AT89C2051 的特性、内部结构及工作原理,给出了 DS18B20 与单片机 AT89C2051 接口的应用实例,以及由两者组成温度检测系统的方法,并给出了对 DS18B20 进行各种操作的软件流程图及操作程序。 关键词:温度检测 ;单总线温度传感器 DS18B20;单片机 AT89C2051 ;汇编语言 The Temperature Detection System Design based one wire bus temperature sensor Abstract: Temperature is the most common one of process parameters in automatic control and industrial production. In the traditional temperature measurement system design, often using simulation technology to design, and this will inevitably encounter error compensation, such as lead,complex outside circuit,poor anti-jamming and other issues, and part of a deal with them Improperly, could cause the entire system of the decline. With modern science and technology of semiconductor development, especially large-scale integrated circuit design technologies, digital, miniaturization, integration sensors are becoming an important direction of development. This paper presents the basic concept of detection, a single digital temperature sensor DS18B20 the characteristics and working principle is given DS18B20 with 89 C2051 MCU interface application examples, and the composition of DS18B20 temperature detection system, and gives the various operations of the DS18B20 Software flow chart and operation programs. Keyword: Temperature Detection;DS18B20;AT89C2051;Assembler language 基于单总线温度传感器的温度检测系统设计3 目 录 中文摘要中文摘要 英文摘要英文摘要 1 1 引言引言55 11 前言5 12 检测概述5 13 智能传感器概述5 14 单总线系统概述. 6 15 智能温度传感器发展的新趋势7 2 2 数字温度传感器数字温度传感器 DS18B20DS18B2099 21 DS18B20 概述. 9 211 性能特点9 212 内部结构 .9 213 管脚排列.10 214 工作方式 10 22 DS18B20 存储器及设置寄存器 .11 23 DS18B20 测温原理. .13 24 DS18B20 测温过程.15 25 DS18B20 使用注意事项. .17 3 3 单片机单片机 AT89C2051AT89C2051.19.19 31 AT89C2051 概述. .19 32 AT89C2051 外部单元. .20 321 引脚.20 322 电源.21 33 AT89C2051 内部单元. .22 331 结构框图.22 332 运算器.22 333 控制器.23 334 存储器.24 34 AT89C2051 程序保密性能. .24 35 AT89C2051 软硬件的开发. .25 4 4 温度检测系统设计温度检测系统设计2626 基于单总线温度传感器的温度检测系统设计4 41 方案比较.26 42 总体设计.26 43 详细设计.27 431 硬件原理图.27 432 DS18B20 与 89C2051 连线图.27 433 显示电路.28 434 复位电路.28 5 5 软件调试软件调试2929 51 系统流程. .29 511 对 DS18B20 操作流程图. .29 512 初始化流程图. .30 513 读操作流程图. .31 514 写操作流程图. .32 515 温度转换流程图.33 52 系统部分程序设计及分析.33 521 初始化子程序.33 522 读子程序.34 523 写子程序.35 524 延时子程序. .36 6 6 结论结论3737 致致 谢谢3838 结束语结束语3939 参考文献参考文献4040 附录:硬件、监控主程序、实物照片附录:硬件、监控主程序、实物照片4141 1 基于 DS18B20 的温度检测系统原理图41 2 监控主程序41 3 基于 DS18B20 的温度检测系统印刷板图51 4 实物照片52 基于单总线温度传感器的温度检测系统设计5 1 1 引言引言 11 前言 温度是表征物体冷热程度的物理量,是工业生产和自动控制中最常见的工艺参数之 一,生产过程中常常需要对温度进行检测和监控。在传统的温度测控系统设计中,往往 采用模拟技术进行设计,这样就不可避免地遇到诸如传感器外围电路复杂及抗干扰能力 差等问题;而其中任何一环节处理不当,就会造成整个系统性能的下降。采用数字温度 传感器与单片机组成的温度检测系统进行温度检测、数值显示和数据存储,体积减小, 精度提高,抗干扰能力强,并可组网进行多点协测,还可以实现实时控制等技术,在现 代工业生产中应用越来越广泛。 12 检测技术概述 检测是人类认识客观世界的最基本的方法,是指生产、试验现场利用某种合适的 检测仪器或系统对被检测对象进行在线实时的测量。检测技术从广义上说是指寻找与自 然信息独具有对应关系的种种表现形式的信号,确定被测量与显示量两者之间的定性、 定量关系,并为进一步提高测量精度、改进试验方法及测量装置性能提供可行依据的整 个过程。检测设备的性能指标主要有精确度、稳定性、输入输出特性这 3 个方面。 13 智能传感器概述 智能传感器最初是由美国宇航局 1978 年在开发出来的产品。因为宇宙飞船上需要大 量的传感器不断向地面发送温度、位置、速度和姿态等数据信息,用一台大型计算机很 难同时处理如此庞杂的数据,于是提出把 CPU 分散化,从而产生出智能化传感器。随着 基于单总线温度传感器的温度检测系统设计6 微电子技术的发展,1983 年美国 Honeywell 公司首次推出用于过程工业的智能压力传感 器。其它公司纷纷效仿,先后研制出各自的智能传感器产品。光电传感器具有反应速度 快,能实现非接触测量,精度高、分辨率高和可靠性好等优点,因此在军事、工业检测 与控制领域获得广泛应用,也使光电传感器的智能化倍受关注并获得迅速发展。智能传 感器带有微处理机,具有采集、处理、交换信息的能力,是传感器集成化与微处理机 相结合的产物。 由于半导体技术的迅速发展,使微控制器的功能不断升级,价格不断下 降,从而引起工业传感器设计的革命,也使检测技术的发展跃上一个新台阶。智能传感 器具有:通过软件技术可实现高精度的信息采集,而且成本低;具有一定的编程自动 化能力;功能多样化 等特点。 相比一般传感器,智能式传感器有如下显著特点: (1 1) 提高了传感器的精度提高了传感器的精度 智能式传感器具有信息处理功能,通过软件不仅可修正各种确定性系统误差(如传感 器输入输出的非线性误差、温度误差、零点误差、正反行程误差等)而且还可适当地补偿 随机误差、降低噪声,大大提高了传感器精度。 (2 2) 提高了传感器的可靠性提高了传感器的可靠性 集成传感器系统小型化,消除了传统结构的某些不可靠因素,改善了整个系统的抗 干扰性能;同时它具有自诊断、自校准和数据存储功能(对于智能结构系统还有自适应功 能),具有良好的稳定性。 (3 3)提高了传感器的性能价格比)提高了传感器的性能价格比 在相同精度的需求下,多功能智能式传感器与单一功能的普通传感器相比,性能价 格比明显提高,尤其是在采用较便宜的单片机后更为明显。 (4 4)促成了传感器多功能化)促成了传感器多功能化 智能式传感器可以实现多传感器多参数综合测量,可编程扩大测量与使用范围;有 一定的自适应能力,根据检测对象或条件的改变,相应地改变量程及输出数据的形式; 具有数字通讯接口功能,直接送入远地计算机进行处理;具有多种数据输出形式 (如 RS232 串行输出,PIO 并行输出,IEEE-488 总线输出以及经 DA 转换后的模拟量输出等), 适配各种应用系统。 14 单总线系统概述 目前常用的微机与外设之间进行的数据通信的串行总线主要有 I 2C 总线, SPI 总 线等。其中 I 2C 总线以同步串行 2 线方式进行通信(一条时钟线,一条数据线) , SPI 总线则以同步串行 3 线方式进行通信(一条时钟线,一条数据输入线,一条数据输 出线) 。这些总线至少需要两条或两条以上的信号线。而单总线( 1-wire bus ) ,它采 用单根信号线,既传输时钟,又传输数据,最基本的操作有初始化、写和读 3 种,所有 基于单总线温度传感器的温度检测系统设计7 其它的操作都由这 3 种基本操作组合而成。在这种操作中,只有写操作是单向的,初始 化操作和读操作都是双向的。CPU 只需一根端口线就能与诸多单总线器件通信,占用微 处理器的端口较少,可节省大量的引线和逻辑电路。 因而,这种单总线技术具有节省 I/O 口线,结构简单,成本低廉,软件设计简单,便于总线扩展和维护。同时,基于单 总线技术能较好地解决传统识别器普遍存在的携带不便,易损坏,易受腐馈,易受电磁 干扰等不足,因此,单总线具有广阔的应用前景,是值得关注的一个发展领域。 单总线系统中的数据交换,控制都由这一根数据线完成。主机或从机通过一个漏极 开路或三态端口连至数据线,以允许设备在不发送数据时能够释放总线,而让其它设备 使用总线。单总线通常要求外接一个约为 4.7K 的上拉电阻,这样,当总线闲置时其状 态为高电平。 15 智能温度传感器发展的新趋势 进入 21 世纪后,智能温度传感器正朝着总线标准化、多功能、高精度、高可靠性及 安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。 (1 1)提高测温精度和分辨力)提高测温精度和分辨力 在 20 世纪 90 年代中期最早推出的智能温度传感器,采用的是 8 位 A/D 转换器,其 测温精度较低,分辨力只能达到 1。目前,国外已相继推出多种高精度、高分辨力的 智能温度传感器,所用的是 912 位 A/D 转换器,分辨力一般可达 0.50.0625。由美 国 DALLAS 半导体公司新研制的 DS1624 型高分辨力智能温度传感器,能输出 13 位二进制 数据,其分辨力高达 0.03125,测温精度为0.2。为了提高多通道智能温度传感器 的转换速率,也有的芯片采用高速逐次逼近式 A/D 转换器。以 AD7817 型 5 通道智能温度 传感器为例,它对本地传感器、每一路远程传感器的转换时间分别仅为 27s、9s。 (2 2)增加测试功能)增加测试功能 新型智能温度传感器的测试功能也在不断增强。例如,DS1629 型单线智能温度传感 器增加了实时日历时钟(RTC),使其功能更加完善。DS1624 还增加了存储功能,利用 芯片内部 256 字节的 E2PROM 存储器,可存储用户的短信息。另外,智能温度传感器正从 单通道向多通道的方向发展,这就为研制和开发多路温度测控系统创造了良好条件。 智能温度传感器都具有多种工作模式可供选择,主要包括单次转换模式、连续转换 模式、待机模式,有的还增加了低温极限扩展模式,操作非常简便。对某些智能温度传 感器而言,主机(外部微处理器或单片机)还可通过相应的寄存器来设定其 A/D 转换速率 (典型产品为 MAX6654),分辨力及最大转换时间(典型产品为 DS1624)。 智能温度控制器是在智能温度传感器的基础上发展而成的。典型产品有 DS1620、DS1623、TCN75、LM76、MAX6625。智能温度控制器适配各种微控制器,构成智 基于单总线温度传感器的温度检测系统设计8 能化温控系统;它们还可以脱离微控制器单独工作,自行构成一个温控仪。 (3 3)总线技术的标准化与规范化)总线技术的标准化与规范化 目前,智能温度传感器的总线技术也实现了标准化、规范化,所采用的总线主要有 单线(1-Wire)总线、I2C 总线、SMBus 总线和 spI 总线。温度传感器作为从机可通过专用 总线接口与主机进行通信。 (4 4)高可靠性及安全性设计)高可靠性及安全性设计 传统的 A/D 转换器大多采用积分式或逐次比较式转换技术,其噪声容限低,抑制混 叠噪声及量化噪声的能力比较差。新型智能温度传感器(例如 TMP03/04、LM74、LM83)普 遍采用了高性能的 式 A转换器,它能以很高的采样速率和很低的采样分辨力 将模拟信号转换成数字信号,再利用过采样、噪声整形和数字滤波技术,来提高有效分 辨力。 式 AD 转换器不仅能滤除量化噪声,而且对外围元件的精度要求低;由 于采用了数字反馈方式,因此比较器的失调电压及零点漂移都不会影响温度的转换精度。 为了避免在温控系统受到噪声干扰时产生误动作,在 AD7416/7417/7817、LM7576、MAX66256626 等智能温度传感器的内部,都设置了一 个可编程的“故障排队(fAultqueue)”计数器,专用于设定允许被测温度值超过上、下 限的次数。仅当被测温度连续超过上限或低于下限的次数达到或超过所设定的次数 n(n=14)时,才能触发中断端。若故障次数不满足上述条件或故障不是连续发生的,故 障计数器就复位而不会触发中断端。 基于单总线温度传感器的温度检测系统设计9 2 数字温度传感器 DS18B20 21 DS18B20 概述 由 dallas 半导体公司生产的 ds18b20 型单线智能温度传感器,属于新一代适配微处 理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测 控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。 211 性能特点 (1)采用单总线的接口方式。与微处理器连接时,仅需要一条口线即可实现微处理 器与 DS18B20 的双向通讯。 (2)测量温度范围宽。测量精度高 DS18B20 的测量范围为 -55 + 125 ; 在 -10+ 85C 范围内,精度为 0.5C 。 (3)在使用中不需要任何外围元件。 (4)持多点组网功能。多个 DS18B20 可以并联在惟一的三线上,实现多点测温。 (5)供电方式灵活。DS18B20 可以通过内部寄生电路从数据线上获取电源。因此, 当数据线上的时序满足一定的要求时,可以不接外部电源,从而 使系统结构更趋简单, 可靠性更高。 (6)测量参数可配置。DS18B20 的测量分辨率可通过程序设定 912 位。 (7)负压特性。电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 (8)掉电保护功能。DS18B20 内部含有 EEPROM,在系统掉电以后,它仍可保存分 辨率及报警温度的设定值。 DS18B20 具有体积更小、适用电压更宽、更经济、可选更小的封装方式,更宽的电 压适用范围,适合于构建自己的经济的测温系统,因此也就被设计者们所青睐。 基于单总线温度传感器的温度检测系统设计10 212 内部结构 DS18B20 内部结构主要由四部分组成:温度传感器,64 位光刻 ROM,非挥发的温度 报警触发器 TH 和 TL,高速暂存器。 图 2.1 DS18B20 内部结构 213 管脚排列 DS1820 采用 3 脚 PR-35 封装或 8 脚 SOIC 封装,管脚排列如图 2.2 所示。图中 GND 为地,I/O 为数据输入/输出端(即单线总线) ,该脚为漏极开路输出,常态下呈高电平。 VDD 是外部+5V 电源端,不用时应接地。NC 为空脚。 图 2.2 DS18B20 的管脚排列图 基于单总线温度传感器的温度检测系统设计11 214 工作方式 (1)寄生电源供电方式 所谓“寄生供电模式”就是省去系统总线中的电源线,由数据线为单总线器件提供 电能,从而使系统总线由 3 根变为 2 根,方便了现场布线。DS18B20 从单线信号线上汲 取能量,在信号线 DQ 处于高电平期间把能量储存在内部电容里,在信号线处于低电平期 间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。 为了使 DS18B20 在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到 E2 存储器操作时,用 MOSFET 把 I/O 线直接拉到 VCC 就可提供足够的电流,在发出任何 涉及到拷贝到 E2 存储器或启动温度转换的指令后,必须在最多 10S 内把 I/O 线转换到 强上拉状态。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应 用,缺点就是要多占用一根 I/O 口线进行强上拉切换。 图 2.3 寄生电源工作方式 (2)外接电源工作方式 当温度高于 100 时,不推荐使用寄生电源,因为此时器件中较大的漏电流会使总 线不能可靠检测高低电平,从而导致数据传输误码率的增大。在类似这种温度的情况下, 推荐使用 DS18B20 的 VDD 引脚。 图 2.4 外接电源工作方式 基于单总线温度传感器的温度检测系统设计12 22 DS18B20 存储器及设置寄存器 DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性的可电擦 除的 E2RAM, 后者存放高温度和低温度触发器 TH 、 TL 和结构寄存器。数据先写入 RAM ,经校验后再传给 E2RAM 。 暂存存储器包含了 8 个连续字节,前两个字节是测得的温度信息,第一个字节的 内容是温度的低八位 TL ,第二个字节是温度的高八位 TH 。第三个和第四个字节是 TH 、 TL 的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每 一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字 节,可用来保证通信正确。 DS18B20 的分布如下: 表 2.1 DS18B20 的暂存寄存器分布 寄存器内容地址 温度的低八位数据0 温度的高八位数据1 高温阀值2 低温阀值 3 保留 4 保留 5 计数剩余值 6 每度计数值 7 CRC 校验 8 在 64 b ROM 的最高有效字节中存储有循环冗余校验码( CRC )。主机根据 ROM 的前 56 位来计算 CRC 值,并和存入 DS18B20 中的 CRC 值做比较,以判断主机收到的 ROM 数据是否正确。 设置寄存器位于高速闪存的低 5 个字节,这个寄存器中的内容被用来确定温度的转 换精度。寄存器各位的内容如下: 表 2.2 DS18B20 的设置寄存器各位内容 BIT7 BIT6BIT5BIT4BIT3BIT2BIT1BIT0 TM R1R011111 该寄存器的低五位一直都是 1,TM 是测试模式位,用于设置 DS18B20 在工作模式还 是在测试模式。在 DS18B20 出厂时该位被设置为 0,用户不要去改动。 R1 和 R0 用来 设置分辨率,如下表所示:(DS18B20 出厂时被设置为 12 位) 基于单总线温度传感器的温度检测系统设计13 表 2.3 分辨率设置 R1R0 分辨率 温度最大转换时间 00 9 位 93.75 ms 01 10 位 187.5 ms 10 11 位 375 ms 00 12 位 750 ms 由表可知,设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际 应用中要在分辨率和转换时间权衡考虑。本次设计中采用的为 12 位分辨率,即 750MS 转 换时间 23 DS18B20 测温原理 DS18B20 其内部含有两个温度系数不同的温敏振荡器,其中低温度系数振荡器相当 于标尺,高温度系数振荡器相当于测温元件,通过不断比较两个温敏振荡器的振荡周期 得到两个温敏振荡器在测量温度下的振荡频率比值。根据频率比值和温度的对应曲线得 到相应的温度值。这种方式避免了测温过程中的 A/D 转换,提高了温度测量的精度。低 温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计 数器 1。高温度系数晶振随温度变化其震荡频率明显改变,很敏感的振荡器,所产生的 信号作为减法计数器 2 的脉冲输入,为计数器 2 提供一个频率随温度变化的计数脉冲。 图中还隐含着计数门,当计数门打开时, DS18B20 就对低温度系数振荡器产生的时钟脉 冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每 次测量前,首先将 -55 所对应的基数分别置入减法计数器 1 和温度寄存器中,减法 计数器 1 和温度寄存器被预置在 -55 所对应的一个基数值。减法计数器 1 对低温 度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时温度寄 存器的值将加 1 ,减法计数器 1 的预置将重新被装入,减法计数器 1 重新开始对低温 度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止 温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和 修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭 就重复上述过程,直至温度寄存器值达到被测温度值。 基于单总线温度传感器的温度检测系统设计14 图 2.5 DS18B20 的内部测温电路框图 DS18B20 内部结构主要由四部分组成:温度传感器、64 位光刻 ROM、非挥发的温度 报警触发器 TH 和 TL、配置寄存器。 光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址 序列码。64 位光刻 ROM 的排列是:开始 8 位(地址:28H)是产品类型的编号,接着的 48 位是每个 DS18B20 自身的序列号,并且每个 DS18B20 的序列号都不相同,因此它可以 看作是该 DS18B20 的地址序列码;最后 8 位则是前面 56 位的 CRC 校验码 (CRC=X8+X5+X4+1) 。由于每一个 DS18B20 的 ROM 数据都各不相同,因此微控制器就可 以通过单总线对多个 DS18B20 进行寻址,从而实现一根总线上挂接多个 DS18B20 。 图 2.6 64b 闪速 ROM DS18B20 中的温度传感器用于完成对温度的测量,它的测量精度可以配置成 9 位, 10 位,11 位或 12 位 4 种状态。温度传感器在测量完成后将测量的结果存储在 DS18B20 的两个 8BIT 的 RAM 中,单片机可通过单线接口读到该数据,读取时低位在前,高位在后 数据的存储格式如下表(以 12 位转化为例): 基于单总线温度传感器的温度检测系统设计15 图 2.7 温度信号寄存器格式 这是 12 位转化后得到的 12 位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进制 中的前面 5 位是符号位,如果测得的温度大于 0 ,这 5 位为 0 ,只要将测到的数值 乘于 0.0625 即可得到实际温度;如果温度小于 0 ,这 5 位为 1 ,测到的数值需要取 反加 1 再乘于 0.0625 即可得到实际温度。 例如: + 125 的数字输出为 07D0H , + 25.0625 的数字输出为 0191H , -25.0625 的数字输出为 FF6FH , -55 的数字输出为 FC90H 。 DS18B20 完成温度转换后,就把测得的温度值与 TH , TL 作比较,若 TTH 或 T1000 次)。 (4)更适合小批量系统的应用,容易实现软件的升级。 (5)20 条 I/O 量已经满足本次设计要求。 42 总体设计 在本次设计中,采用了以 DS18B20 与 AT89C2051 为系统基础。 温度传感器 DS18B20 将被测环境温度转化成带符号的数字信号(以十六位补码形式, 占两个字节),传感器可置于离装置 150 米以内的任何地方,输出脚 I/O 直接与单片机 的 P3.7 相连,传感器采用寄生电源供电。AT89C2051 是整个装置的控制核心,它内带 1K 字节的 FlashROM,用户程序存放在这里。显示器模块由 5 个 LED4205 组成。系统程序分 为传感器控制程序和显示器程序两部分。传感器控制程序按照 DS18B20 的通信协议编制。 系统的工作是在程序控制下,完成对传感器的读写操作和对温度的显示。 基于单总线温度传感器的温度检测系统设计27 43 详细设计 431 硬件原理图 图 4.1 基于单总线温度传感器的温度检测系统硬件原理图 432 DS18B20 与 89C2051 连线图 输出脚 DQ 直接与单片机的 P3.7 相连,传感器采用寄生电源供电。 图 4.2 DS18B20 与 89C2051 连线原理图 基于单总线温度传感器的温度检测系统设计28 433 显示电路 图 4.3 89C2051 与 LED4205 部分连线图 434 复位电路 图 4.4 复位电路原理图 基于单总线温度传感器的温度检测系统设计29 5 软件调试 51 系统流程 511 对 DS18B20 操作流程图 基于单总线温度传感器的温度检测系统设计30 512 初始化流程图 基于单总线温度传感器的温度检测系统设计31 513 读操作流程图 基于单总线温度传感器的温度检测系统设计32 514 写操作流程图 基于单总线温度传感器的温度检测系统设计33 515 温度转换流程图 52 系统部分程序设计及分析 521 初始化子程序 复位时序: (1)主机将信号线置为低电平,时间为 480-960uS (2)主机将信号线置为高电平,时间为 15-60uS (3)DS18B20 发出 60-240uS 的低电平作为应答信号,主机收到此信号后才能操作 DSREST: NOP SETB DAT ;拉高数据线 基于单总线温度传感器的温度检测系统设计34 NOP CLR DAT ;拉低数据线 512uS MOV R0,#80H TSR0: DJNZ R0,TSR0 ;双字节 4uS 做 128 次,延时 512uS SETB DAT ;拉高数据线 32uS MOV R0,#08H TSR1: DJNZ R0,TSR1 ;双字节 4uS 做 8 次,延时 32uS MOV R0,#10H ;设定读 DS1820B 应答信号的最大时限为 16*4*2=128u TSR2: JNB DAT,TSR3 ;数据线低电平,已读到,转 DJNZ R0,TSR2 LJMP TSR4 ;未读到,转 TSR3: SETB FDS18 ;读到后置复位成功标志 LJMP TSR5 TSR4: CLR FDS18 LJMP TSR7 TSR5: MOV R0,#40H TSR6: DJNZ R0,TSR6 ;双字节 4uS 做 64 次,延时 256uS TSR7: SETB DAT ;拉高数据线 RET 522 读子程序 读入数据高位字节放在 BDS18H,低位字节放在 BDS18L,读时序: (1)主机将信号线从高电平拉至低电平 1uS 以上,再升为高电平,产生读起始信号 (2)从主机将信号线从高电平拉至低电平 15-60uS 的时间内,DS18B20 将数据放到信 号线上,完成 1 个读周期 (3)在开始另一个读周期前,必须有 1uS 以上的高电平恢复期 DS18RD: NOP MOV R4,#02H MOV R1,#60H RE00: MOV R2,#08H RE01: CLR C SETB DAT ;拉高数据线 NOP CLR TR0 ;读时序较关键,不允许 T0 中断 CLR DAT ;拉低数据线 基于单总线温度传感器的温度检测系统设计35 NOP SETB DAT MOV R3,#04H RE10: DJNZ R3,RE10 ;双字节 4uS 做 4 次,延时 16uS MOV C,DAT ;读入 1 位数据 MOV R3,#10H RE20: DJNZ R3,RE20 RRC A ;移入 A SETB TR0 DJNZ R2,RE01 ;不到 8 位,循环 MOV R1,A ;读入 1 个字节,放到 60H INC R1 ;下一个数据放到 61H DJNZ R4,RE00 MOV BDS18L,60H MOV BDS18H,61H SETB TR0 RET 523 写子程序 要写的数据放在累加器 A,写时序: (1)主机将信号线从高电平拉至低电平,产生写起始信号 (2)从信号线的下降沿开始,在 15-60uS 的时间内,DS18B20 对信号线检测,如高则 写 1,低则写 0,完成 1 个写周期 (3)在开始另一个写周期前,必须有 1uS 以上的高电平恢复期 DS18WR: NOP MOV R2,#08H ;共写 1 字节 8 位 CLR C WR1: CLR DAT ;拉低数据线 NOP RRC A ;移出 1 位数据 MOV DAT,C ;将 1 位数据放到数据线上 MOV R3,#10H WR1Y: DJNZ R3,WR1Y ;双字节 4uS 做 16 次,延时 64uS SETB DAT ;拉高数据线 NOP NOP 基于单总线温度传感器的温度检测系统设计36 DJNZ R2,WR1 ;不到 8 位,循环 SETB DAT ;到 8 位,拉高数据线 RET 524 延时子程序 DELAY1=(4*250)+2)*100)+2)*1uS,约 100mS DELAY1: NOP MOV R6,#64H DLOP1: MOV R5,#0FAH DLOP0: DJNZ R5,DLOP0 DJNZ R6,DLOP1 RET 基于单总线温度传感器的温度检测系统设计37 6 6 结论结论 由此我们可以得出结论:由 DS18B20 和 AT89C2051 组成的该温度检测系统是完全可行 的。该系统具有更高速、更灵敏、更简捷地获取被分析、检测、控制对象的温度信息的 能力,同时具有良好的抗干扰及环境适应能力(测温范围-55 + 125 )。因其体积小, 使用方便,封装形式多样 ,适用于各种狭小空间设备数字测温和控制领域 ,且系统 结构较为简单,可大规模的采用,成本低廉。 基于单总线温度传感器的温度检测系统设计38 致 谢 本次设计是在赖申江老师的悉心指导下完成的。在整个过程中,导师给予了大量指导, 并提供了很多与该研究相关的重要信息,培养了我们对科学研究的严谨态度和创新精神, 对我影响深远。不仅使我掌握了基本的科学研究方法,还使我明白了许多待人接物与为 人处世的道理,这将非常有利于我今后的学习和工作。 本论文从最初选题到最终完成,每一步都是在导师的指导下完成的,倾注了导师大 量的精力。在此,谨向导师表示衷心的感谢和至高的敬意! 基于单总线温度传感器的温度检测系统设计39 结束语 转眼大学生活就进入到了尾声,而在这个时我也完成自己的毕业设计。毕业设计对 任何一个毕业生来说都应该是非常重要的,因为这需要通过自己所学到的知识来解决实 际的问题,是对自己综合能力的一个考验。毕业设计的水平在很大程度上代表了毕业生 的水平,只有合格完成了毕业设计的人才能算做一个合格的毕业生。 这次我设计的是基于单总线温度传感器的温度检测系统设计。在设计过程中,我通 过各种途径查阅了大量的关于温度传感器和单片机的资料。考虑到 AT89C2051,80C31 和 PIC 单片机的特点,最后决定选用 AT89C2051。并利用 PROTEL 来制作原理图和印刷板。 至此,所有关于毕业设计的内容就介绍完了。虽然我花费了很多时间来尽力把毕设 做好,但是由于个人能力的原因,整个系统还是不够完善的,还有许多地方值得改进。 今后有机会再将其完善。 老师们常说毕业设计重在过程,事实也确是如此。在整个毕设的过程,我学到了许 多过去没有接触过的新的知识,也将过去所学的知识又做了一次温习。这些收获给我带 来的帮助远不止作好毕业设计那么简单,我相信在踏上工作岗位之后它们也将成为我向 上的坚实基础。 基于单总线温度传感器的温度检测系统设计40 参考文献 1 丁元杰,单片机原理及应用,机械工业出版社; 2 李华,MCS-51 系列单片机实用接口技术,北京航空航天出版社; 3 何立民,单片机应用文集,北京航空航天出版社; 4 何英,Protel99 入门与实用,机械工业出版社; 5 郑华耀,检测技术,机械工业出版社; 6 王武江等,常用集成电路速查手册,冶金工业出版社; 7 赦鸿安, 常用数字集成电路应用手册,中国计量出版社; 8 李建勋, 数字电路与逻辑设计,科学出版社; 9 曹汉房等, 数字技术教程,电子工业出版社; 10 朱积川 刘泽坚,数字电路与脉冲电路实验,高等教育出版社; 11 王俊杰,单总线测温系统硕士学位论文,北京,清华大学。 12 Lynch J P, Law K H, Kiremidjian A S, Kenny T W, Carryer E ,and Partridge A. The design of wireless sensing unit for structural health monitoring Proceeding of the 3th International Workshop on Structural Health MonitoringC 13 Klyachkin,ML, Sloan,DA. Secondary hyperparathyroidism: evidence for an association with papillarythyroid cancer. American Surgeon 基于单总线温度传感器的温度检测系统设计41 附录:硬件、监控主程序、实物照片附录:硬件、监控主程序、实物照片 1 基于 DS18B20 的温度检测系统原理图 2 监控主程序 ;- ;功能: ;5 位数码管动态显示 ;温度传感器采样及显示,数码管动态显示温度(XXX.XX),出错显示 Err1- ;-位定义- FDS18 EQU 06H ;DS18B20 复位标志 F1S EQU 07H ; 1 秒到时间标志 DAT EQU P3.7 ; 温度数据线,DS18B20 的第 2 脚 ;-字节定义- T40 EQU 31H ;40mS 计时单元 T1000 EQU 32H ;1S 计时单元 BCNT EQU 33H ;显示位单元,从 01H-20H 移位切换 基于单总线温度传感器的温度检测系统设计42 DATA1 EQU 34H DATA2 EQU 35H DATA3 EQU 36H DATA4 EQU 37H DATA5 EQU 38H BNUM EQU 39H ;温度整数单元(二进制) BNUM1 EQU 3AH ;温度小数单元(二进制) BDS18H EQU 3BH ;DS18B20 采样值高位字节 BDS18L EQU 3CH ;DS18B20 采样值低位字节 ;-系统中断入口- ORG 0000H LJMP START ;引向主程序入口 ORG 000BH LJMP PGT0 ;T0 中断正常入口,转定时器中断服务程序 ;-系统初始入口- ORG 0027H START: MOV SP,#68H ;-定时/计数控制器初始化- MOV TMOD,#20H ;T1 方式 2,8 位自动装载。T0 方式 0,13 位计 数 MOV TL0,#18H ;T0 置初值,6MHZ 晶振,2MS 定时中断 MOV TH0,#0E0H ;-清 8031RAM 及外设-_- CLR A MOV R0,#20H MOV R7,#47H RCLP0: MOV R0,A INC R0 DJNZ R7,RCLP0 MOV BCNT,#01H CLR A MOV T40,A MOV T1000,A MOV DATA1,A MOV DATA2,A 基于单总线温度传感器的温度检测系统设计43 MOV DATA3,A MOV DATA4,A MOV DATA5,A ;- SETB TR0 ;TR0 是 TCON 的 D4 位,TR0=1,启动 T0 SETB ET0 SETB EA ;CPU 开中断 ;-监控程序循环- ;监控程序 0.5 秒钟循环 1 次 MAIN: SETB F1S NOP LJMP DS18B ; 转 DS18B20 温度采样 NOP DS18B: SETB DAT ; 拉高数据线 LCALL DSREST ;复位 DS18B20 JNB FDS18,DSERR1 ; 复位 DS18B20 失败,转其它处理,显示 Err1 MOV A,#0CCH ; CCH 是命令字,跳过 DS18B20 的 ROM 序列号检测 LCALL DS18WR ;写入该命令 MOV A,#44H ;44H 是命令字,使 DS18B20 开始温度转 换 LCALL DS18WR ;写入该命令 LCALL DELAY1 ;延时,等待转换结果 LCALL DSREST ;复位 DS18B20 JNB FDS18,DSERR2 ;复位 DS18B20 失败,转其它处理,显示 Err2 MOV A,#0CCH ;跳过 DS18B20 的 ROM 序列号检测 LCALL DS18WR ;写入该命令 MOV A,#0BEH ;BEH 是读命令字 LCALL DS18WR ;写入读数据命令 LCALL DS18RD ; 读出 DS18B20 温度转换结果,放到 BDS18H 及 BDS18L CLR A MOV BNUM1,A ;清 BNUM1 基于单总线温度传感器的温度检测系统设计44 MOV A,BDS18L ;先算小数部分,从 BDS18L 中取 D3-D0 位 JNB ACC.3,D30 MOV BNUM1,#32H ;0.5 度,显示加 50(32H) D30: JNB ACC.2,D20 MOV A,BNUM1 ADD A,#19H ;0.25 度,显示加 25(19H) MOV BNUM1,A D20: JNB ACC.1,D10 MOV A,BNUM1 ADD A,#0DH ;0.125 度,显示加 13(0DH) MOV BNUM1,A D1

温馨提示

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

评论

0/150

提交评论