智能温度测量系统的研究与设计1.doc

上传人:文库蛋蛋多 文档编号:3029891 上传时间:2023-03-09 格式:DOC 页数:37 大小:1.20MB
返回 下载 相关 举报
智能温度测量系统的研究与设计1.doc_第1页
第1页 / 共37页
智能温度测量系统的研究与设计1.doc_第2页
第2页 / 共37页
智能温度测量系统的研究与设计1.doc_第3页
第3页 / 共37页
智能温度测量系统的研究与设计1.doc_第4页
第4页 / 共37页
智能温度测量系统的研究与设计1.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《智能温度测量系统的研究与设计1.doc》由会员分享,可在线阅读,更多相关《智能温度测量系统的研究与设计1.doc(37页珍藏版)》请在三一办公上搜索。

1、目 录第一章 概述11.1研究背景和研究意义:11.2温度测量技术的发展与应用:11.2.1温度检测技术简介及发展:11.2.2温度测量技术的应用51.3本文研究内容:61.3.1设计目的:61.3.2设计要求:61.3.3设计原理:6第二章 系统硬件模块的选择72.1开发工具的选择:72.2单片机的选择82.3温度传感器的选择92.3.1 DS18B20的介绍92.3.2DS18B20 工作原理102.4显示模块的选择112.4.1数码管的分类112.4.2数码管驱动原理12第三章 系统硬件电路设计133.1系统整体电路图133.2单片机最小系统143.3温度传感器系统143.4报警电路设计

2、173.5显示电路设计173.6电源电路设计18第四章 系统软件设计204.1主程序204.2读出温度子程序214.3温度转换命令子程序224.4 计算温度子程序22第五章 测试与结果分析255.1仿真软件介绍255.2 仿真结果255.2.1用Keil进行程序编译25致谢27参考文献:28附录:源程序291. 概述1.1研究背景和研究意义:随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的

3、前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。本设计即用单片机对温度进行实时检测与控制,本文所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S52,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到设计要求。本温度计属于多功能温度计

4、,功能较强,可以设置上下限报警温度,且测量准确、误差小。当测量温度超过设定的温度上下限时,启动蜂鸣器和指示灯报警。1.2温度测量技术的发展与应用:1.2.1温度检测技术简介及发展:一、随着国内外工业的日益发展,温度检测技术也有了不断的进步,目前的温度检测使用的方法种类繁多,应用范围也较广泛,大致包括以下几种方法1:1.利用物体热胀冷缩原理制成的温度计利用此原理制成的温度计大致分成三大类。(1)玻璃温度计,它是利用玻璃感温包内的测温物质(水银、酒精、甲苯、煤油等)受热膨胀、遇冷收缩的原理进行温度测量的;(2)双金属温度计,它是采用膨胀系数不同的两种金属牢固粘合在上一起制成的双金属片作为感温元件,

5、当温度变化时,一端固定的双金属片,由于两种金属膨胀系数不同而产生弯曲,自由端的位移通过传动机构带动指针指示出相应温度;(3)压力式温度计,它是由感温物质(氮气、水银、二甲苯、甲苯、甘油和低沸点液体如氯甲烷、氯乙烷等)随温度变化,压力发生相应变化,用弹簧管压力表测出它的压力值,经换算得出被测物质的温度值。2.利用热电效应技术制成的温度检测元件利用此技术制成的温度检测元件主要是热电偶。热电偶发展较早,比较成熟,至今仍为应用最广泛的检测元件。热电偶具有结构简单、制作方便、测量范围宽、精度高、热惯性小等特点。常用的热电偶有以下几种。(1)镍铬-镍硅,型号为WRN,分度号为K,测温范围0-900,短期可

6、测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)导体测温元件,它与

7、热电阻的温阻特性刚好相反,即有很大负温度系数,也就是说温度升高时,其阻值降低。(3)陶瓷热敏元件,它的实质是利用半导体电阻的正温特性,用半导体陶瓷材料制作而成的热敏元件,常称为PCT或NCT热敏元件。PCT热敏元件分为突变型及缓变型二类。突变型PCT元件的温阻特性是当温度达到顶点时,它的阻值突然变大,有限流功能,多数用于保护电器。缓变型PCT元件的温阻特性基本上随温度升高阻值慢慢增大,起温度补偿作用。NCT元件特性与PCT元件的突变特性刚好相反,即随温度升高,它的阻值减小3。4.利用热辐射原理制成的高温计热辐射高温计通常分为两种。一种是单色辐射高温计,一般称光学高温计;另一种是全辐射高温计,它

