发布于 2007-10-05 20:53:10
0楼
“中断程序名称及中断号的编程部分被放在子程序里,且子程序都用SM0.1进行初始化,且只需调用一次” 这句话只是针对他个人的程序,你也可以把初始化部分放在主程序里。
执行某个中断连接指令(ATCH),有时执行一次是不行的,有时候需要把中断事件和中断程序断开,需要的时候再把他们连接起来。
自由口通讯里用的中断比较多,如:接收4个字节的数据,然后给主机返回信息
LD SM0.1
MOVB 16#05, SMB30
ATCH INT_0, 8 //出现接收字符中断时 执行INT0
ENI
INT-0
接收第一个数据
ATCH INT_1, 8 //出现接收字符中断时 执行INT1
INT-1
接收第二个数据
ATCH INT_2, 8 //出现接收字符中断时 执行INT2
INT-2
接收第三个数据
ATCH INT_3, 8 //出现接收字符中断时 执行INT3
INT-3
接收第四个数据
DTCH 8 //禁止接收
MOVB 5,SMB34
ATCH INT4,10 //定时中断
INT-4
LD SM0.0
DTCH 10
XMT VB100, 0
ATCH INT_0, 8