收藏 分销(赏)

上海理工大学 过程装备控制技术及应用 指令系统2 数据移位和数据转换指令等.pdf

上传人:曲**** 文档编号:565367 上传时间:2023-12-25 格式:PDF 页数:134 大小:17.87MB
下载 相关 举报
上海理工大学 过程装备控制技术及应用 指令系统2 数据移位和数据转换指令等.pdf_第1页
第1页 / 共134页
上海理工大学 过程装备控制技术及应用 指令系统2 数据移位和数据转换指令等.pdf_第2页
第2页 / 共134页
上海理工大学 过程装备控制技术及应用 指令系统2 数据移位和数据转换指令等.pdf_第3页
第3页 / 共134页
上海理工大学 过程装备控制技术及应用 指令系统2 数据移位和数据转换指令等.pdf_第4页
第4页 / 共134页
上海理工大学 过程装备控制技术及应用 指令系统2 数据移位和数据转换指令等.pdf_第5页
第5页 / 共134页
点击查看更多>>
资源描述

1、数据移位和数据转换指令数据运算指令4 0i子程序控制指令高速计数器控制指令山i数据移位与数据转换指令指令尸-.*(:*S*y*l 3*M4 A,*口广、:,RA 2.A|r K 1 r号j数据移位指令,:1:.J:,L数据转换指令04 r A4.)V a M r 产、1.移位寄存器指令SFT(10)st:移位开始通道SFT(10)货而5 St SPp-E d-1 E:移位结束通道I N:数据输入端R:复位端SP:移位脉冲输入端功当复位端R为OFF时,在SP端移位脉冲的 作用下,I N端的数据被移入移位寄存器。在移位脉冲的作用下,移位寄存器中的数 据以位为单位依次向左移一1位。5周移位寄存器指令

2、SFT的用法在移位脉冲作用下,St到E中的数据左移过程。丢失 EstvvvuuvuuvvuuuuuuI N复位端R为ON时,St到E所有通道 均复位为零,且移位指令不执行。没有移位脉冲时不执行移位。移位寄存器具有保持功能。SPRI N端 数据6冏移位寄存器指令SFT的语句表 图示梯形图的语句表如下7周移位接触器的工作时序25502 _m_pi_TLjiLj3Li_rn _00000 _n I 00001,20000 _I-20001 _20002 _20003-20004 _rn20000的ON状态,在200通道内依次向左移动。2o o e e (8周分析程序的功能25315使移位寄存器上电复

3、凉00000的状态作为输入数据00001 ON可使寄存器200复位25502的秒脉冲作为移位脉冲第一个移位脉冲输入后,00000的ON状态移入20000。经过4个移位脉冲20003 ON,于是01000 ON。_第五个移位脉冲时20003 OFF,于是01000也OFF。移位过程中,只要00001为ON,移位寄存器即复位。E 9图2.可逆移位寄存器指令SFTR(84)功能当执行条件为ON时,根据控制通道C的内容,在St 后通道内,执行左移或右移位操作。10囹可逆移位寄存器的用法控制通道C的含义|15|不使用|u移位行1:左移(低一高)0:右移(图一低)-数据输入-移位脉冲输入-复位1:StE及

4、CY清零0:根据C的状态移位左、右移位的控制 一|SFTR(84)1通道C之bit 15为0时,在移位脉冲的作用下;根据C之bit 12的状态进行左移或右移。|I E IO C之bit 12为1左移:每个扫描周期,从St到|航箕E按位依次左移一位,C之bitl 3的数据移入St之bit 0中,E之bitl 5的数据移入CY中。O C之bit 12为0右移:每个扫描周期,从E到St按位依次右移一位,C之bitl 3的数据移入E之bitl 5中,St之bitO的数据移入CY中0在执行条件为OFF时停止工作。此时若C之bitl 5为1,St到E及CY仍保持原状态不变。12周使用可逆移位寄存器举例LD

5、OUTLDOUTLDDI FU(13)LDOUTLDOUTLD00000 20012 00001 2001300002 20100 20100 2001400003 20015 00004SFTR(84)200LR10LR1113图程序功能分析当00004为ON时,开始执 行移位操作。200的bitl 2 bitl 5的状态是 由00000 00003控制的。若000010N,则20013为 1,即输入数据为1;若000010FF,则 20013为 0,即输入数据为0。每当 00002 OFF-ON 时,20014都会ON一个扫描周 期,形成移位脉冲。00000II00001II00002-I

6、I20100II00003II00004执行条件结束通道逝弓)移位方向20014)移位脉冲数据输入DI FU(13)20100yy14周(续)若直接以00002作为移位脉冲 因为当00002为ON时,每个 扫描周期都要执行一次移位 这将造成移位失控。,若000030N,则200150N,LR10 LR11 及 CY 位清 0若000030FF-20015 OFF,此时根据20012的状态执行移 位操作。15周(续)若20012 ON执行左移位:每当 000020FF-ON 时,LR10 LR11中的数据按位 依次左移一位。20013的状 态进入LR1000,LR1115 的数据进入CY。CY-

