版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中央电大毕业论文安徽广播电视大学毕业设计(论文)分校名称教学点名称年级名称专业名称机电一体化(本科)课题名称基于ms51单片机的数字温度计设计学生姓名指导教师
2016年5月摘要随着时代的进步和发展,单片机技术已经普及到我们生活,工作的方方面面,能够独立工作的温度检测和显示系统已经应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件,热敏电阻成本低,但需要接信号处理电路,而且热敏电阻的可靠性较差,测量温度的准确度低,检测系统的精度差。而今电子技术和微型计算机的迅速发展,采用单片机进行温度检测、数值显示和数据的传送,具有效率高、性能稳定等优点,还可以实现实时实地控制等技术要求,在工业生产中应用越来越广泛。单片机已经走进了我们的生活,并有了不可替代的地位。而在工业五大基本参数中,温度的测量尤其广泛,可见精确的温度对于工业发展来看有多大的作用。本文将介绍一种基于单片机的简单数字温度计,本温度计可以精确地测量并显示温度,并实现上下限的报警功能。关键词:单片机、数字温度计、DS18B20、AT89S51ABSTRACTWiththeprogressanddevelopmentofthetimes,SCMtechnologyhasspreadtoourlives,workinallaspects,toworkindependentlyofthetemperaturedetectionanddisplaysystemhasbeenappliedinmanyfields.Thetraditionaltemperaturemeasurementwithathermistorasatemperaturesensitiveelement,thecostofthethermistorislow,buttheneedisconnectedwithasignalprocessingcircuitandpoorreliabilityofthermistor,temperaturemeasurementaccuracyislow,thedetectionsystemofprecision.Nowtherapiddevelopmentofelectronictechnologyandmicrocomputer,theuseofsingle-chiptemperaturedetection,datadisplayanddatatransmission,withtheadvantagesofhighefficiencyandstableperformance,butalsocanrealizetherequirementofreal-timefieldcontroltechnology,inindustrialproductionisappliedmoreandmorewidely.SCMhascomeintoourlives,andhasanirreplaceableposition.Inthefivebasicparametersoftheindustry,thetemperaturemeasurementisparticularlywide,andtheprecisetemperaturecanbeseenforindustrialdevelopment.Thispaperintroducesasimpledigitalthermometerbasedonsinglechipmicrocomputer,thethermometercanaccuratelymeasureanddisplaythetemperature,andrealizetheupperandloweralarmfunction.KEYWORDS:AT89S51,DS18B20,Singlechip,Digitalthermometer目录1、绪论 、绪论1.1课题背景工农业生产中经常需要测量温度。在设计温度测量系统时,通常需要采用电池供电的极低功耗模块。传统的温度测量手段比较多,但不论是采用分立晶体管,或者是热电偶,功耗都降不下来。为达到低功耗要求,采用一枚极低功耗的、带Flash存储器的MCU,以及热敏电阻传感器、日历时钟和液晶模块(LCD)组成测量系统。采用负温度系数(NTC)热敏电阻,具有测量灵敏度高、体积小,电阻值大、价格便宜等特点,且温度范围可以从-40℃~125℃,精度可达1温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。成熟的温控产品主要以点位控制及常规的PID控制器为主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。1.2温度计的介绍温度计是测温仪器的总称。根据所用测温物质的不同和测温范围的不同,有煤油温度计、酒精温度计、水银温度计、气体温度计、电阻温度计、温差电偶温度计、辐射温度计和光测温度计等。随着科学技术的发展和现代工业技术的需要,测温技术也不断地改进和提高。由于测温范围越来越广,根据不同的要求,又制造出不同需要的测温仪器。下面介绍几种。气体温度计:多用氢气或氦气作测温物质,因为氢气和氦气的液化温度很低,接近于绝对零度,故它的测温范围很广。这种温度计精确度很高,多用于精密测量。电阻温度计:分为金属电阻温度计和半导体电阻温度计,都是根据电阻值随温度的变化这一特性制成的。金属温度计主要有用铂、金、铜、镍等纯金属的及铑铁、磷青铜合金的;半导体温度计主要用碳、锗等。电阻温度计使用方便可靠,已广泛应用。它的测量范围为-260℃至600℃左右。温差电偶温度计:是一种工业上广泛应用的测温仪器。利用温差电现象制成。两种不同的金属丝焊接在一起形成工作端,另两端与测量仪表连接,形成电路。把工作端放在被测温度处,工作端与自由端温度不同时,就会出现电动势,因而有电流通过回路。通过电学量的测量,利用已知处的温度,就可以测定另一处的温度。它适用于温差较大的两种物质之间,多用于高温和低浊测量。有的温差电偶能测量高达3000℃的高温,有的能测接近绝对零度的低温。高温温度计:是指专门用来测量500℃以上的温度的温度计,有光测温度计、比色温度计和辐射温度计。高温温度计的原理和构造都比较复杂,这里不再讨论。其测量范围为500℃至3000℃以上,不适用于测量低温。指针式温度计:是形如仪表盘的温度计,也称寒暑表,用来测室温,是用金属的热胀冷缩原理制成的。它是以双金属片做为感温元件,用来控制指针。双金属片通常是用铜片和铁片铆在一起,且铜片在左,铁片在右。由于铜的热胀冷缩效果要比铁明显的多,因此当温度升高时,铜片牵拉铁片向右弯曲,指针在双金属片的带动下就向右偏转(指向高温);反之,温度变低,指针在双金属片的带动下就向左偏转(指向低温)。玻璃管温度计:玻璃管温度计是利用热胀冷缩的原理来实现温度的测量的。由于测温介质的膨胀系数与沸点及凝固点的不同,所以我们常见的玻璃管温度计主要有:煤油温度计、水银温度计、红钢笔水温度计。他的优点是结构简单,使用方便,测量精度相对较高,价格低廉。缺点是测量上下限和精度受玻璃质量与测温介质的性质限制。且不能远传,易碎。压力式温度计:压力式温度计是利用封闭容器内的液体,气体或饱和蒸气受热后产生体积膨胀或压力变化作为测信号。它的基本结构是由温包、毛细管和指示表三部分组成。压力式温度计的优点是:结构简单,机械强度高,不怕震动。价格低廉,不需要外部能源。缺点是:测温范围有限制,一般在-80~400℃;热损失大响应时间较慢。水银温度计:水银温度计是膨胀式温度计的一种,水银的凝固点是-38.87℃,沸点是356.7℃,用来测量0--150℃或500℃以内范围的温度,它只能作为就地监督的仪表。用它来测量温度,不仅比较简单直观,而且还可以避免外部远传温度计的误差。1.3课题研究的目的和意义1.3.1选题的目的温度是日常生活、工业、医学、环境保护、化工、石油等领域最常用到的一个物理量。测量温度的基本方法是使用温度计直接读取温度。最常见到得测量温度的工具是各种各样的温度计,例如:水银玻璃温度计,酒精温度计,热电偶或热电阻温度计等。它们常常以刻度的形式表示温度的高低,人们必须通过读取刻度值的多少来测量温度。传统的方式是采用热电偶或热电阻[1]。利用单片机和温度传感器构成的电子式智能温度计就可以直接测量温度,得到温度的数字值,既简单方便,有直观准确。而利用单片机AT89S51和温度传感器DS18B20设计一个设计温度计,能够测量20~100℃之间的温度值,用LCD液晶屏直接显示,测量精度为0.1℃。通过这次设计能够更加了解数字温度计的工作原理和熟悉单片机的发展和应用,巩固所学的知识。1.3.1选题的意义随着社会的不断发展,人们对自动化集成中调空的要求日益提高[2]。即使是高度集成化的今天,单片机技术依旧在我们的日常生活中占据着重要的地位。科技不断发展,现代社会对各种信息参数的采集的准确度和精确度的要求都有了巨大的增长,然而如何准确却又快速的获取需要的阐述却受限于当代信息基础的发展水平。在三大信息技术中心急采集(传感器技术)、信息传递(通信技术)和信息的处理技术(计算机技术)中,传感器技术属于信息技术的前沿尖端产品,尤其是温度传感技术,在我国各个领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。单片机又称微控制器,各种单片机的内部结构基本上相似。单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统例如:单片机LPC2148目前在移动产品中有还是具有优势的[4]。单片机的潜力越来越被人们所重视。特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强,能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。而现在的单片机在农业上页有了很多的应用。又随着电子技术的发展,人们的生活日趋数字化,多功能的数字温度计可以给我们的生活带来很大的方便;支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本;以美国MAXIM/DALLAS半导体公司的单总线温度传感器DS18B20为核心,以ATMEL公司的AT89S51为控制器设计的DS18B20温度控制器结构简单、测温准确、具有一定控制功能的智能温度控制器。本课题研究的重要意义在于生产过程中随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数,就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是数字温度传感器技术,在我国各领域已经应用的非常广泛可以说是渗透到社会的每一个领域,与人民的生活和环境的温度息息相关。1.4国内外研究现状单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机具有低的处理速度和存储容量小的特点[5]。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。2、系统方案的设计与论证2.1系统的控制特点与性能要求该系统是通过CPU(51单片机)计算温度值,通过比较当前温度值与设定的温度限制范围的大小关系。如果超过温度范围之后,并且系统需要作出对应动作之后,单片机将会对对应的外围电路发出动作信号。让报警和控制支路对温度进行报警和控制,从而提示人们或者直接作出应对动作。一般的系统都必须有几个基本的性能要求——稳定性,抗干扰能力,精确度,分辨率等。对于家用温度计的精确度要求并非太高,所以该系统并未要求有较高的精确度和分辨率,所以当前定义分辨率在0.1℃。为了方便用户的使用,设定温度采用整数计数,设定值的最小该变量为12.2系统的实现原理本系统是通过温度测量元件与单片机通信,在单片机中计算出对应的温度值进行控制。温度测量元件能够对温度的变化产生对应的变化,例如:热敏电阻能够在温度改变的时候电阻值会随之改变,电阻值的大小与温度值有一一对应的关系,所以通过测量电阻的大小就能够得到当前的温度值;温度传感器是一种集成度较高的温度测量元件,它能够根据当前温度值产生出一串数字信号,不同的温度值得到不同的数字信号,通过对该信号的译码能够准确的获取当前的温度值。热敏电阻工作时候将长期处于不动作状态;当环境温度和电流处于C区时,热敏电阻的散热功率与发热功率接近,因而可能动作可能不动作。热敏电阻在环境温度相同时,动作时间随着电流的增加而急速缩短;热敏电阻在环境温度相对较高时具有更短的动作时间和较小的维持电流及动作电流。温度传感器和热敏电阻工作原理相似,但是通过高度的集成化将测量元件输出的模拟信号经过一系列的处理之后直接经过传感器输出转换好的实际温度。传感器的输出信号相对模拟信号也更加稳定和直接,更便于我们获取温度。图1测量元件与温度关系2.3系统的实现方案分析按照测量元件的特性和显示元件的不同我们先指定3种不同的方案。方案1:利用热敏电阻,单片机,数码管来完成基本电路的搭建。通过测量热敏电阻两端的电压和电流,计算出热敏电阻的电阻值。然后通过查找该电阻的温度特性曲线,将热敏电阻的电阻值以及对应的温度值按照一定的方程或者直接通过数组的形式存储到CPU的存储区中。通过CPU带入该电阻值进方程计算出当前温度值,或者通过内部存储器中的数组,对应表查找最接近的电阻值所对应的温度值。通过这种方式来获取温度值,并且送入数码管进行显示输出。图2方案1系统框图方案2:利用温度传感器,单片机以及LCD液晶显示屏来搭建基础电路。通过查阅对应温度传感器的初始化程序和温度获取程序,以及对应的数字信号值与真实值之间的比例系数。然后通过单片机与温度传感器之间进行通信,获取温度传感器中的温度信息,进行相应的数值处理,获取对应的温度值然后通过LCD液晶显示屏将对应的温度信息显示出来。LCD液晶显示屏的功能相对较为高级,不仅仅能够显示出温度值,还能够显示出英文和汉字。通过屏幕的中文说明能够直观获取各种温度的信息,以及其他相关参数。方案3:同样利用温度传感器,单片机作为主要元件,但是这里采用LED8位数码管进行显示而不是LCD液晶显示屏。相对上面方案,测量的原理完全相同,不同的仅仅是显示单元。图3方案2和方案3系统框图2.4方案的分析比较方案比较:我们主要是从测量元件开始分析。分析测量元件的方面我们主要从两个方面考虑——电路复杂性和准确度。测量部分:方案1:电路结构:利用热敏电阻来测量温度值需要测量热敏电阻的电压和电流从而计算出当前的电阻值,所以需要一定的外围电路。不仅仅需要一个稳定的电源,还需要将电阻连接到一个小回路中实时测量两端的电压和电流,结构相对较为复杂,耗资也相对较高。准确度:由于电压和电流都需要我们测量,但是仪器并不是准确的,所以这里电压和电流都会存在一定的误差。当二者一起计算出电阻的时候,这个计算的电阻值的误差较大。所以通过该电阻测量值获取的当前温度值也不是很准确,这样精确度相对较低。然后由于获取电压和电流都是模拟信号,而模拟信号的抗干扰能力不强导致该系统的抗干扰能力也非常有限。方案2和方案3:电路结构:利用温度传感器DS18B20作为测量元件,由于DS18B20的集成度很高导致该元器件需要的外围电路相当简单。并且DS18B20体积小,输出方便也使得该方案更加节省空间资源,需要的元器件少更加经济实惠。准确度:DS18B20是高封装的传感器件,能够直接和单片机进行串口通信,获取温度值较为简便。测温范围-55℃~+125℃,固有测温分辨率0.5显示部分:方案1和方案3:使用LED8位数码管显示,显示温度值清晰直观方便,可见度高,易于分辨。并且LED数码管有占用体积小,造价低等。方案2:使用LCD液晶屏显示温度,不仅仅能够显示温度,还能够显示英文和汉字,能够给使用者提供其他的信息。LCD的显示也比较清晰,虽然能够显示多方面的信息以及图案,但是相对造价很贵,体积也较LED大很多。结论:纵观全局,我们这里选用方案3。方案3不仅仅能够满足系统的基本要求(主要是性能指标),而且相对造价低。显示系统不要求显示中文,所以使用LED足够了。而且LED显示器在显示方面比LCD更加清晰直观便于分辨。3、系统硬件及其电路的选择3.1系统硬件的选择3.1.1温度传感器DS18B20的选择DS18B20是美国Dallas半导体公司生产的第一片支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易兼容微处理器等优点,可直接将温度传感器转化成串行数字信号供处理器处理。DS18B20温度传感器特性(1)适应电压范围宽,电压范围在3.0~5.5V,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,他与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通信。(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4)在使用中不需要任何外围元件,全部传感元件及转换电路形如多只三极管的组成电路。(5)测温范围-55°C~+125°C,在-10°(6)可编程分辨率为9~12位,对应的可分辨温度分别为0.5°C,0.25°C,(7)在9位分辨率时,最多在93.75ms内把温度转换数字;12位分辨率时,最多在750ms内把温度值转换为数字,显然速度很快。(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰能力。CRC即循环冗余校验码(CyclicRedundancyCheck):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。(9)负压特性。电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。以上特点使DS18B20非常适用与多点、远距离温度检测系统。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式如图4所示,DQ为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。其电路图5所示。图4外部封装形式图5传感器电路图【DS18B20使用中的注意事项】DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:(1).DS18B20从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。(2).在实际使用中发现,应使电源电压保持在5V左右,若电源电压过低,会使所测得的温度精度降低。(3).较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。(4).在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此,当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(5).在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。3.1.2显示器的选择显示器件:LED8位数码管,LED液晶屏12864由于本设计的需要,仅仅需要显示温度值,而且在显示方面8为数码管有着直观清晰容易分辨的特性,并且综合考虑8为数码管价格便宜,体积小巧等优点,所以当前选取LED8为数码管作为显示器件。3.1.3单片机的选择对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程,所以低价位AT89S51单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电,因此选用AT89S51更适合。3.2主电路搭建主电路主要是:测量电路以及单片机最小系统测量电路:由于每片DS18B20含有唯一的硅串行通信口[11]。加上温度传感器DS18B20的高集成度,导致测量电路非常简单。仅需要用单口与单片机通信即可。图6测量电路单片机最小系统:单片机最小系统主要包括3个主要部分,复位电路,电源电路以及时钟电路。图7复位电路3.3显示电路显示电路:显示电路用8位数码管来显示,由于温度的家用测量精度不需要太高所以用4只8位数码管显示。但是通过单片机串口驱动一只数码管太浪费单片机端口资源,为此需要节约单片机的端口资源,本次设计用移位寄存器74HC164进行控制显示。图8显示电路3.4外围电路建立本次设计相对较为简单,为了让设计获得更多功能,这里添加了外围的键盘以及报警和控制电路。外接键盘:如下图连线,接入的外接键盘。从上至下的5个按钮作用分别为:按钮1设定按键,点击之后能够设定一个基准值,若温度高于该值将可能引起报警电路和控制电路的反应。再次点击之后会保存设定值。按钮2、3选位按钮,能够左右选择当前修改值的位置,即个位、十位或者报警开启/关闭。按钮4、5修改按钮,能够对选取的位置的值进行修改,分别+1或者-1进行改变设定温度值。使用说明:正常情况数码管显示温度值,按下按钮1此时显示为报警设定,闪烁位为当前修改位。按钮2、3能够移动闪烁位改变修改数值的位置。按钮4、5能够修改闪烁位的值的大小来设定报警温度值。(注意:需要注意的是设定温度为2位数即00-99度之间,并且设定值前面还有一位改位为报警启动位,若值为1表示开启报警,0表示关闭报警。)图9设置温度图10外接键盘如上图:第一位是报警启动位:0关闭报警系统,1开启。最后2位为温度设定位:用于设定一个报警温度值(当前选取的为个位,所以个位在闪烁)。4、系统的软件设计4.1软件Keil介绍编程使用的软件是KEIL,编程使用C语言。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统[26,28-29]。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。1.系统概述KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍KeilC51开发系统各部分功能和使用。2.KeilC51单片机软件开发系统的整体结构C51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。使用独立的Keil仿真器时,注意事项:*仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。*仿真器上的复位按钮只复位仿真芯片,不复位目标系统。*仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。4.2程序介绍此程序是利用C语言编写,keil生成的HEX文件。程序分多个部分:主程序,延时子程序,DS18B20初始化程序,读取温度子程序,写温度子程序,显示子程序等。DS18B20初始化程序:初始化温度传感器DS18B20。读取温度子程序:控制温度传感器DS18B20获取DS18B20测量的温度值。写温度子程序:读出的温度写入DS18B20内带的寄存器中以便获取温度值。显示子程序:控制显示电路在8位数码管上显示出对应数值。延时子函数:进行延时等待一段时间。程序功能:能够实时获取温度传感器DS18B20测量的温度值,以十进制的形式进行显示。同时外围按键能够设定一个温度值以及报警开关状态来进行报警设定,例如:报警开关关闭时,无论温度为多少都不会引起报警反应;报警开关开启时,若当前温度高于设定温度则蜂鸣器会发出报警声音,同时外围的MOS管会导通控制电路进行动作。4.2.1传感器程序传感器程序是对温度传感器DS18B20进行初始化操作,读操作以及写操作的程序。是读取当前温度值必须的程序,通过该程序能够通过DS18B20和单片机通信将当前的温度信息传递给单片机。图4.1传感器程序流程图4.2.2显示器程序显示器程序是通过单片机内部计算,将当前读出的温度值显示在显示器件上的函数。基本功能包括清除屏幕上的全部信息、显示特定信息。其主要工作原理如图4.2。图4.2显示器程序流程图4.2.3键盘程序键盘程序主要是检测键盘的按键信息,并且控制给单片机。通过键盘的动作情况(电平的跳变)以及动作单元的位置而做出相对应的动作。图4.3键盘程序流程图4.2.4主程序主程序主要是分为4大部分:获取温度,显示温度,键盘输入以及报警控制。通过之前的传感器程序获取传感器DS18B20测量的当前温度数值,并且通过显示器程序显示当前温度值。通过键盘输入程序获取键盘动作情况并且对相应部件做出相对的动作,当判断设定值与当前值之间的大小关系之后判断是否给予动作系统做出对应的动作。图4.4主程序流程图4.2.5总程序流程图对温度传感器对温度传感器进行设置,读取温度②数据转化③显示温度开始结束5、总结该基于DS18B20的多点温度测量系统具有硬件结构简单、易于制作、价格低廉、测量值精确和易于操作等许多优点,但由于实验室条件所限,暂时只做四点的温度测量。但在实际应用中可根据具体情况进行更多点的扩展和对多点进行控制。随着现代信息技术的飞速发展和传统工业改造的逐步实现,基于DS18B20的多点温度测量系统已经广泛应用于控制、化工等诸多领域。总之,本次毕业设计顺利完成,基本达到了毕业设计的要求。总结一个学期的论文工作,得到以下结论:1.针对现有测温系统的特点,提出了一套应用数字式温度传感器DS81B20组建温度测控网络新型方案,该方案的突出特点是系统的数字化、快速化及其经济实用性。2.以单总线为基本结构,采用ATMEL公司的AT89S51单片机为总线命令,实现与DSl8B20的总线接口,并提供具体电路设计。3.软件编程采用模块化、结构化设计,易于修改和维护。由于时间和精力的限制,对后续的研究还应在以下方面逐步完善:1.应用软件的完善。温度采集方面,一次命令全部单总线上的DS18B20进行温度转换,减少系统所需时间。2.进一步完善系统的可靠性。由于实际经验的欠缺,设计上难免有考虑不周之处。当某一个传感器出现故障时,虽然系统能发现该测温点故障,但是更换传感器时涉及到其序列号的修改和应用程序的修改,这些还需要在今后应用时加以完善。3.可以增加控制部分,以后在该部分进行PID算法控制,以提高控制精度。从这次的课程设计中,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。6、致谢在毕业设计的整个过程中,我遇到了许多意想不到的困难,如自己设计电路,焊接电路板,进行软件编译等等。不仅如此,很多从未遇见过的问题和现象困扰着我,比如在调试的过程中,时常出现问题,但每次经过仔细反复查找,终于可以将这些问题针对性的找到并进行合理的改正,确保其正常实现对应的功能,在自己处理难题的过程中,真正学到了很多新的知识。在这次毕业设计中,首先我要非常感谢我的指导老师王老师。非常感谢王老师在我大学的最后学习阶段——毕业设计阶段给自己的指导,从最初的选题,到写作、修改,到论文定稿,他给了我耐心的指导和无私的帮助,在此我向他表示我诚挚的谢意。同时,感谢所有任课老师和所有同学在这四年来给自己的帮助和关爱,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。通过这一阶段的努力,毕业论文终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益匪浅,这除了自身的努力外,与各位老师、同学和朋友的关系、支持和鼓励是分不开的。衷心的感谢在百忙之中评阅论文和参加答辩的各位专家、教授!附录:参考文献张开生,郭国法.MCS-51单片机温度控制系统的设计[J].微计算机信息,2005林德彬,胡学骏,余淑芳等.数字化远程温度监控系统[J].佛山科学技术学院学报(自然科学版),2006唐晓惠.微机接口技术在单片机中的应用[J].过州教育学院学报(自然科学),2005丁元杰.单片微机原理及应用.第三版[M].机械工业出版社,2005闫胜利,王朝瑞.基于DS18B20的温度控制系统设计[J].长春工程学院学报(自然科学版),2002柴卫华,何文昌,孙庆安.新型数字温度传感器DS18B20组成的温度巡检系统[J].传感器世界,2001伍冯洁,谢陈跃,谢斌.Proteus与Keil在单片机开放性试验中的应用[J].电子测量技术,2008,31周永东.基于DS18B20的单片机数字温度计[J].微电子学,2007马云峰.单片机与数字温度传感器DS18B20的接口设计[J].计算机测量与控制,2002赵海兰,赵祥伟.智能温度传感器DS18B20的原理与应用[J].现代电子技术,2003孙育才.《单片微型计算机及其应用》.东南大学出版社.2004沈德金陈粤初.《单片机接口电路与应用程序实例》.北京航天航空大学出版社.1990.潘新民王燕芳.《微型计算机控制技术》.电子工业出版社2003李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,1998李广弟.单片机基础[M].北京:北京航空航天大学出版社,1994阎石.数字电子技术基础(第三版).北京:高等教育出版社,1989附录:程序代码#include<reg52.h>#include<stdio.h>#definetimes500voiddisplay(void);voidinit_serial(void);voiddelay(unsignedint);ReadOneChar(void); floatTT; sbitDQ=P3^3;//定义通信端口 bitTS=0;//TS正负标志0表示正,1表示负 dataunsignedchart=0; intSET=26;bitC=0;intUse=0; charnum[4]={0,0,20,0};sbitLED_CLK=P1^1;sbitLED_DATA=P1^0;sbitLB=P3^4;sbitLB1=P1^2;sbitB0=P0^0; sbitB1=P0^1;sbitB2=P0^2;sbitB3=P0^3; sbitB4=P0^4;//// 定义一个字符数组存放显示数据//unsignedcharcodearray_led[23]={ 0x03,// 0 0x9F,// 1 0x25,// 2 0x0D,// 3 0x99,// 4 0x49,// 5 0x41,// 6 0x1F,// 7 0x01,// 8 0x09,// 9 0x02,// 0. 10 0x9E,// 1. 1 0x24,// 2. 2 0x0C,// 3. 3 0x98,// 4. 4 0x48,// 5. 5 0x40,// 6. 6 0x1E,// 7. 7 0x00,// 8. 8 0x08,// 9. 9 0xFE,// . 20 0xFF,// 21 0xFD//- 22 };//// led显示子程序//voidLED_Display(charn){ unsignedchari,j,k; k=0; j=array_led[n]; for(i=0;i<8;i++) { if((j&0x01)==1) { LED_DATA=1; k++; } else{ LED_DATA=0; k++; } j>>=1; LED_CLK=~LED_CLK; LED_CLK=~LED_CLK;}}//// 显示//voidLED_Display_Six(char*Point){ unsignedchari; for(i=0;i<32;i++)//清除LED上电时出现的乱码 { LED_DATA=0; LED_CLK=~LED_CLK; LED_CLK=~LED_CLK; } for(i=4;i>0;i--) LED_Display(*(Point+i-1));} //// 串口初始化//voidinit_serial(void) { TMOD=0x21; //装载计数初值 TL1=0xE5; TH1=0xE5;//采用串口工作方式1,无奇偶校验 TH0=0xdc; TL0=0x00; SCON=0x50; //串口波特率不加倍 PCON=0x80; //开总中断,开串口中断 IE=0x80; //启动定时器1 IP=0x02; TR1=1; TR0=1; } //// 延时子程序// voiddelay(unsignedinti) { while(i--); } //// 初始化18b20// Init_DS18B20(void) { unsignedcharx=0; DQ=1;//DQ复位 delay(8);//稍做延时 DQ=0;//单片机将DQ拉低主机发送一个最少480us的低电平 delay(80);//精确延时大于480us此delay要大于480微秒 DQ=1;//总线释放 拉高总线准备读 delay(28);//等待不能超过15-60us x=DQ;//收到低电平则初始化成功 delay(20); }//// 读一字节//ReadOneChar(void){ unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--) { DQ=0;//给脉冲信号 dat>>=1;//空出最高位 DQ=1;//总线释放 if(DQ)//主机检测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中生心理日记指导2025说课稿
- 小学生感恩父母说课稿
- Unit 9 If you go to the party,you'll have a great time!说课稿2025学年初中英语人教版五四学制2012七年级下册-人教版五四学制
- 小学生财商教育主题班会说课稿
- 初中留守学生关爱主题班会说课稿2025
- 2026年氯气的制取与性质说课稿
- 2026年小学体育说课稿2课时
- 小学生感恩教育主题班会说课稿2025年
- 初中生2025年阅读兴趣培养说课稿
- 2026年梦幻拼音游戏说课稿
- 埋石混凝土挡墙监理实施细则
- 《化工企业可燃液体常压储罐区安全管理规范》解读课件
- 高层建筑外墙广告牌吊篮施工方案
- 2026届高考考前信息必刷数学卷(新高考Ⅰ卷)(原卷及解析)
- 十年(2016-2025)高考数学真题分类汇编16三角函数与解三角形解答题综合(六大考点65题)
- 资产重组在制造业中的应用与前景研究报告
- 《中华人民共和国水法》解读培训
- 膝过伸的原因
- DB33∕T 1398-2024 惠民型商业补充医疗保险服务规范
- 某铅锌矿开采设计毕业设计
- 健康教育学题库及答案
评论
0/150
提交评论