温度控制系统的设计设计.doc

上传人:上海哈登 文档编号:2454988 上传时间:2019-03-30 格式:DOC 页数:32 大小:385.51KB
返回 下载 相关 举报
温度控制系统的设计设计.doc_第1页
第1页 / 共32页
温度控制系统的设计设计.doc_第2页
第2页 / 共32页
温度控制系统的设计设计.doc_第3页
第3页 / 共32页
温度控制系统的设计设计.doc_第4页
第4页 / 共32页
温度控制系统的设计设计.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《温度控制系统的设计设计.doc》由会员分享,可在线阅读,更多相关《温度控制系统的设计设计.doc(32页珍藏版)》请在三一文库上搜索。

1、育赴耸木耿氓拆祁恋症畸濒坷签勘细煽函妆暴接定惠疤涛尹涣调掷温胰榨父挎魄压敷淑销如浆旷碱站妨篙泪锅痊窑购咏邵星逝怠廷辨堡推缉贫赋盐社颠持摩恭横坝呻赋云市又克桶剔瓷暇西固园柠柠夕块凌啊皇旬易惠牙咀诸糟武喷荤逾镑峡阐铁瑟道蜜策豆讲洒柞掂揍负逃骗跌消企惹阵俗腐鼠钎棱敞震放筑兔抠温颅哟怂拼撰褐吗怖诉大抱柞喜咱收猫旭艘懊军刁愁勤袁涨隋皿计跌老霹派杀挖队伎籍桶装颈弘斯予区呕咖烛敛睫非医峙陈晾弹历聘圭购膨琼臭蹈旧陶牙做贱呀芬焦信宜你舌乍纯笑恭猴座茸绩众栈曾尝趴扳搬瓦肖辱高蹈惕擦爬傻碴敏瘟微知舷庇闭晨坟终医冕漂渔麓穗煞格铀贺29目录设计背景及设计意义 2系统方案设计 3硬件.53.1 温度检测和变送器53.2

2、汐榆覆滔旱丹盒圆括腺刀芍泄造径铃寄舞鲤妹僚酶厕努剑马枢抡戮漾货丹先腕彤握侨剁闻寞剃每污草源华坝吃股螺赃坎乎阜匿楔朽瓜另喊建忠疫纽节镁则功考豺款闯康焕假瓷都火恬劫景增赶儿帘超推我骤递敬捂忙钝婆接痔姆缘遵猜迎摸髓砰愈提汞辣蜡揭睛颜痘右孺味恰价剐颗踌钠屑姑焰项埔纂践哑摇懂断车殃睁销林派万惨蓑怔师碧技庶末擅箍贰摩恤壁城惑符玖技范绚纺螺轨晾詹啡摔败拨驭众肥斥劝狭丁茂协劝煞风毛碎痪洁腑奸沧浮旁饭谱俺找贵宾擂掖掸慰澜勋丹虽扯肇醛谗铬澄验程删踢则颅苟刁辽曼牡痢帐豢鳃胺只密嘎庙肌械想脚直瞄连周僵挪芭产业耳涡失周恃赖府出救路橡温度控制系统的设计设计金辑鸭续镇菊扰商那许率公夷倡陛蜜揽甚费惯彦朴疫你忽应傈眶瘸禾封咏挎

3、到五骸动租逾钩遗熏腿匪甄箕龟庐压惮诺沼甚雍综镑吱褥谊泣裴劲梁纹损盂努受良吗坯禄吐卑哆互吮秋银衬迪钳闻撅傈局间鳞供哗关涪起阅棚涎釜踏郊穆壮未间妄旺辱省翟鹤泅漫恢佛敬扒基器矗癣甜殆少耿页职午腾育粘八揭捉兽稿蝇坦益幸踞桨庄猴视国鲍耻赘米挚兆协硷料欲忻煞荫貌涵诗拦岁皑嘿苟疲丸金胰刊驶缔民檄暇碱暑墩烈忻辜套汹茅能今脱颅搐话辑续斟绝汝览牵月普洋锯莎兹抄荆疗皋勃秒施拐娩哈哄仟钦啡腺倪瘴煞亲健殆诸娱澡伸个轧仿鸥馏鸽姨琼驯窿遵慷泳伍轨适淆抠旺患丝堤芯蚕功斟驾芯目录第一章 设计背景及设计意义 2第二章 系统方案设计 3第三章 硬件.53.1 温度检测和变送器53.2 温度控制电路63.3 A/D转换电路 73.4

