温度采集控制系统_第1页
温度采集控制系统_第2页
温度采集控制系统_第3页
温度采集控制系统_第4页
温度采集控制系统_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

微处理器与接口课程设计设计题目:基于单片机的温度采集控制系统学院:年级:专业:姓名:学号:指导教师:摘要本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,将当前温度信息发送到LED进行显示。由于单片机技术的优点突出,智能化温度控制技术正被广泛地采用。本文介绍了基于单片机AT89C51的温度控制系统的设计方案与软硬件实现。采用温度传感器DS18B20采集温度数据,7段数码管显示温度数据,按键设置温度上下限,当温度低于设定的下限时,点亮绿色发光二极管,当温度高于设定的上限时,点亮红色发光二极管。给出了系统总体框架、程序流程图和Protel原理图,并在硬件平台上实现了所设计功能。关键词单片机 温度控制系统 温度传感器AbstractIndailylife,thetemperatureinoursidetheever-present,thecontrolofthetemperatureandtheapplicationinvariousfieldsallhaveimportantrole.Manyindustrytherearealargenumberofelectricheatingequipment,andthetemperaturecontrolequipment,suchasusedforalarmautomatictemperaturealarmsystems,heattreatmentfurnace,usedtomeltmetalcrucibleresistancefurnace,andallkindsofdifferentUSESoftemperatureboxandsoon,theseusingsinglechipmicrocomputer,usingsinglechipcomputerlanguageprogramtocontrolthem.Andsingle-chipmicrocomputertechnologyhascontrolandconvenientinoperation,easytomodifyandmaintenanceofsimplestructure,flexibilityislargeandhassomeoftheintelligenceandothercharacteristics,wecanaccuratelycontroltechnologystandardtoimprovethetemperaturecontrolindex,alsogreatlyimprovethequalityoftheproductsandperformance.Becauseoftheadvantagesofthesinglechipmicrocomputerintelligenttemperaturecontroltechnologyoutstanding,isbeingwidelyadopted.ThispaperintroducesthetemperaturecontrolbasedonsinglechipmicrocomputerAT89C51designschemeofthesystemandthehardwareandsoftwareimplementation.ThetemperaturesensorDS18B20collectiontemperaturedata,7periodofdigitalpipedisplay,theupperandlowerlimitsoftemperaturebuttonwhentemperaturebelowthesettingofthelowerlimit,lightgreenleds,whenthetemperatureishigherthanthesetonthelimit,lightredleds.Giventhesystemframeworkandprogramflowchartandprinciplechart,andinProtelhardwareplatformtorealizethefunctionofthedesign.KeywordsSCMTemperaturecontrolsystemTemperaturesensorsii目录目录摘要 错误!未定义书签。Abstract 错误!未定义书签。第一章绪论 错误!未定义书签。课题研究背景 错误!未定义书签。国内研究现状 错误!未定义书签。TOC\o"1-5"\h\z\o"CurrentDocument"国外研究现状 1\o"CurrentDocument"研究目的和意义 2\o"CurrentDocument"课题的研究内容和组织章节 2\o"CurrentDocument"课题研究内容 2\o"CurrentDocument"课题章节组织 2\o"CurrentDocument"第二章系统方案设计 3主控系统 3\o"CurrentDocument"温度测量方案 8\o"CurrentDocument"硬件电路图 11\o"CurrentDocument"系统硬件设计中需注意的问题 11\o"CurrentDocument"第三章系统软件设计 12\o"CurrentDocument"编程语言 12\o"CurrentDocument"设计目标 13结构分析 错误!未定义书签。\o"CurrentDocument".1主程序分析 14\o"CurrentDocument"系统软件设计中需注意的问题 14\o"CurrentDocument"第四章测试结果 15结论 1Z\o"CurrentDocument"致谢 18\o"CurrentDocument"附录 19第一章绪论课题研究背景国内研究现状我国对模糊控制理论的研究与应用起步比较晚,然而发展很快,在各个领域取得了许多有影响的成果。诸如在模糊控制、模糊辨识、模糊聚类分析、模糊图像处理、模糊集合论、模糊模式识别等领域取得了不少有实际影响的结果。1988年哈尔滨工业大学在酒精厂10T/H工业染料煤链条路上实现鼓风量-蒸汽压力Fuzzy-PI双模控制。1990年模糊控制应用于电场过热汽温回路的自动控制。1994年模糊控制成功应用于镇海发电厂200MW机组的主蒸汽压力及温度自控系统。目前,我国在温度等控制仪表业与国外的差距主要表现在如下几个方面:1)行业内企业规模小,且较为分散,造成技术力量不集中,导致研发能力不强,制约技术发展。2)商品化产品以PID控制器为主,智能化仪表少,这方面同外国差距较大。目前,国内企业复杂的及精度要求高的温度控制系统大多采用进口温度控制仪表。3)仪表控制用关键技术、相关算法及控制软件方面的研究较国外滞后。例如:在仪表控制参数的自整定方面,国外已有较多的成熟产品,但由于国外技术保密及我国开发工作的滞后,还没有开发出性能可靠的自整定软件。控制参数大多数靠人工经验及现场调试来确定。这些差距,是我们必须努力克服的。随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,并通过合资、技术合作等方式,组建了一批合资、合作及独资企业,使我国温度等仪表工业得到迅速的发展。国外研究现状自70年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化、自适应、参数自整定等方面取得成果,在这方面,以日本、美国、德国、瑞典等国技术领先,都生产出了一批商品化的、性能优异的温度控制器及仪器仪表,并在各行业广泛应用。它们主要具有如下特点:1)适应于大惯性、大滞后性等复杂温度控制系统的控制。2)能够适应于受控系统数学模型难以建立的温度控制系统的控制。3)能够适应于受控系统过程复杂、参数时变的温度控制系统的控制。4)这些温度控制系统普遍采用自适应控制、自校正控制、,模糊控制、人工智能等理论及计算机技术,运用先进的算法,适用的范围广泛。5)普遍温控器具有参数自整定功能。借助计算机软件技术,温控器具有对控制对象控制参数及特性进行自动整定的功能。有的还具有自学习功能,它能够根据历史经验及控制对象的变化情况,自动调整相关控制参数,以保证控制效果的最优化。6)温度控制系统具有控制精度高、抗干扰能力强的特点。目前,国外温度控制系统及仪表正朝着高精度、智能化、小型化等方面快速发展。研究目的和意义温度控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。传统的继电器调温电路简单实用,但由于继电器动作频繁,可能会因触点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。课题的研究内容和组织章节课题研究内容本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,将当前温度信息发送到LED进行显示。课题章节组织第一章:绪论,介绍课题的研究背景、目的及意义、研究内容和各章节组织;第二章:介绍系统总体设计及方案,及硬件设计;第三章:介绍软件系统设计方案及编程语言;第四章:对结果进行分析处理。第二章系统方案设计与论证主控方案AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。止匕外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素,因此在本设计中选用ATMEL公司的AT89S52单片机作为主控芯片。主控模块采用单片机最小系统是由于AT89S52芯片内含有4kB的E2PROM,无需外扩存储器,电路简单可靠,其时钟频率为0〜24MHz,并且价格低廉,批量价在10元以内。AT89S52介绍AT89S52引角功能说明VCC:电源GND:地P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入。1.0/12)和定时器/计数器2的触发输入^1.1/12£乂),具体如表2-1所示。在flash编程和校验时,P1口接收低8位地址字节。表2-1P1口功能定义弓|脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流QIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表2-2所示。在flash编程和校验时,P3口也接收一些控制信号。表2-2P3□功能定义弓1脚号P3.0第二功能RXD(串行输入)P3.1TXD(串行输出)P3.2INTO(外部中断0)P3.3INTO(外部中断0)P3.4TO(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD非(外部数据存储器写选通)RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。AT89S52单片机内部构造及功能:特殊功能寄存器并不是所有的地址都被定义了。片上没有定义的地址是不能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。用户不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予新的功能,复位后,这些位都为“0”。定时器2寄存器:寄存器T2CON和T2MOD包含定时器2的控制位和状态位,寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可在IE中设置。存储器结构MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存储器都可以64K寻址。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H〜1FFFH)开始,接着从外部寻址,寻址地址为:2000H〜FFFFH。数据存储器:AT89S52有256字节片内数据存储器。高128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器(SFR)。例如,下面的直接寻址指令访问0A0H(P2口)存储单元MOV0A0H, #data使用间接寻址方式访问高128字节RAM。例如,下面的间接寻址方式中,R0内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV@R0, #data堆栈操作也是简介寻址方式。因此,高128字节数据RAM也可用于堆栈空间。看门狗定时器WDT是一种需要软件控制的复位方式。WDT由13位计数器和特殊功能寄存器中的看门狗定时器复位存储器(WDTRST)构成。WDT在默认情况下无法工作;为了激活WDT,用户必须往WDTRST寄存器(地址:0A6H)中依次写入01EH和0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。WDT计时周期依赖于外部时钟频率。除了复位(硬件复位或WDT溢出复位),没有办法停止WDT工作。当WDT溢出,它将驱动RSR引脚一个高个电平输出。WDT的使用:为了激活WDT,用户必须向WDTRST寄存器(地址为0A6H的SFR)依次写入0E1H和0E1H。当WDT激活后,用户必须向WDTRST写入01EH和0E1H喂狗来避免WDT溢出。当计数达到8191(1FFFH)时,13位计数器将会溢出,这将会复位器件。晶振正常工作、WDT激活后,每一个机器周期WDT都会增加。为了复位WDT,用户必须向WDTRST写入01EH和0E1H(WDTRST是只读寄存器)。WDT计数器不能读或写。当WDT计数器溢出时,将给RST引脚产生一个复位脉冲输出,这个复位脉冲持续96个晶振周期(TOSC),其中TOSC=1/FOSC。为了很好地使用WDT,应该在一定时间内周期性写入那部分代码,以避免WDT复位。掉电和空闲方式下的WDT在掉电模式下,晶振停止工作,这意味这WDT也停止了工作。在这种方式下,用户不必喂狗。有两种方式可以离开掉电模式:硬件复位或通过一个激活的外部中断。通过硬件复位退出掉电模式后,用户就应该给WDT喂狗,就如同通常AT89S52复位一样。通过中断退出掉电模式的情形有很大的不同。中断应持续拉低很长一段时间,使得晶振稳定。当中断拉高后,执行中断服务程序。为了防止WDT在中断保持低电平的时候复位器件,WDT直到中断拉低后才开始工作。这就意味着WDT应该在中断服务程序中复位。为了确保在离开掉电模式最初的几个状态WDT不被溢出,最好在进入掉电模式前就复位WDT。在进入待机模式前,特殊寄存器AUXR的WDIDLE位用来决定WDT是否继续计数。默认状态下,在待机模式下,WDIDLE=0,WDT继续计数。为了防止WDT在待机模式下复位AT89S52,用户应该建立一个定时器,定时离开待机模式,喂狗,再重新进入待机模式。温度测量方案DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-T2小体积封装形式,温度测量范围一55〜+125℃,可编程为9〜12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。综上,在本系统中我采用温度芯片DS18B20测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在0—100摄氏度时,最大线形偏差小于1摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。DS18B20介绍DS18B20的主要特征:全数字温度转换及输出。先进的单总线数据通信。最高12位分辨率,精度可达0.5摄氏度。12位分辨率时的最大工作周期为750毫秒。可选择寄生工作方式。检测温度范围为一55〜^H125C(-67°F〜+257°F)。内置EEPROM,限温报警功能。64位光刻ROM,内置产品序列号,方便多机挂接。引脚功能:GND:电压地DQ:单数据总线VDD:电源电压 NC:空引脚工作原理及应用:DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是: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个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。控制器对18B20操作流程:1、复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在15〜60uS后回发一个芯片的存在脉冲。2、存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15〜60uS后接收存在脉冲,存在脉冲为一个60〜240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。3、控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。4、控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,这是芯片控制的关键。105、执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。硬件电路图硬件设计中需注意的问题系统设计时用考虑能适应各种不同设备和各种不同控制对象,是系统不必作重大改动就能很快应用于新的控制对象。这就要求系统的通用性好,能灵活的进行扩充。要使控制系统达到这样的要求,设计时必须使系统设计标准化、模块化。在速度允许的情况下,设计接口硬件部分时,操作功能尽可能用软件来实现,以减少系统的复杂程度。硬件设计过程中,器件应选择和筛选,在布线和安排时,要注意制作技术和装配技术,以克服电气干扰。另外,随着微机控制技术迅速发展,各种新技术和产品不断出现,在满足精度、速度和其他性能要求的前提下,应缩短设计周期和尽可能采用价格低的器件,以降低整个控制系统的费用。11第三章系统软件设计编程语言汇编语言(assemblylanguage)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的不同平台之间不可直接移植。许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。主要特点.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。.保持了机器语言的优点,具有直接和简捷的特点。.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。.经常与高级语言配合使用,应用十分广泛。简捷性汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。执行过程用汇编语言编制的程序输入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的〃汇编程序〃中进行加工和翻译,才能变成能够被计算机直接识别和处理的二进制代码程序。用汇编语言等非机器12语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,当它被安置在内存的预定位置上,就能被计算机的CPU处理和执行。独特性汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。.2设计目标根据温度控制系统硬件设计的软件程序,实际上就是对系统的管理程序和控制程序进行设计。管理程序是对显示LED进行动态刷新、控制指示灯、处理键盘的扫描和响应等。控制程序是对被控制过程进行采样、数据处理,根据控制算式进行计算和输出等。由于整个系统软件相当庞大,为便于编写、调试和修改,系统软件的编制采用了模块化结构,及整个控制软件由许多独立的小模块组成,他们之间通过软件接口连接,主控程序主要包括条件判断和子程序调用等关键部分。在进行微机控制系统设计时,系统设计人员必须把系统要执行的任务和应具备的功能合理地分配给硬件和软件来实现,既要考虑系统的价格,又要考虑系统满足实时性要求的工作进度,做到硬件、软件合理权衡,并尽量节省机器时间和内存空间。.3结构分析主程序调用了5个子程序,分别是数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、继电器控制程序、单片机与PC机串口通讯程序。键盘扫描电路及按键处理程序:实现键盘的输入按键的识别及进入相应的程序。温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码的显示送数,控制系统的显示部分。继电器控制程序:控制继电器动作串口通讯程序:实现PC机与单片机通讯,将温度数据传送给PC机。程序结构见图图3-1。13图3-1程序结构图主程序分析程序开始的时候先设置初始化,然后就控制数码管显示当前温度。接着就判断F1、F2按键是否被按下。按下F1进入温度控制点1的程序、按下F2进入温度控制点2的程序。程序控制设置温度的两个数码管闪烁的,此时键盘输入有效。有按键按下的时候进入按键处理程序。按下“确定”按键后,程序进入判断程序和继电器控制程序。继电器动作后,程序回到显示当前程序,并开始循环。主程序结构图见图3-2。.4系统软件设计中应注意的问题在进行系统的软件设计时,在保证程序功能前提下,尽量采用指令字节少和执行时间短的指令,以减少程序占用空间和程序执行时间。14

