Hola, me llamo David y este es mi primer post.
Estoy empezando a programar pic, y como no... tengo dudas. A ver si me podeis echar una mano.
Quiero que un display de siete segmentos controlado por un 16f84a, valla ascendiendo de cero a cinco, pero solo un numero cada vez actue el pulsador.
Tengo este codigo:
I var Byte
pulsador var byte
aumentar var byte
cero con %11000000
uno con %11111001
dos con %10100100
tres con %10110000
cuatro con %10011001
cinco con %10010010
trisa = %11111 ;configura el puerto a como entradas
trisb = %00000000 ;configura el puerto b como salidas
porta =%00000 ;inicializa el puerto a
portb =%11111111 ;inicializa el puerto b
inicio:
aumentar = I+1
pulsador = porta.0
if pulsador = 1 then I = i + 1
call digito
goto inicio
digito:
if I = 0 THEN portb = cero
if I = 1 then portb = uno
if I = 2 then portb = dos
if i = 3 then portb = tres
if i = 4 then portb = cuatro
if i = 5 then portb = cinco
return
End
El caso es que estando asi, cuando pulso, me sube directamente al cinco.
¿Que puede ser?
Estoy empezando a programar pic, y como no... tengo dudas. A ver si me podeis echar una mano.
Quiero que un display de siete segmentos controlado por un 16f84a, valla ascendiendo de cero a cinco, pero solo un numero cada vez actue el pulsador.
Tengo este codigo:
I var Byte
pulsador var byte
aumentar var byte
cero con %11000000
uno con %11111001
dos con %10100100
tres con %10110000
cuatro con %10011001
cinco con %10010010
trisa = %11111 ;configura el puerto a como entradas
trisb = %00000000 ;configura el puerto b como salidas
porta =%00000 ;inicializa el puerto a
portb =%11111111 ;inicializa el puerto b
inicio:
aumentar = I+1
pulsador = porta.0
if pulsador = 1 then I = i + 1
call digito
goto inicio
digito:
if I = 0 THEN portb = cero
if I = 1 then portb = uno
if I = 2 then portb = dos
if i = 3 then portb = tres
if i = 4 then portb = cuatro
if i = 5 then portb = cinco
return
End
El caso es que estando asi, cuando pulso, me sube directamente al cinco.
¿Que puede ser?