7、HR1115 HR1100 HR1015 HR1000 20013161(续)若20012 OFF执行右移位:每当 000020FF ON时,LR10 LR11中的数据按位 依次右移一位。20013的状 态进入LRU15,LR1000 的数据进入CY。20013 HR1100 PHR1015HR1000 口 CY117周3.数字左/右移指令SLD(25)/ASR(26)算术左/右移位指令的功能和使用方法相似 以算术左移指令为例,介绍它们的功能和使用方法SLD(74)|slD(74)st ste i1st:移位首通道E:移位结束通道功能:当执行条件为ON时,执行指令将StE中的数 据以数字为单位

8、依次左移位1位。如下图:Est4.算术左佑移位指令ASL(25)/ASR(26)算术左/右移位指令的功能和使用方法相似 以算术左移指令为例,介绍它们的功能和使用方法A3 ASLC Ch是移位通道号 Ch Ch-功能|当执行条件为ON时,执行指令将Ch中的数据以位为|单依次左移1位。最高位移入CY。如下图:_Ch_CY I I I I|I I I I I I I I I I I I19囹5.循环左/右移位指令ROL(27)/ROR(28)循环左佑移位指令的功能和使用方法相板 以循环左移指令为例,介绍它们的功能和使用方法ROL(27)-RL(27)c h是移位通道号Ch Ch-功能|当执行条件为O

9、N时,将Ch及CY中的数据以位为单|依次循环左移位1位。下图:I I I I I I I I I I I I I I I lCY H1-1 2ol当 00000 OFFON 时使用指令ROL举例写语句表、分析程序功能执行一次指令ROL使HR00循环左移一次执行一次指令MOVLD 00000ROL(27)HR00 MOV(21)HR00:010将HR00的数据传送到010 通道中去。END(01)2(续)设HROO中的数据如下(设CY=0)22座 执行ROL/ROR指令时应注意的问题由于程序扫描到END时,CY等标志位将被清零。在下个扫描周期执行ROL时,仍需要CY位参 与移位或运算,这时会出现

