Simulação no Proteus e Compilação no Pequi em assembly
; Controle de motor de passo - Anderson Sampaio - 21/05/021
$mod51
org 00h ;Posição de reset
sjmp inicio ;Salto para o início do código
org 30h
;============================================================
Inicio:
;============================================================
Control1:
;clr p3.0 ; Não oscila clr p3.0 - Chave 1
;setb p3.0 ; Oscila setb p3.0 - Chave 1
jb P3.0,control2 ; Teste - jnb
lcall STEP1
;=======================================================
Control2:
;clr p3.1 ; Não oscila clr p3.0
;setb p3.1 ; Oscila setb p3.0
jb P3.1,control1 ;; Teste - jnb
lcall STEP2
;====================================
STEP1:
MOV P1,#1000b
LCALL DELAY
MOV P1,#0100b
LCALL DELAY
MOV P1,#0010b
LCALL DELAY
MOV P1,#0001b
LCALL DELAY
lcall control2
;LCALL Inicio
;=================================
STEP2:
MOV P1,#0001b
LCALL DELAY
MOV P1,#0010b
LCALL DELAY
MOV P1,#0100b
LCALL DELAY
MOV P1,#1000b
LCALL DELAY
LCALL CONTROL1
;LCALL Inicio
;=========================== Delay ========================
DELAY:
MOV R4,#80 ; Aqui se controla o tempo de delay
MOV TMOD,#01
MOV TCON,#00
REPETE: MOV TH0,#08
MOV TL0,#0DBh
SETB TR0
;AQUI: JNB TF0,AQUI
CLR TF0
DJNZ R4,REPETE
CLR TR0
RET
end
0 comments:
Postar um comentário