标题: 在控制电机转向时,转45°可以,为什么再加一个恢复原状时出现先转90°,再向回转45° [打印本页]

作者: 弗莱曼飞侠    时间: 2011-10-25 19:04
标题: 在控制电机转向时,转45°可以,为什么再加一个恢复原状时出现先转90°,再向回转45°
原程序1:(51单片机P0口输出) 
          OUT   EQU   P0
  ORG   0000H
LOOP:    JNB   P1.3,LEFT
         JMP   LOOP
LEFT:    MOV   DPTR,#TABLE  
  MOV   R3,#01H
         MOV   A,R3
         MOVC   A,@A+DPTR
  MOV    OUT,A
  CALL   DELAY
  JMP    STOP
DELAY:   MOV    R7,#100
D1:      MOV    R6,#249
         DJNZ   R6,$
         DJNZ   R7,D1
         RET
STOP:    ORL    P0,#0FFH
TABLE:   DB     1
         END     
源程序2(加恢复后):
          ORG    0000H
LOOP:    JNB    P1.3,LEFT
  JNB    P1.4,RIGHT
  JMP    LOOP
LEFT:    MOV    DPTR,#TABLE  
  MOV    R0,#01H
         MOV    A,R0
         MOVC   A,@A+DPTR
  MOV    P0,A
         CALL   DELAY
  JMP    STOP
RIGHT:   MOV    DPTR,#TABLE  
  MOV    R1,#02H
         MOV    A,R1
         MOVC   A,@A+DPTR
  MOV    P0,A
         CALL   DELAY
         JMP    STOP
DELAY:  MOV    R3,#100
D1:      MOV    R2,#249
         DJNZ   R2,$
         DJNZ   R3,D1
  RET
STOP:    ORL    P0,#0FFH
         JMP    LOOP
TABLE:   DB     1
         DB     9(混合式)
          END
求大虾帮忙啊,小弟感激不尽!


作者: 弗莱曼飞侠    时间: 2011-10-25 19:13

一个程序是转了45°,第二个程序想让电机左转45°,再右转45°以恢复原状。

但是第二个程序在PROTUES上仿真时点击左转按钮后左转了90°,点击右转按钮时,向右转了45°,结果是向左转了45°,没恢复到原来位置。






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1