第五章:
1.用I0.0控制接在Q4.0~Q4.7上的8个彩灯循环移位,用T37定时,每0.5 s移1位,首次扫描时给Q4.0~Q4.7置初值,用I0.1控制彩灯移位的方向,试设计语句表程序。
分析:采用循环移位器来实现题目要求。循环移位器移动的是32位,因为我们只要每隔8位就把Q4.0~Q4.7的值赋给MW0,让其移位,再把WM0的第八位赋给QB4,如此就能够实现左右的移位了。I0.1为1时,彩灯左移;
程序如下:
置初值;
根据I0.1来选择是左移还是右移;每次移动,给定一个时间间隔; STL程序:
A I 0.0 AN M 5.0 = L 20.0 A L 20.0 JNB _001 L 49
T QB 4 SET SAVE CLR _001: A BR
S M 5.0 A L 20.0 JNB _002
L DW#16#31313131 T MD 0 _002: NOP 0
A I 0.0 = L 20.0 A L 20.0 AN T 1 L S5T#2S SD T 37 NOP 0 NOP 0 NOP 0
A T 37 = L 20.1 A(
A L 20.1 A I 0.1 JNB _003 L W#16#1 L MD 0 RLD
T MD 0 SET SAVE CLR _003: A BR )
JNB _004
L MD 0 T QB 4 _004: NOP 0 A(
A L 20.1 AN I 0.1 JNB _005 L W#16#1 L MD 0 RRD
T MD 0 SET SAVE CLR _005: A BR )
JNB _006
L MD 0 T QB 4
_006: NOP 0
A L 20.0 A T 37 L S5T#0MS SD T 1 NOP 0 NOP 0 NOP 0 NOP 0
实验仿真: 初始状态:
I0.1没有按下,右移:
I0.1没有按下,继续右移:
I0.1没有按下,继续右移:
I0.1按下,左移:
I0.1按下,继续左移:
相关推荐: