D
Das
Guest
Hei kaikki,
Olen suunnittelemalla Stepper moottori valvoja käyttäen 8051 mikro, minun ckt ei toimi (Stepper moottori ei ole käynnissä), i am using unipolaarinen 6 lanka Stepper moottori.En tiedä, missä ongelma on.
tämä on minun koodi:
NIMI STEPPER_MOTOR
; KÄYTTÄMÄLLÄ 0; Rekisteröidy Bank 0
; Toteuttaminen alkaa osoitteessa 0 vallasta ylöspäin.
; JMP START
; Ensimmäiset Stack Pointer
START: JMP OVER
; Jatkuvasti onko painetaan
Kysely: MOV A, P3
CJNE A, # 0FFH, CHECK_P3
JMP Poll
; Etsi joka painetaan ja soita KÄÄNNÄ
CHECK_P3: RRC A
Jnc KÄÄNNÄ
INC R1
JMP CHECK_P3
; Käytetään kiertää Stepper Motor
Vuorottele: CJNE R1, # 4H, NXT_LOGIC
CALL myötäpäivään
JMP OVER
NXT_LOGIC: CJNE R1, # 5H, NXT_LOGIC_2
CALL ANTI_CLOCK
JMP OVER
NXT_LOGIC_2: CJNE R1, # 6H, NXT_LOGIC_3
CALL NEW_LOGIC
JMP OVER
NXT_LOGIC_3:; CJNE R1, # 7H, NXT_LOGIC_4
CALL NEW_LOGIC_ONE
JMP OVER
; NXT_LOGIC_4: CJNE R1, # 8H, NXT; MOTOR_SEL: CJNE R1, # 6H, OVER
; CALL SELECT_MOTOR
; JMP OVER
; Käännä Stepper Motor myötäpäivään
; Myötäpäivään: MOV R1, # 32H
Myötäpäivään: MOV R1, # 0FFH
GO_CLOCK: MOV P2, # 0CH
CALL DELAY
MOV P2, # 06H
CALL DELAY
MOV P2, # 03H
CALL DELAY
MOV P2, # 09H
CALL DELAY
DJNZ R1, GO_CLOCK
RET
ANTI_CLOCK: MOV R1, # 32H
; ANTI_CLOCK: MOV R1, # 0FFH
GO_ACLOCK: MOV P2, # 05H
CALL DELAY
MOV P2, # 0AH
CALL DELAY
; MOV P2, # 04H
; CALL DELAY
; MOV P2, # 02H
; CALL DELAY
DJNZ R1, GO_ACLOCK
RETNEW_LOGIC: MOV R1, # 0FFH
GO_NLOGIC: MOV P2, # 08H
CALL DELAY
MOV P2, # 04H
CALL DELAY
MOV P2, # 02H
CALL DELAY
MOV P2, # 01H
CALL DELAY
DJNZ R1, GO_NLOGIC
RET
NEW_LOGIC_ONE: MOV R1, # 0FFH
GO_NLOGIC_ONE: MOV P2, # 08H
CALL DELAY
MOV P2, # 0CH
CALL DELAY
MOV P2, # 04H
CALL DELAY
MOV P2, # 06H
CALL DELAY
MOV P2, # 02H
CALL DELAY
MOV P2, # 03H
CALL DELAY
MOV P2, # 01H
CALL DELAY
MOV P2, # 09H
CALL DELAY
DJNZ R1, GO_NLOGIC_ONE
RET
; SELECT_MOTOR: JB P3.6, AZIMUTH_MOTOR
; MOV R0, # 80h
; MOV @ R0, # 01H
; JMP OVER
; AZIMUTH_MOTOR: MOV R2, P2
; JMP OVER
; Alusta Satamat ja palata äänestyspaikoilla tilassa
OVER: MOV R1, # 00H
MOV P2, # 00H
MOV P3, # 0FFH
; MOV R0, 01H
JMP Poll
; Se aseta viivytyksettä 30ms
DELAY: MOV R5, # 1EH
; DELAY: MOV R5, # 0FFH
LOOP: MOV R4, # 0FAH
LEVEL2: NOP;
n. NOP kestää 2,0 s
NOP
; NOP
; NOP
; NOP
DJNZ R4, LEVEL2
DJNZ R5, LOOP
RET
END
auttaa minua, Kiitos etukäteen
Das
Anteeksi, mutta sinun on kirjautumistunnuksen nähdäksesi tämän liitäntävaatimuksia
Olen suunnittelemalla Stepper moottori valvoja käyttäen 8051 mikro, minun ckt ei toimi (Stepper moottori ei ole käynnissä), i am using unipolaarinen 6 lanka Stepper moottori.En tiedä, missä ongelma on.
tämä on minun koodi:
NIMI STEPPER_MOTOR
; KÄYTTÄMÄLLÄ 0; Rekisteröidy Bank 0
; Toteuttaminen alkaa osoitteessa 0 vallasta ylöspäin.
; JMP START
; Ensimmäiset Stack Pointer
START: JMP OVER
; Jatkuvasti onko painetaan
Kysely: MOV A, P3
CJNE A, # 0FFH, CHECK_P3
JMP Poll
; Etsi joka painetaan ja soita KÄÄNNÄ
CHECK_P3: RRC A
Jnc KÄÄNNÄ
INC R1
JMP CHECK_P3
; Käytetään kiertää Stepper Motor
Vuorottele: CJNE R1, # 4H, NXT_LOGIC
CALL myötäpäivään
JMP OVER
NXT_LOGIC: CJNE R1, # 5H, NXT_LOGIC_2
CALL ANTI_CLOCK
JMP OVER
NXT_LOGIC_2: CJNE R1, # 6H, NXT_LOGIC_3
CALL NEW_LOGIC
JMP OVER
NXT_LOGIC_3:; CJNE R1, # 7H, NXT_LOGIC_4
CALL NEW_LOGIC_ONE
JMP OVER
; NXT_LOGIC_4: CJNE R1, # 8H, NXT; MOTOR_SEL: CJNE R1, # 6H, OVER
; CALL SELECT_MOTOR
; JMP OVER
; Käännä Stepper Motor myötäpäivään
; Myötäpäivään: MOV R1, # 32H
Myötäpäivään: MOV R1, # 0FFH
GO_CLOCK: MOV P2, # 0CH
CALL DELAY
MOV P2, # 06H
CALL DELAY
MOV P2, # 03H
CALL DELAY
MOV P2, # 09H
CALL DELAY
DJNZ R1, GO_CLOCK
RET
ANTI_CLOCK: MOV R1, # 32H
; ANTI_CLOCK: MOV R1, # 0FFH
GO_ACLOCK: MOV P2, # 05H
CALL DELAY
MOV P2, # 0AH
CALL DELAY
; MOV P2, # 04H
; CALL DELAY
; MOV P2, # 02H
; CALL DELAY
DJNZ R1, GO_ACLOCK
RETNEW_LOGIC: MOV R1, # 0FFH
GO_NLOGIC: MOV P2, # 08H
CALL DELAY
MOV P2, # 04H
CALL DELAY
MOV P2, # 02H
CALL DELAY
MOV P2, # 01H
CALL DELAY
DJNZ R1, GO_NLOGIC
RET
NEW_LOGIC_ONE: MOV R1, # 0FFH
GO_NLOGIC_ONE: MOV P2, # 08H
CALL DELAY
MOV P2, # 0CH
CALL DELAY
MOV P2, # 04H
CALL DELAY
MOV P2, # 06H
CALL DELAY
MOV P2, # 02H
CALL DELAY
MOV P2, # 03H
CALL DELAY
MOV P2, # 01H
CALL DELAY
MOV P2, # 09H
CALL DELAY
DJNZ R1, GO_NLOGIC_ONE
RET
; SELECT_MOTOR: JB P3.6, AZIMUTH_MOTOR
; MOV R0, # 80h
; MOV @ R0, # 01H
; JMP OVER
; AZIMUTH_MOTOR: MOV R2, P2
; JMP OVER
; Alusta Satamat ja palata äänestyspaikoilla tilassa
OVER: MOV R1, # 00H
MOV P2, # 00H
MOV P3, # 0FFH
; MOV R0, 01H
JMP Poll
; Se aseta viivytyksettä 30ms
DELAY: MOV R5, # 1EH
; DELAY: MOV R5, # 0FFH
LOOP: MOV R4, # 0FAH
LEVEL2: NOP;
n. NOP kestää 2,0 s
NOP
; NOP
; NOP
; NOP
DJNZ R4, LEVEL2
DJNZ R5, LOOP
RET
END
auttaa minua, Kiitos etukäteen
Das
Anteeksi, mutta sinun on kirjautumistunnuksen nähdäksesi tämän liitäntävaatimuksia