<div id="ix56d"></div>

    <progress id="ix56d"><tr id="ix56d"></tr></progress>

    <div id="ix56d"></div>

    <div id="ix56d"><tr id="ix56d"></tr></div>

    <em id="ix56d"><ins id="ix56d"><mark id="ix56d"></mark></ins></em>

      <dl id="ix56d"></dl>

          <div id="ix56d"><ol id="ix56d"></ol></div>
          关闭

          关闭

          关闭

          封号提示

          内容

          首页 第三章 常用控制程序设计-2(完整)

          第三章 常用控制程序设计-2(完整).ppt

          第三章 常用控制程序设计-2(完整)

          简介:本文档为《第三章 常用控制程序设计-2(完整)ppt》,可适用于财会税务领域

          数字滤波程序概述由于工业控制对象的环境比较恶劣干扰源比较多如环境温度、电场及磁场等。因此为了减少对采样值的干扰提高系统的性能一般先对采样值进行数字滤波再进行数据处理和调节控制。所谓数字滤波是通过一定的计算程序对采样信号进行平滑加工提高其有用信号消除或减少各种干扰和噪音?#21592;?#35777;计算机系统的可靠性。概述和模拟滤波装置相比数字滤波有以下几个优点:()数字滤波通过程序实现不需硬件设备系统的可靠性较高。()数字滤波可实现多通道共用。()可对低频信号(如Hz)实现滤波。()采用不同的算法和?#38382;?#23601;可实现对不同信号的滤波使用起来灵活、方便。返回本节程序判?#19979;?#27874;中值滤波算术平均滤波加权平均滤波一?#23383;?#21518;滤波防脉冲干扰平均值法一、程序判?#19979;?#27874;程序判?#19979;?#27874;的方法是根据生产经验确定出两次采样输入信号可能出现的最大偏差△Y若超过此偏差值则表明该输入信号是干扰信号应该去掉若小于此偏差值可将信号作为本次采样值。程序判?#19979;?#27874;既照顾了采样的实时性又照顾了不采样时的连续性是一种折中的方法可用于变化?#19979;?#30340;?#38382;?#22914;温度、液位等可克服由于随机干扰和误检测或者变送器不稳定而引起采样信号的?#29616;?#22833;真。数字滤波方法?限幅滤波|YnYn|≤△Y,则Yn=Yn取本次采样值|YnYn|>△Y,则Yn=Yn舍本次采样?#31561;?#19978;次采样值程序判?#19979;?#27874;分为限幅滤波和限速滤波两种。限幅滤波程序流程框图如图所示。现场保护YnYn≥读YnYn求YnYnYnYn>Y取上次采样?#31561;?#26412;次采样值现场恢复否否是是开始返回限幅滤波程序程序清单:PUSHPSW保护现场PUSHACLRC进位标志位清零MOVDATA,DATAMOVA,DATASUBBA,DATA求YnYnJNCCOMPARE如果YnYn≥,转COMPARECPLA如果YnYn<,求补INCACOMPARE:CLRCSUBBA,LIMIT│YnYn│和△y比较JCOVER如果│YnYn│≤△y,DATA→DATAMOVDATA,DATA如果│YnYn│>△yDATA→DATAOVER:POPA恢复现场POPPSWRET返回限速滤波的滤波原理如下:设在顺序采样时刻T、T、T所采集的数据分别为Y、Y、Y则当∣YY∣≤△y则Y作为采样值∣YY∣>△y则保留Y但不作为采样值继续采样得Y如果∣YY∣≤△y则Y作为采样值∣YY∣>△y则取(YY)作为采样值。中值滤波所谓中值滤波法就是对某一被测?#38382;?#36830;续采样n次(n一般取奇数)然后把n次采样值?#27492;?#24207;排列取其中间值做为本次采样值。中值滤波程序的流程框图如图所示。二、中值滤波所谓中值滤波就是对某一个被测?#38382;?#36830;续采样n次(一般n取奇数,数值不宜太大取~即可)然后把n次的采样值从小到大(或从大到小)排队再取中间值作为本次采样值。采用本程序滤波对于去掉脉动性质的干扰比较?#34892;?#20294;对快速变化过程的?#38382;?#22914;流量)则不宜采用。冒泡法排序冒泡法的排序过程序号数比较遍数冒泡法“冒泡法?#31508;?#19968;种排序算法不?#20146;?#20248;的算法但它易于理解和实?#32622;?#27873;法从第一个元素开?#23478;来?#23545;相邻的两个元素进行比较使前一个元素不大于后一个元素将所?#24615;?#32032;比较完之后最大的元素排到了最后然后除掉最后一个元素之外的元素依上述方法再进行比较得到?#26410;?#30340;元素排在后面如此重复直至完成就实现元素从小到大的排序这需要一个双重循环程序结构movcx,countCX←数组元素个数deccx元素个数减为外循环?#38382;齩utlp:movdx,cxDX←内循环?#38382;齧ovbx,offsetarrayinlp:moval,bx取前一个元素cmpal,bx与后一个元素比较jnanext前一个不大于后一个元素则不进行?#25442;粁chgal,bx否则进行?#25442;籱ovbx,alnext:incbx下一对元素decdxjnzinlp内循环尾loopoutlp外循环尾计数控制双重循环图算术平均滤波程序流程图算术平均滤波程序清单:(本例中取采样?#38382;齨=)PUSHPSW现场保护PUSHAMOVFLAG,#H进位位清零MOVR,DATA设置数据存储区?#23383;稭OVR,#H设置采样数据个数CLRA清累加器LOOP:ADDA,R两数相加JNCNEXT无进位转NEXTINCFLAG有进位进位位加NEXT:INCR数据指针加DJNZR,LOOP未加完继续加MOVR,#H设置循环?#38382;鼶IVIDE:MOVTEMP,A保存累加器中的内容MOVA,FLAG累加结果除CLRCRRCAMOVFLAG,AMOVA,TEMPRRCADJNZR,DIVIDE未结束继续执行MOVSAMP,A保存结果至SAMP中POPA恢复现场POPPSWRET加权平均滤波在算术平均滤波程序中n次采样值在最后的结果中所占的比重是相等的这样虽然消除了随机干扰但有用信号的灵敏度也随之?#26723;汀?#20026;了提高滤波效果将各个采样?#31561;?#19981;同的比重然后再相加求平均值这种方法称为加权平均滤波。一个n项加权平均式为?#21644;?#21152;权平均滤波程序流程图加权平均滤波程序清单:PUSHPSW保护现场PUSHAMOVR,TIME数据个数设置MOVR,DATA数据区?#23383;?#35774;置MOVR,COEFF系数存储?#23383;?#35774;置MOVFLAG,#H累加结果存储区清零MOVSAMPL,#HMOVSAMPH,#HLOOP:MOVA,R读采样值MOVB,AMOVA,R读加权平均系数MULABCLRCADDA,SAMPL累加和MOVSAMPL,AMOVA,BADDCA,SAMPHJNCNEXTINCFLAGNEXT:MOVSAMPH,AINCR数据区地址加INCR系数地址加DJNZR,LOOP未加完继续MOVR,#H设置循环?#38382;鼶IV:CLRCMOVA,FLAG累加结果除RRCAMOVFLAG,AMOVA,SAMPHRRCAMOVSAMPH,AMOVA,SAMPLRRCAMOVSAMPL,ADJNZR,DIV未除完继续MOVSAMP,SAMPL保存滤波后采样值POPA恢复现场POPPSWRET一?#23383;?#21518;滤波程序清单:MOVMULH,COEFFHMOVMULL,COEFFLMOVMULH,DATAHMOVMULH,DATALACALLMULTDMOVBUFF,PRHMOVBUFF,PRLMOVMULH,COEFFHMOVMULL,COEFFLMOVMULH,DATAHMOVMULH,DATALACALLMULTDCLRCMOVA,PRHADDA,BUFFMOVPRH,AMOVA,PRLADDCA,BUFFMOVPRL,A双字节无符号位乘法子程序(MULTD)。入口条件:乘数MUL存于MULH和MULL单元中,被乘数MUL存于MULH和MULL单元?#23567;?#20986;口条件:乘积?#27492;?#24207;存于PRH、PRL、MULH、MULL单元?#23567;ULTD:CLRC清进位标志位MOVPRL,#H乘积高位清零MOVPRH,#HMOVR,#H设置循环?#38382;齃OOP:JNCLOOP进位标志位为零转LOOPMOVA,PRLPRMULADDA,MULLMOVPRL,AMOVA,PRHADDCA,MULHMOVPRH,ALOOP:MOVA,PRHPR右移一位RRCAMOVPRH,AMOVA,PRLRRCAMOVPRL,AMOVA,MULHMUL右移一位RRCAMOVMULH,AMOVA,MULLRRCAMOVMULL,ADJNZR,LOOP循环未结束继续六、复?#19979;?#27874;程序把两种以上的滤波方法结合起来使用。如把中值滤波程序?#36864;?#25968;平均值滤波两种结合起来把n个采样值首先按大小排序然后分别去掉k个最大值和最小值再把剩下的值加起来最后取平均值。即滤波效果a对于变化比?#19979;?#30340;?#38382;?#22914;温度可选用程序判?#19979;?#27874;以及一?#23383;?#21518;滤波方法比较好b对于变化比较快的脉冲?#38382;?#22914;压力、流量等则可选用算术平均和加权平均滤波方法c对于要求比较高的系统可选用复?#19979;?#27874;方法。d在算术平均滤波和加权平均滤波中其滤波效果与所选择的?#38382;齨有关n越大则效果越好但花费时间也越长。滤波时间在考虑滤波效果的前提下尽量采用执行时间比较短的程序如果时间?#24066;?#21017;可采用更好的复?#19979;?#27874;程序。注意并不是在任何一个系统中都需要进行数字滤波!七、各种滤波方法的比较数字滤波程序设计用复?#19979;?#27874;方法将上节中号退火炉的个温度采样值(起始存放地址为H:)进行滤波并存入SAMP单元。程序设计将个数据从小到大排序去掉一个最大值和一个最小值求剩下个数的算术平均值。DOSSEG采用DOS简化段定义MODELMIDUMDATASAMPDB定义滤波结果单元CNTEQU共个数CODESTART:MOVAX,H指向采样数据段MOVDS,AXMOVBX,CNT置外循环?#38382;齃P:MOVSI,指向采样数据首地址MOVCX,BX置内循环?#38382;齃P:MOVAL,SI相邻两数据比较CMPAL,SIJBBIG大于转BIGXCHGAL,SI小于两数?#25442;籜CHGAL,SIBIG:INCSI调整指针LOOPLP本?#27835;?#27604;较完转LPDECBXJNZLP未全部比较完转LPMOVCX,CNT去掉最大最小值并求和存AXLEASI,MOVAX,MOVBH,LP:MOVBL,SIADDAX,BXINCSILOOPLPMOVCL,CNT求平均值存CLDIVCLMOVCL,ALMOVAX,DATA存入SAMP单元MOVDS,AXMOVSAMP,CLMOVAX,CH程序结束返回DOSINTHENDSTART防脉冲干扰平均值法图防脉冲干扰平均值法程序流程框图防脉冲干扰平均值法程序清单:PUSHA保护现场PUSHPSWSORT:MOVR,DATA数据存储区单元?#23383;稭OVR,#H读比较?#38382;鼵LRCHANGE清?#25442;?#26631;志位LOOP:MOVA,R取第一个数MOVFIRST,A保存第一个数INCRMOVSECOND,R保存第二个数CLRCSUBBA,R两数比较JCNEXT第一数小于第二数不?#25442;籑OVR,FIRSTDECRMOVR,SECOND?#25442;?#20004;数INCRSETBCHANGE置?#25442;?#26631;志位NEXT:DJNZR,LOOP进行下一次比较JBCHANGE,SORT进行下一轮比较MOVFLAG,#H进位位清零INCDATA去掉最小值MOVR,DATA设置数据存储区?#23383;稭OVR,#H设置累加循环?#38382;?#21435;掉最大值CLRA清累加器LOOP:ADDA,R两数相加JNCNEXT无进位转NEXTINCFLAG有进位进位位加NEXT:INCR数据指针加DJNZR,LOOP未加完继续加MOVR,#H设置循环?#38382;鼶IVIDE:MOVTEMP,A保存累加器中的内容MOVA,FLAG累加结果除CLRCRRCAMOVFLAG,AMOVA,TEMPRRCADJNZR,DIVIDE未结束继续执行MOVSAMP,A保存结果至SAMP中POPA恢复现场POPPSWRET标度变换程序线性标度变换AmAAXNNXNm如果被测?#38382;?#30340;起点A(输入信号为)所对应的AD转换值为即N=这样式()化简为:DOSSEG采用DOS简化段定义MODELSMALLSTACKHDATAAMDW测量仪表上限ADW测量仪表下限NMDWAD转换上限NDWAD转换下限NXDW实际AD转换值MXDW实际温度CODESTART:MOVAX,DATAMOVDS,AXMOVAX,AM计算AmASUBAX,AMOVBX,NX计算NxNSUBBX,NMULBX计算(AmA)*(NxN)MOVBX,NM计算NmNSUBBX,NDIVBX计算(AmA)*(NxN)(NmN)ADDAX,A计算(AmA)*(NxN)(NmN)ACALLHEXBCD调二进制转十进制子程序MOVMX,AX存标度变换结果MOVAX,CHINTH非线性?#38382;?#26631;度变换例:?#20849;?#27969;量计其流量与差压的公式为所得的流量测量的标度变换公式:对于流量测量仪表一般下限均取零此时G=N=:整数开方的计算方法令被开方数N=n则被开方数的近似计算公式:非线性补偿在模拟仪表中常用的校正及线性化方法有凸轮机构及曲线板(如在流量测量仪表中)非线性电位计(如对数或指数电位器)二极管阵列(如用多个二极管组成开方器)运算放大器(如各种对数、指数、三角函数运算放大器等)非线性补偿线性插值法将?#20204;?#32447;按一定要求分成若干段然后把相邻两分段点用直线连接起来(如图?#34892;?#32447;所示)用此直线代替各段的曲线即可求出输入值X所对应的输出值y图分段线性插值法yiyiynxxnxixxiyyxyxyunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknown非线性补偿应用举例其线性化处理程序P~上、下限报警程序报警程序的设计是比较简单的它主要是采用比较法把采样并经数字滤波以及标度变换后的被测?#38382;?#20540;与给定的上下限值进行比较如果大于上限或者小于下限则输出报警信号或进行自动处理。某温度?#19981;?#26816;测系统共有个回路每个回?#33539;?#26377;一个上限和下限报警值分别为XMAXi和XMINi。采用顺序比较法即首先取出#炉的上限报警值XMAX进行比较如果X≥XMAX则转#炉上限报警否则再检查X是否小于下限报警值XMIN如果X<XMIN则转下限报警。#炉上下限报警处理完毕或无报警再转#炉报警处理其方法与#炉相同如此下去直到把四个炉子全部处理完?#25103;?#22238;主程序。举例:上限报警显示下限报警显示上限((b)下限#图报警显示接口电路图(((上限下限报警显示((((((((((((#DDDDDDD(a)#报警显示上限下限#D#下限报警#下限报警#上限报警~HCSVPAPAPAunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownIORIRQLSIN···ININ煤气···#炉#炉#炉···LSMHzCPQQQQ数据总线D···DCLOCKADC图用微型机实现?#19981;?#26816;测原理图IOW~H热电偶AAA变送器EOCALESTARTOED···DABCunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknown报警程序流图(图)N调报警处理子程序调整指针DI开始YXi>XmaxiN调报警处理子程序N结束全部报警处理完?CL=?YXi<Xmini调整指针DI,SIY初始化采样值?#23383;?SI报警值?#23383;?DI取Xi数码管显示程序LED数码管显示原理图LED数码管管?#25490;?#32622;图(a) 共阴极(b) 共阳极图两类LED数码管七?#38382;?#30721;显示数字、字母和符号(a对应最低位g对应最高位)静态显示一、软件查表法用软件的显示不需译码器,而直接将数码管经锁存器和CPU相连。一般发光二极管和驱动器的压降为V左右若限定发光二极管的电流为mA?#26082;?#20214;译码显示电路PBVPB((((PALS(((PAunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknown***************根据CHECK配置信息修改下列符号值*******************IOYEQUdH片选IOY对应的端口始地址*****************************************************************MYAEQUIOYH*的A口地址MYBEQUIOYH*的B口地址MYCEQUIOYH*的C口地址MYMODEEQUIOYH*的控制寄存器地址STACKSEGMENTSTACKDWhDUP()STACKENDSDATASEGMENTSAMPDW实际温度TABLEDBH,H,H,H,H定义~显示字模DBH,H,H,H,HDATAENDSSTARTPROCFAR标准程序头PUSHDSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVDX,MYMODEA、B口方式输出MOVAL,HOUTDX,ALLEABX,TABLEBX指向字模存放表头MOVAL,SAMP取显示字符高位“”MOVCL,SHRAL,CLXLAT查表获得显示字模MOVDX,MYAA口输出显示字符高位OUTDX,ALMOVAL,SAMP取显示字符低位“”ANDAL,FHXLAT查表获得显示字模MOVDX,MYBB口输出显示字符高位OUTDX,ALRET返回DOSSTARTENDPCODEENDSENDSTART二、硬件译码法由硬件译码器代替软件查表求出显示字模“”的输出显示程序:MOVAL,HMOVDX,HOUTDX,AL节省CPU用于显示的时间但硬件开销较大LS段共阳LED数码管BCD码译码器驱动器DVAB?#21152;?#20214;译码显示电路共阳LEDALSLSgBfe共阳LEDdCPAPAcPAbaPAPAPACDPAPAgfedcbaunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknown动态显示动态显示是利用扫描的方法不断对每一位LED数码管?#26469;?#36827;行显示驱动。优点:硬件开销小、成本低、适合多位LED数码管显示。缺点:由于扫描占用了大量CPU的时间使软件开销过大。输入输出口扩展技术简单IO口扩展可编程IO口扩展返回本章首页?#25216;?#21333;IO扩展接口并行口扩展IO口采用位三态缓冲器LS组成输入口采用D锁存器LSLSLS等组成输出口一、共阴LED数码管显示显示程序由拆字程序和循环显示程序组成。P图共阴极LED硬件电?#26041;?#27861;(D~DLSLSV~DD位锁存地址H段锁存地址H~DDLSLSQQhgfedcbaQQQQLEDQQQQQQQQLEDunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknown二、共阳LED数码管显示图共阳极LED硬件电?#26041;?#27861;D~D···QQ段锁存地址H位锁存地址H~DDLSLSLEDhgfedcbaLS~DDVQQQQQQD~DLEDunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownMODELSMALLDATASEGPORTEQUH定义段锁存地址DIGPORTEQUH定义位锁存地址SAMPDBH,ABH,FH定义位显示数据SMPOFFDBDUP()定义显示偏移缓冲区TABLEDBFH,H,BH,FH,H,DH,DH,HDBFH,H,H,CH,H,EH,H,HCODESTARTPROCFARPUSHDSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AXLEADI,SAMPLEASI,SMPOFFMOVCH,LP:MOVAL,DI拆字程序:将位显示数据拆成偏移量MOVCL,存?#36739;?#31034;偏移缓冲区SHRAL,CLMOVSI,ALINCSIMOVAL,DIANDAL,FHMOVSI,ALINCSIINCDIDECCHJNZLPLP:MOVAH,显示程序:将“ABF”在位LED数码管显示LEABX,TABLELEASI,SMPOFFLP:MOVDX,SEGPORTMOVAL,SIXLATOUTDX,ALMOVAL,AHMOVDX,DIGPORTOUTDX,ALCALLDLYINCSISHLAH,CMPAH,HJNELPMOVAH,BHDOS功能调用按任一键程序退出INTH出口?#38382;鼳L有键FFH无键HINCALJZLPJMPRPLP:RET返回DOSSTARTENDPDLYPROCNEAR延时子程序MOVCX,LP:NOPLOOPLPRETDLYENDPENDSTART***************根据CHECK配置信息修改下列符号值*******************IOYEQUdH片选IOY对应的端口始地址*****************************************************************MYAEQUIOYH*的A口地址MYBEQUIOYH*的B口地址MYCEQUIOYH*的C口地址MYMODEEQUIOYH*的控制寄存器地址STACKSEGMENTSTACKDWhDUP()STACKENDSDATASEGMENTSAMPDW要显示的数据SMPOFFDBDUP()DTABLEDBFH,H,BH,FH,H,DH,DH,HDBFH,H,H,CH,H,EH,H,HDATAENDSODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX键处理程序对非编码键盘主要是用软件扫描的办法进行编码。以×非编码键盘为例:键盘扫描程序的一般先行扫描即?#26469;问?#21508;行为低电平然后分别读出列数据并检查是否有键按下则找出该键的位置并计算其编码然后转入该功能键的入口程序地址。若无键按下则进行下一步的扫描直到八行全?#32771;?#26597;完为止若都无键按下则返回。连接的键盘接口电路图中PB~PB为行扫描锁存器的输出经八个反相器分别与X~X相连接。列数据的读入由PA~PA进行控制。XY的每一个交点设置一个键其编号、……。图非编码盘与CPU的接口电路VXXXXXXXXPAPAPAPAPAPAPAPAPBPBPBPBPBPBPBPBYYYYYYYYunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknownunknown一、扫描键值的确定、判断是否有键按下CPU?#26469;问筙~X为低电平其代码分别为X(H)X(H)X(H)X(H)X(H)X(H)X(H)X(H)然后由三态门读出列线Y~Y的?#31561;?#26080;键按下为FFH否则不等于FFH由此可判断是否有键按下。、求十进制键值分别设一个行值寄存器BL和列值寄存器BH?#21487;?#23436;一行后如果此行无键按下则行寄存器加否则不加而转到求列值。求列值的方法是将列值读数右移每移一次列值寄存器加直到有键按下为止(低电平表示有键按下)最后把行值和列值相加并进行DAA修正即可得到所求键值。二、功能键入口地址的确定对数字键就是要把该键值直接送?#36739;?#31034;缓冲区进行显示。对功能键则是?#19994;?#35813;键处理程序入口地址并转去执行。键全译码键扫描程序和功能键处理(功能键散转法)框图如图所示其程序程序P。键扫描及编码程序求功能键地址程序键值寄存器BLBH清零读取键值N输出使所?#34892;?#20026;零是功能键吗NY有键按下吗?数字键送显示求偏移量Y延时毫秒偏移量×N有键按下吗?取功能键转移?#23383;穀输出使Xi为低电平列键值BH求功能键转?#39057;?#22336;Y此行有键按下吗?列读数右移一位转?#36739;?#24212;地址NN行键值寄存器BLCF=Y求下一行为低电平模型计算键值BLBH转转……转NCCSCCSCCS各行均扫描完吗?存键值Y返回用户程序转求功能键地址程序?#25216;?#25195;描、编码及功能键地址转移程序框图DATASENMENTINRDB存放键值单元DATAENDSCODESEGMENTASSUMECS:CODEDS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,HA口方式输入B口方式输出MOVDX,HOUTDX,ALXORBX,BX行键值BL=,列键值BH=MOVAL,FFHB口输出全“”各行全“”MOVDX,HOUTDX,ALMOVDX,HA口输入全“”无键按下转DONEINAL,DXCPMAL,FFHJEDONECALLDELAYA口输入非全“”有键按下调延时MOVDX,HA口输入全“”无键按下转DONEINAL,DXCPMAL,FFHJEDONEMOVCL,H有键按下从第一行开始查找K:MOVAL,CL使某行为“”MOVDX,HOUTDX,ALMOVDX,H若某列为“”INAL,DXCPMAL,FFHJNEKMOVAL,BL该行无键按下行键值加ADDAL,DAAMOVBL,ALSHLCL,准备查找下一行CMPCL,所?#34892;?#26410;查找完转KJNEKK:INCBH该行有键按下列键值加SHRAL,列键移入CFJNAEKCF=该列无键按下转KMOVAL,BLCF=该列有键按下ADDAL,BH键值=行键值列键值DAAMOVDI,OFFSETINR存键值MOVDI,ALJMPKEYADR转键处理程序DELAY:MOVCH,延时子程序DL:MOVCL,DL:DECCLJNZDLDECCHJNZDLRETDONE:MOVAX,CH无键按下返回INTHKEYADR:MOVAL,INR取键值CMPAL,H~数字键转显示JBDISPLAYSUBAL,H功能键减去数字键形成功能键偏移值LEASI,JMPTAB指向功能键散转首地址MOVAH,功能键偏移值?#21015;?#25104;散转偏?#39057;?#22336;MOVBX,AXADDAX,AXADDAX,BXADDSI,AX形成功能键散转地址JMPSIJMPTAB:JMPCCS转功能键处理程序JMPCCS转功能键处理程序JMPCCSJMPCCSJMPCCSJMPCCSJMPCCSJMPCCS转功能键处理程序CODEENDSENDSTART和微机的连接非常简单其接口电路的一般连接方法如图所示。图通过扩展的键盘接口电路可编程键盘LED接口芯片当有键按下时内部由硬件自动生成一个与之相应的代码编码的格式如表所示。图?#23567;?#38190;盘的键值如表所示。返回本节

          用户评价(0)

          关闭

          新课改视野下建构高中语文教学实验成果报告(32KB)

          抱歉,积分不足下载失败,请稍后再试!

          提示

          试读已结束,如需要继续阅读或者下载,敬请购买!

          评分:

          /79

          ¥20.0

          立即购买

          立即扫码关注

          爱问共享资料微信公众号

          返回
          顶部

          举报
          资料

          澳门银座时时彩平台

            <div id="ix56d"></div>

            <progress id="ix56d"><tr id="ix56d"></tr></progress>

            <div id="ix56d"></div>

            <div id="ix56d"><tr id="ix56d"></tr></div>

            <em id="ix56d"><ins id="ix56d"><mark id="ix56d"></mark></ins></em>

              <dl id="ix56d"></dl>

                  <div id="ix56d"><ol id="ix56d"></ol></div>

                    <div id="ix56d"></div>

                    <progress id="ix56d"><tr id="ix56d"></tr></progress>

                    <div id="ix56d"></div>

                    <div id="ix56d"><tr id="ix56d"></tr></div>

                    <em id="ix56d"><ins id="ix56d"><mark id="ix56d"></mark></ins></em>

                      <dl id="ix56d"></dl>

                          <div id="ix56d"><ol id="ix56d"></ol></div>