以下程序要实现将Q0.0的数据移位寄存到74HC595中,Q0.1是时钟位,每次Q0.1上升沿,移位寄存一位Q0.0的数据,8次数据移位寄存后,Q0.2输出一个锁存信号。
请问 这个程序的时序对不对?
谢谢!
Network 1 // 将16进制数 FF 放入MB0中
LD SM0.0
MOVB 16#FF, MB0
Network 2 // 设置一个8次的循环
LD SM0.0
FOR VW100, +1, +8
Network 3 // 右移MB0中的数据,每次将一位移到M0.0中,将M0.0立即输出到Q0.0
LD SM0.0
SRB MB0, 1
A M0.0
=I Q0.0
Network 4 // 立即置位Q0.1,移位脉冲上升
LD SM0.0
SI Q0.1, 1
Network 5 // 设置一个100次的循环,使Q0.1保持一段时间
LD SM0.0
FOR VW101, +1, +100
Network 6
NEXT
Network 7 // 立即复位Q0.1,移位脉冲下降
LD SM0.0
RI Q0.1, 1
Network 8
NEXT
Network 9 // 立即置位Q0.2,锁存使能脉冲上升
LD SM0.0
SI Q0.2, 1
Network 10 // 设置一个100次的循环,使Q0.2保持一段时间
LD SM0.0
FOR VW102, +1, +100
Network 11
NEXT
Network 12 // 立即复位Q0.2,锁存使能脉冲下降
LD SM0.0
RI Q0.2, 1
Network 13
// 程序结束
LD SM0.0
END