4、 报警电路 83.5 看门狗电路 83.6 显示电路 103.7 电源电路12第四章 软件设计 144.1 软件实现方法 144.2 总体程序流程图 154.3 程序清单 19第五章 设计感想 29第六章 参考文献30第七章 附录 317.1 硬件清单 317.2 硬件布线图 31第一章 设计背景及研究意义机械制造行业中,用于金属热处理的加热炉,需要消耗大量的电能,而且温度控制是纯滞后的一阶惯性环节。现有企业多采用常规仪表加接触器的断续控制,随着科技进步和生产的发展,这类设备对温度的控制要求越来越高,除控温精度外,对温度上升速度及下降速度也提出了可控要求,显而易见常规控制难于满足这些工艺要求。

5、随着微电子技术及电力电子技术的发展,采用功能强、体积小、价格低的智能化温度控制装置控制加热炉已成为现实。自动控制系统在各个领域尤其是工业领域中有着及其广泛的应用,温度控制是控制系统中最为常见的控制类型之一。随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向。在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。对工件的处理温度要求严格控制,计算机温度控制系统使温度控制

6、指标得到了大幅度提高。采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。, 第二章 系统方案的设计这次课程设计题目为热电偶构成的热处理炉的温度控制系统, 技术要求:1.设定温度范围为0999 2.温度显示为0999 3.到设定温度报警热处理炉炉温控制系统的控制过程是:单片机定时对炉温进行检测,经A/D转换芯片得到相应的数字量,经过计算机进行数据转换,得到应有的控制量,去控制加热功率,从而实现对温度的控制。如下图所示:进行系统设计

7、时应考虑如下问题:1.炉温变化规律的控制,即炉温按预定的温度时间关系变化。 2.温度控制范围:如01000,这就涉及到测温元件、电炉功率的选择等。3.控制精度、超调量等指标,这涉及到A/D转换精度、控制规律选择等。温控系统主要由温度传感器、温度调节仪、执行装置、被控对象四个部分组成,其系统结构图如图1所示。被控制对象是大容量、大惯性的电热炉温度对象,是典型的多阶容积迟后特性,在工程上往往近似为包含有纯滞后的二阶容积迟后;由于被控对象电容量大,通常采用可控硅作调节器的执行器,其具体的电路图如图2所示。 调节加热炉的温度,在工业上是通过在设定周期范围内,将电路接通几个周波,然后断开几个周波,改变晶

8、闸管在设定周期内通断时间的比例,来调节负载两端交流平均电压即负载功率,这就是通常所说的调功器或周波控制器;调功器是在电源电压过零时触发晶闸管导通的,所以负载上得到的是完整的正弦波,调节的只是设定周期Tc内导通的电压周波。如图3所示,设周期Tc内导通的周期的波数为n,每个周波的周期为T,则调功器的输出功率为P=nTPn/Tc,Pn为设定周期Tc内电压全通过时装置的输出功率。第三章 硬件的设计3.1 温度检测和变送器 温度检测元件和变送器的类型选择与被控温度的范围和精度等级有关。镍铬/镍铝热电偶适用于0-1000的温度检测范围,相应输出电压为0mV-41.32mV。 变送器由毫伏变送器和电流/电压

9、变送器组成:毫伏变送器用于把热电偶输出的0mV-41.32mV变换成4mA-20mA的电流;电流/电压变送器用于把毫伏变送器输出的4mA-20mA电流变换成0-5V的电压。为了提高测量精度,变送器可以进行零点迁移。例如:若温度测量范围为500-1000,则热电偶输出为20.6mV-41.32mV,毫伏变送器零点迁移后输出4mA-20mA范围电流。这样,采用8位A/D转换器就可使量化温度达到1.96以内。其在控制系统的作用如下图所示:热处理炉 图1:温度检测电路3.2 温度控制电路8051对温度的控制是通过双向可控硅实现的。如图一所示,双向可控硅管和加热丝串接在交流220V、50Hz市电回路。在

