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