標(biāo)題: 在控制電機(jī)轉(zhuǎn)向時(shí),轉(zhuǎn)45°可以,為什么再加一個(gè)恢復(fù)原狀時(shí)出現(xiàn)先轉(zhuǎn)90°,再向回轉(zhuǎn)45° [打印本頁]

作者: 弗萊曼飛俠    時(shí)間: 2011-10-25 19:04
標(biāo)題: 在控制電機(jī)轉(zhuǎn)向時(shí),轉(zhuǎn)45°可以,為什么再加一個(gè)恢復(fù)原狀時(shí)出現(xiàn)先轉(zhuǎn)90°,再向回轉(zhuǎn)45°
原程序1:(51單片機(jī)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(加恢復(fù)后):
          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
求大蝦幫忙啊,小弟感激不盡!


作者: 弗萊曼飛俠    時(shí)間: 2011-10-25 19:13

一個(gè)程序是轉(zhuǎn)了45°,第二個(gè)程序想讓電機(jī)左轉(zhuǎn)45°,再右轉(zhuǎn)45°以恢復(fù)原狀。

但是第二個(gè)程序在PROTUES上仿真時(shí)點(diǎn)擊左轉(zhuǎn)按鈕后左轉(zhuǎn)了90°,點(diǎn)擊右轉(zhuǎn)按鈕時(shí),向右轉(zhuǎn)了45°,結(jié)果是向左轉(zhuǎn)了45°,沒恢復(fù)到原來位置。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1