10、错误。为了解决该问题,需设置保存CY状态的程序23囹保存CY状态的程序(续)具有保存CY状态的程序的分析若某扫描周期使CY=L则25504 ON-HR0100 ON下个扫描周期执行程序时,由于HR0100 0N,则执行 指令STC 一 CY位置L这样,在本扫描周期执行 ROL指令时,CY的状态就是正确的了。类似这样的问题,编程时务必引起注意。25囹6.字移位指令WSFT(16)/WSFT(16)WSFT(16)WSFT(16)WSFT(16)WSFT(16StStStStEEEESt:移位开始通道号 E:结束通道功能:当执行条件为ON时,将5b后中的内容以字为 单位依次左移1位。如下图:丢失E

11、 St+1 I I St I 000026囹7.异步移位寄存器指令ASFT/ASFTC:控制数据 St:移位开始通道 E:结果通道C的含义 C|1苗1?|13|为 0|I移位方向:上移 1T下移是否允许移位:0不允许 1允许指令功能|是否复位:0-正常操作1-复位当执行条件为ON时,将数据为0000的通道与相邻通道 进行数据交换。执行指令ASFT时数据交换的规则相邻两通道数据都为0000,不交换。上移:数据为0000的通道与相邻高地址通道交换。下移:数据为0000的通道与相邻低地址通道交换。执行指令ASFT,可以把数据为0000的通道集中 到数据区的上半部分或下半部分。28囹使用指令ASFT举

12、例DMOOOO执行前执行后00000000DM00010000X507ADM0002507A0000DM00032B682B68DM00040000X0234DM000502340000DM000651475147DM000700000000第一次移位29囹数据移位指令小结1.要根据需要,选择合适的数据移位指令。是需要建立移位寄存器、还是要按位移位、按数 字移位或按字移位。是需要作单向移位、循环移位、还是异步移位。是需要作左移位还是右移位。2.当需要标志位CY参与移位时,有时需票编程保存 CY的状态。3.注意执行各种指令后对标志位的影响。30周j*i,-*-Idl1:”,.”,*产,Aj,”产

13、,bj-PK-or,了j-b,y-,h1-,?一灯 1,潞淳确或燎寇磁强储然确带降f*”尸d 千4小.1 J,44”工,于亦.1 J”S4A 尸 L J 1 J.bj.J.*、1不广+-1*_ c _KJ。叫;.什:,1协:i F:,J:“3I f:,F,*kfbf*vz4-Cr|*.,卜,+姓1 号加的士tsrfl?!&y WktidHtSrfl?!&y“它忆内,|Zm.,phK5(鬼吩“1行:C、Ucq J,,I f :C ;1Pm.I r:4 I Q r,叶,切/不田匕,/4 八,八 M.,,(A,1、“、*A/,八 J,1 9“、4 ya 入 F*i-fi,4A/冷,J A,WU.!.

14、2、1厂、.,.2,e r A.”.If 厂辛小;;c 蜓段-.X.r*l,r,Q,1 v*,、R a*J 什 wU.yu/山产出A Jf U?a产出上-F r*reH A/*K-n-3 JllrT上.孙T 下卜勤3-S.,Lil一:件为白8曲5唱钟书工濡曲玄蟾2.、可,i,r(j,i、4*,sa,*/上.14,i,”&4*”J 尸 4-于法 J【。3.2、2*7*户*7*f A、=.*、r*rf E +4t*R 殳 4 2 A 1 海:y谟崂喘器蟒嗨院京3于法,、一!._ 一 E-F,*,_、一一-1 r*产k*4*4.8,e,什,.于濡,WW,尸,于濡.,J,。,乎 P g 产*p,Jr

15、产.RT 4知“Z+A W 4*K,卜*,:小r 2*t)”,上二,/41产“,f”d:“f,3r 八6::八$14S,、U?T y,y-s*r-11卜.,5 愈碱地虬1.TUM b14,Aax什户-?;4 J ,4A|,一J a、Ar 尸bf4*+AAT 9*X *t*L I f L;,号lAf,器至24I vi fV*t*:j,4,a 4MR.及i i=:,;a;.,1.,一一.r.,*.-I济;3 i”:C*,54:I L r*2 15dU,GC 广昼46 ,.、*k-Sa-*rijriir寸4.,11。1尸J.-Lr,.-5r-4f、r*丁尸:Ag.,.QrM A、a2、2*7*7.y

16、 42 AZ,丹|(xr 1不 R(I.2.1 Xf丹 丁%142 H,.丹.%r-l.*-w4A-r T A4 H 一,:%*0AMr*vH*!,一4二,“小f 九;.认”个,41*C、“小f 1L;.认,“小f Nbd上”y3;Gi Jf 义j f;4工,:I*XSf 卜?p T I r八(;,pi:!,、,U*;t*i*?)*UM.IX.,QX.L,*I y ,:.7 r.:QI,6小.tp J 产4、+5,7*,八7-,:随 j;二.g%qq,.I*-|f.一.!.-y-r j“-7-*,J-*一,广*彳产(久/、*、*丁广az V 之%、4214之,丁Qj”xhry17rB.T*T

17、T-A-i-y2 w-x-r-a _4I-y-rj-.丁丁士T4上,,;“L k*-*/.Jk.=,一由,J”.*W,1,/RU.一卜?”.0 ik*,八U,i”T::(:、,*x*r八U;r,、:”、,八卜T*.一”“5、,、-J.、一,;、,m j J 小/笆痴檄柒咛潴E超摇:第k-、F32、1 丁!3 Jg.:,.廿丁,H丁(王1 1小广)*.丹1 62.n.,/,f 公.*)一,“p rT 2)一。,“jI rM,:、,4 个f,B,tMi4:9丁工,f 余f t,卜4 ri4、二1,,du-Lk 一,&-kt A,.4 A-71._ _ _ _.-,中5/*卞小,”;八一中”:t7产

18、产,八”中6,1士百l6”37“45,1417y J产八 4 45,、f!T yd潭;八44,S 镇醇曝龌遮融睡嚼卷凿鹑懒龌懒初睡爵却嚓.才 一一一-一.一.一一一一一、:.:、,._.,CAX厂,4一丁.触I、数据转换指令 J-t-e-,2 X I A;,*(*.U/L了 I I I I I ,1 I I I-I J|,!-I I I-aSd4S/一y/,d-,小下。产3”“,3/*;片,/“3、沙145/114卢己J9t1“,S,、小?胃1A.耳一(躅镌廖还避激照场遹缠造犍翻睡嚼蜻拶城田”,-0ir:卷出_ _ _ _ _ _ _ _ _ _fe,yQ7iF VKQ,fe,ig“、8 a

19、m BCD 一二进制转换16-4编码指令晒部嗨翻躬非尊榨j,曲辞谭融调也降谭犁馅瓶薛母不卿如薛谭昭嘲谭回.ZT Z.丁 U,1、“、人 於 产”(8,(、4、*t4L 产,14./U,1、Q、1K4i4-於 产,f(A,口 y、t U4*.产,“、玲VL U,1、口、1K人 A 二进制一 BCD转换七段译码指令:力:nj Aj(r r-H LU-I br-TFT;b 中a=T-z.-r-nw 一.一2 JtJ-4.、.,/-*-*中尸*I 4fMi4f4f:弓,*1-r 人 外产,工(,1、“.Q*、,*尸3一于;!1 J L.”,44 尸 4系;4H-.-.j.-,t.J.,.一;产.a一1

20、1.一.、,人,,-*?I,:J?、不小侬r M Ptewftit4 造,x卷,、中人.A.M,I,j4-16译码指令卜;“4;!,q“一 r1 r*6r 4,73.卜上;“、:卜L”i,?”.I于冷,a J.0 d 出什卡法,41.2血M,孕冷,J*va&44|r 尸、a”.iT Lin7.,.r*T广t X、oa-.*2 F 尸、:R守4电 1妙2+4&*,*01tlx+z 4、$r-yCX.吵 JU:.+孤gj f,.,;:f,)?I r【”XdASCI I码转换指令.yf p b-7-7 bd o(J.、“、r*,(、“、1 9a,X 产+小,UM 1 84 J 产2.卞/Wm,+冷,

21、1_ _ 9 -L、1 1*、”.、1.一一,一 4.a.J,:._*-L-*:,-r 噂r Kh Qr疗r V H 噂 A|,f Aj:A?、:,个汽“iAfyq y,T卓 1,八二,*?、:,:1,:|:A,?q,id,”、M一,/卞 l u 白玲H gAL*T-卜,十.,破轴牒m i4*uU【卢 弓 Y*j1忏).米力,u J,片+小,z j,一产,41“、N丁p c、a*,.,、.、9,i 4lAAjI 1触2,“小画丁4,丁_11m gyrr hj|r*A*b a,,k Q:.卜i tt44 r.C、,M*f 建,i,“,了;“、rA A-iAfy,S:12 汽:x y*YL JS#

22、hC0 演;-,X4.-I I t JA*.4dff 2小卜二U.,n-w*T*1*,*-4-C*7+*A4.4F 广%:*-f r 广-fy i*,9A 产 广 i 产、快;云4?打,a 籍之 4生(呼2 4,.坨4 i宓If萼阳型物牛芽腓型触的球到,撼:电凝瑜岗翁出翅跳曜笈梦瞋湾铲h评,300 尸 法 于冷,.0 法尸 4f 法*.一广 1*f*C、7,p 卜.广*f*C、7,广2跚镰镭您镰镶球翻逊,vU2 L,.T-T 2位2 3 位 3-4位34周指令功能当执行条件为ON时,根据C的内容对S进行译码,并 将结果存放中R中。译码方法由C确定被译码的起始数字位及译码的位数;将该位数字(十六

23、进制)转换为0 15的十进制数;再将结果通道中与该十进制数对应的位置为ON,其余位为OFF。被译码的数字位不能大于4。35圄被译码的数 字位要连续结果通道的存放顺序(A对4位数【字译码C=#00从0位开 始译码)从3位开 始译码对3位数 字译码人c=#o o36周写语句表、分析程序功能C=#0013I从第三位数字开始译码对2个数字译码(第3位一第0位)译2个数字,存放结果需要2个通道 HROO和HR01,37周(续)译码的原理源通道(78F5)第3位数字是0111十进制数7则以7为位号,将结果首通道HR00中的bit07置为1源通道第0位数字是0101十 进制数5则以5为位号,将结果末通道HR

24、01的1)让05置为138对本例,如果C=#0023,即对3个数字译码,第3个被 译码的是源通道的第1位数字。第3个译码结果存放在 结果通道HR02中。源通道I R200第3位第2位第1位第0位215 214 213 212 2U 210 29 2827 26 25 2423 22 21 200 11110 0 111110 10 1_1结果通道HROO215 214 213 2122口210 29 2827 26 25 2423 22 21 200 0 0 00 0 0 010 0 00 0 0 0结果通道HR01215 214 212211 210 29 2827 26 25 2423 2

25、2 21 20 0 0 00 0 0 00 0 11 00 0 0 0结果通道HR02715 714 713 712211 21。29 2827 26 25 2423 22 21 2。()()()0 0 0 00 0 100 0 0 0 139使用译码指令MLPX时需注意执行一次指令,最多只能对4个数字译码。结果通道不能超过其所在区域。例如设C=#0023时,结果首通道设为HR18;设C=#0042等,都是错误的。40周3.16 4编码指令DMPX/DMPXDMPX(77)S RC DMPX(77)S RCS:源首通道 C:控制数据 R:结果通道c的含义C|数字3|数字厂数字1 数字0R中接收

26、编码的第一个数字位被编码的源通道数0 1个1 2个2 3个3 4个41周指令功能当执行条件为ON时,根据C的内容,对以S为首通道的 几个通道进行编码,并将结果存放在R中。编码方法 由C确定被编码的通道数;将被编码通道中为ON的最高位的位号编为一个十六 进制数;将该十六进制数送到R指定(由C指定)的数字位。42周使用编码指令DMPX举例写语句表、分析程序功能源首通道I ROO结果通道DMOOOO 控制字C=#0013C=#0013|从R的数字位3开始存放结果 对2个通道进行编码对两个通道编码,源通道应为HROO 和 HR0143周(续)编码的原理设源通道HROO中内容为A8E7(1010 100

27、0 1110 0111)源首通道I R00结果通道DM0000控制字C=#0013HR00中为1的最高位的位号 是15十六进制编码F将编码F放在结果通道DM0000的第3位数字位上o 设源通道HR01 中内容为01BF(0000 0001 1011 1111)HR01中为1的最高位的位号是8十六进制编码8将编码8放在结 果通道DM0000的第0位数字位上。5 44囤存放编码结果 的位号要连续回45周原通道与编码结果的对应关系回46周使用编码指令DMPX时需注意源通道不能超过其所在区域。源通道不能超过4个。例如设C=#0023时,源首通道设为HR18;设C=#0042等,都是错误的。47周S:源

28、通道(BCD)C:控制数据 R:结果首通道C的含义C|数字3|数字2数字1 数字0S中第一个要译码的数字位被译码的数字位的位数0 1位12位23位3-4位固定为0从R的高8位还是低8位开始存放第一个结果0:低8位 1;高8位78周转换后结果存放顺序固定从R低8位译码4位从数字位0 为0 开始存放 数字 开始译码S49周注意:对4个数字译码占用了三个通道!50周指令SDEC的功能当执行条件为ON时,根据C的内容,对S进行译码,并将结果存放中R中。_译码方法_R中的bitOO 06及bit08 14分别对应数码管的a、b、c、d、e、f、g段。bit07和bitl 5不用。bitOO 06及bit

29、08 14若为1,对应数码管的段发光。根据被译码数字位的数值,确定bitOO 06及 bit0814明F个位为1。译码结果存放在以R为首的几个连续通道中(由C确 因是从R的低8位还是高8位开始存放)。51使用译码指令SDEC举例写语句表、分析程序功能C=#0013IR中第一个要译码的数字位 对2个数字位进行译码 从R的低8位开始存放结果译码数字位30 需占用一个结果通道52周(续)译码的原理 占l b tlb设源通道HROO中内容为1673(BCD)e|卜|c _卜d d源通道中第3位数字是1对应b、c段应该是1;第一个译码结果要存放在结果通道的低8位,所以HR01 的低8位是00000110

30、(bit7固定为0);源通道中第0位数字是3一对应a、b、c、d、g段是1;第二个译码结果要存放在结果通道的高8位,所以HR01 的高8位是0100 1111(bitl 5固定为0)。源通道数字与译码结果通道的对应关系如下页图。53阉(续)源通道数字与译码结果通道的对应关系X g f e d c b a X g f e d c b a1673215 214 213 2122。2i 29 2827 26 25 2423 22 21 200 0 0 10 1100 1110 0 11 1二 一rv215 214 213 2120 10 02。210 29 28111127 26 25 2了0 0

31、0 023 22 21 20 110源通道HROO结果通道HR01ag lb k54周本例中,若C=#0113时,也是对2个数字译码,若第一 个结果从高8位开始存放,则需要两个结果通道。第一个译码结果存在HR01的高8位,第二个译码结果 存在HR02的低8位。注意执行一次指令,最多只能对4个数字译屑广 结果通道不能超过其所在区域。一例如:设C=#0023时,结果首通道设为HR18;设=#0042等,都是错误的。55周S:源通道 C:控制数据 R:结果首通道C的含义C|数字3|数字2数字1 数字0S中第一个被转换的数字位0 1位1 2位2-3位 3-4位被转换的数字位的位数校验0:无校验1:偶校

32、验2:奇校验从R的高8位还是低8位开始存放第一个结果0:低8位 1;高8位76周指令功能当执行条件为ON时,根据C的内容,将S中指定的数字转换成ASCH码,并将结果存放在R中。_关于校验位一结果通道的bitOO 06及bit08 14存放结果。bit07和bitl 5是校验位o 若设置不校验,则bit07和bitl 5为0。_若设置奇校验,则校验位与ASCH码中的1的总数应 为 奇数,否则bit07和bitl 5为1;若设置偶校验,则校验位与ASCI I码中的1的总数应为偶数,否则bit07和bitl 5为L_理 57周转换方法确定源通道中欲转换的第一个数字及数字个数。查ASCI I码表,对源

33、通道中欲转换的数字进行转换。根据C中bit08 11的规定,按顺序存放结果。由C来确定,是从R的低8位、还是高8位开始存放。根据C中校验的规定,确定1)让07和1)让15的状态。58冏执行ASC指令的几种情况无校验从R低8位 转换2 从数字位1 开始存放 位数字开始转换31 I 33215 214 213 212211 210 29 2827 2625 2423 22 21 20 10 10 0 0 10 01 1110 1源通道S结果通道215 214 213 212211 210 29 2827 26 25 2423 22 21 20 0 110 0 0 10 0 110 0 1159周从

34、R低8位转换2 偶校验 开始存放 位数字从数字位0 开始转换215 214 213 212211 210 29 2827 26 252423 22 21 20 1110 10 10 0 0 1 0 0 11源通道S31|33215 214 213 212211 210 29 2827 26 25 2423 22 21 2010 110 0 0 10 0 110 0 11结果通道60周从数字位0 开始转换从R低8位转换2 奇校验 开始存放 位数字源通道 s结果通道R215 214 213 212211 210 29 2827 26 25 2423 22 21 200 0 110 0 0 110

35、110 0 1161周215 214 213 212 2n 210 29 2827 26 25 240 0 11源通道S结果通道R23 22 21 20 0 0 1结果通道R+l62周数据转换指令小结1.根据所作的操作(数制转换、编/译码),正确选 择指令。2.编码(DMPX)与译码(MLPX)是互为逆操作的指令。其操作数较烦琐,要抓住它们的对偶关系来记忆指 令的操作数。要确保操作数设置正确。3.七段译码指令(ASC)的执行结果对应数码管的ag 段。注意其结果的存放方法。4.注意ASCI I码转换指令(ASC)执行结果的存放方法 及不同校验方 式时bit07和bit 15的状 态。5.注意执行

36、各种指令对标志位的影响。数加,I5数据运算指令二进制运算指令逻辑运算指令I十进制运算指令几种单字十进制运算指令ADD(30)AuAdRSUB(31)MiSuRMUL(32)MdMrRDI V(33)DdDr回 R ADD(30)Au AdR SUB(31)MiSuR MUL(32)MdMrR DI V(33)DdDr R当执行条件ON时,将Au、Ad及 CY相加,结果存入R。若结果大于9999,则将CY置L当执行条件ON时,将Mi减去Su、再减CY,结果存入R。若有借位,将 丫置1,且用0m(丫,结果存入区当执行条件ON时,将Md与Mr相乘,结果存入从R(低4位)开始的结果 通道市。当执行条件

37、ON时,用Dd除以Dr、结果存入R(商)和R+1(余数)中。使用运算指令时涉及CY,关于CY的指令:ST C(40)-STC(40)当执行条件ON时,将25504(CY)置LCLC(41)-CLC(41)|当执行条件ON时,将25504(CY)置0。通道BCD数据递增/递减指令:mC(38)I执行一次指令,将通道数据递皤厂 DEC(39)I执行一次指令,将通道数据递藏匚一68周1.十进制加法运算指令举例分析程序功能当 00000及 TI M001 ON(一个扫描周期)时:执行指令CLC将CY清零;执行指令ADD将DM0010(已预先写入0300)加上#0300;DM0010中的数据每加#030

38、0,.TI M000的设定值增加30秒。执行指令CMP将#0900与DM0010 比较;0000000000 TI M001Tl-IICLC(41)II000TI M000DM0010TI M001#0600ADD0O)DM0010#0300DM0010CMP(20)#0900DM001MOV(21#0300DM001I M00169周若DM0010大于#0900,执行 指令MOV,再将#0300传送到 DM0010 中。再次将#0300传送到DM0010,TI M000的 设定值恢复为30秒 TI M000的设定值是变化的,TI M001的设定值是固定的。TI M001控制010000N的时

39、间、TIM000控制01000OFF时间。01000 ON的时间总是60秒;01000 OFF的时间从30秒起依 次增加30秒(不超过90秒)oCLC(41)00000 TI M001Tl-IHADD(30)DM0010#0300DM0010CMP(20)#0900DM0010MOV(21)#0300DM001(TI M000TI M000 DM0010TI M001#0600701该段程序对01000实现了循环间歇OFF、ON的 控制。程序实现的控制如下:TI M000.定时30sTI M001:定时60sTI M000(定时60s00000 ON-01000 OFF 30秒01000 ON

40、 60秒01000 OFF 60秒T01000 ON 60秒01000 OFF 90秒01000 ON 60秒TI M001定时60sTI M000定时90sTI M001定时60s071同2.十进制减法运算指令举例分析程序功能当 OOOOOON 时:SUB(31)00000 I L(02:TlCLC(41)SUB(31)上 000。HR01HR01CLC(41)I LC(03)5504HR00DMOOOtHR01MOV(21#0000HR02一MOV(21)#0001211 HR0272同执行指令CLC将CY清零;执行指令SUB,用HR00的 内容减去DM0000的内容,再减 去CY,将差存

41、放在HR01;若运算无借位,CY=0,触点 25504 OFF,执行指令MOV置 HR02为0(记忆CY状态);若运算有借位,CY=L触点/125504 ON,执行CLC清CY。I-若运算有借位,因为HR01的 内容是差的十进制补码,故应 再作一次减法运算。所以运算有借位时,要清CY,再执行一次指令SUB,用#0减 去HR01的内容,再将差存放、在 HR0L00000 I L(02CLC(41)SUB(31)HR00 DMOOOtHR01MOV(21#0000HR02)25504I LC(03)CLC(41)SUB(31)#0000HR01HR01MOV(21)#0001HR02将HR02置1

42、(记忆CY状态)该程序段使用了分支指令,只有 当00000 ON时,程序才执行。073周有借位的减法运算的过程如下设HROO的内容为1000,DM0000的内容为2000。HROO DM000 CY HR01 CY”!I!第一次减:1000-2000-0-1000+(10000-2000)=9000 1HR01 CY HR01 CYI I I I第二次减:0000 9000 0 0000+(10000 9000)=1000 1074周3.十进制乘/除运算指令;举例乘法运算与CY位无关。分析程序功能/运行程序前先令00000(_/)N一次执行指令BSET,将DM(DM0004清零,以施备运)00

43、0-/算 令000010N一次,执彳 令I NC,使DM0000内容亍一次指/加1;执行一次指令CMP将 与#0004比较;ADMOOOO/若DMOOOO的内容大于#0004,则将21000置为ON,、多行一次指 令BSET,将DM00次DM0004 清零;执行一次指令MUL,蒋 DM0000的内容与#0004相乘、结 果存入DM0001DM0002中;、00001 21000BSET#0000DMOOOO DM0004DI V DM0001#0002I NC DMOOOO CMP#0004 DMOOOOMUL DMOOOO#0004 DM000121000执行一次指令DI V,将DM0001

44、DM0002的内容与#0002相除,将商存入DM0003、将余数存入DM0004中;00000TI-210000合00001 ON4次,DM0000DM0004的内容如下000010N DMOOOO DM0001 DM0002 DM0003 DM000400 00020000 0004 001 00 O00 0004 0000 000800020000 006 00 O00 0012 0000 00080000 006 1 003 4 o O o O o O次次次次 12 3 4 第第第第DMOOOO 加 1DM0000乘 4WJ 一DM0001DM0002除 2从00001第5次ON开始,再

45、重复上面的过程。回77周二进制运算指令二进制加法运算指令二进制减法运算指令_ _-二进制乘举运算强令-二进制除法运算指令二=.二 一-=厂=-J_,F丁:二 一 二工 一J-:三:一二 二 一三一二-二 1._)二进制运算指令的功能ADB(50)Au AdRSBB(51)Mi SuR MLB(52)Md MrR DVB(53)Dd Dr ADB(50)Au Ad R SBB(51)Mi SuR MLB(52)Md MrR DVB(53)Dd Dr当执行条件ON时,将Au、Ad及 CY相加,结果存入R。结果大于 FFFF时,将CY置L当执行条件ON时,将Mi减去Su、再减CY,结果存入R。有借位

46、时将 CY置1,且用0-R-CY再存入R当执行条件ON时,将Md与Mr相 乘,结果存入从R(低4位)开始的 结果通道。当执行条件ON时,Dd除以Dr、结 果存入R(商)和R+1(余数)中。079合二进制运算指令举例用二进制运算指令完成(250 x 8-1000)/50运算的例子。00000 00001分析程序功能(1)当满足条件时,执行一次/BSET指令将DMOOOO DM0004 清零,以备开始运算。(2)当000010N、OOOOOOFF时,执行如下操作:执行MOV指令将#00FA(十 进250)传送到HR00中;BSET#0000 DMOOOO DM0004-MOV#OOFAHROOML

47、BHROO#0008 DMOOOO J CLC(41)SBB DM 000#03E8 DM 000#0032DM册01执行MLB指令将HR00的内 容与#0008相乘,将结果的低位 07D0(十进2000)存&DM0000 中、结果高位0000#足DM0001中;执行CLC指令将CY清零,以备相减运算。00001 0000000000 00001TlBSET#0000 DMOOOO DM0004 MOV#OOFAHR00执行SBB指令,DMOOOO的 内容减去#03E8(十进1000),PiMLBHR00#0008 DMOOOOX CLC(41)将结果#03E8存在DM0002中;叶-=5执行

48、指令DVB,将DM0002SBB DMOOOO#03E8的内容除以#0032(十进50),把商TL-#0014(十进 20)存在 DM0003 中、占把余数#看而M0004中。DM0002#0032DM 加)03合执行各种指令和运算的结果如下执行指令HROODM0000DM0001DM0002DM0003DM0004CYBSET00000000000000000000MOVOOFA00000000000000000000MLBOOFA07D00000000000000000CLCOOFA07D000000000000000000SBBOOFA07D0000003E8000000000DVBOO

49、FA07D0000003E80014000082周几种逻辑运算指令的功能ANDW(34)ANDW(34)II12 RII12 R当执行条件ON时,将输入数据H 和12进行逻辑与,结果存入R中。ORW(35)ORW(35);:|当执行条件ON时,将输入数据II9 9 和12进行逻辑或,结果存入R中。XORW(36)XORW(36)|当执行条件ON时,将输入数据II f 和12进行逻辑异或,结果存入R中。XNRW(37)XNRW(37)11 11|当执行条件ON时,将输入数据II12 12 和12进行逻辑同或,结果存入R中。X R R-W逻辑运算指令举例分析执行逻辑运算的结果00000 00001

50、TI 肝清零BSET#0000DM000(#008F I OOFO 10000|1000#0081 l o o o o 10000 口 00 010001工X字逻肆与DM0000 0000 0000 1000 000 1DM00001 po o p000010000001#0073|o o o o000001110011工X字逻辑或DM00011 0000000011110011DM00001 0000000010000001DM00011 00000000111100113L字逻辑异或DM0002 I 0000000001110010DMUUUz00001 00000逻辑与ANDW#008F

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 理学

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服