




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.1判断程序,第4章常用控制程序设计,4.4报警程序设计,4.3数据采集系统设计,4.2数据查找技术,4.5电动机、步进电动机接口技术,4.6二进制双字节定点数运算子程序,4.7数字滤波程序,4.8标度变换,4.9非线性补偿,小结,4.1判断程序,4.1.1算术判断程序,4.1.3标志判断程序,4.1.2逻辑判断程序,上一页,下一页,回主页,4.1.1算术判断程序,返回,上一页,下一页,算术判断程序:根据算术运算结果进行判断的程序,回主页,例4-1查找关键字程序。入口条件:在外部RAM3000H3020H的区域中检查关键字ABH。出口条件:找到则将关键字送入累加器A,否则A清零。画出程序流程图,如图4-1所示。,图4-1查找关键字程序流程图,4.1.2逻辑判断程序,逻辑判断程序:根据逻辑关系来确定程序流向的程序。在MCS-51单片机控制系统中,用于逻辑操作类的指令如:ANL,ORL,XRL,RL,RLC,RR,RRC,CPL,CLR,它们与其他的控制转移类指令结合起来就可以构成逻辑判断程序。例4-2电路如图所示。设K1K4表示4个开关,当它们全部都打开时,绿色指示灯亮,表明系统投入正常运行。否则,等待正确指令。,回主页,返回,下一页,上一页,4.1.3标志判断程序,标志判断:根据标志单元或标志位的状态进行判断,以确定程序流向的程序。例4-4设MCS-51系统采用6MHZ晶体,用定时器0产生1ms定时,由P1.3输出2ms方波。解:设定时器T0选择工作方式0,则:(213-X)210-6=110-3X=7692化成十六进制为1E0CH。定时器工作方式控制字:TMOD=00H允许定时器T0中断,回主页,返回,上一页,下一页,返回,上一页,下一页,回主页,程序清单ORG0000HAJMPMAIN;上电转主程序ORG000BH;T0中断入口地址AJMPZDORG2000HMAIN:CLRP1.3MOVTMOD,#00H;T0工作方式0MOVSP,#60HMOVTL0,#0CHMOVTH0,#0F0H;T0置初值SETBET0;允许T0中断SETBEA;CPU开中断SETBTR0;启动T0SJMP$,4.2数据查找技术,4.2.1顺序查找,4.2.2直接查找,上一页,下一页,回主页,4.2.1顺序查找,上一页,下一页,顺序查找是一种最简单的查找方法,对数据表的结构无任何要求,是针对无序排列表格的一种查找方法。查找过程如下:从数据表头开始,依次取出每个记录的关键字,再与待查记录的关键字比较。如果两者相符,那就表明查到了记录。如果整个表查找完毕仍未找到所需记录,则查找失败。这种方法主要用CJNE比较指令,将要查找的关键字放在某RAM单元中,而查找所需的数据表格一般都放在程序存储器ROM中,因此,需要MOVCA,A+PC指令或MOVCA,A+DPTR指令传送数据。顺序查找速度慢。有n个记录组成的表,平均查找次数为(n+1)/2。因此,顺序查找只适用于数据记录个数较少的情况。顺序查表法程序设计方法如下:1置表的起始地址PC或DPTR;2表格的长度存放在某一个寄存器中;3要查找的关键字放在某一内存单元中;4用CJNEA,direct,rel指令进行查找。,回主页,返回,4.2.2直接查找,返回,在微型机数据处理系统中,一般使用的表都是线性的,它是基于多个元素X1、X2、XN的集合,各数据元素的排列方法及占用的存储器单元数量都是一样的。也就是说,要搜索的内容与表格的排列有一定的关系。对于这种关键字与存储地址之间符合某一函数关系的表格,为了提高查找速度,可以丢掉从头至尾逐一进行比较的办法,而是通过函数运算直接求得关键字的所在地址,然后将该地址单元的内容取出即可。所以,有时也将直接查找法称为计算查表法。例如,某微型机控制系统中数据采集点记录的关键字K与存储地地址D之间的函数式为:D=K*M+F(4-2)式中M每个记录的字节数;F数据表(记录)的首地址。采用直接查找法的数据结构应满足下列条件:关键字K与存储地址D之间应满足某个函数式D(K),关键字数值分散性不大;各元素在有序表格中排列的格式及所占用的空间必须一致,而且各元素是严格按顺序排列的,回主页,上一页,下一页,4.3数据采集系统设计,4.3.1系统主要功能,4.3.2硬件结构,上一页,下一页,回主页,4.3.1系统主要功能,下面一个以8031单片机为核心的通用数据采集处理系统的实例。我们着重介绍其中的模数转换部分。4.3.1系统主要功能(1)可实现116通道单端模拟量输入,或者18通道差分输入。输入电压范围10V,分辨率为12位。(2)双通道8位模拟量输出。(3)8路开关量输入(4)8路开关量输出。(5)全双工的串行接口。可直接连显示终端,或与上一级计算机通信。(6)系统配置有8KB的监控程序,能够实现系统自检、输入/输出驱动,还能够开发用户程序。,回主页,返回,上一页,下一页,4.3.2硬件结构,上一页,下一页,MCS-51通用数据采集和处理系统的硬件结构如图4-5所示,回主页,返回,图4-5MCS-51通用数据采集和处理系统硬件框图,4.4报警程序设计,4.4.1微机测控系统中常用的报警方式,4.4.2报警程序的设计技术,上一页,下一页,回主页,返回,4.4.1微机测控系统中常用的报警方式1发光二极管(LED)与白炽灯驱动电路通常LED需要2030mA的驱动电流,因此不能直接由TTL电平驱动,一般采用类似于74LS06或74LS07这样的OC门驱动器。为了能保持报警状态,需要采用一般的锁存器(如74LS273、74LS373、74LS573)或带有锁存器的I/O接口芯片(如Intel8155、8255A),其电路原理如图所示。如果某一路需要报警时,就将该路输出相应的电平即可。如果需要利用白炽灯报警,其驱动电路中就要使用微型继电器或固态继电器。,回主页,2声音报警驱动电路,下一页,上一页,4.4.2报警程序的设计技术,上一页,下一页,传感器与报警参数的具体情况不同,报警程序的设计技术也有所不同,一般有两种设计方法。一种是全软件报警程序,这种方法的基本思想是把温度、压力、速度、成分等被测参数,经传感器、信号调理电路、模/数转换器送到单片机后,再与规定的上、下限值进行比较,根据比较的结果进行报警或处理,整个过程都由软件实现。这种报警程序又分上、下限报警程序以及上、下限报警处理程序。另一类报警程序叫做硬件申请、软件处理报警程序,这种方法的基本思想是报警要求不是利用软件比较法得到的,而是直接由传感器产生的(例如电结点式压力报警装置,当压力高于或低于某一极限值时,结点即闭合,正常时则打开),将这类由传感器产生的开关量信号作为单片机的中断信号,当单片机响应中断后,完成对相应报警的处理,从而便可实现对参数或位置的监测。,回主页,返回,4.5电动机、步进电动机接口技术,4.5.1电动机控制接口,4.5.3步进电动机控制接口技术,4.5.2开环PWM调速系统,上一页,下一页,回主页,4.5.1电动机控制接口,1.直流电动机调速原理直流电动机的转速公式为:式中电动机转速电枢电压;电枢电流;电枢回路总电阻;电动机时间常数。显然,在励磁电压和负载转矩恒定时,电动机转速由电枢电压决定。电枢电压越高,电动机转速就越高;改变电枢电压的极性,就可改变电动机转向。因此,直流电动机的调速可以通过控制电枢电压来实现。,回主页,返回,下一页,上一页,4.5.1电动机控制接口,上一页,下一页,基于以上原理,要用微机输出来改变电动机电枢电压,可采D/A转换方式和PWM脉冲宽度调制方式来实现。其PWM方式最为方便,具有硬件投入少、精度高、抗干扰性能好等优点。其原理如图所示。设Vmax为电动机最大转速,Vmin为最小的转速,为平均转速,则电动机的平均速度为Vd=(VmaxVmin)D式中占空比,。D=t/T,回主页,返回,4.5.2开环PWM调速系统,上一页,下一页,1.开环PWM调速系统原理如图所示,它由五部分组成(1)转速给定部分由人工通过输入设备,将系统要求的给定转速输入微机。(2)脉冲宽度发生器微机根据输入的给定转速,通过程序计算出占空比,产生满足给定的脉冲序列,输出给驱动器。(3)驱动器用以放大计算机输出的脉冲宽度调制信号,通常由放大器或继电器组成,也可由TTL集成电路构成。(4)电子开关用来接通或断开电动机电枢的供电电源,可用晶体管、场效应管、晶闸管等功率器件组成,也可以由继电器控制。(5)电动机执行机构,用以带动被控对象。,回主页,返回,4.5.3步进电动机控制接口技术,步进电动机也是微机测控系统中的一种主要控制元件。它可以直接接收计算机送来的数字信号,不需要进行A/D转换。步进电动机的角位移与控制脉冲精确同步,若将角位移的改变转变为线性位移、位置、体积、流量等物理量的变化,便可实现对它们的控制。步进电动机是一种电脉冲转换成相应的角位移或线位移的电磁机械装置。它具有快速启停、步进精度高、不受电网电压波动和负载变化的影响等特点,广泛应用于需要精确定位的场合。1步进电动机的控制原理典型的步进电动机控制接口,如图所示。主要由步进控制器和功率放大器组成。,回主页,返回,下一页,上一页,(1)步进控制器由缓冲寄存器、环形分配器、控制逻辑及正、反转控制门等到组成。它的作用就是把控制信号变成能够控制步进电动机动作的脉冲序列。(2)功率放大器其作用是把控制器输出的控制脉冲加以放大,以驱动步进电机转动2步进电动机的脉冲序列步进电动机是否转动是由控制绕组中输入脉冲的有无来控制,每步转过的角度和方向由控制绕组中的通电方式决定。所以,步进电动机的脉冲序列就是按系统的控制要求,由微机软件产生的一组时序变化的脉冲组。,回主页,返回,下一页,上一页,上一页,下一页,3脉冲序列的组合形式常用的步进电动机有三相、四相、五相、六相四种,三相步进电动机有三种工作方式:(1)单三拍,通电顺序为ABCA(2)双三拍,通电顺序为ABBCCAAB(3)三相六拍,通电顺序为AABBBCCCAA如果按上述三种通电方式和通电顺序形成控制脉冲序列,则步进电动机正向转动;反之如果通电方向与上述顺序相反,则步进电动机反向转动。例如,在单三拍反相的通电顺序为ACBA,其它两种方式可以此类推。4步进电动机的方向控制方法用微机输出接口的每一位控制一相绕组,例如,用8位单片机控制三相步进电动机时,可用P1.0、P1.1、P1.2分别接至步进电动机的A、B、C三相绕组。单片机按上述控制脉冲序列的形式输出,即可产生相应的控制效果,回主页,返回,上一页,下一页,5步进电动机与MCS-51系列单片机的接口,回主页,返回,上一页,下一页,回主页,返回,步进电动机程序设计步进电动机程序设计的主要任务是:判断旋转方向;按顺序传送控制脉冲;判断所要求的控制步数是否传送完毕。首先要进行旋转方向的判别,然后转到相应的控制程序。正反向控制程序分别按要求的控制顺序输出相应的控制模型,再加上脉宽延时程序即可。下面以三相六拍通电方式来说明这类程序的设计。设R2存放步数;F0H存放转向标志,正转为“0”;20H25H存放正转模型;26H存放正转模型结束标志;27H2CH存放反转模型;2DH存放反转模型结束标志。程序清单为:ORG2100HPUSHACC;保护现场MOVR2,#N;步数送R2CLRCORLC,PSW.5;转向标志送,上一页,下一页,回主页,返回,JCROTE;若为反转,则转ROTEMOVR0,#20H;正转模型始址送R0AJMPNEXTROTE:MOVR0,#27H;反转模型始址送R0NEXT:MOVA,R0;输出控制模型MOVP1,A;送出控制模型ACALLDELAY;延时INCR0;修正模型地址MOVA,#00H;判断送完一遍ORLA,R0JZTPL;送完一遍,则TPLLOOP:DJNZR2,NEXT;步数未送完,则NEXTPOPACC;恢复现场RET,回主页,返回,TPL:MOVA,R0;恢复模型始址CLRCSUBBA,#06HMOVR0,AAJMPLOOPDELAY:MOVR4,#M1;延时DELAY1:MOVA,#M2DELAY2:DECAJNZDELAY2DJNZR4,DELAY1RET,下一页,上一页,4.6二进制无符号双字节定点数运算子程序,4.6.1二进制双字节定点数乘法运算,4.6.2二进制无符号双字节定点数除法运算,上一页,下一页,回主页,返回,上一页,下一页,4.6.1二进制双字节定点数乘法运算无符号双字节乘法子程序QMUL功能:(R2R3)(R6R7)(R4R5R6R7);(R2R3)、(R6R7)改变。使用单元:A,B,R2R7,C,F0程序如下:QMUL:MOVA,R3;(R3)(R7)(BA);(B)为高字节,(A)为低字节MOVB,R7MULAB,XCHA,R7;(R3R7)L(R7)MOVR5,B;(R3R7)H(R5),回主页,MOVB,R2;(R2R7)(BA);(B);为高字节;(A):为低字节MULABADDA,R5;(R3R7)L+(R3R7)H(R4),其中(R3R7)H=(R5)MOVR4,ACLRA;(A)0;(R2R7)H+(C)(R5),其中(R2R7)H=(B)ADDCA,BMOVR5,AMOVA,R6;(R3)(R6)(BA);(B)为高字节,(A)为低字节,返回,上一页,下一页,回主页,MOVB,R3MULABADDA,R4;(R3)(R6)L注=(A)+(R4);注=(R3R7)L+(R3+R7)H(R6)XCHA,R6;(R3)(R6)H注=(B)(A)XCHA,B;原值(R6)(B)ADDCA,R5;(R3)(R6)H注=(A)+(R5)+(C)(R5)MOVR5,AMOVPSW.5,C;(C)(F0)MOVA,R2;(R2)(R6)(BA),其中(R6)=(B),返回,上一页,下一页,回主页,MULABADDA,R5;(R2)(R6)L注=(A)+(R5)(R5)MOVR5,ACLRA;(R2)(R6)H注=(B)本次加进位;(C)+上次加进位(F0)(R4)MOVACC.0,CMOVA,PSW.5ADDCA,BMOVR4,ARET,返回,上一页,下一页,回主页,4.6.2二进制无符号双字节定点数除法运算,返回,上一页,下一页,1.算法无符号除法可由一系列减法和移位操作实现。设除数字长3位,被除数双字长6位,则手算步骤如下。(1)比较被除数高位与除数,若被除数高位大于等于除数,则商位为1,并让被除数高位减去除数形成一个部分余数;否则商为0,不执行减法。(2)把部分余数左移一位,与除数再次比较产生新的商位和部分余数,如此循环直到处理完被除数的所有位。经3次循环运算,最后所得商和余数的字长同除数为单位字长3位。在计算机运算中,一般除数字长为n位,则被除数为双字长2n位,商和余数为单字长n位,计数循环n次。,回主页,4.6.2二进制无符号双字节定点数除法运算,返回,上一页,下一页,2无符号双字节除法子程序NDIV1功能:(R2R3R4R5)(R6R7)(R4R5),余数在(R2R3)中,(R6R7)不变。1)上商采用加1方法:上商0不加1(即无操作),上商1则加1;2)比较操作采用减法,但先不回送差,而是保存在(AR1)中,在判C位表明够减时才回送差;3)在左移时,把移出的最高位保留在(F0)中,如(F0)=1,则被除数(部分余数)有17位,总是16位除数,这时必然执行减法并上商1。,回主页,4.6.2二进制无符号双字节定点数除法运算,返回,上一页,下一页,使用单元:A,B,R2R7,F0,C出口:(F0)=1溢出,R2R3R4R5R6R7内容不变;(F0)=0,商在(R4R5),余数在(R2R3),(R6R7)不变。程序如下:NDIV1:MOVA,R3;先判断是否会发生溢出;若溢出转NDVE1并置位溢出标志F0后出口CLRCSUBBA,R7MOVA,R2SUBBA,R6JNCNDVE1,回主页,返回,上一页,下一页,回主页,MOVB,#16;无溢出,执行除法,位数16送BNDVL1:CLRC;左移一位,最右位移入0MOVA,R5RLCAMOVR5,AMOVA,R4RLCAMOVR4,AMOVA,R3RLCAMOVR3,AXCHA,R2RLCAXCHA,R2,返回,上一页,下一页,回主页,MOVF0,C;移出的最高位保存到F0中CLRC;用减法比较部分余数和除数,差暂存在(R1)中SUBBA,R7MOVR1,AMOVA,R2SUBBA,R6JBF0,NDVM1;若(F0)=1则肯定够减,就转NDVM1回送减法结果并上商JCNDVD1;若(C=1)表明不够减,就转NDVD1不回送减法结果,并上商0;否则顺序执行NDVM1回送差,并上商1,返回,上一页,下一页,回主页,NDVM1:MOVR2,A;回送减法结果MOVA,R1MOVR3,AINCR5;上商1NDVD1:DJNZB,NDVL1;循环16次CLRF0;正常出口RETNDVE1:SETBF0;溢出RET,4.7数字滤波程序,4.7.1程序判断滤波,4.7.3中值滤波,4.7.2限速滤波,上一页,下一页,4.7.4算术平均值滤波,4.7.5滑动平均值滤波,回主页,4.7.1程序判断滤波,程序判断滤波方法是根据对生产工艺机理分析,或者根据现场经验确定两次采样输入信号之间可能出现的最大偏差Y,若超过Y,就表明该输入信号是干扰应该去掉,反之,该信号可用作本次采样值。程序判断滤波根据滤波方法不同,分为限幅滤波和限速滤波。1限幅滤波限幅滤波的算法是把两次相邻的采样值相减,求出其增量取绝对值,然后与两次采样允许的最大差值(由被控对象的实际情况决定)Y进行比较,若小于或等于Y,则取本次采样值;若大于Y,则仍取上次采样值作为本次采样值,即:Y(k1)第(k1)次采样值;Y相邻两次采样值所允许的最大偏差,其大小取决于采样周期T及Y值的变化动态影响。,下一页,返回,回主页,上一页,4.7.2限速滤波,限速滤波的算法是取顺序采样时刻t1,t2,t3所采集的参数Y(1),Y(2),和Y(3),则:若|Y(2)Y(1)|Y时,取Y(2);若|Y(2)Y(1)|Y时,不采用Y(2),将其保留,再采样取得Y(3)若|Y(3)Y(2)|Y时,取Y(3);若|Y(3)Y(2)|Y时,取虽然,限速滤波既照顾采样的实时性,又兼顾到采样值变化的连续性,是一种折衷的方案。其缺点是必须根据现场的情况不断更换新值,同时不能反应采样点数大于3时各采样数值受干扰的情况。实际使用中,可用取代Y。采样值入口地址:Y(1)20H单元;Y(2)21H单元;Y(3)22H单元Y30H单元,回主页,返回,下一页,上一页,4.7.3中值滤波,上一页,下一页,中值滤波的算法为:Y=Y2(Y1Y2Y3所谓中值滤波,就是对某一个被测参数连续采样几次,通常取奇数,如n=3或5,从小到大或从大到小排列选择中间值作为本次采样值。假设采样值从8位A/D输入5次。采样值入口地址:存储单元名称以SAMP为首地址,存储单元为30H34H。采样值出口地址:采样值存于累加器A中。程序流程图如图4-27所示,回主页,返回,上一页,下一页,回主页,返回,图4-27中值滤波程序框图,4.7.4算术平均值滤波,上一页,下一页,算术平均值滤波的算法为:(4-8)式中,第k次N个采样值的算术平均值;X(i)第I次采样值;N采样次数对目标参数进行连续采样,然后求其算术平均值为有效采样值。该运算法适用于抑制随机干扰和周期性干扰。采样次数N越大,平滑效果越好,但系统的灵敏度要下降。为方便求平均值,N一般取4、8、16之类的2的整数幂,以便用移位来代替除法。,回主页,返回,4.7.5滑动平均值滤波,上一页,下一页,算术平均值滤波算法,每取得一个有效采样值必须连续进行若干次采样。当采样速度较慢(如双积分型A/D转换)或目标参数变化较快时,系统的实时性不能得到保证。为了解决这个问题,人们提出了滑动平均值滤波算法,是将本次采样值和过上去的若干个采样值一起求平均
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 神秘传承基础知识点归纳
- 双11光棍节活动策划案
- 河南洛阳商业职业学院招聘笔试真题2024
- 石大学前儿童保育学课件3-4幼儿秋季护理
- 地理(广东专用)2025年中考考前押题最后一卷
- 高中地理必修一《人口的合理容量》教学设计
- 高中语文跨学科教学的课堂管理与互动模式优化
- 2025至2030年中国电动牵引拖车行业投资前景及策略咨询报告
- 2025至2030年中国燃油系统清洗剂行业投资前景及策略咨询报告
- 高中物理跨学科教学的理论基础与实践意义
- 安全生产月活动查找身边安全隐患人人讲安全个个会应急课件
- 湖南炎德·英才大联考长郡中学2025届模拟试卷(一)政治+答案
- 公司主体变更劳动合同补充协议7篇
- 早产儿经口喂养临床实践专家共识(2025)解读
- DB33T 1376-2024乡镇(街道)应急消防管理站建设与运行规范
- 2025年华中科技大学职员招聘考试笔试试题(含答案)
- 无人机吊装作业安全管理
- 工贸培训课件
- 铝合金造型施工方案
- 2025年巷道掘砌工(高级)职业技能鉴定参考试题(附答案)
- 人教版一年级数学下册第六单元 数量间的加减关系标准检测卷(含答案)
评论
0/150
提交评论