Você está na página 1de 2

Contador del 0 a 9999 En at89c51 de 4 velocidades

Por : Fabian

Cardenas

INICIO:

MOV A,#00H
MOV R0,#00H
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
MOV R4,#00H
MOV R5,#00H
MOV R6,#00H
MOV R7,#00H
CLR
P2

;********************
acall decenas
;********************
acall centenas
;********************
acall millares
;********************
djnz R4,tmp
ADD A,#010H
MOV R1,A
CJNE R1,#0A0H,INICIO2
mov R1,#00H
;********************
;Segunda parte
clr A
ADD A,#010H
ADD A,R0
mov R0,A
clr A
CJNE R0,#0A0H,INICIO2
mov R0,#00H
;********************
;Tercera parte
clr A
ADD A,#010H
ADD A,R2
mov R2,A
clr A
CJNE R2,#0A0H,INICIO2
mov R2,#00H
;********************
;cuarta parte
clr A
ADD A,#010H
ADD A,R3
mov R3,A
clr A
CJNE R3,#0A0H,INICIO2
mov R3,#00H
ljmp INICIO2

;********************************
INICIO2:;Primera parte
;Para seleccionar la velocidad
velocidad: Mov A,P2
ANL A,#03H
velocidad1: XRL A,#00H
CJNE A,#00H,velocidad2
;CJNE R4,#0AH,tmp
mov A,R1
mov R4,#01H
sjmp tmp
velocidad2: XRL A,#01H
CJNE A,#01H,velocidad3
;CJNE R4,#0AH,tmp
mov A,R1
Mov R4,#08H
sjmp tmp
velocidad3: XRL A,#02H
CJNE A,#02H,velocidad2
;CJNE R4,#16H,tmp
mov A,R1
Mov R4,#16H
sjmp tmp
velocidad4: XRL A,#03H
;CJNE R4,#32H,tmp
mov A,R1
Mov R4,#32H
sjmp tmp
tmp:

acall unidades

unidades:
mov p1,R1
Orl p1,#08H
acall DELAY

ANL
ret
decenas:

centenas:

p1,#0F7H

mov p1,R0
orl
p1,#04H
acall DELAY
ANL
p1,#0FBH
ret
mov
orl

p1,R2
p1,#02H

acall DELAY
ANL
p1,#0FDH
ret
millares:

mov

p1,R3

orl
p1,#01H
acall DELAY
ANL
p1,#0FEH
ret
;************************************
**
DELAY:
MOV R5,#03AH
DEL1:
MOV R6,#035H
DEL2:
DJNZ R6,DEL2
DJNZ R5,DEL1
RET
End
; fin de la programacin.

Você também pode gostar