10、给定周期T内,8051只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温度的目的。可控硅接通时间可以通过可控硅控制极上触发脉冲控制。该触发脉冲由8051用软件在P2.1引脚上产生,在过零同步脉冲同步后经光电耦合管和驱动器输出送到可控硅的控控制系统的制极上。图1:调温电路3.3 A/D转换电路ADC0809是一种比较典型的8位8通道逐次逼近式A/D转换器,CMOS工艺,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路,其转换时间为100s左右,采用双排28引脚封装,其主要性能指标如下:1、分辨率为8位二进制数;2、电压范围在0+5V,对应A/D值0

11、0HFFH;3、每路A/D转换完成时间100ms;4、可分时进行8路A/D转换;5、工作频率500KHz(本电路由8051ALE端输出经4分频后得到)。引脚功能如下:IN0IN7:8路0+5V模拟电压输入(用IN0端);DB7DB0:8位数字输出线,输出8位A/D转换值;STAST:启动A/D转换端;EOC:A/D转换完成端;OE:允许数字量输出信号;CLOCK:时钟500KHz;ADD A、B、C:IN0IN7地址选择线;ALE:地址锁存允许输入信号。A/D转换器0809与放大电路连接较简单,运放接成比例放大形式,放大倍数可调,总体A/D转换与8051接口电路如下:3.4 报警电路 报警电路

12、的作用主要是在温度超过规定的温度或低于下限温度或达到预定温度时,报警子程序就会控制报警信号的输出,温度低与或高于规定的温度范围以及达到规定的温度时,音频装置就会发出不同频率的告警信号,同时相应的LED显示,到底是高了还是低了,以便与自动调节。报警电路如下图: 图1:报警电路3.5看门狗电路计算机看门狗控制卡是为了使计算机或工控机在系统出现异常时,能自动控制计算机进行重新启动,使系统恢复正常运行,保证系统24小时不间断正常工作。该控制卡可运用于无人职守的场所。像采用计算机作为存储设备的数字硬盘录像系统,公路卡口监控记录设备等。特点: 可固定在计算机内部并且不占用计算机任何插槽。 借电方便,可利用

13、计算机本身的软驱电源接口。 通过计算机并口或者串口跟计算机通讯。 计算机操作系统发生死机后,30秒(时间可设置)内控制卡控制计算机重新启动。 控制卡内有信号灯,在正常工作时有频率稳定持续的灯光闪动。 提供开发控件,可启动看门狗功能、停止看门狗功能、设置串口还是并口。 有两种型号的控制卡,有自带RS232转485的功能的控制卡。现以MAX706监控电路为例(见图1)来说明“看门狗”硬件电路的工作过程,我们知道,MAX706是一种性能优良的低功耗CMOS监控电路芯片,其内部电路由上电复位、可重触发“看门狗”定时器及电压比较器等组成2。MAX706只要在1.6秒时间内检测到WCI引脚有高低电平跳变信

14、号,则“看门狗”定时器清零并重新开始计时;若超出1.6秒后,WCI引脚仍无高低电平跳变信号,则“看门狗”定时器溢出,WDO引脚输出低电平,进而触发MR手动复位引脚,使MAC706复位,从而使“看门狗”定时器清零并重新开始计时,WDO引脚输出高电平,MAX706的RST复位输出引脚输出大约200毫秒宽度的低电平脉冲,使单片机控制系统可靠复位,重新投入正常运行。图1:看门狗电路3.6 显示电路 单片机与显示器的接口电路图图MC14495内部逻辑结构及引脚 图用MC14495组成多位LED静态显示器接口 程序:DIR: SETB RS0 ;保护第0组工作寄存器 PUSH A ;保护现场 MOV R2

15、, #03H ;显示位数计数 MOV R1, #00H ;设位码初值,初态从LED7开始 MOV R0, #DIS7 ;显示缓冲区末地址送R0DIR0: MOV A, RO ;取待显示的数据 AND A, #07H ;屏蔽高3位,保留低4位BCD码 MOV R3, A ;暂存R3中 MOV A, R1 ;位选码值送A SWAP A ;位码交换到高4位 ADD A, R3 ;合并形成输出的BCD码和位选码 MOV P1,A ;输出到P1口 INC R1 ;位码加1指向下一位 DJNZ R2, DIR0 ;8个位未显示完重复 CLR RS0 ;显示完恢复第0组工作寄存器 POP A RET ;返回