8、的原理是物体受热辐射后,视物体本身的性质,能将其吸收、透过或反射。而受热物体放出的辐射能的多少,与它的温度有一定的关系。热辐射式高温计就是根据这种热辐射原理制成的3。5.利用声学原理进行温度测量声学发温度检测技术是近年来发展起来的一项新技术,利用该技术,可以对炉内的烟气温度测量值和火焰分布在线检测,判断炉的燃烧状况,进行实时调节和控制,声学温度检测技术的基本原理是通过测量声波传感器间的声波传播时间以最小二乘原理重建温度的测量方法。46利用红外测温技术红外测温技术是通过检测物体表面能量来检测物体温度的。近年来,在温度检测技术领域,多种新的检测原理与技术的开发应用,已经取得了重大进展。新一代温度检

9、测元件正在不断出现和完善化。1.晶体管温度检测元件半导体温度检测元件是具有代表性的温度检测元件。半导体的电阻温度系数比金属大12个数量级,二级管和三极管的PN结电压、电容对温度灵敏度很高。基于上述测温原理已研制了各种温度检测元件。2.集成电路温度检测元件利用硅晶体管基极一发射极间电压与温度关系(即半导体PN结的温度特性)进行温度检测,并把测温、激励、信号处理电路和放大电路集成一体,封装于小型管壳内,即构成了集成电路温度检测元件。3.核磁共振温度检测器所谓核磁共振现象是指具有核自旋的物质置于静磁场中时,当与静磁场垂直方向加以电磁波,会发生对某频率电磁的吸收现象。利用共振吸收频率随温度上升而减少的

10、原理研制成的温度检测器,称为核磁共振温度检测器。这种检测器精度极高,可以测量出千分之一开尔文,而且输出的频率信号适于数字化运算处理,故是一种性能十分良好的温度检测器5。在常温下,可作理想的标准温度计之用。4.热噪声温度检测器它的原理是利用热电阻元件产生的噪声电压与温度的相关性。其特点是:(1)输出噪声电压大小与温度是比例关系;(2)不受压力影响;(3)感温元件的阻值几乎不影响测量精确度;所以它是可以直接读出绝对温度值而不受材料和环境条件限制的温度检测器。5.石英晶体温度检测器它采用LC或Y型切割的石英晶片的共振频率随温度变化的特性来制作的。它利用u P技术,自动补偿石英晶片的非线性,测量精度较

11、高,一般可检测到0.001,所以可作标准检测之用。6.光纤温度检测器光纤温度检测器是目前光纤传感器中发展较快的一种,已开发了开关式温度检测器、辐射式温度检测器等多种实用型的品种。它是利用双折射光纤的传输光信号滞后量随温度变化的原理制成的双折射光纤温度检测器,检测精度在1以内,测温范围可以从绝对0到2000。7.激光温度检测器激光测温特别适于远程测量和特殊环境下的温度测量,用氮氖激光源的激光作反射计可测得很高的温度,精度达1;用激光干涉和散射原理制作的温度检测器可测量更高的温度,上限可达3000,专门用于核聚变研究,但在工业上应用还需进一步开发和实验。8.微波温度检测器采用微波测温可以达到快速测

12、量高温的目的。它是利用在不同温度下,温度与控制电压成线性关系的原理制成的。这种检测器的灵敏度为250kHZ/,精度为1左右,检测范围为201400。9.纯贵金属热电偶的研究由两种纯金属组成的热电偶,因其材料均匀性远优于合金材料,因而稳定性很好。在铂铑合金热电偶(S、R型)的不确定度已很难提高之后,人们开始寻找由纯贵金属组成的热电偶,以代替S和R型热电偶,作为传递的标准。10.信息技术时代自动化系统中的温度检测仪表现代的工业过程自动化系统是现场总线控制系统,它是信息技术进入工业自动化后出现的新一代的自动控制系统。现场总线是安装在制造或过程区域的现场装置与控制室内的自动装置之间的数字式、串行、多点

13、通信的数据总线6。所有的现场仪表(温度检测仪表是其中一种)均接到现场总线上。在这样的系统中,通常不应使用各种不同输出的温度计,必须将输出转变成统一的电信号,这样“温度计”就变成了“温度变送器”。在现场总线控制系统中的温度变送器主要是热电偶变送器和热电阻变送器,也有辐射温度变送器。生产管理一体化、网络化是当今工业自动化控制领域的大趋势,要实现这些功能,必须借助于工业计算机、现场网络及开放的工业数据库。利用先进技术手段监测各种复杂生产环境的被控参数(如温度、流量及压力等),使生产和管理一体化,可以有效地提高生产和管理的自动化水平。温度追踪测量(也可以称作是温度分布测定技术)是一种利用微机来实现数据

