发布于 2007-10-08 13:46:45
0楼
我觉得有必要搞清楚,尤其对我们这些小菜菜,程序如下:
主程序:
LD SM0.1
CALL SBR_0:SBR0
LD I0.1
TON T40, 400
LD SM0.1
O T40
MOVD 0, VD0
子程序:
LD SM0.0
MOVB 200, SMB34
ATCH INT_0:INT0, 10
ENI
中断程序:
LD SM0.0
+D 1, VD0
LD T40
DTCH 10
照如上的解释:定时器T40在中断运行过程中被I0.1触发后,它的运行(时间累计到400)只是在中断每一次处理的间隙(10号中断我设置200ms)进行。当cpu在新的一个扫描周期开始后(调用中断),T40保存并累计上次扫描间隙中所运行的时间。那末定时器真正触点闭合所等待的时间肯定大于所设定的(40秒),因为中间被中断打断了数次!
是否是我所想的?求教各位!