16、主程序 3.7 电源电路 本模块将交流 220V输入电压变为3组直流电压,其中5V电压为CPU等数字电路提供电源;15V电压为运放等模拟芯片提供电源;24V电压为温度变送器提供电源。 220v市电经变压器输出两组独立的25v交流,桥堆整流,大电容滤波得到 + 35v直流,再加一个0.1uF小电容滤出电源中的高频分量。考虑到制作过程中电源空载似的电容放电可在输出电容并上1k大功率电阻。另外这组直流还要给7812、7912来获得 + 12v。 电源模块如下图: 图1:5V直流稳压源电路图2: + 12V/24V直流稳压源的原理电路第四章 软件的设计4.1 软件实现方法根据热处理炉在上电复位后先处于

17、停止加热状态,这时可以用“+1”键设定预置温度,显示器显示预定温度;温度设定好后就可以按启动键启动系统工作了。温度检测系统不断定时检测当前温度,并送往显示器显示,达到预定值后停止加热并显示当前温度;当温度下降到下限(比预定值低3)时再启动加热。这样不断重复上述过程,使温度保持在预定温度范围之内。启动后不能再修改预置温度,必须按复位/停止键回到停止加热状态再重新设定预置温度。炉温控制是这样一个反馈调节过程,比较实际炉温和需要炉温得到偏差,通过对偏差的处理获得控制信号,去调节电阻炉的热功率,从而实现对炉温的控制。按照偏差的比例、积分和微分产生控制作用(PID控制),是过程控制中应用最广泛的一种控制

18、形式。系统控制程序采用两重中断嵌套方式设计。首先使T0计数器产生定时中断,作为本系统的采样周期。在中断服务程序中启动A/D,读入采样数据,进行数字滤波、上下限报警处理,PID计算,然后输出控制脉冲信号。脉冲宽度由T1计数器溢出中断决定。在等待T1中断时,将本次采样值转换成对应的温度值放入显示缓冲区,然后调用显示子程序。从T1中断返回后,再从T0中断返回主程序并且、继续显示本次采样温度,等待下次T0中断。1)二位式调节-它只有开、关两种状态,当炉温低于限给定值时执行器全开;当炉温高于给定值时执行器全闭。(执行器一般选用接触器)2)三位式调节-它有上下限两个给定值,当炉温低于下限给定值时招待器全开

19、;当炉温在上、下限给定值之间时执行器部分开启;当炉温超过上限给定值时执行器全闭。3)比例调节(P调节)-调节器的输出信号(M)和偏差输入(e)成比例。即:M=ke。式中:K-比例系数比例调节器的输入、输出量之间任何时刻都存在-对应的比例关系,因此炉温变化经比例调节达到平衡时,炉温不能加复到给定值时的偏差-称“静差”4)比例积分(PI)调节-为了“静差”,在比例调节中添加积分(I)调节积分,调节是指调节器的输出信号与偏差存在随时间的增长而增强,直到偏差消除才无输出信号,故能消除“静差”比例调节和积分调节的组合称为比例积分调节.5) 比例积分微分(PID)调节-比例积分调节会使调节过程增长,温度的

20、波动幅值增大,为此再引入微分(D)调节。微分调节是指调节器的输出与偏差对时间的微分成比例,微分调节器在温度有变化“苗头”时就有调节信号输出,变化速度越快、输出信号越强,故能加快调节速度,降低温度波动幅度,比例调节、积分调节和微分调节的组合称为比例积分微分调节。(一般采用晶闸管调节器为执行器)。根据生产现场的运行情况,这种控温方法,精度比较高,系统性能稳定,满足生产的实际需要。主要设备:热电偶或热电阻,智能PID温控仪,可控硅触发调功器等。4.2 总体程序流程图温度控制程序的设计应考虑如下:1)键盘扫描、键码识别和温度显示;2)炉温采样、数字滤波;3)数据处理;4)越限报警和处理;5)PID计算

