欢迎来到天天文库
浏览记录
ID:48407510
大小:2.10 MB
页数:42页
时间:2020-01-19
《5循环及移位指令.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、项目:彩灯的循环控制现有16个彩灯,摆放成圆形,按下启动按钮,彩灯以顺时针方向间隔1秒轮流点亮,循环三次后彩灯转换成逆时针方向间隔2秒轮流点亮,循环三次后自动停止工作。按下停止按钮,立即停止工作。如何完成控制要求?(1)利用基本指令完成编程。(2)利用步进指令完成编程。(3)利用移位指令完成编程。利用基本指令完成编程,程序如下:利用步进指令完成编程任务,参考程序如下:利用移位指令完成编程任务,参考程序如下:1.助记符、指令代码循环右移:ROR,DROR,RORP,DRORP。(16/32)循环左移
2、:ROL,DROL,ROLP,DROLP。(16/32)2.源、目标操作数:D:KnY,KnM,KnS,T,C,D,V,ZN:K,H<=[D.]的位数。一、循环移位:3.指令格式及功能(1)循环右移说明(一)(1)循环右移说明(二)执行条件成立,[D.]循环右移n位。[D.]高位n位右移,[D.]中原高位n位同时右移,以此类推,[D.]中低位n位移至[D.]中的高位n位。每次执行循环右移n位的最后一位影响标志位M8022(进位标志)。(3)执行图5-45,当X0闭合,D10的值为245。图5-46
3、给出运行的情况,图(a)中,当X1闭合1次,执行ROR指令1次,D10右移3位。此时D10=-24546。同时进位标志M8022为“1”。当X1再闭合1次,再执行ROR指令1次,D10右移3位。此时D10=-11261。同时进位标志M8022为“1”。图(b)中,当X2闭合,执行ROL指令1次,D10的各位左移2位,此时D10=980。同时进位标志M8022为“0”。当X2再闭合,再执行ROL指令1次,D10的再左移2位,此时D10=3920。同时进位标志M8022为“0”。图5-45循环右移和
4、循环左移图5-46图5-45执行情况4.举例例1,分析程序,填写D0的数值。例2,分析X1合上,X2重复合上三次后,D11的值为多少?假如ROR指令改成ROL指令?D11初始值变化?K3改变?X1合上,D11的值___________________________;X2第一次合上,D11的值___________________________;X2第二次合上,D11的值___________________________;X2第三次合上,D11的值_____________________
5、______;例3,现有16个彩灯,摆放成圆形,按下启动按钮,彩灯以顺时针方向间隔0.5秒轮流点亮,循环两次后彩灯转换成逆时针方向间隔0.5秒轮流点亮,循环两次后自动停止工作。按下停止按钮,立即停止工作。二、字移位指令1、助记符,指令代码字右移:WSFR,WSFRP,FNC36(16)字左移:WSFL,WSFLP,FNC37(16)2、源、目标操作数:[S.]:KnX,KnY,KnM,KnS,T,C,D;[D.]:KnY,KnM,KnS,T,C,D;n1、n2:K,H,n2≤n1≤512。3、操作
6、格式及功能(1)操作格式:操作功能:WSFR:在[S.]中的n2个字元件右移至[D.]开始的n1个字元件中,高字移进,低字溢出。WSFL:在[S.]中的n2个字元件左移至[D.]开始的n1个字元件中,低字移进,高字溢出。(3)WSFR说明:当X0合上,D10~D25单元的变化,如图所示。(4)WSFL说明:当X0合上,D26~D41字单元的变化,如图所示。4、举例,分析程序,说明Y0的工作情况。图5-48带进位的循环3.说明(1)每次执行RCR指令,目标元件(D)中的位带进位循环右移n位,最后被
7、移出的位放入到进位标志M8022中。在运行下一次RCR指令时,M8022中的位首先进入目标元件中。带进位循环右移和循环左移(RCR,RCL)(2)每执行一次RCL指令,目标元件(D)中的位带进位循环左移n位,最后被移出的位放入进位标志M8022中。在运行下一次RCR指令时,M8022中的位首先进入目标元件中。(3)图5-48执行情况如图5-49所示。图(a)为带进位循环右移4位,执行情况如下:X0接通,D1=0000000011111111=255,M8022=0X1接通第1次,D1=111000
8、0000001111=-8177,M8022=1X1接通第2次,D1=1111111000000000=-512,M8022=1X1接通第3次,D1=0001111111100000=8160,M8022=0图(b)为带进位循环左移4位,执行情况如小:X0接通,D1=0000000011111111=255,M8022=0X2接通第1次,D1=0000111111110000=4080,M8022=0X2接通第2次,D1=1111111100000000=-256,M8022=0X
此文档下载收益归作者所有