D
Das
Guest
halo vsakdo,
i am oblikovanju Stepper motor krmilnik uporabo mikrokrmilniška 8051, moj ckt ne deluje (Stepper motor ne teče), i am uporabo unipolarne 6 žica Stepper motor.Ne vem kje je problem.
to je moja koda:
IME STEPPER_MOTOR
; Uporabimo 0; Register-Bank 0
; Izvršitev se začne na naslovu 0 moč-up.
; JMP START
, Prvi sklop Stack Pointer
START: JMP PREKOTALJENJEM
; Neprestano preverjanje, ali je na katero koli tipko pritisniti
ANKETA: MOV A, P3
CJNE A, # 0FFH, CHECK_P3
JMP Anketa
; Poišči ključ, ki je stisnjen in pokličite vrtljivi
CHECK_P3: RRC A
JNC vrtljivi
INC R1
JMP CHECK_P3
; Rabljena obrniti Stepper Motor
Izmenjuj: CJNE R1, # 4H, NXT_LOGIC
RAZPIS desno
JMP PREKOTALJENJEM
NXT_LOGIC: CJNE R1, # 5H, NXT_LOGIC_2
RAZPIS ANTI_CLOCK
JMP PREKOTALJENJEM
NXT_LOGIC_2: CJNE R1, # 6H, NXT_LOGIC_3
RAZPIS NEW_LOGIC
JMP PREKOTALJENJEM
NXT_LOGIC_3:; CJNE R1, # 7H, NXT_LOGIC_4
RAZPIS NEW_LOGIC_ONE
JMP PREKOTALJENJEM
; NXT_LOGIC_4: CJNE R1, # 8H, NXT; MOTOR_SEL: CJNE R1, # 6H, PREKOTALJENJEM
; RAZPIS SELECT_MOTOR
; JMP PREKOTALJENJEM
; Zasukate Stepper Motor smeri urinega kazalca
; Desno: MOV R1, #
32.hV desno: 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, #
32.h; 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 PREKOTALJENJEM
; AZIMUTH_MOTOR: MOV R2, P2
; JMP PREKOTALJENJEM
; Inicializacijo Pristanišča in se vrniti nazaj na volišča način
PREKOTALJENJEM: MOV R1, # 00H
MOV P2, # 00H
MOV P3, # 0FFH
; MOV R0, 01H
JMP Anketa
; Bo vstaviti zakasnitev 30ms
DELAY: MOV R5, # 1EH
; DELAY: MOV R5, # 0FFH
LOOP: MOV R4, # 0FAH
LEVEL2: NOP; pribl nop sprejmejo 2,0 mikrosekundo
NOP
; NOP
; NOP
; NOP
DJNZ R4, LEVEL2
DJNZ R5, LOOP
RET
END
Pomagajte mi, hvala vnaprej
Das
Oprosti, ampak, kar potrebujete za prijavo v to prilogo, da si ogledate
i am oblikovanju Stepper motor krmilnik uporabo mikrokrmilniška 8051, moj ckt ne deluje (Stepper motor ne teče), i am uporabo unipolarne 6 žica Stepper motor.Ne vem kje je problem.
to je moja koda:
IME STEPPER_MOTOR
; Uporabimo 0; Register-Bank 0
; Izvršitev se začne na naslovu 0 moč-up.
; JMP START
, Prvi sklop Stack Pointer
START: JMP PREKOTALJENJEM
; Neprestano preverjanje, ali je na katero koli tipko pritisniti
ANKETA: MOV A, P3
CJNE A, # 0FFH, CHECK_P3
JMP Anketa
; Poišči ključ, ki je stisnjen in pokličite vrtljivi
CHECK_P3: RRC A
JNC vrtljivi
INC R1
JMP CHECK_P3
; Rabljena obrniti Stepper Motor
Izmenjuj: CJNE R1, # 4H, NXT_LOGIC
RAZPIS desno
JMP PREKOTALJENJEM
NXT_LOGIC: CJNE R1, # 5H, NXT_LOGIC_2
RAZPIS ANTI_CLOCK
JMP PREKOTALJENJEM
NXT_LOGIC_2: CJNE R1, # 6H, NXT_LOGIC_3
RAZPIS NEW_LOGIC
JMP PREKOTALJENJEM
NXT_LOGIC_3:; CJNE R1, # 7H, NXT_LOGIC_4
RAZPIS NEW_LOGIC_ONE
JMP PREKOTALJENJEM
; NXT_LOGIC_4: CJNE R1, # 8H, NXT; MOTOR_SEL: CJNE R1, # 6H, PREKOTALJENJEM
; RAZPIS SELECT_MOTOR
; JMP PREKOTALJENJEM
; Zasukate Stepper Motor smeri urinega kazalca
; Desno: MOV R1, #
32.hV desno: 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, #
32.h; 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 PREKOTALJENJEM
; AZIMUTH_MOTOR: MOV R2, P2
; JMP PREKOTALJENJEM
; Inicializacijo Pristanišča in se vrniti nazaj na volišča način
PREKOTALJENJEM: MOV R1, # 00H
MOV P2, # 00H
MOV P3, # 0FFH
; MOV R0, 01H
JMP Anketa
; Bo vstaviti zakasnitev 30ms
DELAY: MOV R5, # 1EH
; DELAY: MOV R5, # 0FFH
LOOP: MOV R4, # 0FAH
LEVEL2: NOP; pribl nop sprejmejo 2,0 mikrosekundo
NOP
; NOP
; NOP
; NOP
DJNZ R4, LEVEL2
DJNZ R5, LOOP
RET
END
Pomagajte mi, hvala vnaprej
Das
Oprosti, ampak, kar potrebujete za prijavo v to prilogo, da si ogledate