14、采集、数据通讯传输和数据分析处理的一门新技术,是在生产过程中记录和说明热加工产品与空气温度关系的技术,追踪测量得到的数据被显示为图表或数字。这个过程最简单的形式就是它可以告诉生产者所生产的产品的温度、保持这个温度有多长时间以及在什么时间达到了什么温度。通过分析数据,生产人员可以保证产品达到最好的质量、解决产品存在问题、优化生产工艺路线及节约能耗。无论是在电子产品的生产、食品加工、其它工业生产,还是在医疗器械生产方面,只要在生产过程中温度是重要的控制指标,温度检测(也称追踪)技术就具有非常广阔的应用前景。(1)国内外温度检测技术动向1.扩展检测范围现在工业上通用的温度检测范围为-2003000,

15、而今后要求能测量超高温与超低温。尤其是液化气体的极低温度检测更为迫切,如10K以下的温度检测是当前重点研究课题。2.扩大测温对象温度检测技术将会由点测温发展到线、面,甚至立体的测量。应用范围己经从业领域延伸到环境保护、家用电器、汽车工业及航天工业领域。3.发展新型产品利用以前的检测技术生产出适应于不同场合、不同工况要求的新型产品,以满足用户需要。同时利用新的检测技术制造出新的产品。4.适应特殊环境下的测温对许多场合中的温度检测器有特殊要求,如防硫、防爆、耐磨等性能要求;又如移动物体和高速旋转物体的测温、钢水的连续测温、火焰温度检测等。5.显示数字化温度仪表向数字化方向发展。其最大优点是直观、无

16、读数误差、分辨率高、测量误差小,因而有广阔的销售市场。6.标定自动化应用计算机技术,快速、准确、自动地标定温度检测器。(2)国内外温度检测发展趋势根据上述要求,国内外温度仪表制造商将向以下几方面发展:1.继续生产量大面广的传统的温度检测元件,如:热电偶、热电阻、热敏电阻等。2.加强新原理、新材料、新加工工艺的开发。如近来已经开发的炭化硅薄膜热敏电阻温度检测器,厚膜、薄膜铂电阻温度检测器,硅单晶热敏电阻温度检测器等。3.向智能化、集成化、适用化方向发展。新产品不仅要具有检测功能,又要具有判断和指令等多功能,采用微机向智能化方向发展,向机电一体化方向发展。1.2.2温度测量技术的应用分布式光纤测温

17、技术在20世纪80年代中期出现,十多年来,技术日趋成熟,国内外研制了产品并开始应用于煤矿、隧道的温度报警、火灾防治、油库、油轮、危险品仓库、冷库、大型货轮、军火库等温度报警;各种大、中型变压器、发电机组的温度分布测量,热保护和故障诊断;地下和架空高压电力电缆的热检测与监控;火力发电所的配管温度、供热系统的管道、输油管道的热点检测;化工原料、照相材料及油料生产过程在线动态检测;高层建筑、智能大厦、桥梁、高速公路等在线动态检测;航空、航天飞行器的在线动态检测。分布式光纤测温技术已成为光纤传感技术和检测技术的发展趋势,因其独有的特点已成为工业过程控制中的一种新的检测方法与技术7。特别是近年来半导体激

18、光器技术、光纤激光器技术、短脉冲激光与检测技术、光纤波分复用技术和计算机及信号处理技木均有明显进步,将有助于提高现有分布光纤测温系统的空间分辨力、测温精确度和缩短测量时间。各种现代测温技术都有各自的应用范围和使用特点,如红外非接触测温主要用于高温温度场的监测,并且测量的目标是二维温度场;激光测温技术可测量目标的空间多点温度;随着科学研究水平的不断提高,将会有更先进的测温技术问世,现有的测温技术也将日臻完善,在更多的领域得到应用和发展。1.3本文研究内容:1.3.1设计目的:随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典

19、型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。1.3.2设计要求: 基本范围0-99 精度误差小于0.5 LED数码直读显示1.3.3设计原理:本系统是一个基于单片机AT89S52的数字温度计的设计,用来测量环境温度,测量范围为-50110度。整个设计系统分为4部分:单片机控制、温度传感器、数码显示以及键盘控制电路。整个设计是以AT89S52为核心,通过数字温度传感器DS18B20来实现环境温度的采集和A/D转换,同时因其输出为数字形式,且为串行输出,这就方便了单片机进行数据处理,但同时也

