LD I0.0
FILL 5555,VW100,50 BMB VB100,VB1000,100
5-9、分析寄存器移位和左、右移位指令的区别。
答:?、当移位次数N = 正数,为左移。每个扫描周期,整个寄存器内容全部左移一位: ①、数据从最低位S_Bit移入
②、数据从最高位SMB移出,并送SM1.1
?、当移位次数N = 负数,为右移。每个扫描周期,整个寄存器内容全部右移一位: ①、数据从最高位SMB移入
②、数据从最低位S_Bit移出,并送SM1.1
?、寄存器移位,不论左移、右移,数据再SMB-S_Bit区间移动,其余位不管; ?、最高位的计算公式
MSB.b = S?BIT的字节号 +
([N]-1+S-BIT的位号)8 (余数为MSB的位号)
得出:移位后的字节号和MSB.b的位号。 例:S?BIT = V33.4 N = 14 则MSB.b = v33.4 + = v33 +
([14]-1+4)8
178 =v33 + 2 (余1)[余0则为V35.0,余1则为V35.1] =V35.1
5-10、编写一段程序,将VB0开始的256个字节存储单元清零。 解:程序如下
11
LD I0.0 MOV-B 0, VB300 BMB VB300, VB0, 255
5-11、编写出将IW0字节高4位和低4位数据交换。然后,送入定时器T37作为定时器的预置值的程序段。 程序如下:
LD I0.0 MOV-B IB0, VB0 ROL VB0, 4 BTI VB0,VW10 TON T37, VW10 =Q0.0
T37的PT=25600 检验
5-12、写出能循环执行五次程序段的循环体梯形图。 解:梯形图程序如下:
12
LD I0.0 MOVW 0, CO FOR CO, 1,5 LD I0.1 FOR CO 1,5 LDW= NEXT
5-13、使用顺序控制程序结构、编写出实现红、黄、绿三种颜色信号灯循环显示程序(要求循环时间间隔为1S),并画出该程序的功能流程图。 解:梯形图程序如下:
LD I0.0
S M0.0, 1 LD I0.0
S S0.0, 1 LSCR S0.0 LD M0.0
S Q0.0, 1 R Q0.1, 1 R Q0.2, 1
TON T37, +20
13
C0,5
= Q0.0
LD T37 SCRT S0.1 SCRE LSCR S0.1 LD M0.0 R Q0.0, 1 S Q0.1, 1 R Q0.2, 1 TON T38, +20
LD T38 SCRT S0.2 SCRE LSCR S0.2 LD M0.0 R Q0.0, 1 R Q0.1, 1 S Q0.2, 1 TON T39, +20
LD T39 SCRT S0.0
14
SCRE LD I0.2 R M0.0, 1 TON T39 SCRT S0.0 SCRE
LD I0.2 R M0.0, 1
注:1、启动时,I0.0、
I0.1、I0.2为“1”;
2、在输出由Q0.0
到Q0.1转换之间,关闭I0.0、I0.1、I0.2,仍可自动循环。
15