智能温度测量系统的研究与设计1.doc_第1页
智能温度测量系统的研究与设计1.doc_第2页
智能温度测量系统的研究与设计1.doc_第3页
智能温度测量系统的研究与设计1.doc_第4页
智能温度测量系统的研究与设计1.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

目 录 第一章第一章 概述概述1 1 1.1 研究背景和研究意义:.1 1.2 温度测量技术的发展与应用:.1 1.2.1 温度检测技术简介及发展:.1 1.2.2 温度测量技术的应用.5 1.3 本文研究内容:.6 1.3.1 设计目的:.6 1.3.2 设计要求:.6 1.3.3 设计原理:.6 第二章第二章 系统硬件模块的选择系统硬件模块的选择7 7 2.1 开发工具的选择:7 2.2 单片机的选择.8 2.3 温度传感器的选择.9 2.3.1 ds18b20 的介绍.9 2.3.2ds18b20 工作原理 10 2.4 显示模块的选择11 2.4.1 数码管的分类11 2.4.2 数码管驱动原理12 第三章第三章 系统硬件电路设计系统硬件电路设计1313 3.1 系统整体电路图13 3.2 单片机最小系统14 3.3 温度传感器系统14 3.4 报警电路设计17 3.5 显示电路设计17 3.6 电源电路设计18 第四章第四章 系统软件设计系统软件设计2020 4.1 主程序20 4.2 读出温度子程序21 4.3 温度转换命令子程序22 4.4 计算温度子程序 .22 第五章第五章 测试与结果分析测试与结果分析2525 5.1 仿真软件介绍25 5.2 仿真结果 .25 5.2.1 用 keil进行程序编译25 致谢致谢2727 参考文献:参考文献:2828 附录:源程序附录:源程序2929 湖北理工学院毕业设计(论文) 1 1. 概述 1.1 研究背景和研究意义: 随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几 何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水 平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术) 中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经 引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相 关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研 究温度的测量方法和装置具有重要的意义。 本设计即用单片机对温度进行实时检测与控制,本文所介绍的数字温度计与传统的 温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要 用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机 at89s52,测 温传感器使用 ds18b20,用 4 位共阳极 led 数码管以串口传送数据,实现温度显示,能准确 达到设计要求。本温度计属于多功能温度计,功能较强,可以设置上下限报警温度,且测 量准确、误差小。当测量温度超过设定的温度上下限时,启动蜂鸣器和指示灯报警。 1.2 温度测量技术的发展与应用: 1.2.11.2.1 温度检测技术简介及发展:温度检测技术简介及发展: 一、随着国内外工业的日益发展,温度检测技术也有了不断的进步,目前的温度检测 使用的方法种类繁多,应用范围也较广泛,大致包括以下几种方法1: 1.利用物体热胀冷缩原理制成的温度计 利用此原理制成的温度计大致分成三大类。 (1)玻璃温度计,它是利用玻璃感温包内的测温物质(水银、酒精、甲苯、煤油等)受 热膨胀、遇冷收缩的原理进行温度测量的; (2)双金属温度计,它是采用膨胀系数不同的两种金属牢固粘合在上一起制成的双金 属片作为感温元件,当温度变化时,一端固定的双金属片,由于两种金属膨胀系数不同而 产生弯曲,自由端的位移通过传动机构带动指针指示出相应温度; (3)压力式温度计,它是由感温物质(氮气、水银、二甲苯、甲苯、甘油和低沸点液 湖北理工学院毕业设计(论文) 2 体如氯甲烷、氯乙烷等)随温度变化,压力发生相应变化,用弹簧管压力表测出它的压力值, 经换算得出被测物质的温度值。 2.利用热电效应技术制成的温度检测元件 利用此技术制成的温度检测元件主要是热电偶。热电偶发展较早,比较成熟,至今仍 为应用最广泛的检测元件。热电偶具有结构简单、制作方便、测量范围宽、精度高、热惯 性小等特点。 常用的热电偶有以下几种。 (1)镍铬-镍硅,型号为 wrn,分度号为 k,测温范围 0-900,短期可测 1200。 (2)镍铬-康铜,型号为 wrk,分度号为 f,测温范围 0-600,短期可测 800。 (3)铂铑-铂,型号为 wrp,分度号为 s,在 1300以下的温度可长期使用,短期可 测 1600。 (4)铂铑 30铂铐 6,型号为 wrr,分度号为 b,测温范围 300-1600,短期可测 1800。 3.利用热阻效应技术制成的温度计 用此技术制成的温度计大致可分成以下几种2。 (1)电阻测温元件,它是利用感温元件(导体)的电阻随温度变化的性质,将电阻的 变化值用显示仪表反映出来,从而达到测温的目的。目前常用的有铂热电阻(分度号为 pt100、pt10 两种)和铜热电阻(分度号有 cu50、cu100 两种)。 (2)导体测温元件,它与热电阻的温阻特性刚好相反,即有很大负温度系数,也就是 说温度升高时,其阻值降低。 (3)陶瓷热敏元件,它的实质是利用半导体电阻的正温特性,用半导体陶瓷材料制作 而成的热敏元件,常称为 pct 或 nct 热敏元件。pct 热敏元件分为突变型及缓变型二类。 突变型 pct 元件的温阻特性是当温度达到顶点时,它的阻值突然变大,有限流功能,多数 用于保护电器。缓变型 pct 元件的温阻特性基本上随温度升高阻值慢慢增大,起温度补偿 作用。nct 元件特性与 pct 元件的突变特性刚好相反,即随温度升高,它的阻值减小3。 4.利用热辐射原理制成的高温计 热辐射高温计通常分为两种。一种是单色辐射高温计,一般称光学高温计;另一种是 全辐射高温计,它的原理是物体受热辐射后,视物体本身的性质,能将其吸收、透过或反 射。而受热物体放出的辐射能的多少,与它的温度有一定的关系。热辐射式高温计就是根 据这种热辐射原理制成的3。 5.利用声学原理进行温度测量 声学发温度检测技术是近年来发展起来的一项新技术,利用该技术,可以对炉内的烟 湖北理工学院毕业设计(论文) 3 气温度测量值和火焰分布在线检测,判断炉的燃烧状况,进行实时调节和控制,声学温度 检测技术的基本原理是通过测量声波传感器间的声波传播时间以最小二乘原理重建温度的 测量方法。4 6利用红外测温技术 红外测温技术是通过检测物体表面能量来检测物体温度的。近年来,在温度检测技术 领域,多种新的检测原理与技术的开发应用,已经取得了重大进展。新一代温度检测元件 正在不断出现和完善化。 1.晶体管温度检测元件 半导体温度检测元件是具有代表性的温度检测元件。半导体的电阻温度系数比金属大 12 个数量级,二级管和三极管的 pn 结电压、电容对温度灵敏度很高。基于上述测温原理 已研制了各种温度检测元件。 2.集成电路温度检测元件 利用硅晶体管基极一发射极间电压与温度关系(即半导体 pn 结的温度特性)进行温度 检测,并把测温、激励、信号处理电路和放大电路集成一体,封装于小型管壳内,即构成 了集成电路温度检测元件。 3.核磁共振温度检测器 所谓核磁共振现象是指具有核自旋的物质置于静磁场中时,当与静磁场垂直方向加以 电磁波,会发生对某频率电磁的吸收现象。利用共振吸收频率随温度上升而减少的原理研 制成的温度检测器,称为核磁共振温度检测器。这种检测器精度极高,可以测量出千分之 一开尔文,而且输出的频率信号适于数字化运算处理,故是一种性能十分良好的温度检测 器5。在常温下,可作理想的标准温度计之用。 4.热噪声温度检测器 它的原理是利用热电阻元件产生的噪声电压与温度的相关性。其特点是: (1)输出噪声电压大小与温度是比例关系; (2)不受压力影响; (3)感温元件的阻值几乎不影响测量精确度; 所以它是可以直接读出绝对温度值而不受材料和环境条件限制的温度检测器。 5.石英晶体温度检测器 它采用 lc 或 y 型切割的石英晶片的共振频率随温度变化的特性来制作的。它利用u p 技术,自动补偿石英晶片的非线性,测量精度较高,一般可检测到 0.001,所以可作标 准检测之用。 6.光纤温度检测器 湖北理工学院毕业设计(论文) 4 光纤温度检测器是目前光纤传感器中发展较快的一种,已开发了开关式温度检测器、 辐射式温度检测器等多种实用型的品种。它是利用双折射光纤的传输光信号滞后量随温度 变化的原理制成的双折射光纤温度检测器,检测精度在1以内,测温范围可以从绝对 0到 2000。 7.激光温度检测器 激光测温特别适于远程测量和特殊环境下的温度测量,用氮氖激光源的激光作反射计 可测得很高的温度,精度达 1;用激光干涉和散射原理制作的温度检测器可测量更高的 温度,上限可达 3000,专门用于核聚变研究,但在工业上应用还需进一步开发和实验。 8.微波温度检测器 采用微波测温可以达到快速测量高温的目的。它是利用在不同温度下,温度与控制电 压成线性关系的原理制成的。这种检测器的灵敏度为 250khz/,精度为 1左右,检测范 围为 201400。 9.纯贵金属热电偶的研究 由两种纯金属组成的热电偶,因其材料均匀性远优于合金材料,因而稳定性很好。在 铂铑合金热电偶(s、r 型)的不确定度已很难提高之后,人们开始寻找由纯贵金属组成的热 电偶,以代替 s 和 r 型热电偶,作为传递的标准。 10.信息技术时代自动化系统中的温度检测仪表 现代的工业过程自动化系统是现场总线控制系统,它是信息技术进入工业自动化后出 现的新一代的自动控制系统。现场总线是安装在制造或过程区域的现场装置与控制室内的 自动装置之间的数字式、串行、多点通信的数据总线6。所有的现场仪表(温度检测仪表 是其中一种)均接到现场总线上。在这样的系统中,通常不应使用各种不同输出的温度计, 必须将输出转变成统一的电信号,这样“温度计”就变成了“温度变送器” 。在现场总线控 制系统中的温度变送器主要是热电偶变送器和热电阻变送器,也有辐射温度变送器。 生产管理一体化、网络化是当今工业自动化控制领域的大趋势,要实现这些功能,必 须借助于工业计算机、现场网络及开放的工业数据库。利用先进技术手段监测各种复杂生 产环境的被控参数(如温度、流量及压力等) ,使生产和管理一体化,可以有效地提高生产 和管理的自动化水平。温度追踪测量(也可以称作是温度分布测定技术)是一种利用微机 来实现数据采集、数据通讯传输和数据分析处理的一门新技术,是在生产过程中记录和说 明热加工产品与空气温度关系的技术,追踪测量得到的数据被显示为图表或数字。这个过 程最简单的形式就是它可以告诉生产者所生产的产品的温度、保持这个温度有多长时间以 及在什么时间达到了什么温度。通过分析数据,生产人员可以保证产品达到最好的质量、 解决产品存在问题、优化生产工艺路线及节约能耗。无论是在电子产品的生产、食品加工、 湖北理工学院毕业设计(论文) 5 其它工业生产,还是在医疗器械生产方面,只要在生产过程中温度是重要的控制指标,温 度检测(也称追踪)技术就具有非常广阔的应用前景。 (1)国内外温度检测技术动向 1.扩展检测范围 现在工业上通用的温度检测范围为-2003000,而今后要求能测量超高温与超低温。 尤其是液化气体的极低温度检测更为迫切,如 10k 以下的温度检测是当前重点研究课题。 2.扩大测温对象 温度检测技术将会由点测温发展到线、面,甚至立体的测量。应用范围己经从业领域 延伸到环境保护、家用电器、汽车工业及航天工业领域。 3.发展新型产品 利用以前的检测技术生产出适应于不同场合、不同工况要求的新型产品,以满足用户 需要。同时利用新的检测技术制造出新的产品。 4.适应特殊环境下的测温 对许多场合中的温度检测器有特殊要求,如防硫、防爆、耐磨等性能要求;又如移动 物体和高速旋转物体的测温、钢水的连续测温、火焰温度检测等。 5.显示数字化 温度仪表向数字化方向发展。其最大优点是直观、无读数误差、分辨率高、测量误差 小,因而有广阔的销售市场。 6.标定自动化 应用计算机技术,快速、准确、自动地标定温度检测器。 (2)国内外温度检测发展趋势 根据上述要求,国内外温度仪表制造商将向以下几方面发展: 1.继续生产量大面广的传统的温度检测元件,如:热电偶、热电阻、热敏电阻等。 2.加强新原理、新材料、新加工工艺的开发。如近来已经开发的炭化硅 薄膜热敏电阻温度检测器,厚膜、薄膜铂电阻温度检测器,硅单晶热敏电阻温度检测 器等。 3.向智能化、集成化、适用化方向发展。新产品不仅要具有检测功能,又要具有判断 和指令等多功能,采用微机向智能化方向发展,向机电一体化方向发展。 1.2.21.2.2 温度测量技术的应用温度测量技术的应用 分布式光纤测温技术在 20 世纪 80 年代中期出现,十多年来,技术日趋成熟,国内外 研制了产品并开始应用于煤矿、隧道的温度报警、火灾防治、油库、油轮、危险品仓库、 湖北理工学院毕业设计(论文) 6 冷库、大型货轮、军火库等温度报警;各种大、中型变压器、发电机组的温度分布测量, 热保护和故障诊断;地下和架空高压电力电缆的热检测与监控;火力发电所的配管温度、 供热系统的管道、输油管道的热点检测;化工原料、照相材料及油料生产过程在线动态检 测;高层建筑、智能大厦、桥梁、高速公路等在线动态检测;航空、航天飞行器的在线动 态检测。分布式光纤测温技术已成为光纤传感技术和检测技术的发展趋势,因其独有的特 点已成为工业过程控制中的一种新的检测方法与技术7。特别是近年来半导体激光器技术、 光纤激光器技术、短脉冲激光与检测技术、光纤波分复用技术和计算机及信号处理技木均 有明显进步,将有助于提高现有分布光纤测温系统的空间分辨力、测温精确度和缩短测量 时间。 各种现代测温技术都有各自的应用范围和使用特点,如红外非接触测温主要用于高温 温度场的监测,并且测量的目标是二维温度场;激光测温技术可测量目标的空间多点温度; 随着科学研究水平的不断提高,将会有更先进的测温技术问世,现有的测温技术也将日臻 完善,在更多的领域得到应用和发展。 1.3 本文研究内容: 1.3.11.3.1 设计目的:设计目的: 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来 的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越 高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手, 一切向着数字化控制,智能化控制方向发展。 1.3.21.3.2 设计要求:设计要求: 基本范围 0-99 精度误差小于 0.5 led 数码直读显示 1.3.31.3.3 设计原理:设计原理: 本系统是一个基于单片机 at89s52 的数字温度计的设计,用来测量环境温度,测量范 围为-50110度。整个设计系统分为 4 部分:单片机控制、温度传感器、数码显示以 及键盘控制电路。整个设计是以 at89s52 为核心,通过数字温度传感器 ds18b20 来实现 环境温度的采集和 a/d 转换,同时因其输出为数字形式,且为串行输出,这就方便了单片 机进行数据处理,但同时也对编程提出了更高的要求。单片机把采集到的温度进行相应的 转换后,使之能够方便地在数码管上输出。led 采用四位一体共阴的数码管。 湖北理工学院毕业设计(论文) 7 2. 系统硬件模块的选择 2.1 开发工具的选择: c 语言是一种通用的计算机程序设计,在国际上十分流行,它既可用来编写计算机的 系统程序,也可用来编写一般的应用程序。以前计算机的系统软件主要是用汇编语言编写 的,对于单片机应用系统来说如此。由于汇编语言程序的可读性和可移植性都较差,采用 汇编语言编写计算机应用程序的周期长,而且调试和排错也比较困难。为了提高编制单片 机应用程序的效率,改善程序的可读性和可移植性,采用高级语言无疑是一种最好的选择。 c 语言即具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力 也较强,许多以前只能采用汇编语言来解决的问题现在都可以改用 c 语言来解决。德国 keil software 公司多年来致力于单片机 c 语言编译器的研究,该公司开发的 keil c51 是 一种专为 8051 单片机设计的高效率 c 语言编译器,符合 ansi 标准,生成的程序代码运行 速度极高,所需要的存储空间极小,完全可以和汇编语言媲美。keil 公司目前已经推出了 v7.0 以上版本的 c51 编译器,为 8051 单片机软件开发提供了全新的 c 语言环境,同时保 留了汇编代码高效,快速的特点。c51 已完全集成到一个功能强大的全新集成开发环境 vision2 中,其中包括项目管理器、c51 编译器、a51 宏汇编器、bl51/l51 连接定位器、 rtx51 实时操作系统、simulator 软件模拟器以及 monitor51 硬件目标调试器,所有这些功 能均可在 vision2 提供的单一而灵活的开发环境中极为简便地进行操作。vision2 提 供了强大的项目管理功能,可以十分方便地进行结构化多模块程序设计。vision2 内部 集成源级浏览器利用符号数据库中详细的信息,使用户可以快速浏览源文件,并优化用户 的变量数据存储器。vision2 内部集成器件数据库(device database)存储了多种不同 型号单片机的片上资源信息,包括本系统选用的 stc89c51 系列,通过它可以自动设置 c51 编译器、a51 宏汇编器、bl51/l51 连接定位器及调试器的默认选项,充分满足用户利用特 定单片机片上集成外围功能的要求。vision2 内部集成源程序编辑器允许用户在编辑源 程序文件时(甚至在未编译和汇编之前)设置程序调试断点,便于在程序调试过程中快速 检查和修改程序。vision2 提供文件查找功能,能对单一文件或全部项目文件进行指定 搜索。此外还提供了用户工具菜单接口,允许在 vision2 中直接启动用户功能。 vision2 支持软件模拟仿真(simulator)和用户目标板调试(monitor51)两种工作方 式,在软件模拟仿真方式下不需要任何 8051 单片机硬件既可完成用户程序仿真调试,极大 地提高了用户程序开发效率,在用户目标板调试方式下,利用硬件目标板中的监控程序可 湖北理工学院毕业设计(论文) 8 以直接调试目标硬件系统。 综上所述,本系统采用 keil c51 作为开发工。 2.2 单片机的选择 at89s52 单片机是一个低功耗,高性能 cmos 8 位单片机,片内含 8k bytes isp(in-system programmable)的可反复擦写 1000 次的 flash 只读程序存储器,器件采用 atmel 公司的高密 度、非易失性存储技术制造,兼容标准 mcs-51 指令系统及 80c51 引脚结构,芯片内集成了通 用 8 位中央处理器和 isp flash 存储单元,片上 flash 允许程序存储器在系统可编程,亦适于 常规编程器,在功能强大的微型计算机的 at89s52 单芯片上,拥有灵巧的 8 位 cpu 和在系 统可编程 flash,使得 at89s52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方 案可为许多嵌入式控制应用系统提供高性价比的解决方案1。 at89s52 单片机芯片具有以下特性: 1)指令集合芯片引脚与 intel 公司的 8052 兼容; 2)4kb 片内在系统可编程 flash 程序存储器; 3)时钟频率为 033mhz; 4)128 字节片内随机读写存储器(ram) ; 5)6 个中断源,2 级优先级; 6)2 个 16 位定时/记数器; 7)全双工串行通信接口; 8)监视定时器; 9)两个数据指针; at89s52 引脚结构图如图 2-2 湖北理工学院毕业设计(论文) 9 图 2-2 at89s52 引脚结构图 2.3 温度传感器的选择 方案一:由于本设计是测温电路,根据设计要求可以使用热敏电阻之类的感温器件利 用其感温效应,然后将随被测温度变化的电压或电流采集过来,经过 a/d 转换后,将数据 传输到单片机进行数据的处理,然后在显示电路上显示,这样就可以将被测温度显示出来, 这种设计需要用到 a/d 转换电路,感温电路比较麻烦。 方案二:在单片机电路设计中,大多都是使用传感器,这是非常容易想到利用数字温 度传感器,所以可以采用一只温度传感器 ds18b20,此传感器,可以很容易直接读取被测 温度值,进行转换,然后传输给单片机进行数据处理,就可以满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路设计比较简洁,软件设计也比较简 单,故采用方案二。 2.3.12.3.1 ds18b20ds18b20 的介绍的介绍 ds18b20 是 dallas 公司生产的一线式数字温度传感器,它具有微型化、低功耗、高 性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将 温度转化成串行数字信号(按 9 位二进制数字)给单片机处理,且在同一总线上可以挂接 多个传感器芯片,它具有三引脚 to-92 小体积封装形式,温度测量范围55125,可 编程为 912 位 a/d 转换精度,测温分辨率可达 0.0625,被测温度用符号扩展的 16 位 湖北理工学院毕业设计(论文) 10 数字量方式串行输出,其工作电源既可在远端引入8,业可采用寄生电源方式产生,多个 ds18b20 可以并联到三根或者两根线上,cpu 只需一根端口线就能与多个 ds18b20 通信, 占用微处理器的端口较少,可节省大量的引线和逻辑电路。从而可以看出 ds18b20 可以非 常方便的被用于远距离多点温度检测系统。 综上,在本系统中我采用温度芯片 ds18b20 测量温度。该芯片的物理化学性很稳定, 它能用做工业测温元件,且此元件线形较好。在 0100 摄氏度时,最大线形偏差小于 1 摄 氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。 2.3.2ds18b202.3.2ds18b20 工作原理工作原理 器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号 送给减法计数器 1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为 减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,ds18b20 就对低温 度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系 数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、 温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。 减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值 减到时,温度寄存器的值将加 1,减法计数器的预置将重新被装入,减法计数器重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时, 停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法 计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温 度值。 ds18b20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其 一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必 要了解 ds18b20 的内部存储器资源。ds18b20 共有三种形态的存储器资源,它们分别是: rom 只读存储器,用于存放 ds18b20id 编码,其前 8 位是单线系列编码 (ds18b20 的编码是 19h) ,后面 48 位是芯片唯一的序列号,最后 8 位是以上 56 的位的 crc 码(冗余校验) 。数据在出产时设置不由用户更改。ds18b20 共 64 位 rom。 ram 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,ds18b20 共 9 个字节 ram,每个字节为 8 位。第 1、2 个字节是温度转换后的数据值信息,第 3、4 个字节是用户 eeprom(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。 第 5 个字节则是用户第 3 个 eeprom 的镜像。第 6、7、8 个字节为计数寄存器,是为 湖北理工学院毕业设计(论文) 11 了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第 9 个字节为前 8 个字节的 crc 码。 eeprom 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校 验数据,ds18b20 共 3 位 eeprom,并在 ram 都存在镜像,以方便用户操作7。 ds18b20 工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如 图 2.3.2 所示。低 5 位一直为,tm 是工作模式位,用于设置 ds18b20 在工作模式还是 在测试模式,ds18b20 出厂时该位被设置为 0,用户要去改动,r1 和 r0 决定温度转换的 精度位数,来设置分辨率。 图 2.3.2 字节各位的定义 2.4 显示模块的选择 数码管是一种半导体发光器件,其基本单元是发光二极管。 2.4.12.4.1 数码管的分类数码管的分类 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二 极管单元(多一个小数点显示) ;按能显示多少个“8”可分为 1 位、2 位、4 位等等数码管; 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发 光二极管的阳极接到一起形成公共阳极(com)的数码管。共阳数码管在应用时应将公共极 com 接到+5v,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段 的阴极为高电平时,相应字段就不亮。 。共阴数码管是指将所有发光二极管的阴极接到一起 湖北理工学院毕业设计(论文) 12 形成公共阴极(com)的数码管。共阴数码管在应用时应将公共极 com 接到地线 gnd 上, 当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平 时,相应字段就不亮。如图 2.4.1 图 2.4.1 数码管 2.4.22.4.2 数码管驱动原理数码管驱动原理 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的 数字,在有些时候需要做一个简单的显示系统。那么在单片机 i/o 资源够用的情况下可以 直接用单片机的 i/o 口驱动数码管,也可以根据数码管的驱动方式的不同,可以分为静态 式和动态式两类。 (1)静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码 都由一个单片机的 i/o 端口进行驱动,或者使用如 bcd 码二-十进制译码器译码进行驱动 11。静态驱动的优点是编程简单,显示亮度高,缺点是占用 i/o 端口多,如驱动 5 个数码 管静态显示则需要 5840 根 i/o 端口来驱动,要知道一个 89s51 单片机可用的 i/o 端口 才 32 个呢) ,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 (2)动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之 一,动态驱动是将所有数码管的 8 个显示笔划“a,b,c,d,e,f,g,dp“的同名端连在一起,另外为 每个数码管的公共极 com 增加位选通控制电路,位选通由各自独立的 i/o 线控制,当单片 机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形, 取决于单片机对位选通 com 端电路的控制,所以我们只要将需要显示的数码管的选通控 制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管 的的 com 端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每 位数码管的点亮时间为 12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实 际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显 示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的 i/o 端口, 而且功耗更低。 静态驱动方式简单不容易出错,如果电路设计合适,也能够用较少的线完成多个数码 湖北理工学院毕业设计(论文) 13 管的驱动。但是动态驱动方式省单片机的资源,如今已经有很多这样成熟的基于动态扫描 的芯片。 所以能满足本文显示设计要求,采用 lg3641bh led 数码管做为显示电路,数码管显示 电路采用 4 位共阳 led 数码管从 p14,p15,p16,p17 串口输出段码。 3. 系统硬件电路设计 3.1 系统整体电路图 该系统电路主要包括:单片机最小系统、ds18b20 温度传感器系统、报警系统、led 显示模块电路及电源接口和数据下载接口等电路,如图 3.1 所示。 图中有三个独立式按键可以分别调整温度计的上下限报警设置,图中蜂鸣器可以在被 测温度不在上下限范围内时,发出报警鸣叫声音,同时 led 数码管将没有被测温度值显示, 这时可以调整报警上下限,从而测出被测的温度值。 图中的按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手 动复位,这样就不用在重起单片机电源,就可以实现复位。 图 3.1 系统整体电路图 湖北理工学院毕业设计(论文) 14 3.2 单片机最小系统 最小系统包括晶振电路、复位电路、按键设置部分,at89s52 单片机最小系统的电路 如图:3.2 单片机 at89s52 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电 路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。 图 3.2 单片机最小系统电路 3.3 温度传感器系统 ds18b20 温度传感器电路,如图 3.3。 湖北理工学院毕业设计(论文) 15 图 3.3 ds18b20 温度传感器系统 ds18b20 采用单线进行数据传输,外接一个 4.7k 上拉电阻与单片机的 p1.0 口相连进 行数据的双向传输。器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定 频率的脉冲信号送给减法计数器 1;高温度系数晶振随温度变化其振荡频率明显改变,所 产生的信号作为减法计数器 2 的脉冲输入。器件中还有一个计数门,当计数门打开时, ds18b20 就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开 启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置 入减法计数器 1、温度寄存器中,计数器 1 和温度寄存器被预置在55所对应的一个基 数值。 减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预 置值减到 0 时,温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到 0 时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修 正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致 被测温度值。 图 3-3 为 ds18b20 测温原理图。 湖北理工学院毕业设计(论文) 16 图 3-3 ds18b20 测温原理图 由表 1 可见,ds18b20 温度转换的时间比较长,而且分辨率越高,所需要的温度数据 转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。 高速暂存 ram 的第 6、7、8 字节保留未用,表现为全逻辑 1。第 9 字节读出前面所有 8 字节的 crc 码,可用来检验数据,从而保证通信数据的正确性。 当 ds18b20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16 位带 符号扩展的二进制补码形式存储在高速暂存存储器的第 1、2 字节。单片机可以通过单线接 口读出该数据,读数据时低位在先,高位在后,数据格式以 0.0625lsb 形式表示。 当符号位 s=0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当 符号位 s=1 时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表 2 是一部分温度值对应的二进制温度数据14。 表 1 ds18b20 温度转换时间表 r1r0分辨率/位温度最大转向时间/ms 00993.75 0110187.5 1011375 1112750 ds18b20 完成温度转换后,就把测得的温度值与 ram 中的 th、tl 字节内容作比较。若 tth 或 ttl,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。 因此,可用多只 ds18b20 同时测量温度并进行报警搜索。 在 64 位 rom 的最高有效字节中存储有循环冗余检验码(crc) 。主机 rom 的前 56 位来 计算 crc 值,并和存入 ds18b20 的 crc 值作比较,以判断主机收到的 rom 数据是否正确。 湖北理工学院毕业设计(论文) 17 表 2 一部分温度对应值表 温度/二进制表示十六进制表示 +1250000 0111 1101 000007d0h +850000 0101 0101 00000550h +25.06250000 0001 1001 00000191h +10.1250000 0000 1010 000100a2h +0.50000 0000 0000 00100008h 00000 0000 0000 10000000h -0.51111 1111 1111 0000fff8h -10.1251111 1111 0101 1110ff5eh -25.06251111 1110 0110 1111fe6fh -551111 1100 1001 0000fc90h 3.4 报警电路设计 报警电路中加一 pnp 三极管驱动,基极接单片机 p11 口,当端口变成低电平时,驱动 三极管会导通,vcc 电压加载到蜂鸣器使其发声、报警发光二极管亮,如图 3.4。 图 3.4 报警电路 3.5 显示电路设计 如图 3.5,采用 lg3641bh led 数码管显示电路采用 4 位共阳 led 数码管从 p14,p15,p16,p17 串口输出段码。用 pnp 三极管进行驱动,当相应的端口变成低电平时,驱 动相应的三极管会导通,驱动三极管给数码管相应的位供电,这时只要 p0 口送出数字的显 示代码,数码管就能正常显示数字。 湖北理工学院毕业设计(论文) 18 图 3.5 数码管显示电路 3.6 电源电路设计 我们选用的是串联起来的 4 节 1.5v 的 5 号电池,从经济的角度考虑的,干电池比较便 宜,但其还有不足之处,干电池存储的是电量。随着电量的消耗,它的供电电压就会不断 的下降,所有我们需要使用一个稳压器,来保证电源供给的是标准的 5v 电压。4 节 1.5v 串 联起来产生的和电压最大是 6v,而本文的 at89s52 单片机工作电压的范围是 4v5.5v,在 该系统中我们使用的电压是 5v。这时我们可以用 lm7805 稳压器来产生稳定的 5v 电压。 稳压电路如下图 3.6 所示: 图 3.6 lm7805 稳压电路 在该电路中,c12 是极性电容,起到稳压的作用,而 c2 是非极性电容,它起的作用是 滤除输出电压中不是直流的成分,即滤波。 lm7805 稳压芯片的稳压压差为 2v 左右,在实际使用中容易出现电压过低的状态,此 湖北理工学院毕业设计(论文) 19 时提供的电源达不到系统的电源要求,会出现程序跑飞的现象,而另一款 lm2904 的稳压 压差可以达到 40mv,效果比 lm7805 好很多,但考虑到经济原因我们采用 lm7805,只要 在稳压前端提供较大的电源供应即可。 湖北理工学院毕业设计(论文) 20 4. 系统软件设计 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序, 按键扫描。 4.1 主程序 主程序的主要功能是负责读出并处理 ds18b20 的测量的当前温度值,温度的实时显示, 并根据设置的上下限判断是否报警。系统开始运行时,温度传感器测量并计算温度值通过 p1.0 口传输进单片机里进行处理,经过处理后的数据再通过 p0 口传输到数码管进行显示。 通过按键设置温度报警界限,当超过报警界限时单片机将相应的数据通过 p1.1 口传输进行 声光报警。温度测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程 见图 4.1 所示。 湖北理工学院毕业设计(论文) 21 初始化 调用温度模块程 序 ds18b20 存在? 是 处理温度值转换 bcd 码 送 at89s52 处理 按键扫描模块 显示模块,led 显示温 度 是否越限? 开始 是 报警 否 否 错误处理, 显示 8.8.8.8. 图 4.1 主程序流程图 4.2 读出温度子程序 读出温度子程序的主要功能是读出 ram 中的 9 字节,在读出时需进行 crc 校验,校 验有错时不进行温度数据的改写。其程序流程图如图 4.2 示 湖北理工学院毕业设计(论文) 22 开始 发 ds18b20 复位命令 发跳过 rom 命令 发读取温度命令 读取操作,crc 校 验 结束 n y y n 移入温度缓存器 9 字节完? crc 校验? 图 4.2 读温度流程图 4.3 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。温度转换命令子程序流 程图如上图,图 4.3 所示 4.4 计算温度子程序 计算温度子程序将 ram 中读取值进行 bcd 码的转换运算,并进行温度值正负的判定, 其程序流程图如图 4.4 所示。 湖北理工学院毕业设计(论文) 23 发 ds18b20 复位命令 开始 发跳过 rom 命令 发温度转换开始命令 结束 图 4.3 温度转换流程图 开始 温度零下? 温度值取补码置“”标志 计算小数位温度 bcd 值 计算整数位温度 bcd 值 结束 置“+”标 志 n y 图 4.4 计算温度流程图 湖北理工学院毕业设计(论文) 24 4.5 键盘扫描流程图 开始 enter_flag 为 1 是否有 up 按下 display 显示 退出子程序(ret)返回主程序 enter 子程序 flag=1 down 子程序 否 是 是 否 否 是 否 否 是 是 enter 按键 是否按下 是否有 enter 按下 是否有 down 按下 up 子程序 图 4.5 按键扫描流程图 湖北理工学院毕业设计(论文) 25 5. 测试与结果分析 5.1 仿真软件介绍 程序编译用 keil 软件, keil c51 生成的目标代码效率非常之高,多数语句生成的汇编 代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 5.2 仿真结果 5.2.15.2.1 用用 keilkeil 进行程序编译进行程序编译 运用 keil 软件编译 c 语言程序,其结果如下图 5.2.1 和图 5.2.2 所示,在结果栏显示 “cao cx”0 error(s),0 warning(s).说明此程序在软件编译上无语法等错误。将此程序生成 *.hex 文件调入硬件中用 proteus 进行调试仿真。 图 5.2.1 keil 编译 c 语言程序 湖北理工学院毕业设计(论文) 26 图 5.2.2 keil 编译 c 语言程序 湖北理工学院毕业设计(论文) 27 致谢 毕业设计除了针对我们理论课程掌握的同时,也是对我们大学生进行综合性实践训练 的过程,是对整个专业知识的综合,可以使我们的理论知识与实践紧密的相结合,锻炼我 们独立思考和解决实际问题的能力。在这次毕业设计的过程中,使我学到许多以前在课本 和课堂上无法学到的知识及技术能力,特别是在查找资料的过程中体会到许多的乐趣,从 而丰富了自己。在设计的过程中,自己能在指导老师的提点下独立的分析问题、找出问题 并解决问题,同时能够更加用心的思考每个细节,把专业知识和实际操作更好的结合起来, 使自己能够自每天的学习过程中都有新的收获。 我的毕业论文设计能够顺利的完成,是指导老师悉心指导的结果。老师给了我指出了 许多错误,引导我该如何去做。在我调试的过程中,每次遇到不懂或不会的地方,老师都 会耐心地给我讲解,老师以其严谨求实的治学态度,高度的敬业精神,兢兢业业的工作作 风和大胆创新的进取精神对我产生重要的影响。在此我向老师表示感谢。这次的毕业设计 我可以顺利如期的完成,使我有了很大的信心,让我了解专业知识的同时也对本专业的发 展前景充满信心。在本次设计中取得的点滴进步,都来自于各方面的帮助、指导,感谢大 家。 湖北理工学院毕业设计(论文) 28 参考文献: 1 李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998 2 李广弟.单片机基础.北京:北京航空航天大学出版社,1994 3 江力.单片机原理与应用技术 .清华大学出版社 .2006 4 蔡美琴等mcs 一 51 系列单片机系统及其应用m北京:高等教育出版社,1999 5 王树勋mcs 一 51 单片微型计算机原理与开发北京:机械工业出版社,1995 6 邵惠鹤工业过程高级控制上海:上海交通大学出版社,1997;5862,78101 7 胡寿松自动控制原理北京:国防工业出版社,2000;103124 8 刘伯春智能 pid 调节器的设计及应用电子自动化,1995;(3):2025 9 katsuhiko ogatamoden control engineeringpublishing house of electronics industry,2000:1 96202 10 周润景,张丽娜基于 proteus 的电路及单片机系统设计与仿真m北京:航空航天 大学出版社 ,2006.p321p326 11 王忠飞,胥芳mcs-51 单片机原理及嵌入式系统应用m西安:西安电子科技大学出 版社,2007p268-273 12 刘国钧,陈绍业,王凤翥.图书馆目录.第 1 版.北京:高等教育出版社,1957 13 傅承义,陈运泰,祁贵中.地球物理学基础.北京:科学出版

温馨提示

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

评论

0/150

提交评论