CONTADOR 0-9999

camoterisimogr

Bovino adolescente
#1
solicito si ayuda bakunos lo que pasa es que necesito realizar un contador ascendente de 0-9999 multiplexando mediante trancistores para ocupando solo el RB del pic 16f877a la accion de contar ya la tgo solo que no se como activar los transistores para que me valla dando la pauta para que cada display aumente ya sea en decenas centenas o millares espero su ayuda el codigo lo tengo en pbp de antemano gracias


TRISB=0; TODO EL PUERTO EN SALIDA
PORTB=0; TODO EL PUERTO EN 0
VEC1 VAR BYTE
VEC2 VAR BYTE
VEC3 VAR BYTE
VEC4 VAR BYTE
I VAR BYTE
UNIDADES VAR BYTE
DECENAS VAR BYTE
CENTENAS VAR BYTE
MILLARES VAR BYTE
TRISA=0
PORTA=0

INICIO:
WHILE (1=1)
FOR i=0 TO 9999
VEC1=I//10
VEC2=(I/10)//10
VEC3=(i/100)//10
VEC4=(I/1000)//10
LOOKUP VEC1,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],UNIDADES
LOOKUP VEC2,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],DECENAS
LOOKUP VEC3,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],CENTENAS
LOOKUP VEC4,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],MILLARES


PORTA=8:pORTB=UNIDADES
PAUSE 100
PORTA=4:pORTB=DECENAS
PAUSE 100
PORTA=2:pORTB=CENTENAS
PAUSE 100
PORTA=1:pORTB=MILLARES

IF VEC1>9 THEN VEC2=VEC2+1
PAUSE 50
IF VEC2>9 THEN VEC3=VEC3+1
PAUSE 50
IF VEC3>9 THEN VEC4=VEC4+1
PAUSE 50
IF VEC4>9 THEN VEC1=0


NEXT I
WEND
END
 
Arriba