发布于 2005-04-13 13:27:53
0楼
我试试,请ZANE多指教,不知道理解的对不对:
上升沿触发硬件中断OB40,
三相过零检测脉冲:I0.0,I0.1,I0.2
三相控制脉冲输出:Q0.0,Q0.1,Q0.2
address difine:
MD0: A,B,C 判断哪一相
MD4:控制输出的时间
MD8:周期
假设PIW0,PQW0没有其他信号,只有3IN 3OUT,为了处理方便。
(如果有,还得在中断中另加处理保留原来的信号状态)
L PIW 0
T #temp
ITD
DTR
T #temp0
L 2
LN
T #temp1
L #temp0
LN
L #temp1
/R
RND
T MD 0 //A B C SELECT
LAR1 P#M 20.0 //START ADDRESS,store
L MD 0
L 4
*D
SLD 3
+AR1
L D [AR1,P#0.0]
L MD 4 //run count
JCN stop
L #temp
T PQW 0
L D [AR1,P#0.0]
+ 1
T D [AR1,P#0.0]
BEU
stop: L 0
T PQW 0
L D [AR1,P#0.0]
L MD 8 //cycle count
JCN rst
L D [AR1,P#0.0]
+ 1
T D [AR1,P#0.0]
BEU
rst: L 0 //restart
T D [AR1,P#0.0]
师出无名