Diseñar un contador de impulsos externos, (introducido por un pulsador conectado a RA5) de 0 a 99.
La cuenta se debe mostrar en 2 displays de 7 segmentos de ánodo común multiplexados conectados a la puerta B controlados por RA0 y RA1
Mi problema es que al llegar a 9 el contador de las decenas no se activa y no me rula el programa, alguien puede echarme una mano?
#include <16f886.h>
#fuses NOLVP,PUT,NOWDT,EC_IO,NOFCMEN,NOBROWNOUT,NOWRT,BORV40
#use fast_io(A)
#use fast_io(B)
#use delay (clock=4000000)
void main ()
{
int cont;
const int display[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x98};
int num,dec,uni;
setup_adc_ports(NO_ANALOGS);
set_tris_A(0b00100000);
set_tris_B(0);
cont=0;
while(1)
{
dec=num/10;
uni=num%10;
output_B(display[dec]);
output_high(PIN_A1);
output_low(PIN_A0);
delay_ms(5);
output_B(display[uni]);
output_low(PIN_A1);
output_high(PIN_A0);
delay_ms(5);
{
if(input(PIN_A5)==0)
{
if(cont==99)
{
cont=0;
}
else
{
cont++;
}
output_B(display[cont]);
while(input(PIN_A5)==0);
delay_ms(10);
}
}
}
}