原程序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(混合式)
[quote][/quote]END
求大蝦給看一下為什么會這樣。
沒跟大家說清楚,是第一個程序是轉了45°,第二個程序想讓電機左轉45°,再右轉45°以恢復原狀。
但是第二個程序在PROTUES上仿真時點擊左轉按鈕后左轉了90°,點擊右轉按鈕時,向右轉了45°,結果是向左轉了45°,沒恢復到原來位置。
歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |