基于PID控制算法的温度控制系统的设计与仿真.doc

上传人:xin****828 文档编号:6682151 上传时间:2020-03-02 格式:DOC 页数:49 大小:531.50KB
返回 下载 相关 举报
基于PID控制算法的温度控制系统的设计与仿真.doc_第1页
第1页 / 共49页
基于PID控制算法的温度控制系统的设计与仿真.doc_第2页
第2页 / 共49页
基于PID控制算法的温度控制系统的设计与仿真.doc_第3页
第3页 / 共49页
点击查看更多>>
资源描述
摘 要本设计是一种温度控制系统,温度控制在工业生产和科学研究中具有重要意义。其控制系统属于一阶纯滞后环节,具有大惯性、纯滞后、非线性等特点,导致传统控制方式超调大、调节时间长、控制精度低。采用单片机进行炉温控制,具有电路设计简单、精度高、控制效果好等优点,对提高生产效率、促进科技进步等具有重要的现实意义。PID控制法最为常见,控制输出采用PWM波触发可控硅来控制加热通断。使系统具有较高的测量精度和控制精度。单片机控制部分采用AT89S51单片机为核心,采用Keil软件进行编程,同时采用分块的模式,对整个系统的硬件设计进行分析,分别给出了系统的总体框图、温度检测调理电路、A/D转换接口电路,按键输入电路以及显示电路,并对相应电路进行相关的阐述软件采用PID算法进行了建模和编程,在Proteus环境中进行了仿真。关键词:PID;单片机;温度控制;Keil;Proteus Abstract This design is a kind of temperature control system,The temperature control in industrial production and scientific research is of great significance.Belongs to pure first-order lag link, the control system has the characteristics of big inertia, pure lag and nonlinear, the traditional control overshoot and adjustment time is long, low control precision.By single chip microcomputer temperature control, has simple circuit design, high accuracy and good control effect, to improve the production efficiency, promote the progress of science and technology has important practical significance.PID control is the most common, the control output PWM wave triggering thyristor is used to control the heating on and off.Make the system has high accuracy of measurement and control precision.Single-chip microcomputer control part adopts single chip microcomputer AT89S51 as the core,Using Keil software programming,Using block pattern at the same time, analyzes the hardware design of the whole system, respectively, of the overall system block diagram is given, the temperature detection circuit, A/D conversion interface circuit, key input circuit and display circuit, and the corresponding circuit are related in this paper, the software, the PID algorithm is used for modeling and programming in the Proteus simulation environment.Key words:PID;Single chip microcomputer;The temperature control;Keil;Proteus目 录 1绪论12设计方案23系统硬件仿真电路33.1 温度测量调理电路33.2 A/D转换电路43.3 按键输入电路53.4 数码管显示电路63.5 温度控制电路74 程序设计94.1 程序整体设计94.2 子程序设计114.3 源程序设计195 软件调试与运行结果41结论42致谢43参考文献44 1绪论 现代工业生产过程中,用于热处理的加热炉,需要消耗大量的电能,而且温度控制是纯滞后的一阶大惯性环节。现有企业多采用常规仪表加接触器的断续控制,随着科技进步和生产的发展,这类设备对温度的控制要求越来越高,除控温精度外,对温度上升速度及下降速度也提出了可控要求,显而易见常规控制难于满足这些工艺要求。随着微电子技术的发展,采用功能强、体积小、价格低的智能化温度控制装置控制加热炉已成为现实。 采用单片机来对温度进行控制不仅具有控制方便、简单灵活性等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量,比过去单纯采用电子线路进行PID调节的控制效果要好的多。 微机控制系统的快速计算、灵活多样的逻辑判断和高效的信息加工能力使自动控制进入了更高一级的领域,提高了生产过程的自动化程度,减少了人工干预,并不断地完善和满足工农业生产和国防科技日益增长的需要。微机控制系统由于具有成本低、体积小、功耗小、可靠性高和使用灵活等特点,因而广泛的应用于工农业生产、交通运输、国防建设和空间技术等各个领域。其控制对象已从单一的工厂流程扩展到企业生产过程的管理和控制。随着微机和单片机的推广使用,实现信息自动化与过程控制相结合的分级分布式计算机控制,使计算机控制技术的水平发展到一个崭新的阶段。 现在,许多常规的控制仪表和调节器已经为计算机所取代。计算机不断地监视整个生产过程,对生产中的各个参数进行采样,迅速进行复杂的数据处理,打印和显示工艺过程的统计数字和参数,并发出各种控制命令。 温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。2设计方案 在温度测量控制系统中,实际温度值由PT100恒流工作调理电路进行测量。为了克服PT100线性度不好的缺点,在信号调理电路中加入负反馈非线性校正网络;调理电路的输出电压经ADC0808转换后送入单片机AT89S51;对采样数据进行滤波及标定处理后,由3位7段数码管显示。输入的设定值由4位独立按键电路进行设定,可分别对设定值的十位和个位进行加1、减1操作。设定值送入单片机后,由另外一组3位7段数码管显示。数码管的段码由74HC05驱动,位码由三极管2N2222A驱动。为了使两组数码管实时显示,对两组数码管进行动态扫描。整体的电路原理框图如图1-1所示。图1-1整体电路原理框图系统采用PID闭环控制方案。如图1-2所示,将预置初值与温度传感器反馈信号比较得到偏差(e)进行PID运算处理得到控制量(u),通过此量来控制加热器的加热时间,从而控制加热功率。由于水本身具有很大的热惯性,所以必须对水温的变化趋势作出预测,并且根据需要及时反方向抑制,以防止出现较大的超调量的波动。在PID控制中,积分环节(I)具有很强的滞后效应,而微分环节(D)具有预见性,所以该方案最终采用PD算法,能够很好的控制超调,并且稳态误差也很小。图1-2 系统控制方案 3系统硬件仿真电路3.1 温度测量调理电路图3-1温度测量调理电路本系统采用恒流工作调理电路,铂电阻选用标称值为100的PT100作为温度传感器。A1、A2、A3采用低漂移运放OP07C,由于有电流经PT100传感器,所以当温度为0时,在PT100传感器上有电压降,这个电压为PT100传感器的偏置电压,是运放A1输出电压的一部分,使恒流工作调理电路的输出实际不为零。所以需要对这个偏置电压调零,R3为调零电阻,其作用为当温度为0时,将恒流工作调理电路的输出调到零。又因为PT100的电阻特性为非线性,PT100在0到100变化范围内非线性误差为0.4%(0.4),由于本系统无小数显示,0.4的误差本身不会对A/D量化和数码管显示造成影响,但由于软件编制中,对标度变化程序中的变换系数做了近似处理,使得非线性误差接近0.79%(0.79),就有可能对A/D量化和数码管显示造成影响,所以加进了线性化电路,运放A3及电阻R1、R4和R6一同构成了负反馈非线性校正网络。R5用于调整运放A2的增益。电路的调整方法如下(用普通电阻代替PT100进行调整):(1) 接入相当于0的100的电阻,用于R3调零。(2) 接入相当于50的119.70的电阻,用于R5调整增益。(3) 接入相当于100的139.10的电阻,用于R1或R4调整线性。 反复调整多次,在0到100温度范围内适宜为止。以温度值为横坐标,电压值为纵坐标,由表3-1分析非线性误差可知:在50时,存在最大偏差为0.005,故非线性校正后非线性误差变为0.1%(0.1),A/D量化及数码管显示不会产生误操作。表3-1 显示对照表理想温度值0102030405060708090100对应电阻值100103.9107.9111.8115.7119.7123.9127.4131.3135.2139.1实际输出电压0.0020.5021.0041.5022.0042.5053.0013.5024.0014.4984.996显示温度值0102030405060708090100注释1;温度单位/;电阻值单位/;电压单位/V。3.2 A/D转换电路本系统采用5V的电压源,用PT100电阻传感器组成的信号调理电路作为信号的输入装置,当PT100传感器置于温度场时,调理电路将根据PT100的阻值输出相应的电压值。将该输出电压送到ADC0808的模拟量输入通道IN0,经ADC0808进行模数转换,将标准的模拟信号转换为等价的数字信号。本设计选用IN0作为模拟量输入通道,则将ADC0808的A、B、C三条地址线均置为低电平。转换启动信号START接到AT89S51的P2.0口,转换结束状态信号EOC接P3.7口,输出允许信号OE接P3.6口,地址锁存允许信号ALE接P3.3口,由于ADC0808内部没有时钟电路,所以用AT89S51的ALE经二分频接ADC0808的CLK端,VREF-接地,VREF+接+5V电压。ADC0808的转换结果输出到AT89S51的P0.0到P0.7口,作为AT89S51的输入信号。A/D转换接口电路如图3-2所示。 图3-2 A/D转换接口电路3.3 按键输入电路 本系统采用4个按键搭建键盘电路,如图3-3所示。第一个按键用来判断是转入控制处理程序运行,还是转入键盘处理子程序运行;若未按下则转入控制处理子程序运行,按下则转入键盘处理子程序运行;若第一个按键按下,则第二个按键开始起作用,用第二个按键来判断是十位进行加减操作。若第二个按键未按下,转十位进行加减操作,否则转个位进行加减操作;第三个按键为减一操作,第四个按键为加一操作。为了方便按键操作,将个位和十位的设定值均设置为5,如果加一操作结果等于11,给加一单元重新赋值5,如果减一操作结果等于0FFH,给减一单元重新赋值5。这样考虑最坏情况,即用键盘设置离初始设定值最远的值,第三个按键最多按5次,第四个按键最多按5次。从而大大减少了按键次数,且更方便地给出设定值。第一个键和第二个键的加入,也充分考虑了总程序的整体调度。图3-3 按键输入电路3.4 数码管显示电路显示电路采用两个4位LED显示数码管,共阴极接法。第一个数码管显示A/D转换数据采集的采样值,选用3位显示采样值,显示范围为0到100;第二个数码管显示由键盘输入的设定值,用于显示对系统的温度设定,也选用3位显示设定值,显示范围为0到100。由于LED显示电路较多选用动态扫描方式,为了实现LED显示器的动态扫描,除了要给显示器提供段的输入外,还要对显示器的位进行控制,即段控和位控。所以需要用P1口输出8条段控线;位控线由挑选的P2.1、P2.2、P2.3、P3.0、P3.1和P3.2输出,其中P2.1、P2.2和P2.3用于驱动键盘输入的设定值和数码管位控线,其余用于驱动显示A/D转换数码管的数据码位控线,位控线的数目等于数码管显示的位数。P1接口最多可连接8个LED显示器。为提高显示亮度,通常加74HC05进行段控输出驱动,与7段数码管的段码驱动输入端相连,由于位控的驱动电流较大,8段全亮需40到60mA,所以用三极管9012提高驱动能力,其集电极接到7段数码管的位码驱动输入端,三极管的发射极接地,将AT89S51的P3.0、P3.1、P3.2分别与一个2k的电阻连接到三极管的基极,用于驱动采样值显示数码管,将AT89S51的P2.0、P2.1和P2.2口分别与一个2k的电阻连接到三极管的基极,用于驱动设定值显示数码管。显示电路如图3-4所示。图3-4 显示电路3.5 温度控制电路系统的电阻丝和风扇均采用如图3-5所示的电路形式。此电路采用晶体管驱动固态继电器。当P3.4为低电平,继电器RL1吸合;当P3.4或P3.5为高电平时,继电器RL1释放。采用这种控制逻辑可以使继电器在上电复位或单片机复位时不吸合。继电器由晶体管2N2222A驱动,它可以提供所需的驱动电流。图3-5 继电器控制电路 PT100温度测控系统的完整电路如图3-6所示。图3-6 温度测控系统电路图4 程序设计4.1 程序整体设计程序的控制思想:设置目标温度后,系统采样水温,并通过预设温度、当前温度、历史偏差等进行PID运算产生fout输出参数,通过该参数控制加热时间,从而调节加热器的平均功率,实现系统的PID控制。整体功能通过主程序和中断服务程序配合实现。主程序流程:系统首先初始化I/O、定时器,之后进入主循环,进行温度采样和相关处理。在系统运行过程中通过按键重新设置目标温度值。PT100温度测控系统的主程序流程图如图4-1所示。图4-1 温度测控系统主程序4.2 子程序设计 1.PID控制的实现 (1)PID简介。PID(Proportional Integral Derivative)控制是控制工程中技术成熟、应用广泛的一种控制策略,经过长期的工程实践,已形成了一套完整的控制算法和典型的结构。它不仅适用于数学模型已知的控制系统,而且对于大多数数学模型难以确定的工业过程也可以应用,在众多工业过程控制中取得了满意的应用效果。 (2)PID工作原理。由于来自外界的各种扰动不断产生,要想达到现场控制对象值保持恒定的目的控制作用就必须不断地进行。若扰动出现使得现场控制对象(以下简称被控参数)发生变化,现场检测元件就会将这种变化采集后经变送器送到PID控制器的输入端,并与其给定值(以下简称SP值)进行比较得到偏差值(以下简称e值),调节器按此偏差并以预先设定的整定参数控制规律发出控制信号,去改变调节器的开度,使调节器的开度增加或减小,从而使现场控制对象值发生改变,并趋向于给定值(SP值),以达到控制的目的,如图4-2所示。其实PID的实质就是对偏差(e)值进行比例、积分、微分运算,根据运算结果控制执行部件的过程。图4-2 模拟PID控制系统原理图 PID控制器的控制规律可以描述为: (4-1)比例(P)控制能迅速反应误差,从而减小稳态误差。但是,比例控制不能消除稳态误差。比例放大系数的放大,会引起系统的不稳定。积分(I)控制的作用是:只要系统有误差存在,积分控制器就不断的积累,输出控制量,以消除误差。因而,只要有足够的时间,积分控制就能完全消除误差,使系统误差为零,从而消除稳态误差。积分作用太强会使系统超调加大,甚至使系统出现震荡。微分(D)控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。根据不同被控对象的控制特性,又可以分为P、PI、PD、PID等不同的控制模型。 (3)数字PID的实现。在连续时间控制系统(模拟PID控制系统)中,PID控制器的应用非常广泛。其设计技术成熟,长期以来形成了典型的结构,参数整定方便,结构更改灵活,能满足一般的控制要求。随着计算机的快速发展,人们将计算机引入到PID控制领域,也就出现了数字式PID控制。由于计算机基于采样控制理论,计算方法也不能沿袭传统的模拟PID控制算法,所以必须将控制模型离散化。离散化的方法为:以T为采样周期,k为采样序号,用求和的形式代替积分,用增量的形式(求差)代替微分,这样就可以将连续的PID计算公式离散: (4-2) 式中(4-1)就可以离散为: (4-3)或者: (4-4) 这样就可以让计算机或单片机通过采样的方式实现PID控制。具体的PID控制又分为位置式PID控制和增量式PID控制,(4-4)给出了控制量的全部大小,所以称为全量式或位置式控制。如果计算机只对相邻的两次做计算,只考虑在前一次基础上计算机输出量的大小变化,而不是全部输出信息的计算,这种控制叫做增量式PID控制算法,其实质就是求的大小。而,所示将式(4-4)作自减变换有: (4-5) 式中: 2.温度控制PID算法设计 本系统利用上面所介绍的位置式PID算法,将温度传感器采样输入作为当前输入,与设定值进行相减得到偏差ek,然后再对其进行PID运算产生输出结果fout,最后让fout控制继电器的时间进而控制加热器。为了方便PID运算,首先建立一个PID的结构体数据类型。该数据类型用于保护PID运算所需要的P、I、D系数,以及设定值、历史误差的累加和等信息。Typedef struct PID float SetPoint; float Proportion; float Integral; float Derivative; int LastError; Int SumError;PID;PIDstPID; 下面是PID运算的算法程序,通过PID运算返回fout,fout的值决定是否加热、加热时间是多少。PID运算的实现代码如下:Float PIDCalc(PID *pp,int NextPoint) Int dError,Error; Error=pp-SetPoint*10-NextPoint; pp-SumError + =Error; dError =Error - pp -LastError; pp-PrevError =pp-LastError; pp-LastError = Error; return(pp-Proportion*Error +pp-Integral*pp-SumError -pp-Derivative*dError);在实际运算时,由于水具有很大的热惯性,而且PID运算中的1(积分项)具有非常明显的延迟效应,不能保留,所以必须把积分项去掉。相反,D(微分项)有很强的预见性,能够加快反应速度,抑制超调量,因此微分作用应该适当加强才能达到较佳的控制效果,系统最终选择PD控制方案。下面是PD控制的实现过程:Float PIDCalc(PID*pp,int NextPoint) Int dError,Error; Error=pp-SetPoint*10-NextPoint; dError=Error-pp-LastError; pp-PrevError=pp-LastError; pp-LastError=Error return(pp-Proportion*Error -pp-Derivative*dError );3.温度控制的实现 通过温度的PID运算,产生结果fmin,该参数决定是否加热。加热时间多长。 stPID.Proportion=2; stPID.Integral=0; stPID.Derivative=5; fOut=PIDCalc(&stPID,(int)(fT*10); if(fOut=0) *p_IOA_Buffer&=0ff7f; Else *p_IOA_Buffer=00080;加热时间由主函数计算。主程序中通过PIDCalc函数得到fmin参数。若该参数大于零,则开启加热器。如果PIDCalc计算结果比较大说明离目标温度相差较大,则加热时间比较长;如果计算结果比较小,说明离目标温度相差较小,加热时间相对较短。 4.PID参数的整定 由PID控制原理知:比例(P)控制能迅速反映误差,减小稳态误差;比例作用的加大会引起系统的稳定。积分(1)控制的作用,只要系统有偏差存在,积分作用就不断地积累,输出控制量以消除误差;积分作用太强会使系统超调加大,甚至使系统出现震荡。微分(D)控制可以减小超调量,克服震荡,使系统的稳定性提高。同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。控制的目标就是:反应速度尽可能快,超调量尽可能小,稳态误差趋近于零。5.A/D转换子程序 先送地址锁存允许信号ALE一个上升沿,是A.B.C地址状态送入地址锁存器中,然后送START一个上升沿是内部寄存器清0,再给其一个下降沿,开始进行A/D转换。之后判断转换结束状态信号EOC是否为1,为0则继续等待转换,为1则将转换好的数字量经ADC0808的8个数据输出端D0D7送到AT89S51的P0口。转换流程图如图4-3所示。 图4-3 A/D转换子程序流程图6.键盘处理子程序 按键处理子程序流程图如图4-4所示。7.温度标定转换模块 控制系统在读入被测模拟信号并转换成数字量后,需要转换成人们所熟悉的物理量,这种转换就是标度变换。线性标度变换公式为: Y=(Ymax-Ymin)(X-Nmin)/(Nmax-Nmin)+Ymin式中,Y为参数测量值;Ymax为测量范围最大值;Ymin为测量范围最小值;Nmin为对应的A/D转换值;Nmin为Ymin对应的A/D转换值;X为测量值Y对应的A/D转换值。 本系统中,Ymin=0,Ymax=100,Nmin=0,Nmax=255,则 Y=(100-0)(X-0)/(255-0)+0=a1X+a0式中,a1=0.39,a0=0。由于x的系数为小数,在单片机中编制像0.39这样的小数的乘法程序很难实现,如果将其取近似值0.4,则乘以最大A/D转换值后,会产生0.01255=2.55的误差。所以设线性系数为a1,最终转化的结果为100,通过a1=100256/255=100.39可确定系数。是四舍五入取100时,显示最高只能显示99,所以选用101。 8.显示子程序 显示模块的功能为:使第1个数码管显示A/D转换数据采集的采样值,而第2个数码管显示由按键输入的设定值,用于显示对系统的温度设定,在整个系统进行测控的过程中,两个数码管同时显示,显示程序中采样值显示采用了常规的显示程序,不再赘述。这里只谈编写显示程序中键盘显示时主要注意的一点。由于最后生成的设定值是有十位或个位的加一和十位或个位的减一键输入,须严格区分才可以编制其显示程序,此处采用的方法是将个位的加一、减一键输入的值存放在28H,而十位的加一、减一键输入的值存放在34H,然后驱动不同的位码即可正常显示。流程图如图4-5所示。图4-4 按键处理子程序流程图图4-5 显示处理子程序流程图 4.3 源程序设计 ORG 0000HJMP STARTORG 0040HSTART:LCALL ZHUANHUAN SETB P3.0 SETB P3.1 SETB P3.2 SETB P2.0 SETB P2.1 SETB P2.2 LCALL DELAY1 MOV 34H,#05 MOV 35H,#05 MOV 28H,#05 MOV 29H,#05LLL:LCALL ZHUANHUAN MOV 31H,A LCALL DELAY4 LCALL ZHUANHUAN MOV 32H,A LCALL DELAY4 LCALL ZHUANHUAN MOV 33H,A LCALL FILTER LCALL CHNTER LCALL SHOW JB P2.4,KONGZHI1KEY0: JB P2.4,LLL LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4KEY1: JB P2.5,KEY51 LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4KEY2: JB P2.7,KEY3 LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW DEC 34H MOV A,34H MOV 35H,34H CJNE A,#0FFH,KEY22 MOV 34H,#05H LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4KEY22: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY2KONGZHI1: LJMP KONGZHIKEY51: LJMP KEY5KEY3: JB P2.6,KEY02 LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 INC 35H MOV A,35H MOV 34H,35H LCALL DELAY4 CJNE A,#0AH,KEY33 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 MOV 35H,#04 LCALL DELAY4KEY33: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY3KEY02: LJMP KEY0KEY5: JB P2.7,KEY6 LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW DEC 28H MOV A,28H MOV 29H,28H CJNE A,#0FFH,KEY55 MOV 28H,#05 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4KEY55: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY5KEY6: JB P2.6,KEY01 LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 INC 29H MOV A,29H MOV 28H,29H LCALL DELAY4 CJNE A,#9,KEY66 MOV 29H,#04 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW LCALL DELAY4 KEY66: LCALL ZHUANHUAN LCALL CHNTER LCALL SHOW AJMP KEY6 KEY01: LJMP KEY0 KONGZHI: LCALL ZHUANHUAN LCALL CHNTER LCALL WUCHA MOV A,2EH MOV 39H,A LCALL MULT1 LCALL DELAY1 LCALL DELAY1 LCALL SHOW LCALL DELAY1 LCALL DELAY1 LCALL ZHUANHUAN LCALL FILTER LCALL CHNTER LCALL WUCHA MOV 3AH,A MOV A,39H MOV B,3AH CLR C SUBB A,B MOV 3BH,A LCALL MULT2 ZZP:MOV A,37H XRL A,#00H JB ACC.7,ZZP1 LJMP ZZP2ZZP1:MOV A,37H CJNE A,#0FFH,ZZP3 LJMP ZZP4ZZP2:MOV A,37H CJNE A,#03H,ZZP5 LJMP ZZP6ZZP3:JC ZZP7 LJMP ZZP37ZZP4:MOV A,36H XRL A,#00H JB ACC.7,ZZP8LJMP ZZP9ZZP5:JC ZZP10 LJMP ZZPP5ZZPP5:MOV A,36H XRL A,#00H JB ACC.7,ZZPP51 LJMP WU5ZZPP51:MOV A,36H CJNE A,#0FEH,ZZPP52 LJMP WU5ZZPP52:JC ZZPP521LJMP WU5ZZPP521:LJMP WU0ZZP6:MOV A,36HXRL A,#00HJB ACC.7,ZZP11LJMP WU5ZZP7:MOV A,37H CJNE A,#0FEH,ZZP12 LJMP ZZP13ZZP8:MOV A,36H CJNE A,#0FBH,ZZP14 LJMP WU4ZZP9:MOV A,36H CJNE A,#00H,ZZP15 LJMP WU1ZZP10:MOV A,37H CJNE A,#02H,ZZP16 LJMP ZZP17ZZP11:MOV A,36H CJNE A,#0F8H,ZZP18 LJMP WU1ZZP12:JC ZZP19 LJMP ZZP4ZZP13:MOV A,36H XRL A,#00H JB ACC.7,ZZP20LJMP ZZP21ZZP14:JC zzp141 LJMP ZZP22zzp141:LJMP WU4ZZP15:JC ZZP151 LJMP WU0ZZP151:LJMP WU1ZZP16:JC ZZP23 LJMP ZZP17ZZP17:MOV A,36H XRL A,#00H JB ACC.7,ZZP24 LJMP ZZPP17ZZPP17:MOV A,36H CJNE A,#01H,ZZPP171 LJMP WU5ZZPP171:JC ZZPP1711LJMP WU5ZZPP1711:LJMP WU0ZZP18:JC ZZP181 LJMP WU0ZZP181:LJMP WU1ZZP19:MOV A,37H CJNE A,#0FDH,ZZP25 LJMP ZZP26ZZP20:MOV A,36H CJNE A,#0FBH,ZZP27 LJMP WU4ZZP21:MOV A,36H CJNE A,#00H,ZZP28 LJMP WU2ZZP22:MOV A,36H CJNE A,#0FFH,ZZP29 LJMP WU2ZZP23:MOV A,37H CJNE A,#01H,ZZP30 LJMP ZZP31ZZP24:MOV A,36H CJNE A,#0F7H,ZZP32 LJMP WU1ZZP25:JC ZZP33 LJMP ZZP13ZZP26:MOV A,36H XRL A,#00H JB ACC.7,ZZP34LJMP ZZP35ZZP27:JC ZZP271 LJMP WU3ZZP271:LJMP WU4ZZP28:MOV A,36H CJNE A,#03H,ZZP36 LJMP WU0ZZP29:JC ZZP291 LJMP WU1ZZP291:LJMP WU3ZZP30:JNC ZZP301 LJMP ZZP37ZZP301:LJMP ZZP31ZZP31:MOV A,36H XRL A,#00H JB ACC.7,ZZP38LJMP ZZP39ZZP32:JC ZZP321 LJMP ZZP40ZZP321:LJMP WU2ZZP33:MOV A,36H XRL A,#00H JB ACC.7,ZZP331 LJMP ZZP41ZZP331:LJMP WU4ZZP34:MOV A,36H CJNE A,#0FDH,ZZP42 LJMP WU4ZZP35:MOV A,36H CJNE A,#00H,ZZP43 LJMP WU2ZZP36:JC ZZP361 LJMP WU0ZZP361:LJMP WU1ZZP37:MOV A,36H XRL A,#00H JB ACC.7,ZZP44 LJMP ZZP39ZZP38:MOV A,36H CJNE A,#0FBH,ZZP45 LJMP WU3ZZP39:MOV A,36H CJNE A,#03H,ZZPP39 LJMP WU5ZZPP39:JC ZZP391LJMP WU5ZZP391:LJMP WU0ZZP40:MOV A,36H CJNE A,#0FFH,ZZP46 LJMP WU0ZZP41:MOV A,36HCJNE A,#00H,ZZP47 LJMP WU3ZZP42:JC ZZP421 LJMP WU3ZZP421:LJMP WU4ZZP43:MOV A,36H CJNE A,#05H,ZZP48 LJMP WU0ZZP44:MOV A,36H CJNE A,#0FBH,ZZP49 LJMP WU4ZZP45:JC ZZP451 LJMP ZZP50ZZP451:LJMP WU3ZZP46:JC ZZP461 LJMP WU0ZZP461:LJMP WU1ZZP47:MOV A,36H CJNE A,#00H,ZZP51 LJMPWU3ZZP48:JC ZZP481 LJMP WU0ZZP481:LJMP WU1ZZP49:JC ZZP491 LJMP ZZP52ZZP491:LJMP WU4ZZP50:MOV A,36H CJNE A,#0FEH,ZZP53 LJMP WU1ZZP51:MOV A,36H CJNE A,#01H,ZZP54 LJMP WU2ZZP52:MOV A,36H CJNE A,#0FEH,ZZP55 LJMP WU2ZZP53:JC ZZP531 LJMP WU0ZZP531:LJMP WU2ZZP54:JC ZZP541 LJMP ZZP56ZZP541:LJMP WU2ZZP55:JC ZZP551 LCALLWU1ZZP551:LJMP WU3ZZP56:MOV A,36H CJNE A,#05H,ZZP57 LJMP WU0ZZP57:JC ZZP571 LJMP WU0ZZP571:LJMP WU1WU0:MOV T
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类 > 大学论文


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

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


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