基于单片机静电除尘器的温度控制系统的设计论文.doc_第1页
基于单片机静电除尘器的温度控制系统的设计论文.doc_第2页
基于单片机静电除尘器的温度控制系统的设计论文.doc_第3页
基于单片机静电除尘器的温度控制系统的设计论文.doc_第4页
基于单片机静电除尘器的温度控制系统的设计论文.doc_第5页
免费预览已结束,剩余39页可下载查看

下载本文档

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

文档简介

1绪论1.1 课题研究的意义和目的1.1.1研究意义在工业生产和日常生活中,对温度控制系统的要求,主要是保证温度在一定温度范围内变化,稳定性好,不振荡,对系统的快速性要求不高。对于一般火力电厂使用的发电机组通过燃煤产生动力,我们需要将燃煤产生的烟进行处理,静电除尘器就是处理这种烟的一个很重要的方法。这里将对静电除尘器的温度控制系统进行设计。1.1.2研究目的由于火电厂排放的大气污染物对环境的污染越来越严重,所以对火力发电厂产生的烟气要通过除尘后才能排放到大气中。静电除尘是一种最简单最方便的方法之一,为了能让静电除尘器的使用效率能够更高的表现出来,所以对静电除尘器周围的温度进行控制。所以我们研究静电除尘器的温度控制。1.2 毕业设计任务与要求毕业设计的任务是将温度传感器采集的信号经a/d转换传送给at89s51单片机的处理将输出的信号通过变频器或者通过变换电机的外接电阻控制电机的转速。达到控制燃料的进给量,进而控制产生烟气的温度,保证静电除尘器的正常使用。毕业设计的要求是利用at89s51单片机来控制静电除尘器的温度(温度范围为140160)。1.3 毕业设计总体设计方案1.3.1 课题的总体设计及思路通过热敏电阻传感器检测烟气的温度,通过滤波电路和放大电路让采集的信号放大一定的被数在通过a/d转换将产生的模拟信号变换成数据信号传送到单片机内,经过处理信号直接控制变频器的频率,从而控制给料机的转速来间接控制烟气的温度,进而得到静电除尘器所需要的温度。静电除尘器所在环境为150时其工作效率最高。1.3.2硬件方框图设计中由温度传感器采集温度,将采集的信号分别经过信号放大、滤波后在经过a/d转换后将信号传送给at89s51单片机,在经过电机调节电路控制电机的转速来控制温度,使其满足我们的要求。硬件框图如1-1所示。uuui传感器放大滤波电机转速调节电路图 1-1硬件框图单片机处理信号 2温度控制系统的硬件设计2.1 主电路图的设计 主电路图的总体方案如图2-1所示。显示器键盘时钟电路复位电路电源at89s51单片机a/d转换器放大电路外部控制电路传感器采集信号图2-1 主电路图框图2.2各个电路的设计2.2.1信号采集电路的设计如图2-2所示是设计中热敏电阻测量原理电路,由电源、电阻电桥、运放和输出四部分组成。电源部分包括r4、r6、c1、u1b。r4、r6为分压电路,c1主要滤除vcc中的纹波,u1b为lm324运算放大器,工作于电压更随方式,其特点是输入阻抗高、输出阻抗低,为后级电桥提供稳定的电流。电桥由r1、r2、r3、r13组成,当外界温度发生变化时,通过调节r13使电路产生补偿电压,属于电位补偿。运放电路由r7、r8、r9、r10及u1a组成,这是一种灵敏度较高的电桥放大电路,放大倍数由r9/r8得到。输出电阻由r4、r12、r14、d1组成,调节r14可以调整输出电压幅度。d1主要用于防止输出负电压,保护后级a/d电路。图2-2信号采集电路2.2.2复位电路简单的说,单片机的复位就和计算机的重启是一样的概念。任何单片机在工作之前都要有个复位的过程,复位对单片机来说,是程序还没有开始执行,是在做准备工作。一般的复位只需要5ms的时间。如何进行复位呢?只要在单片机的rst引脚上加上高电平,就可以了,按上面所说,时间不少于5ms。为了达到这个要求,需要在外部设计复位电路。复位电路的实现可以用多种方法,但是从功能上一般分为两种:一种是电源复位,即外部的复位电路在系统通上电源之后直接使单片机工作,单片机的起停通过电源控制;另一种方法是在复位电路中设计按键开关,通过按键开关触发复位电平,从而控制单片机的复位。和晶振电路一样,复位电路也是单片机系统的典型外部电路。基本的复位电路的原理图如图2-3所示。从原理上说,一般采用高电复位电路。这种复位电路的工作原理是:通电时,电容两端相当于短路,于是rst引脚上为高电平,然后电源通过电阻对电容充电,rst端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作。通用的复位电路的选择可以根据实际的需要而定。对于有丰富电路设计经验的人来说,可以根据自己的实际需要,定制满足实际要求的复位电路。下面给出了一种根据实际需要设计的上电复位电路,如图2-4所示。复位电路由22f的电容和1的电阻及in4148二极管组成。在满足单片机可靠复位的前提下,该复位电路的优点在于降低复位引脚的对地阻抗,可以显著增强单片机复位电路的抗干扰能力。二极管可以实现快速释放电容电量的功能,满足短时间复位的要求。图2-3单片机的复位电路图2-4改进的复位电路2.2.3晶振的选择晶振一般分为晶体振荡器和晶体谐振器。在单片机系统中,晶体振荡器将外围的电容集成到振荡器的内部,无需再设计晶振电路,只需要将电源加载到晶振上,晶振就可以起振,并通过两个引脚的输出到单片机的晶振引脚上。一般的,由于晶体振荡器的体积较大,价格较贵,在实际使用中,还可以选择晶体谐振器,也就是常说的立式晶振。该晶振需要外部的晶振电路才可以起振,但是由于该电路非常简单,并且使用灵活,在单片机系统中也有广泛的应用。当然也有通用的晶振电路。单片机的通用电路是一种典型电路,分为内部时钟方式和外部时钟方式两种。内部时钟方式的电路如图2-5所示。 图2-5单片机的内部晶振电路内部时钟的晶振频率一般选择在4mhz12mhz之间,外接两个谐振电容。该电容的典型值为30pf,但是在实际应用时,需要根据实际起振的情况选择。如果单片机的时钟必须使用某一个外接的时钟信号,就不要外接晶振。由于此时的外接晶振引脚上没有晶振信号输入,内部的时钟电路将停振。这种方式称为外部时钟方式。如图2-6所示给出了两种外部时钟的电路,可以根据不同的单片机型号选择不同的电路。图2-6单片机的外部晶振电路2.2.4显示与键盘电路的设计显示选用的是共阴极七段码led数码管显示。(1)如图2-7所示:共阴极七段码led数码管。图2-7 共阴极七段码led数码管芯片引脚在毕业设计中采用的led数码管用的是共阴极接法,其中led的18号引脚分别接芯片74ls164的ah引脚,用led数码管实现数字显示。图2-8单片机的显示和键盘连接图(2)应用at89s51单片机芯片串行口的方式0的输出方式,在串行口外接移位寄存器74ls164,构成键盘和显示器接口,其硬件接口如图2-8所示(图中只画出三位led静态显示和16个按键,用户根据需要可以扩展)。采用静态显示,软件设计比较简单,节约cpu的资源。2.3传感器的选择2.3.1选择传感器的原则(1)常用的温度检测元件主要有热电偶、热电阻、热敏电阻等。热电偶主要是利用两种不同金属的热电效应,产生接触电势随温度变化而变化,从而达到测温的目的。测量准确,价格适中测温范围宽,线性度较好。但其输出电压受冷端温度影响,需要进行冷端温度补偿,使电路变得复杂。 (2)热敏电阻由金属氧化物或半导体材料制成,灵敏度高、热惰性小、寿命长、价格便宜。但其测量的稳定性和复现性差,测量精度可以满足本文应用1的要求。而且线性度满足,不需要进行查表线性拟合,因此可以选用。 (3)热电阻是利用金属的电阻率随温度变化而变化的特性,将温度量转化成电阻量。其优点是准确度高,稳定性高,性能可靠,热惯性小、复现性好,价格适中。但电阻值与温度是非线性关系,pt100热电阻,当0t850时可用下式表示:其中a=3.908310-3();b=-5.77510-7 ();由此可见,温度越高非线性误差越大,本题目要求温控范围是140170,温度较高。本题也可以选择热电阻传感器。 2.3.2设计中所选择的传感器传感器是指能感受规定的被测量并按照一定的规律转换成可用输出信号的器件或装置。传感器不但应该对被测量敏感,而且还应该具有将其对被测量的响应传送出去的功能。由于电信号最便于远程传输,所以绝大多数传感器的输出是电量的形式。这样,在实际应用中除根据被测量的类别、性质、测量范围及测试现场环境等因素选择合适的传感器外,还要视传感器的独特电气特性设计独特的调理电路。本设计选用的的传感器及技术参数如下:选择热套热电(偶)阻温度传感器 (1)外型结构尺寸如图2-9所示(2)用途与特点适合于蒸汽管道,锅炉及其他对温度,压力,流速有所要求的场合。(3)主要技术指标技术指标电气出口:m201.5,npt1/2连接尺寸:m201.5 npt1/2防护等级:ip65测温范围及允差型号:hr-wzp-01t/ hr-wzp2-01t分度号:pt100测温范围/:-200+500公称压力/mpa:30流速/(m/s):100图 2-9温度传感器pt1002.4 单片机的选择2.4.1 at89s5单片机芯片引脚功能说明本设计中所选择的主单片机芯片为at89s51芯片。at89s5单片机芯片引脚图如图2-11所示。at89s51引脚说明:(1)主电源引脚vss和vcc vss接地。 vcc正常操作时为+5伏电源。图2-11 at89s51芯片引脚图(2)外接晶振引脚xtal1和xtal2。 xtal1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。 xtal2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。(3)控制或与其它电源复用引脚rst/vpd,ale/prog和ea/vpp。 rst/vpd 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位。在vcc掉电期间,此引脚可接上备用电源,由vpd向内部提供备用电源,以保持内部ram中的数据。 ale/prog正常操作时ale的功能是(允许地址锁存)提供并把地址的低字节锁存到外部锁存器,ale引脚以不变的频率(振荡器的频率)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ale脉冲,ale 端可以驱动(吸收或输出电流)八个lsttl电路。对于eprom型单片机,在eprom编程期间,此引脚接收编程脉冲(功能)。 外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。同样可以驱动八lsttl输入。ea/vpp为内部程序存储器和外部程序存储器选择端。当 ea/vpp为高电平时,访问内部程序存储器,当 ea/vpp 为低电平时,则访问外部程序存储器。对于eprom型单片机,在eprom编程期间,此引脚上加eprom编程电源12v(vpp)。2.4.2 at89s51的实物图at89s51的实物图如2-12下所示。图2-12 at89s51单片机实物图2.5 a/d转换电路设计2.5.1 adc0809的引脚及功能说明(1)a/d转换器芯片adc0809简介。8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100s左右。adc0809的引脚图如图2-14所示。(2)adc0809实物图。adc0809单片机芯片的实物图如图2-13所示。图2-13 adc0809实物图2.5.2 adc0809的内部结构adc0809的内部逻辑结构图如图2-15所示。图2-14 adc0809引脚图图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个a/d转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成 表2-1 通道选择表cba被选择的通道000in0001in1010in2011in3100in4101in5110in6111in7对a、b、c 3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,表2-1为通道选择表。 addbaddcaddavccgndin0in4in2in6in1in7in3in5ale8位模拟开关地址锁存与译码eocoea/d转换器dod1d2d3d4d7d6d5三态输出锁存缓冲器图2-15 adc0809内部逻辑结构clksctar2.5.3 信号引脚adc0809芯片为28引脚为双列直插式封装,其引脚排列见图2-16所示。对adc0809主要信号引脚的功能说明如下: in7in0模拟量输入通道。ale地址锁存允许信号。对应ale上跳沿,a、b、c地址状态送入地址锁存器中。start转换启动信号。start上升沿时,复位adc0809;start下降沿时启动芯片,开始进行a/d转换;在a/d转换期间,start应保持低电平。本信号有时简写为st。图 2-16 adc0809引脚图 a、b、c地址线。通道端口选择线,a为低地址,c为高地址,引脚图中为adda,addb和addc。其地址状态与通道对应关系见表2-1。clk时钟信号。dc0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500khz的时钟信号。eoc转换结束信号。eoc=0,正在进行转换;eoc=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。d7d0数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。d0为最低位,d7为最高。oe输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。oe=0,输出数据线呈高阻;oe=1,输出转换得到的数据。vcc电源。vref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5v(vref(+)=+5v, vref(-)=-5v)。2.5.4 at89s51单片机与adc0809的接口adc0809与at89s51单片机的连接如图2-17所示。电路连接主要涉及两个问题。一是8路模拟信号通道的选择,二是a/d转换完成后转换数据的传送。如图2-18所示模拟通道选择信号a、b、c分别接最低三位地址a0、a1、a2即(p0.0、p0.1、p0.2),而地址锁存允许信号ale由p2.0控制,则8路模拟通道的地址为0fef8h0feffh.此外,通道地址选择以作写选通信号,这一部分电路连接如图2-19所示。aleat89s51 int1wrp2.0 rd&a0a7in1in2in3in4in5in6in7in0clk a b cd0 d7eocadc0809staleoe74ls373图2-17 adc0809与at89s51的连接从图中可以看到,把ale信号与start信号接在一起了,这样连接使得在信号的前沿写入(锁存)通道地址,紧接着在其后沿就启动转换。启动a/d转换只需要一条movx指令。在此之前,要将p2.0清零并将最低三位与所选择的通道好像对应的口地址送入数据指针dptr中。例如要选择in0通道时,可采用如下两条指令,即可启动a/d转换:mov dptr , #fe00h ;送入0809的口地址movx dptr , a ;启动a/d转换(in0)注意:此处的a与a/d转换无关,可为任意值。a0a1a2p2.0&abcalestart图2-18 adc0809的驱动alestarta/d启动地址锁存寄存器清“0”图2-19信号的时间配合2.6控制电路及控制方法2.6.1设计中所选择的控制电机转速的方法 在设计中使用的是调节电机的转速来控制燃料的进给量,从而控制燃料产生的烟尘的温度,使得静电除尘器所在环境的温度达到控制,从而可以使静电除尘器在合适的温度下工作,也提高了工作的效率。在设计中使用的电机转速调节的方法为转子电路串电阻调速法。设计中的控制方法使用的是pid控制方法。2.6.2电机的调速方法(1) 普通三相鼠笼式。这种电机只能通过变频器改变电源频率和电压调速(f/u)。(2) 三相绕线式电机,可以通过改变串接在转子线圈上的电阻改变电机的机械特性达到调速的目的。这种方式常 用在吊车上。长时间工作大功率的绕线式电机调速不用电阻串接,因为电阻会消耗大量的电能。通常是串可控硅,通过控制可控硅的导通角控制电流。相当于改变回路中的电阻达到同上效果 。转子的电能经可控硅组整流后,再逆变送回电网。这种方式称为串级调速。配上好的调速控制柜,据说可以和直流电机调速相比美。(3) 多极电机。这种电机有一组或多组绕组。通过改变接在接线合中的绕组引线接法,改变电机极数调速。最常见的4/2极电机用(角/双y)接。(4) 三相整流子电机。这是一种很老式的调速电机,现在很用了。这种电机结构复杂,它的转子和直流电机转子差不多,也有换向器,和电刷。通过机械机构改变电刷相对位置,改变转子组绕组的电动势改变电流而调速。这种电机用的是三相流电,但是,严格上来说,其实它是直流机。原理是有点象串砺直流机。图 2-20 电机的调速电路(5) 滑差调速器。这种方式其实不是改变电机转速。而是改变和是电机轴相连的滑差离合器的离合度,改变离合器输出轴的转速来调速的。还有如,硅油离合器,磁粉离合器,等等,一此离合机械装置和三相电机配套,用来调速的方式。严格上来说不算是三相电机的调还方式。但是很多教材常常把它们算作调速方式和一种。2.6.3 控制电路与的设计设计中使用的电机调速方法是转子电路串电阻调速法。原理接线图2-20所示,从途中可以看出,转子电路串不同的电阻,其中n0(电机的最大理论转速)和tmax不变,但sm随外加电阻的增大而增大,所以可知随着外加电阻的增大电动机的转速降低。而且转子电路串电阻调速简单可靠,但它是有级调速。随这转速降低,特性变软。转子电路电阻上的功率损耗与转差率成正比,低速时损耗大。所以这种调速方法大多使用在重复短期运转的生产机械中。本设计的调速方法可以使用这种方法。2.6.4 pid控制方法的设计在系统中利用单片机作为微控制器,通过adc转换和pid算法,输出模拟量给at89s51的p1断口,以驱动继电器实现对电机的转速的调节。这种软硬件结合的方法,大大提高了整个系统的稳定性和精度。 由于pid控制器具有稳态误差小、动态性能好、控制精度高等特点,所以在温度控制系统中引入数字pid算法,其离散化的表达式为 ui=ui-1+ui+pei+iei+2ei 式中,ui是第i次pid运算输出量,经dac转换后送给温度控制电路;ei=wyi,yi是第次温度采样值,w是设定温度下温度采样的理论值;ei=eiei-1,2ei=eei-1. i、d分别是pid控制器的比例系数、积分系数和微分系数。通过调节这三个参数,可以使得温控系统处于一个控制快速,准确的工作状态。3 软件系统的设计3.1设计思想软件采用模块化结构。软件主要完成如下任务:扫描键盘并按要求调出设定值或输入新的设定值,并判断是否启动,启动时控制电机的电阻的开关处于闭合状态,然后监视温度的变化,当温度超出设定温度值10时,断开控制电机电阻的开关让电机的转速减慢,当温度低于设定温度10时,闭合控制电机电阻的开关。主程序的框图如图3-1所示3.2 键盘显示子程序 在设计中的键盘显示使用的方式是静态显示方式。org 1000hdspser:setb p3.3; 开放显示输出mov r7, #03h ; 送出的显示段码个数mov r0, #7fh ; 7fh7dh为显示缓冲区 dsps1:mov a, r0 ; 取出要显示的数据add a, #0dh ; 加上偏移量movc a, a+pc ; 查段码表tab1mov sbuf, a ; 经过串行口将段码送出dsps2:jnb ti, dsps2 ; 数据发送完?clr tidec r0 ; 指向下一个数据单元djnz r7, dsps1 ; 三个显示器是否全部显示?clr p3.3 ; 三个数据显示完,关闭送显示数据通道retkeys1: mov a,#00h mov sbuf, a ; 扫描键盘全部输出0 ksy0: jnb ti, ksy0 ; 数据发送完?clr tipks1: acall delay1 ; 调用延时20ms子程序,键盘去抖jnb p3.3, pks2; 有键闭合吗?pks2: mov r7, #08h; 不是抖动引起的 mov r6, #0feh ; 判断是哪个键按下? mov r3, #00hnnnnnnyyy开始设堆栈指针工作区清零,送常数开中断调显示子程序减少键?加十处理减十处理置静电除尘器环境温度显示标志正常工作键?以为标志调响应显示子程序静电除尘器的环境温度?温度设置键?增加键?图3-1 主程序框图调键盘分析程序 mov a, r6ksy2: mov sbuf, aksy3: jnb ti, ksy3; 等待串行口发送完clr tijnb p2.4, pkone; 是第一行的某键按下? mov r4, #00h; 第一行有键按下ajmp pks3dely1: mov r3,#228mov r2,#253mov r1,#219loop1: dinz r1,$ dinz r2,loop1 dinz r3,loop1 nop ret3.3 pid 控制子程序设计中所使用的控制方式是pid控制,图3-2所示的是pid控制的流程程序图。pid:mov r2,25h ;设定值u送r2 mov r3,24h ;采样平均值r送r3 lcall cpl1 lcall sum ;求偏差ei(k),存放于r2中 mov 29h,r2 ;本次偏差ei(k)送29h mov r3,27h ;ki送r3 lcall smul ;求得pi mov 30h,r4 ;pi的高字节送30h mov 31h,r5 ;pi的低字节送31h mov r2,29h ;ei(k)送r2 mov r3,2ah ;上次偏差ei(k-1)送r3 lcall cpl1 lcall sum ;求得ei(k)-ei(k-1),存放于r2中 mov r3,26h ;kp送r3 lcall smul ;求得pp,高字节存r4,低字节存r5 mov r2,30h ;pi送r2 r3 mov r3,31h lcall dsum ;求得pi+pp mov 30h,r4 ;结果高字节送30h mov 31h,r5 ;结果低字节送31h mov r2,29h ;本次偏差ei(k)送r2 mov r3,2bh ;上上次偏差ei(k-2)送r3 lcall sum ;求得ei(k)+ei(k-2),存放于r2中 mov r3,2ah ;上次偏差ei(k-1)送r3 lcall cpl1 ;eik-1)取补码 lcall sum ;求得ei(k)+ei(k-2)-ei(k-1),存放于r2中 lcall sum ;求得ei(k)+ei(k-2)-2ei(k-1),存放于r2中 mov r3,28h ;kd送r3 lcall smul ;求得pd,高字节存r4,低字节存r5 mov r2,30h ;取pi+pp mov r3,31h lcall dsum ;求得pi+pp+pd,高字节存r4,低字节存r5 mov r2,2ch ;取上次计算的p(k-1) mov r3,2dh lcall dsum ;求得本次p(k)=pi+pp+pd+p(k-1) mov 2ch,r4 ;结果高字节存2ch mov 2dh,r5 ;结果低字节送2dh mov 2bh,2ah ;e(k-1)送e(k-2) mov 2ah,29h ;ei(k)送ei(k-1) ret 3.4汇编源程序计算ei(k),ui(k)更行ui(k1)计算2 ui(k)更行ui(k1)计算ui(k)更新ui(k1)返回图3-2 pid控制框图初始化 见附录b4 硬件系统与软件系统的调试4.1硬件原理图 见附录a4.2软件调试应用keil软件调试步骤如下:(1)在keil软件中点击projec中的new project新建一个工程文件(2)在工程的子目录中建一个文件,名为text1.asm注:在keil软件中一定要建一个asm类型的文件,此时keil才能识别程序。(3)输入程序,调试。4.3烧录程序把上面经调试无误的程序指令烧录到at89s51芯片中(如图4-1所示),按照电路原理图,在面包板上连接好电路。并在开发系统中反复的调试这个程序,使它运行。观察七段码led显示的数值,以及在不提哦那个的数值下p10、p11、p12口连接的发光二极管是否发光(在这里我使用的是二极管的是否发光代替继电器是否通电)至此,设计任务的目标达到了。图 4-1程序烧录中44附录a 电路原理图附录b 源程序 org 0000h ljmp main org 000bh ljmp t00 org 001bh ljmp t100 org 0030h main:mov r0,#7fh main1:mov r0,#00h djnz r0,main1 mov sp,#60h mov 08h,#32h mov 0fh,#20h mov 10h,#20h mov tmod,#11h mov th0,#0fch mov tl0,#18h setb tr0 setb et0 setb it0 setb ex0 setb ea setb 2fh.4 begin: dis00: mov a,09h mov b,#64h div ab mov 35h,a mov a,b mov b,#0ah div ab mov 36h,a mov 37h,b mov a,43h cjne a,#3ah,out01 mov a,42h cjne a,#98h,out01 mov 42h,#00h mov 43h,#00h lcall samp setb 2fh.1 out01:jnb 2fh.1,out02 lcall filter clr 2fh.1 setb 2fh.2 mov r2,25h mov r3,24h lcall cpl1 lcall sum mov a,r2 cjne a,#01ah,out04 ljmp out05 out04:jc out05 setb p1.2 ljmp out06 out05:mov 26h,#12h mov 27h,#1h mov 28h,#1h lcall pid mov th1,2ch mov tl1,2dh setb tr1 setb et1 ljmp out06 out02: mov a,45h cjne a,#03h,out06 mov a,44h cjne a,#0e8h,out06 mov 44h,#00h mov 45h,#00h mov th1,2ch mov tl1,2dh setb tr1 setb et1 out06: jb 2fh.4,out07 jnb 2fh.2,beg beg: ljmp bejinout07: ; mov 24h,#56h mov r0,24h lcall transf mov 32h,r0 mov 33h,r1 mov 34h,r2 mov 25h,#0ffh mov r0,25h lcall transf mov 35h,r0 mov 36h,r1 mov 37h,r2 clr 2fh.2 clr 2fh.4 ljmp begin t100:clr et1 push acc push b push psw push dph push dpl clr p1.2 pop dpl pop dph pop psw pop b pop acc setb et1 reti key1: mov 30h,#01h mov a,#01h add a,09h mov 09h,a mov a,#00h addc a,13h mov 13h,a ret key2: mov 30h,#02h mov a,#0ah mov b,09h mul ab swap a add a,b swap a mov 09h,a ret key3: mov 30h,#03h clr c mov a,#01h xch a,09h subb a,09h mov 09h,a ret key4: mov 30h,#04h mov 09h,#00h ret t00:clr ea push acc push b push psw push dph push dpl clr rs1 setb rs0 mov th0,#0fch mov tl0,#25h mov dptr,#7fffh mov a,#00h movx dptr,a mov dptr,#9fffh mov a,#0ffh movx dptr,a mov a,r0 mov dptr,#tab movc a,a+dptr mov dptr,#9fffh movx dptr,a mov dptr,#7fffh mov a,r7 movx dptr,a inc r0 rr a mov r7,a cjne r0,#38h,scan mov r0,#32h mov r7,#20h scan:mov a,42h add a,#01h mov 42h,a mov a,43h addc a,#00h mov 43h,a mov a,44h add a,#01h mov 44h,a mov a,45h addc a,#00h mov 45h,a key01: mov dptr,#1fffh mov a,#0feh movx dptr,a jb p1.7,key02 inc 4ah mov a,4ah cjne a,#0ah,key02 mov 4ah,#00h mov a,46h cjne a,#00h,key02 lcall key2 inc 46h key02: jnb p1.7,beck1 mov 46h,#00h beck1: mov a,#0dfh movx dptr,a nop nop jb p1.7,key03 inc r2 inc 4bh mov a,4bh cjne a,#0ffh,loop02 mov 4bh,#00h inc 4ch mov a,4ch subb a,#08h jnc loop03 loop02: cjne r2,#0ah,key03 mov r2,#00h mov a,47h cjne a,#00h,key03 loop03: lcall key1 inc 47h key03: jnb p1.7,beck2 mov 4bh,#00h mov 4ch,#00h mov 47h,#00h beck2: mov a,#0bfh movx dptr,a nop nop jb p1.7,key04 inc r3 inc r5 cjne r5,#0ffh,loop00 mov r5,#00h inc r6 mov a,r6 subb a,#08h jnc loop01 loop00: cjne r3,#08h,key04 mov r3,#00h mov a,48h cjne a,#00h,key04 loop01: lcall key3 inc 48h key04: jnb p1.7,beck3 mov r5,#00h mov r6,#00h mov 48h,#00h beck3: mov a,#7fh movx dptr,a nop nop jb p1.7,t101 inc r4 cjne r4,#0ah,t101 mov r4,#00h mov a,49h cjne a,#00h,t101 lcall key4 inc 49h t101: mov 41h,#00h nop pop dpl pop dp

温馨提示

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

评论

0/150

提交评论