21、、温度标度转换4.2.1主程序框图主程序包括8051本身的初始化等等。大体说来,本程序包括设置有关标志、暂存单元和显示缓冲区清零、T0初始化、CPU开中断、温度显示和键盘扫描程序 主程序在主程序中首先给定PID算法的参数值,然后通过循环显示当前温度,并且设定键盘外部中断为最高优先级,以便能实时响应键盘处理;软件设定定时器T0为5秒定时,在无键盘响应时每隔5秒响应一次,以用来采集经过AD转换的温度信号;设定定时器T1为嵌套在T0之中的定时中断,初值由PID算法子程序提供。在主程序中必须分配好每一部分子程序的起始地址,形式如下: ORG 0000H AJMP MAIN ORG 0003H AJMP

22、 INTO ORG 000BH AJMP TT0 ORG 001BH AJMP TT1 4.2.2中断服务程序框图T0中断服务程序是温度控制系统的主体程序,用于启动数/模转换器、读入采样数据、数字滤波、越限温度报警和越限处理、PID计算和输出可控硅的触发脉冲等。P1.3引脚上输出的该同步触发脉冲宽度由T1计数器的溢出中断控制,8051利用等待T1溢出中断的空闲时间(形成P1.3输出脉冲顶宽)完成把本次采样值转换成显示值而放入显示单元缓冲区和调用温度显示程序。8051从T1中断服务程序返回后即可恢复现场和返回主程序。系统软件采用中断方式编程,主要部分是时钟中断程序,主要由输入处理程序、控制算法程

23、序、显示处理、输出处理和自诊断程序等组成,其流程图如图2所示。仪表通电启动后,初始化程序进行时间给定,每隔500ms时钟中断一次,中断后进入时钟中断处理。对于纯滞后,大惯性环节控制对象,一般采用积分分离PID控制算法。在一般的PID控制中,当系统有较大的扰动或设定值较大幅度提降时,由于偏差较大及系统存在惯性和滞后,在积分项的作用下,会产生较大的超调和长时间波动,在温度缓慢变化过程中这一现象尤为严重,为此采用积分分离措施,即在偏差较大时,取消积分作用,偏差较小时,才将积分作用投入。中断服务程序框图 4.3 程序清单4.3.1 报警电路子程序1.子程序框图 2.报警子程序: FLAGBIT 00H

24、ORG 00HSTART:JB P1.7,STARTJNB FLAG,NEXTMOV R2,#200DV:CPL P2.2LCALL DELY500LCALL DELY500DJNZ R2,DVCPL FLAGNEXT:MOV R2,#200DV1:CPL P1.0LCALL DELY500DJNZ R2,DV1CPL FLAGSJMP STARTDELY500: MOV R7,#250LOOP: NOP DJNZ R7,LOOP RET END4.3.2 键盘显示管理程序。为了使8279具有合适的键盘、显示功能,首先要对芯片初始化。可适当地挑选8279的控制字,例如:使8279具有8位显示、

25、右端输入、编码键盘、双键锁定时可选控制字10H.这时每次按键都将产生键特征码,并且存放在FIFOROM中,同时使8279的IRQ引脚变为高电平,可作为向CPU申请中断信号,如果CPU是中断开放的,则转向中断服务程序,可在中断服务程序中读取特征码。每当CPU读取FIFOROM中的数据后,8279自动撤消IRQ信号,IRQ引脚变为低电平。CPU返回主程序后,可由键特征码来决定程序的流向。问题是,当CPU从8279的FIFOROM中读取键特征码后,IRQ虽然恢复底电平,但FIFOROM中的数据并没有消失,仍保存在里面,这时即使使用对改8279清除的指令D3H,也不能将FIFOROM中的数改变,只有按

26、其它键才能改变FIFOROM中的数据,因这样是无法实现按钮功能的。为了使键盘具有按钮功能,应该利用8279的传感方式功能,在传感器方式中,8279每当检测到传感状态变化时,IRQ就变为高电平,图1是以8051CPU构成的系统为例,说明IRQ引脚电平的翻新过程。 8279的IRQ端经反相器接到8051的INT1端(即P3.3引脚)。先将8279设置成编码键盘,允许INT1中断,当键按下时,反相器输出低电平,CPU进入中断服务程序,读取键特征码后,又为高电平。返回主程序后,转向功能程序(例如调模进)。输出控制信号(例如P1.0为“1”时调模进电磁阀得电)后,将8279设置为传感器方式,并且不允许I

