Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

CONTADOR 0-9999

camoterisimogr

Bovino maduro
Desde
11 Oct 2008
Mensajes
120
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
 
Volver
Arriba