Soy nuevo en programacion de PIC. Estoy diseñando un circuito para una bomba de tiempo. Uso el compilador XC8 y proteus. El microcontrolador es el pic 16f88. Al pic le conecte un teclado matricial, un decodificador 4511. Al decodificador 4 displays. El tema del temporizador y multiplexacion de display lo puede hacer. Lo que odio y ya no aguanto es que el pic en vez de ponerme en el display un 0 me pone un 7. Alguien sabe porque? Yo conecte el 4511 al puerto A, y si pongo el puerto A en 0, me tiene que aparecer un 0 no un 7. Es frustrante porque yo si quiero usar un while por ejemplo: while(tecla1==0) no puedo porquer el pic pone al Puerto A en 7 automaticamente. :c. OSea es normal que haga eso el pic?
Puse una parte de mi codigo para que vean que nunca pongo el Puerto A en 7:
int tecla1=0,tecla2=0,tecla3=0,tecla4=0;
TRISA=0;
TRISB=0b00001111;
while(tecla1!=6){
PORTA=tecla1;
D0=1;
__delay_ms(3);
if(fila_1){tecla1=1;}
if(fila_2){tecla1=4;}
if(fila_3){tecla1=7;}
D0=0;
PORTA=tecla2;
D1=1;
__delay_ms(3);
if(fila_1){tecla1=2;}
if(fila_2){tecla1=5;}
if(fila_3){tecla1=8;}
if(fila_4){tecla1=0;}
D1=0;
PORTA=tecla3;
D2=1;
__delay_ms(3);
if(fila_1){tecla1=3;}
if(fila_2){tecla1=6;}
if(fila_3){tecla1=9;}
D2=0;
PORTA=tecla4;
D3=1;
__delay_ms(3);
D3=0;
}