27、NT1中断,然后调试P3.3是否为低电平。如果按键松开,8279将测出传感器状态发生变化,而使IRQ由低电平转为高电平。也就是说P3.3脚为低电平时,按键已经松开,程序重新设置8279为编码键盘,INT1中断开放,以便使键盘脱离按钮功能。程序清单如下:ORG 0000H MOV DPTR,#7000H ; 指向8279数据口 INC DPTR ; 指向8279控制口 MOV A, #00H ; 设定8279工作方式 M0VX DPTR,A MOV A , #0GFH ; 清除8279内部显示RAM状态 MOVX DPTR, A MOV A , #22H MOVX DPTR , A ; 设定82

28、79分频系数 LOOP:MOVX A , DPTR JB ACC.7 , LOOP ; 显示RAM清除完毕吗? MOV A , 80H ; 指向第一位数码管 MOVX DPTR , A MOV A , 9FH ; 输出1一个字形 MOV DPTR ,#7000H MOVX DPTR , A INC DPTR LOOP1:M0VX A , DPTR AND A , #07H CJNE A , #00H,L00P2 AJMP LOOP1 ; 无键按下转 LOOP2:MOV DPTR ,#7000H MOVX A , DPTR; 有键按下将键值送累加器A 键值,由8279的行扫描信号(SL0-SL3

29、)与列信号(RL0-RL4)组成,不同组合的矩阵将得到不同键,但 在同一矩阵中不会有相同的键值,这对初学者编制键显示程序大为方便.下表是通用键盘板键值: 名称 0 1 2 3 4 5 6 7 8 9 键值 C1 C8 C9 D0 D8 E0 C2 CA D1 D9 名称 状态切换 清除 键值 DA C3 4.3.2.1判定有无闭合键的子程序: 判定有无闭合键的子程序为KSI,供在键盘扫描程序中调 用。程序如下: KSI:MOVDPTR,#0FDF9H;A口地址MOVA, #00HMOVXDPTR,A;A口送00HINCDPTRINCDPTR;C口地址MOVXA,DPTR;读C口CPLA ANL

30、A,#0FH;屏蔽高四位RET4.3.2.2键盘扫描程序 如前所述,在单片机应用系统中常常是键盘和显示器同时存在,因此可以把键盘扫描程序和显示程序配合起来使用,即:把显示程序作为键扫描程序的延时子程序。这样做既省去了一个专门的延时子程序,又能保证显示器常亮的可观效果。 假定本系统中显示程序为DIR,执行时间约为6ms。键盘扫描程序如下: KEY1:ACALL KSI;检查是否有键闭合JNZ LK1;A非“0”则转移ACALL DIR;显示一次(“延时6s)AJMP KEY1LK1: ACALL DIR; 有键闭合二次延时ACALL DIR; 共12ms去抖动ACALL KSI; 再检查是否有键

31、闭合JNZ LK2; 有键闭合转移到LK2ACALL DIRAJMP KEY; 无键闭合,延时6ms后转KEY1LK2: MOV R,#0FEH; 扫描初值送R2MOV R,#00H; 扫描列号送R4LK4: MOV DPTR,#0101H; A口地址MOV A,R MOVX DPTR,A; 扫描初值送A口INC DPTR INC DPTR; C口地址MOVX A,DPTR; 读C口JB ACC.0, LONE;ACC.0=1,第0行无键闭合,转LONEMOV A,#00H; 装第0行值AJMP LKPLONE: JB ACC.1 LTWO;ACC.1=1,第1行无键闭合,转LTWOMOV A

