温度采集控制系统

上传人:lis****211 文档编号:214061613 上传时间:2023-05-28 格式:DOCX 页数:31 大小:110.99KB
收藏 版权申诉 举报 下载
温度采集控制系统_第1页
第1页 / 共31页
温度采集控制系统_第2页
第2页 / 共31页
温度采集控制系统_第3页
第3页 / 共31页
资源描述:

《温度采集控制系统》由会员分享,可在线阅读,更多相关《温度采集控制系统(31页珍藏版)》请在装配图网上搜索。

1、微处理器与接口课程设计设计题目:基于单片机的温度采集控制系统学 院:年 级:专 业: 姓 名:指导教师:摘要本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基 本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片 机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机 上。单片机数据处理之后,将当前温度信息发送到LED进行显示。由于单片机技术的优点突出,智能化温度控制技术正被广泛地采用。本文介 绍了基于单片机AT89C51的温度控制系统的设计方案与软硬件实现。采用温度 传感器DS18B20采集温度数据,7段数码管显示温度数据,按键设置温度上下

2、限,当温度低于设定的下限时,点亮绿色发光二极管,当温度高于设定的上限时, 点亮红色发光二极管。给出了系统总体框架、程序流程图和Pro tel原理图, 并在硬件平台上实现了所设计功能。关键词单片机温度控制系统温度传感器AbstractIn daily life, the temperature in our side the ever-present, the control of the tempe rature and the application in various fields all have important role. Many industry ther e are a l

3、arge number of electric heating equipment, and the temperature control equip ment, such as used for alarm automatic temperature alarm systems, heat treatment fur nace, used to melt metal crucible resistance furnace, and all kinds of different USES o f temperature box and so on, these using single ch

4、ip microcomputer, using single chip computer language program to control them. And single-chip microcomputer technol ogy has control and convenient in operation, easy to modify and maintenance of simpl e structure, flexibility is large and has some of the intelligence and other characteristic s, we

5、can accurately control technology standard to improve the temperature control i ndex, also greatly improve the quality of the products and performance. Because of th e advantages of the single chip microcomputer intelligent temperature control technol ogy outstanding, is being widely adopted.This pa

6、per introduces the temperature control based on single chip microcomput er AT89C51 design scheme of the system and the hardware and software implementati on. The temperature sensor DS18B20 collection temperature data, 7 period of digital pipe display, the upper and lower limits of temperature button

7、 when temperature belo w the setting of the lower limit, light green leds, when the temperature is higher than t he set on the limit, light red leds. Given the system framework and program flow char t and principle chart, and in Protel hardware platform to realize the function of the des ign.Keyword

8、sSCM Temperature control system Temperature sensors目录目录摘要错误!未定义书签。Abstract 错误!未定义书签。第一章 绪论错误!未定义书签。1.1课题研究背景错误!未定义书签。1.1.1国内研究现状错误!未定义书签。1.1.2国外研究现状11.2研究目的和意义21.3课题的研究内容和组织章节21.3.1课题研究内容21.3.2课题章节组织2第二章系统方案设计32.1主控系统32.2温度测量方案82.3硬件电路图112.4系统硬件设计中需注意的问题11第三章系统软件设计123.1编程语言123.2设计目标133.3结构分析错误!未定义书签

9、。3.3.1主程序分析143.4系统软件设计中需注意的问题14第四章测试结果15结论17致谢18附录19第一章绪论1.1课题研究背景1.1.1国内研究现状我国对模糊控制理论的研究与应用起步比较晚,然而发展很快,在各个领域 取得了许多有影响的成果。诸如在模糊控制、模糊辨识、模糊聚类分析、模糊图 像处理、模糊集合论、模糊模式识别等领域取得了不少有实际影响的结果。1988 年哈尔滨工业大学在酒精厂10T/H工业染料煤链条路上实现鼓风量-蒸汽压力 Fuzzy-PI双模控制。1990年模糊控制应用于电场过热汽温回路的自动控制。1994 年模糊控制成功应用于镇海发电厂200MW机组的主蒸汽压力及温度自控系

