恭喜,你发布的帖子
发布于 2022-05-02 11:31:08
7楼
我的想法是,首先不考虑“暂停”和“继续”,使用常规编程方法完成程序的初稿,或者利用现成的已有程序,将初稿或者现成的程序修改成符合楼主要求的程序。 修改要做下面几个事:
A. “暂停”和“继续”指令使用硬件中断,避免受扫描机理的影响,也就是真正的“实时”暂停和继续。
B. 增加字节递增(以VB0为例),如果程序段>255则用递增字。VB0的数值作为暂停和继续的标记点。
C. 所有程序段都在开头增加VB=*的比较指令,程序段1增加VB=1. 程序段2增加VB=2,程序段3增加VB=3,.......
增加
LD SM0.1
MOVB 1, VB0
D. 所有程序段(最后的一段除外)都在末端(输出)并联增加字节递增 INCB VB0 最后的一段不使用字节递增,改为
MOVB 1, VB0
E. “暂停”中断程序:
LD SM0.0
MOVB VB0, VB1 //保存暂停时正在执行的程序段
MOVB 0, VB0
F. “继续”中断程序:
LD SM0.0
MOVB VB1, VB0 //继续执行被中断的程序段
请填写推广理由:
分享
只看
楼主