20、对编程提出了更高的要求。单片机把采集到的温度进行相应的转换后,使之能够方便地在数码管上输出。LED采用四位一体共阴的数码管。2. 系统硬件模块的选择2.1开发工具的选择:C语言是一种通用的计算机程序设计,在国际上十分流行,它既可用来编写计算机的系统程序,也可用来编写一般的应用程序。以前计算机的系统软件主要是用汇编语言编写的,对于单片机应用系统来说如此。由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写计算机应用程序的周期长,而且调试和排错也比较困难。为了提高编制单片机应用程序的效率,改善程序的可读性和可移植性,采用高级语言无疑是一种最好的选择。C语言即具有一般高级语言的特点,又能直接对

21、计算机的硬件进行操作,表达和运算能力也较强,许多以前只能采用汇编语言来解决的问题现在都可以改用C语言来解决。德国Keil Software公司多年来致力于单片机C语言编译器的研究,该公司开发的Keil C51是一种专为8051单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储空间极小,完全可以和汇编语言媲美。Keil公司目前已经推出了V7.0以上版本的C51编译器,为8051单片机软件开发提供了全新的C语言环境,同时保留了汇编代码高效,快速的特点。C51已完全集成到一个功能强大的全新集成开发环境Vision2中,其中包括项目管理器、C51编译器、A51宏

22、汇编器、BL51/L51连接定位器、RTX51实时操作系统、Simulator软件模拟器以及Monitor51硬件目标调试器,所有这些功能均可在Vision2提供的单一而灵活的开发环境中极为简便地进行操作。Vision2提供了强大的项目管理功能,可以十分方便地进行结构化多模块程序设计。Vision2内部集成源级浏览器利用符号数据库中详细的信息,使用户可以快速浏览源文件,并优化用户的变量数据存储器。Vision2内部集成器件数据库(device database)存储了多种不同型号单片机的片上资源信息,包括本系统选用的STC89C51系列,通过它可以自动设置C51编译器、A51宏汇编器、BL51

23、/L51连接定位器及调试器的默认选项,充分满足用户利用特定单片机片上集成外围功能的要求。Vision2内部集成源程序编辑器允许用户在编辑源程序文件时(甚至在未编译和汇编之前)设置程序调试断点,便于在程序调试过程中快速检查和修改程序。Vision2提供文件查找功能,能对单一文件或全部项目文件进行指定搜索。此外还提供了用户工具菜单接口,允许在Vision2中直接启动用户功能。Vision2支持软件模拟仿真(Simulator)和用户目标板调试(Monitor51)两种工作方式,在软件模拟仿真方式下不需要任何8051单片机硬件既可完成用户程序仿真调试,极大地提高了用户程序开发效率,在用户目标板调试方

24、式下,利用硬件目标板中的监控程序可以直接调试目标硬件系统。综上所述,本系统采用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

25、 位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图2-2 AT89S52引脚结构图2.3温度传感器的选择方案一:由于本设计是测温电

26、路,根据设计要求可以使用热敏电阻之类的感温器件利用其感温效应,然后将随被测温度变化的电压或电流采集过来,经过A/D转换后,将数据传输到单片机进行数据的处理,然后在显示电路上显示,这样就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。方案二:在单片机电路设计中,大多都是使用传感器,这是非常容易想到利用数字温度传感器,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,然后传输给单片机进行数据处理,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路设计比较简洁,软件设计也比较简单,故采用方案二。2.3.1 DS18B2

27、0的介绍DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式,温度测量范围55125,可编程为912位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入8,业可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口

28、较少,可节省大量的引线和逻辑电路。从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。综上,在本系统中我采用温度芯片DS18B20测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。2.3.2DS18B20 工作原理器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振

29、荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加1,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。DS1

30、8B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解DS18B20的内部存储器资源。DS18B20 共有三种形态的存储器资源,它们分别是: ROM 只读存储器,用于存放 DS18B20ID 编码,其前 8 位是单线系列编码(DS18B20 的编码是19H),后面48 位是芯片唯一的序列号,最后 8位是以上 56的位的 CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20 共 64 位 ROM。 RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20 共

31、9 个字节 RAM,每个字节为 8 位。第1、2 个字节是温度转换后的数据值信息,第 3、4 个字节是用户 EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第 5 个字节则是用户第 3 个 EEPROM的镜像。第 6、7、8 个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第 9 个字节为前 8个字节的 CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在 RAM 都存在镜像,以方便用户操作7。DS18B20工作时寄存器中的分辨率转换为相应