10、统。目前,我国在温度等控制仪表业与国外的差距主要表现在如下几个方 面:1)行业内企业规模小,且较为分散,造成技术力量不集中,导致研发能力 不强,制约技术发展。2)商品化产品以PID控制器为主,智能化仪表少,这方面同外国差距较大。 目前,国内企业复杂的及精度要求高的温度控制系统大多采用进口温度控制仪 表。3)仪表控制用关键技术、相关算法及控制软件方面的研究较国外滞后。例 如:在仪表控制参数的自整定方面,国外已有较多的成熟产品,但由于国外技术 保密及我国开发工作的滞后,还没有开发出性能可靠的自整定软件。控制参数大 多数靠人工经验及现场调试来确定。这些差距,是我们必须努力克服的。随着我国经济的发展及

11、加入WTO,我国政府及企业对此都非常重视,对相关 企业资源进行了重组,相继建立了一些国家、企业的研发中心,并通过合资、技 术合作等方式,组建了一批合资、合作及独资企业,使我国温度等仪表工业得到 迅速的发展。1.1.2国外研究现状自70年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机 技术的迅猛发展及自动控制理论和设计方法发展的推动下,国外温度控制系统发 展迅速,并在智能化、自适应、参数自整定等方面取得成果,在这方面,以日本、 美国、德国、瑞典等国技术领先,都生产出了一批商品化的、性能优异的温度控 制器及仪器仪表,并在各行业广泛应用。它们主要具有如下特点:1)适应于大惯性、大滞后性等

12、复杂温度控制系统的控制。2)能够适应于受控系统数学模型难以建立的温度控制系统的控制。3)能够适应于受控系统过程复杂、参数时变的温度控制系统的控制。4)这些温度控制系统普遍采用自适应控制、自校正控制、,模糊控制、人 工智能等理论及计算机技术,运用先进的算法,适用的范围广泛。5)普遍温控器具有参数自整定功能。借助计算机软件技术,温控器具有对 控制对象控制参数及特性进行自动整定的功能。有的还具有自学习功能,它能够 根据历史经验及控制对象的变化情况,自动调整相关控制参数,以保证控制效果 的最优化。6)温度控制系统具有控制精度高、抗干扰能力强的特点。目前,国外温度控制系统及仪表正朝着高精度、智能化、小型

13、化等方面快速 发展。1.2研究目的和意义温度控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力 电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同,在工业 企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人 员努力解决的问题。这类控制对象惯性大,滞后现象严重,存在很多不确定的因素, 难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失 控现象。传统的继电器调温电路简单实用,但由于继电器动作频繁,可能会因触 点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制 对象的模型难以建立,并且当扰动因素不明确时,参数调整

14、不便仍是普遍存在的 问题。而采用数字温度传感器DS18B20,因其内部集成了 A/D转换器,使得电路 结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。 数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线 的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通 过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探 头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20 进行范围的温度检测。1.3课题的研究内容和组织章节1.3.1课题研究内容本次设计的目的在于学习基于51单片机的多路

15、温度采集控制系统设计的基 本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片 机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机 上。单片机数据处理之后,将当前温度信息发送到LED进行显示。1.3.2课题章节组织第一章:绪论,介绍课题的研究背景、目的及意义、研究内容和各章节组织; 第二章:介绍系统总体设计及方案,及硬件设计;第三章:介绍软件系统设计方案及编程语言;第四章:对结果进行分析处理。第二章系统方案设计与论证2.1主控方案AT89S52是一种低功耗、高性能CM0S8位微控制器,具有8K在系统可编 程Flash存储器。使用Atmel公司高密度非易失性

16、存储器技术制造,与工业 80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程, 亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash, 使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash, 256字节RAM, 32位I/O 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至OHz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作, 允许RAM、定时器/计数器、串口、

17、中断继续工作。掉电保护方式下,RAM内容 被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。此外,AT89S52设计和配置了振荡频率可为OHz并可通过软件设置省电模式。 空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工 作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活 或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不 同产品的需求。由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素, 因此在本设计中选用A TMEL公司的A T89S52单片机作为主控芯片。主控模块 采用单片机最