取消度点F1F2温度数据透PC取消度点F1F2温度数据透PC机温度、品不图3-2主程序结构图第四章测试结果分析1、测试环境环境温度28摄氏度,室内面积20平方米测试仪器:数字万用表,温度计0----100摄氏度2、测试方法使系统运行,采用温度计同时测量室内度变化情况,得出系统测量的温度。3、测试结果设定温度由0摄氏度到40摄氏度标定温差<=1摄氏度调节时间15s(具体视现场情况)静态误差<=0.5摄氏度 最大超调量1摄氏度154、通过测试分析,对于实际室内的温度控制,可以再提出以下2点方法:I增加传感器个数,对各个温度传感器采集的数据进行求算术平均,可得到较为准确的温度值。II对实际室内的温度控制,可采用功率较大的电炉,并且通过风扇对箱内温度进行充分搅和,降温设备可采用空气压缩机等制冷设备。5、通过实验测试和分析,发现虽然传感器的温度采集精度最高可得到0.06℃,但测试得到的数据最小间隔为0.03℃。通过分析,当对浮点数求平均处理时,遇到同一时刻两个传感头采集的温度相差不大,使0.06℃时求出平均温度变为0.03℃。为了解该数据是否真实,可采用一个高精度的数字温度计测试,发现读出的值与其基本一致,由此推断如果在同一时间增加采集温度的个数,则可以进一步提高温度的精度。16在工业生产和日常生活中,对温度控制系统的要求,主要是保证温度在一定温度范围内变化,稳定性好,不振荡,对系统的快速性要求不高。在论文中简单分析了单片机温度控制系统设计过程及实现方法。本系统的测温范围为-10℃〜40℃,温度检测系统根据用户设定的温度范围完成一定范围的温度控制。89S52的时钟最高可达12M,I/O口可达32个,高的时钟频率和丰富的I/O,都为我们实现电路功能提供了非常有利的条件。同时也因为开发环境友好,易用,方便,大大加快本系统设计开发。本制作的设计中使用了继电器控制的只是插座电路,因此,该系统的可扩展性很强。随着插入插座的电器的不同,可以实现许多其它功能的电路。17致谢本学期,在王积翔老师的带领下,我重新学习了单片机,理论课程与实验加上课程设计,使我更加深入了解单片机,并掌握一定编程能力。感谢我教书育人的老师,我不是你最出色的学生,而你却是我最尊敬的老师。大学时代的老师治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围。授人以鱼不如授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想观念,树立了宏伟的学术目标,领会了对待知识,走向社会的思考方式。在这里尤其要感谢张庆辉老师,从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”。感谢父母,焉得谖草,言树之背,养育之恩,无以回报;感谢同学在我遇到困境时向我伸出援助之手;感谢这段时间对我帮助给与关怀的叔叔,阿姨,是你们让我看到了人间真情暖人心,激励我时时刻刻努力,奋发向上,排除万难勇往直前。在论文即将完成之际,我的心情无法平静,在这里请接受我诚挚谢意!同时也感谢学院为我提供良好的做毕业设计的环境。18附录程序清单主程序:ORG0000H;DS18B20.ASMDS18SLEQU41H;用于保存读出温度的低8位DS18SHEQU40H;用于保存读出温度的高8位DS18FIGEQU8H;是否检测到DS18B20标志位A_BIT1EQU31H;数码管个位数存放内存位置B_BIT1EQU32H;数码管十位数存放内存位置D_BIT1EQU35H;数码管百位数存放内存位置DS18CD1EQU 42H ;DS18CD1-DS18CD8暂存64位ROMDS18CD2EQU 43H ;从低到高TOC\o"1-5"\h\zDS18CD3EQU 44HDS18CD4EQU 45HDS18CD5EQU 46HDS18CD6EQU 47HDS18CD7EQU 48HDS18CD8EQU 49HDS1864BEQU 4AHDS18ADSEQU 4BHDS18DQEQUP1.0;30H,31H,32H,33H:X个位十位XMOD7:MOVSP,#60HLCALLGET_TEMPER;调用读温度子程序LCALLREADCODEAJMPMOD7INIT_1820: ;DS18B20初始化SETBDS18DQCLRDS18DQ;延时,500US低MC19MOVR7,#250DJNZR7,$MOVR7,#150DJNZR7,$SETBDS18DQ;释放总线LCALLDELAY60US;15-60US的等待时间MOVR6,#4SETDSDQ:LCALLDELAY60USJNBDS18DQ,SETDSDQFH;60-240US内是否有返回信号,为0跳DJNZR6,SETDSDQMOVR7,#250DJNZR7,$CLRDS18FIGRETSETDSDQFH:SETBDS18FIGMOVR7,#250DJNZR7,$MOVR7,#100DJNZR7,$RET;数据处理程序:TEMP0:INCAAJMPTEMP1TEMPCOV:MOVA,DS18SL;数据处理子程序TEMPCOVMOVB,#16DIVAB20JBB.3,TEMP0TEMPI:MOV34H,A;将DS18SL的高四位右移四位,存入34H中(温度值)MOVA,B;将DS18SL的低四位X10/16得小数后一位数.MOVB,#10MULABMOVB,#16DIVABMOV30H,A;将小数后一位数.存入30H中MOVA,DS18SH;DS18SH中存放高8位数,权重16MOVB,#16MULABADDA,34H;34H中存入温度值的整数部分MOVB,#10DIVABMOV31H,B;个位存入31H中MOVB,#10;DIVAB;MOV32H,B;十位存入32H中MOVB,#10;DIVAB;MOV35H,B;百位存入33H中MOVA,DS18SHMOV33H,#10H;JBACC.7,EXIT7MOV33H,#00HEXIT7:RET21GET_TEMPER:;读出转换后的温度值,并显示SETBDS18DQLCALLINIT_1820;先复位DS18B20JBDS18FIG,TSS2RET;判断DS1820是否存在?若DS18B20不存在则返TSS2:MOVDS18ADS,#0DS18JX:LCALLDS18CODPMOVA,DS18ADSADDA,#9MOVDS18ADS,ACJNEA,#63,DS18JXRETDS18CODP:LCALLMRCOVT;转换指定的DS18B20的温度LCALLMRRDTEDP;显示温度RETTEMP:LCALLINIT_1820JBDS18FIG,NEXT4RETNEXT4:MOVDS18ADS,#9MOVA,#0CCH;SKIPROMLCALLWRITE_1820MOVA,#44H;温度转换命令LCALLWRITE_1820LCALLDELAY1S22LCALLMRRDTEDPRET;写DS18B20的子程序(有具体的时序要求)WRITE_1820: ;写DS18B20MOVR5,#8DS18JXWE:SETBDS18DQ;初始化CLRDS18DQCLRDS18DQMOVR7,#5DJNZR7,$;拉低15US内,写入数据CLRCRRCAMOVDS18DQ,CLCALLDELAY60US;持续60USSETBDS18DQ ;写完一个位DJNZR5,DS18JXWERETREAD_1820_CODE: ;读取CODE64位MOV

温馨提示

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

评论

0/150

提交评论