32、精度的温度数值。该字节各位的定义如图2.3.2所示。低5位一直为,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。图2.3.2 字节各位的定义2.4显示模块的选择数码管是一种半导体发光器件,其基本单元是发光二极管。 2.4.1数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的

33、阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。如图2.4.1 图2.4.1数码管2.4.2数码管驱动原理 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,在有些时候需要做一个简单的显示系统。那么在单片

34、机I/O资源够用的情况下可以直接用单片机的I/O口驱动数码管,也可以根据数码管的驱动方式的不同,可以分为静态式和动态式两类。(1)静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动11。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。(2)动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式

35、之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮

36、,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。静态驱动方式简单不容易出错,如果电路设计合适,也能够用较少的线完成多个数码管的驱动。但是动态驱动方式省单片机的资源,如今已经有很多这样成熟的基于动态扫描的芯片。所以能满足本文显示设计要求,采用LG3641BH LED数码管做为显示电路,数码管显示电路采用4位共阳LED数码管从P14,P15,P16,P17串口输出段码。3. 系统硬件电路设计3.1系统整体电路图该系统电路主要包括:单片机最小系统、DS18B20温度传感器系统、报警系统、LED显示模块

37、电路及电源接口和数据下载接口等电路,如图 3.1所示。图中有三个独立式按键可以分别调整温度计的上下限报警设置,图中蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声音,同时LED数码管将没有被测温度值显示,这时可以调整报警上下限,从而测出被测的温度值。图中的按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。 图3.1 系统整体电路图3.2单片机最小系统最小系统包括晶振电路、复位电路、按键设置部分,AT89S52单片机最小系统的电路如图:3.2单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电

38、路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。 图3.2 单片机最小系统电路3.3温度传感器系统DS18B20温度传感器电路,如图 3.3。图3.3 DS18B20温度传感器系统DS18B20采用单线进行数据传输,外接一个4.7k上拉电阻与单片机的P1.0口相连进行数据的双向传输。器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门

39、的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。图3-3为DS18B20测温原理图。图3

40、-3 DS18B20测温原理图由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位S=0时,表示测得的温度值为正值,可以直

41、接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据14。表1 DS18B20温度转换时间表R1R0分辨率/位温度最大转向时间/ms00993.750110187.510113751112750DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若TTH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算C

42、RC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。表2一部分温度对应值表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25

43、.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H3.4报警电路设计报警电路中加一PNP三极管驱动,基极接单片机P11口,当端口变成低电平时,驱动三极管会导通,VCC电压加载到蜂鸣器使其发声、报警发光二极管亮,如图3.4。图3.4 报警电路 3.5显示电路设计如图3.5,采用LG3641BH LED数码管显示电路采用4位共阳LED数码管从P14,P15,P16,P17串口输出段码。用PNP三极管进行驱动,当相应的端口变成低电平时,驱动相应的三极管会导通,驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常

44、显示数字。图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是非极性电容,它起的作用是滤

45、除输出电压中不是直流的成分,即滤波。LM7805稳压芯片的稳压压差为2V左右,在实际使用中容易出现电压过低的状态,此时提供的电源达不到系统的电源要求,会出现程序跑飞的现象,而另一款LM2904的稳压压差可以达到40mV,效果比LM7805好很多,但考虑到经济原因我们采用LM7805,只要在稳压前端提供较大的电源供应即可。4. 系统软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,按键扫描。4.1主程序主程序的主要功能是负责读出并处理DS18B20的测量的当前温度值,温度的实时显示,并根据设置的上下限判断是否报警。系统开始运行时,温度传感器测量并计算温度值通过P

46、1.0口传输进单片机里进行处理,经过处理后的数据再通过P0口传输到数码管进行显示。通过按键设置温度报警界限,当超过报警界限时单片机将相应的数据通过P1.1口传输进行声光报警。温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图4.1所示。初始化调用温度模块程序DS18B20存在?是处理温度值转换BCD码送AT89S52处理按键扫描模块显示模块,LED显示温度是否越限?开始是报警否否错误处理,显示8.8.8.8.图4.1 主程序流程图4.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图4.2示 开始发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验结束NYYN移入温度缓存器9字节完?CRC校验?图4.2 读温度流程图4.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图4.3所示4.4 计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图4.4所示。发DS18B20复位命令开始

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号