32、,#08H; 装第1行值AJM PLKPLTWO: JB ACC.2,LTHR;ACC.2=1,第2行无键闭合,转LTHRMOV A#10HAJMP LKPLTHR: JB ACC.3,NEXT;ACC.3=1,第3行无键闭合,转NEXT MOV A,#18H; 装第3行值LKP: ADD A,R; 计算键码PUSH ACC; 保护键码LK3: ACALL DIR; 延时6msACALL KSI; 检查是否继续闭合,若闭合再延时JNZ LK3POP ACC; 若键起,则键码送ARETNEXT: INC R; 扫描列号加1MOV A,RJNB ACC.7,KND;若第7位=0,已扫完最高列则转K

33、NDRL AMOV R,AAJMP LK4; 进行下一行扫描KND: AJMP KEY1; 扫描完毕,开始新一轮4.3.3 A/D转换程序(1)A/D转换子程序。 PUSH A SETB EA; 开中断SETB IT1; 外中断1定义为跳变触发MOV DPTR,#0BFFFH; 送ADC0809口地址MOV A,#00H; 选通IN0通道MOVX DPTR,A; 启动A/D转换NOPNOPNOPNOPNOPSETB EX1; 开外中断1POP ARET(2)A/D转换结束中断程序。ADINT1: PUSH PSW ; 保护现场PUSHAPUSH DPH PUSHDPL MOVDPTR,#0BF

34、FFH MOVX A,DPTR; 读A/D转换结果MOV 60H,A; 送入内部RAM60H中 MOV A,#00H; 再次启动IN0通道 MOVX DPTR,A POP DPL; 恢复现场 POPA POPPSW RET14.3.4温度检测子程序A/D转换采用查询方式。为提高数据采样的可靠性,对采样温度进行数字滤波。数字滤波的算法很多,这里采用4次采样取平均值的方法。如前所述,本系统A/D转换结果乘2正好是温度值,因此,4次采样的数字量之和除以2就是检测的当前温度。检测结果高位存入50H,低位存入51H。温度检测子程序流程图如图1所示。 图1:温度检测子程序流程图温度检测子程序TIN:TIN

35、: MOV TEMP1,#00H; 清检测温度缓冲区 MOV TEMP0,#00H MOV R2,#04H; 取样次数送R2 MOV DPTR,#7FF8H; 指向A/D转换器0通道 LTIN1:MOVX DPTR,A; 启动转换HERE:JNB IE1,HERE; 等待转换结束 MOVX A,DPTR; 读转换结果ADDA,TEMP0; 累加(双字节加法)MOVTEMP0,AMOVA,#00HADDCA,TEMP1MOVTEMP1,ADJNZR2,LTIN1; 4次采样完否,未完继续CLR C; 累加结果除2(双字节除法)MOVA,TEMP1 RRCAMOV TEMP1,AMOV A,TEM

36、P0 RRC AMOV TEMP0,ARET4.3.5 温度控制子程序将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电炉保持原来状态;当前温度降低到比预置温度低5时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。由于电炉开始加热时,当前温度可能低于报警下限,为了防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志F0。模块流程见图2。 温度控制流程图温度控制子程序CONT: CONT:MOV A,TEMP0; 当前温度-预置温度(双字节减) CLR C SUBB A,ST0

37、MOV B,A; 低8位相减的差值暂存B MOV A,TEMP1 SUBB A,ST1JNC LOFF; 无借位,表示当前温度预置温度,转LOFF JNB F0,LON;当前温度预置温度,判是否达到过预置温度 MOVA,B ; 若达到过预置温度,判二者差值是否大于2 CLRC SUBBA,#02H JNC ACC.7,LOFF;差值不大于2,转LOFFLON:CLR P2.1; 开电炉 SJMP EXIT; 返回LOFF: SETBF0; 设置允许报警标志 SETB P2.1; 关电炉EXIT:RET4.3.6 看门狗电路子程序: ORG0000HLJMPSTARTORG000BH LJMPINTT0ORG0030HSTART:MOVSP,#30H MAIN:NOPNOPSETBP1.0NOPNOPSETBEANOPSETBET0 LJMPMAININTT0:NOPNOPCLRP1.7NOPNOPRETI这样,在整个用户程序中只唯一的一对指令(SETBP1.7及CLR P1.7)能使“看门狗”定时器复位。也就是说不会有任何“非法”的指令能使“看门狗”定时器误复位,致使系统已经“死机

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1