18、小系统是由于A T89S52芯片内含有4 kB的E2PROM,无需外扩存 储器,电路简单可靠,其时钟频率为024 MHz,并且价格低廉,批量价在10元 以内。AT89S52 介绍AT89S52引角功能说明VCC :电源GND:地P0 口: P0 口是一个8位漏极开路的双向I/O 口。作为输出口,每位能驱 动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问 外部程序和数据存储器时,P0 口也被作为低8位地址/数据复用。在这种模式 下,P0具有内部上拉电阻。在flash编程时,P0 口也用来接收指令字节;在 程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口: P

19、1 口是一个具有内部上拉电阻的8位双向I/O 口,p1输出缓冲 器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉 高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电 阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2 的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具 体如表2-1所示。在flash编程和校验时,P1 口接收低8位地址字节。表2-1 P1 口功能定义引脚号第二功能P1.0T2 (定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX (定时器/计数器T2的捕捉/重载触

20、发信号和方向控制)P1.5MOSI (在系统编程用)P1.6P1.7MISO (在系统编程用)SCK (在系统编程用)P2 口: P2 口是一个具有内部上拉电阻的8位双向I/O 口,P2输出缓冲 器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉 高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电 阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外 部数据存储器(例如执行MOVXDPTR)时,P2 口送出高八位地址。在这种应用 中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问 外部数据存储器时,P2 口输

21、出P2锁存器的内容。在flash编程和校验时, P2 口也接收高8位地址字节和一些控制信号。P3 口: P3 口是一个具有内部上拉电阻的8位双向I/O 口,p2输出缓冲 器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉 高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电 阻的原因,将输出电流(IIL)。P3 口亦作为AT89S52特殊功能(第二功能) 使用,如表2-2所示。在flash编程和校验时,P3 口也接收一些控制信号。表2-2 P3 口功能定义引脚号P3.0第二功能 RXD (串行输入)P3.1TXD (串行输出)P3.2INT0(外部中断0)

22、P3.3INTO(外部中断0)P3.4T0 (定时器0外部输入)P3.5T1 (定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD非(外部数据存储器写选通)RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片 机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器 AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位 高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位 地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在 一般情况下,ALE以晶振六

23、分之一的固定频率输出脉冲,可用来作为外部定时 器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会 跳过。如果需要,通过将地址为8EH的SFR的第0位置 “1”,ALE操作 将无效。这一位置 “1”,ALE仅在执行MOVX或MOVC指令时有效。否则, ALE将被微弱拉高。这个ALE使能标志位(地址为8EH的SFR的第0位)的 设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。 当 AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次, 而在访问外部数据存储器时,PSEN将不被激活。EA/VP

24、P:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部 程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。 在flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。AT89S52单片机内部构造及功能:特殊功能寄存器并不是所有的地址都被定义了。片上没有定义的地址是不 能用的。读这些地址,一般将得到一个随机数据;写入的数据将会无效。用户 不应该给这些未定义的地址写入数据“1”。由于这些寄存器在将来可能被赋予 新的功能,复位后,这些位都为“ 0”。定时器2寄存器:寄存器T

25、2CON和T2MOD包含定时器2的控制位和状态 位,寄存器对RCAP2H和RCAP2L是定时器2的捕捉/自动重载寄存器。中断寄存器:各中断允许位在IE寄存器中,六个中断源的两个优先级也可 在IE中设置。存储器结构MCS-51器件有单独的程序存储器和数据存储器。外部程序存储器和数据存 储器都可以64K寻址。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H 1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器:AT89S52有256字节片内数据存储器。高128字节与特殊功 能寄存器重叠。也

26、就是说高128字节与特殊功能寄存器有相同的地址,而物理 上是分开的。当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高 128字节RAM还是特殊功能寄存器空间。直接寻址方式访问特殊功能寄存器 (SFR)。例如,下面的直接寻址指令访问OAOH (P2 口)存储单元MOV 0A0H ,#data使用间接寻址方式访问高128字节RAM。例如,下面的间接寻址方式中, R0内容为0A0H,访问的是地址0A0H的寄存器,而不是P2 口(它的地址也是 0A0H)。MOV R0 ,#data堆栈操作也是简介寻址方式。因此,高128字节数据RAM也可用于堆栈空 间。看门狗定时器WDT是一种需要软件控制的

27、复位方式。WDT由13位计数器和特殊功能寄存 器中的看门狗定时器复位存储器(WDTRST)构成。WDT在默认情况下无法工作; 为了激活WDT,用户必须往WDTRST寄存器(地址:0A6H)中依次写入O1EH和 0E1H。当WDT激活后,晶振工作,WDT在每个机器周期都会增加。WDT计时周 期依赖于外部时钟频率。除了复位(硬件复位或WDT溢出复位),没有办法停 止WDT工作。当WDT溢出,它将驱动RSR引脚一个高个电平输出。WDT的使用:为了激活WDT,用户必须向WDTRST寄存器(地址为0A6H的 SFR)依次写入0E1H和OE1H。当WDT激活后,用户必须向WDTRST写入01EH 和OE1

28、H喂狗来避免WDT溢出。当计数达到8191(1FFFH)时,13位计数器将 会溢出,这将会复位器件。晶振正常工作、WDT激活后,每一个机器周期WDT都 会增加。为了复位WDT,用户必须向WDTRST写入01EH和0E1H (WDTRST是只 读寄存器)。WDT计数器不能读或写。当WDT计数器溢出时,将给RST引脚产 生一个复位脉冲输出,这个复位脉冲持续 96个晶振周期(TOSC),其中 TOSC=1/FOSC。为了很好地使用WDT,应该在一定时间内周期性写入那部分代码, 以避免WDT复位。掉电和空闲方式下的WDT在掉电模式下,晶振停止工作,这意味这WDT也停止了工作。在这种方式 下,用户不必喂

29、狗。有两种方式可以离开掉电模式:硬件复位或通过一个激活的 外部中断。通过硬件复位退出掉电模式后,用户就应该给WDT喂狗,就如同通 常AT89S52复位一样。通过中断退出掉电模式的情形有很大的不同。中断应持 续拉低很长一段时间,使得晶振稳定。当中断拉高后,执行中断服务程序。为了 防止WDT在中断保持低电平的时候复位器件,WDT直到中断拉低后才开始工作。 这就意味着WDT应该在中断服务程序中复位。为了确保在离开掉电模式最初的几个状态WDT不被溢出,最好在进入掉电 模式前就复位WDT。在进入待机模式前,特殊寄存器AUXR的WDIDLE位用来决定WDT是否继 续计数。默认状态下,在待机模式下,WDID

30、LE = O, WDT继续计数。为了防止WDT 在待机模式下复位AT89S52,用户应该建立一个定时器,定时离开待机模式, 喂狗,再重新进入待机模式。2.2温度测量方案DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低 功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测 控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理, 且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-T2小体积封装形 式,温度测量范围一55+ 125C,可编程为912位A/D转换精度,测温分辨 率可达0.0625C,被测温度用符号扩展的16位数字量方

31、式串行输出,其工作电 源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20可以并联到三根 或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的 端口较少,可节省大量的引线和逻辑电路。从而可以看出DS18B20可以非常方便 的被用于远距离多点温度检测系统。综上,在本系统中我采用温度芯片DS18B20测量温度。该芯片的物理化学性 很稳定,它能用做工业测温元件,且此元件线形较好。在0100摄氏度时,最 大线形偏差小于1摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理 及控制。DS18B20 介绍DS18B20的主要特征:全数字温度转换及输出。先进的单总线数据

32、通信。最高12位分辨率,精度可达0.5摄氏度。12位分辨率时的最大工作周期为750毫秒。可选择寄生工作方式。检测温度范围为一55_ 125C (-67 F+257 F)。内置EEPROM,限温报警功能。64位光刻ROM,内置产品序列号,方便多机挂接。引脚功能:GND:电压地 DQ:单数据总线 VDD:电源电压 NC: 空引脚 工作原理及应用:DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力 更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作 流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存 储器资源,它们分别是:ROM只读

33、存储器,用于存放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个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设

34、计的,同样也 是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警 值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操 作。控制器对18B20操作流程:1、复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单 片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信 号后则会在1560uS后回发一个芯片的存在脉冲。2、存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便 于在1560uS后接收存在脉冲,存在脉冲为一个60240uS

35、的低电平信号。至 此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据 通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲, 在设计时要注意意外情况的处理。3、控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指 令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定 匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能 是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接 的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件 上所独有的ID号来区别,一般只挂接单个18

36、B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳 过指令”)。4、控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着 (不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温 度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的 功能是命令18B20作什么样的工作,这是芯片控制的关键。5、执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据 的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控

37、制器(单 片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写 指令则需要严格遵循18B20的读写时序来操作。若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过 ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。紧接着 执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数 据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。2.3硬件电路图2.4硬件设计中需注意的问题系统设计时用考虑能适应各种不同设备和各种不同控制对象,是系统不必作 重大改动就能很快应用于新的控制对象。这就要求系统的通用性好,能灵

38、活的进 行扩充。要使控制系统达到这样的要求,设计时必须使系统设计标准化、模块化。 在速度允许的情况下,设计接口硬件部分时,操作功能尽可能用软件来实现,以 减少系统的复杂程度。硬件设计过程中,器件应选择和筛选,在布线和安排时, 要注意制作技术和装配技术,以克服电气干扰。另外,随着微机控制技术迅速发 展,各种新技术和产品不断出现,在满足精度、速度和其他性能要求的前提下, 应缩短设计周期和尽可能采用价格低的器件,以降低整个控制系统的费用。第三章系统软件设计3.1编程语言汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其 他可编程器件的低 级语言,亦称为符号语言

39、。在 汇编语言中,用助记符 (Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替 指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集, 通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指 令集是 对应的不同平台之间不可直接移植。许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇 编语言编程工具经常会提供宏,它们也被称为宏汇编器。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实 际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程 序、嵌入式操作系统和实时

40、运行程序都需要汇编语言。主要特点1. 面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。2保持了机器语言的优点,具有直接和简捷的特点。3可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O 端口等。4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。5经常与高级语言配合使用,应用十分广泛。简捷性汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程 要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器 指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使 用汇编语言能面向机器并较好地发挥机器的特性,得到

41、质量较高的程序。执行过程用汇编语言编制的程序输入计算机,计算机不能象用机器语言编写的程序一 样直接识别和执行,必须通过预先放入计算机的汇编程序中进行加工和翻译, 才能变成能够被计算机直接识别和处理的二进制代码程序。用汇编语言等非机器 语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程 序。目标程序是机器语言程序,当它被安置在内存的预定位置上,就能被计算机 的CPU处理和执行。独特性汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于 不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的 汇编语言程序在不同种类的计算机间是互不相通的。3.2设计目

42、标根据温度控制系统硬件设计的软件程序,实际上就是对系统的管理程序和控 制程序进行设计。管理程序是对显示LED进行动态刷新、控制指示灯、处理键盘 的扫描和响应等。控制程序是对被控制过程进行采样、数据处理,根据控制算式 进行计算和输出等。由于整个系统软件相当庞大,为便于编写、调试和修改,系 统软件的编制采用了模块化结构,及整个控制软件由许多独立的小模块组成,他 们之间通过软件接口连接,主控程序主要包括条件判断和子程序调用等关键部 分。在进行微机控制系统设计时,系统设计人员必须把系统要执行的任务和应具 备的功能合理地分配给硬件和软件来实现,既要考虑系统的价格,又要考虑系统 满足实时性要求的工作进度,

43、做到硬件、软件合理权衡,并尽量节省机器时间和 内存空间。3.3结构分析主程序调用了 5个子程序,分别是数码管显示程序、键盘扫描及按键处理 程序、温度信号处理程序、继电器控制程序、单片机与PC机串口通讯程序。 键盘扫描电路及按键处理程序:实现键盘的输入按键的识别及进入相应的程 序。温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码的显示送数,控制系统的显示部分。继电器控制程序:控制继电器动作串口通讯程序:实现PC机与单片机通讯,将温度数据传送给PC机。程序结构见图图3-1。图3-1程序结构图3.3.1主程序分析程序开始的时候先设置初始化,然后就控制数码管显示

44、当前温度。接着就判 断Fl、F2按键是否被按下。按下F1进入温度控制点1的程序、按下F2进入温 度控制点2的程序。程序控制设置温度的两个数码管闪烁的,此时键盘输入有效。 有按键按下的时候进入按键处理程序。按下“确定”按键后,程序进入判断程序 和继电器控制程序。继电器动作后,程序回到显示当前程序,并开始循环。主程序结构图见图3-2。3.4系统软件设计中应注意的问题在进行系统的软件设计时,在保证程序功能前提下,尽量采用指令字节少和 执行时间短的指令,以减少程序占用空间和程序执行时间。点 F1F2涓度薮据进PC图3-2主程序结构图第四章测试结果分析1、测试环境环境温度28摄氏度,室内面积20平方米测

45、试仪器:数字万用表,温度计0100摄氏度2、测试方法使系统运行,采用温度计同时测量室内度变化情况,得出系统测量的温度。3、测试结果设定温度由0摄氏度到40摄氏度标定温差=1摄氏度调节时间15s (具体视现场情况)静态误差=0.5摄氏度 最大超调量1摄氏度4、通过测试分析,对于实际室内的温度控制,可以再提出以下2点方法:I增加传感器个数,对各个温度传感器采集的数据进行求算术平均,可得到 较为准确的温度值。II对实际室内的温度控制,可采用功率较大的电炉,并且通过风扇对箱内温 度进行充分搅和,降温设备可采用空气压缩机等制冷设备。5、通过实验测试和分析,发现虽然传感器的温度采集精度最高可得到0.06

46、C,但测试得到的数据最小间隔为0.03 C。通过分析,当对浮点数求平 均处理时,遇到同一时刻两个传感头采集的温度相差不大,使0.06 C时求出 平均温度变为0.03 C。为了解该数据是否真实,可采用一个高精度的数字温 度计测试,发现读出的值与其基本一致,由此推断如果在同一时间增加采集温度 的个数,则可以进一步提高温度的精度。在工业生产和日常生活中,对温度控制系统的要求,主要是保证温度在一定 温度范围内变化,稳定性好,不振荡,对系统的快速性要求不高。在论文中简单 分析了单片机温度控制系统设计过程及实现方法。本系统的测温范围为-10C 40C,温度检测系统根据用户设定的温度范围完成一定范围的温度控

47、制。89S52的时钟最高可达12M,I/O 口可达32个,高的时钟频率和丰富的I/O, 都为我们实现电路功能提供了非常有利的条件。同时也因为开发环境友好,易用, 方便,大大加快本系统设计开发。本制作的设计中使用了继电器控制的只是插座电路,因此,该系统的可扩展 性很强。随着插入插座的电器的不同,可以实现许多其它功能的电路。致谢本学期,在王积翔老师的带领下,我重新学习了单片机,理论课程与实验加 上课程设计,使我更加深入了解单片机,并掌握一定编程能力。感谢我教书育人 的老师,我不是你最出色的学生,而你却是我最尊敬的老师。大学时代的老师治 学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神

48、氛围。授 人以鱼不如授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的 思想观念,树立了宏伟的学术目标,领会了对待知识,走向社会的思考方式。在 这里尤其要感谢张庆辉老师,从论文题目的选定到论文写作的指导,经由您悉心 的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”。感谢父母,焉得谖草,言树之背,养育之恩,无以回报;感谢同学在我遇到 困境时向我伸出援助之手;感谢这段时间对我帮助给与关怀的叔叔,阿姨,是你 们让我看到了人间真情暖人心,激励我时时刻刻努力,奋发向上,排除万难勇往 直前。在论文即将完成之际,我的心情无法平静,在这里请接受我诚挚谢意!同时也感谢学院为我提供

49、良好的做毕业设计的环境。附录程序清单主程序:ORG OOOOH ;DS18B20.ASMDS18SL EQU 41H ;用于保存读出温度的低8位DS18SH EQU 40H ;用于保存读出温度的高8位DS18FIG EQU 8H ;是否检测到DS18B20标志位A_BIT1 EQU 31H ;数码管个位数存放内存位置B_BIT1 EQU 32H ;数码管十位数存放内存位置D_BIT1 EQU 35H;数码管百位数存放内存位置DS18CD1 EQU42H;DS18CD1-DS18CD8 暂存 64 位 ROMDS18CD2 EQU43H;从低到高DS18CD3 EQU44HDS18CD4 EQU

50、45HDS18CD5 EQU46HDS18CD6 EQU47HDS18CD7 EQU48HDS18CD8 EQU49HDS1864B EQU4AHDS18ADS EQU4BHDS18DQ EQU P1.0 ;30H,31H,32H,33H:X个位十位XMOD7: MOV SP,#60HLCALL GET_TEMPER ;调用读温度子程序LCALL READCODEAJMP MOD7INIT_1820:;DS18B20 初始化SETB DS18DQCLR DS18DQ ;延时,500US 低 MCMOV R7,#250DJNZ R7,$MOV R7,#150DJNZ R7,$SETB DS18D

51、Q ;释放总线LCALL DELAY60US ;15-60US 的等待时间MOV R6,#4SETDSDQ:LCALL DELAY60USJNB DS18DQ,SETDSDQFH ;60-240US内是否有返回信号,为0跳DJNZ R6,SETDSDQMOV R7,#250DJNZ R7,$CLR DS18FIGRETSETDSDQFH:SETB DS18FIGMOV R7,#250DJNZ R7,$MOV R7,#100DJNZ R7,$RET;数据处理程序:TEMP0: INC AAJMP TEMP1TEMPCOV: MOV A,DS18SL ;数据处理子程序TEMPCOVMOV B,#1

52、6DIV ABJB B.3,TEMP0TEMPI: MOV 34H,A ;将DS18SL的高四位右移四位,存入 34H中(温度值)MOV A,B ;将DS18SL的低四位X10/16得小数后 一位数.MOV B,#10MUL ABMOV B,#16DIV ABMOV 30H,A ;将小数后一位数.存入30H中MOV A,DS18SH ;DS18SH中存放高8位数,权重16MOV B,#16MUL ABADD A,34H ;34H中存入温度值的整数部分MOV B,#10DIV ABMOV 31H,B ;个位存入31H中MOV B,#10 ;DIV AB ;MOV 32H,B ;十位存入32H中M

53、OV B,#10 ;DIV AB ;MOV 35H,B ;百位存入33H中MOV A,DS18SHMOV 33H,#10H ;JB ACC.7,EXIT7MOV 33H,#00HEXIT7: RETGET_TEMPER:;读出转换后的温度值,并显示SETB DS18DQLCALL INIT_1820 ;先复位 DS18B20JB DS18FIG,TSS2RET ;判断DS1820是否存在?若DS18B20不存在则返TSS2:MOV DS18ADS,#0DS18JX:LCALL DS18CODPMOV A,DS18ADSADD A,#9MOV DS18ADS,ACJNE A,#63,DS18JX

54、RETDS18CODP:LCALL MRCOVT ;转换指定的DS18B20的温度LCALL MRRDTEDP ;显示温度RETTEMP:LCALL INIT_1820JB DS18FIG,NEXT4RETNEXT4:MOV DS18ADS,#9MOV A,#OCCH ;SKIP ROMLCALL WRITE_1820MOV A,#44H ;温度转换命令LCALL WRITE_1820LCALL DELAY1SLCALL MRRDTEDPRET;写DS18B20的子程序(有具体的时序要求)WRITE_1820:;写 DS18B20MOV R5,#8DS18JXWE:SETB DS18DQ ;初

55、始化CLR DS18DQCLR DS18DQMOV R7,#5DJNZ R7,$ ;拉低15US内,写入数据CLR CRRC AMOV DS18DQ,CLCALL DELAY60US ;持续 60USSETB DS18DQ;写完一个位DJNZ R5,DS18JXWERETREAD_1820_C0DE:;读取 CODE 64 位MOV R4,#8;读 8 次数MOV R1,#DS18CD1;低位地址存在R1DS18JXRD3:MOV R5,#8;8 位数据DS18JXRD2:SETB DS18DQCLR DS18DQ;前两句完成初始化NOPNOP;延时至少1USSETB DS18DQ;上升沿,并

56、在,15US内读数MOV R7,#5DJNZ R7,$MOV C,DS18DQRRC ALCALL DELAY60US ;读时序,最少 60USDJNZ R5,DS18JXRD2MOV R1,AINC R1DJNZ R4,DS18JXRD3SETB DS18DQRET;读DS18B20的程序,从DS18B20中读出两个字节的温度数 据READ_18200:MOV R4,#2;读两次数MOV R1,#DS18SL ;低位地址存在R1DS18JXRD1:MOV R5,#8;8 位数据DS18JXRD:SETB DS18DQCLR DS18DQ ;前两句完成初始化NOPNOP;延时至少1USSETB

57、 DS18DQ ;上升沿,并在,15US内读数MOV R7,#5DJNZ R7,$MOV C,DS18DQRRC ALCALL DELAY60US ;读时序,最少 60USDJNZ R5,DS18JXRDMOV R1,ADEC R1DJNZ R4,DS18JXRD1SETB DS18DQRETREAD_1820_l:;读取 1 位SETB DS18DQCLR DS18DQCLR DS18DQCLR DS18DQSETB DS18DQMOV R7,#5DJNZ R7,$JB DS18DQ,WEFHLCALL DELAY10MSWEFH:LCALL DELAY60USRETREADCODE:;读取

58、64位ROM,并显示出来SETB DS18DQLCALL INIT_1820JB DS18FIG,NEXTRETNEXT:MOV A,#33HLCALL WRITE_1820LCALL READ_1820_CODELCALL DISPLAYCDRETDS1864SEN:;送出64个位的数据MOV R4,#8MOV DPTR,#DS18TABDS1864SEN1:MOV A,DS1864BMOVC A,A+DPTRLCALL WRITE_1820INC DS1864BDJNZ R4,DS1864SEN1RETMATCHROM:LCALL INIT_1820MOV A,#55H ;MARCH RO

59、MLCALL WRITE_1820MOV DS1864B,DS18ADSLCALL DS1864SENRETMRCOVT:;匹配ROM并发出温度转换命令LCALL MATCHROMMOV A,#44H ;发出温度转换命令LCALL WRITE_1820LCALL DELAY1SRETMRRDTEDP:;匹配ROM并显示转换温度LCALL INIT_1820LCALL MATCHROMMOV A,#0BEH ;发出读取命令LCALL WRITE_1820LCALL READ_18200LCALL TEMPCOVLCALL DISPLAY ;调用数码管显示子程序RET键盘子程序:START:NOP

60、;程序开始LCALLCH_KEY;检杳键盘AJMPSTART;返回CH_KEY:LCALL KS ;检查有没有按键按下JNZLK1AJMPCH_KEYLK1:LCALLT12MSACALLKSJNZLK2RETLK2:N0PLCALL SBIE;按键识别子程序MOV BUFF, A ;送缓冲区以识别是数字键还是功能键?LCALL CH_KF ;判断按键功能。JB FLAG1 ,KEY_FUN ;标志为1,则为功能键 超温报警程序:DIV:MOV R2,#08H;1kz 持续时间DIV1:MOV R3,#0FAHDIV2:CPL P3.3;输出 1khz 方波LCALL D5ms;调用延时程序1DJNZR3,DLV2;持续 1 秒DJNZ R2,DIV1MOV R2,#10H;2khz 持续时间DIV3:MOV R3,#0FAHDI4:CPL P3.3;输出 2khz 方波LCALL D25ms;调用延时程序2DJNZ R3,DIV4DJNZ R2,DIV3SIMP DIV;反复循环D5MS: MOV R7, #0FFH;延时子程序 1LOOP: NOPNOPDJNZ R7, LOOPRETD25MS: M0VR6, #OFFH;延时子程序 2LIN: DJNZ R6, LINRET

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!