PIC 18F PORTA pines como entrada

0

Estoy trabajando en PIC18F4550.

He configurado PORTA Pin0-Pin3 como entradas usando el siguiente código

PORTA=0X00;
LATA=0X00;
ADCON1=0x0F; 
CMCON = 0x07;
TRISA =0XCF;

y PORTE como salidas usando el siguiente código

TRISEbits.TRISE0=0
TRISEbits.TRISE1=0;
TRISEbits.TRISE2=0;

He conectado un teclado pasivo a estos pines y solo estoy escaneando las entradas haciendo las salidas 1 a la vez.

Pero estoy obteniendo valores muy erráticos en el registro PORTA. Incluso traté de depurar utilizando pickit3. Establecí un punto de interrupción justo después de hacer la salida 1 y antes de buscar entradas. El registro PORTA está cambiando de manera caprichosa incluso cuando no he presionado ninguna tecla. Por favor, sugiere lo que podría estar haciendo mal.

    
pregunta rahulb

1 respuesta

4

Sus entradas pueden carecer de resistencias pull up. Sin ellos, las entradas flotan y pueden estar en cualquier nivel de voltaje.

Algunas entradas se pueden extraer internamente configurándolas de esa manera. Pero no en el puerto A para este dispositivo. (Aunque está disponible en el puerto B).

    
respondido por el gbarry

Lea otras preguntas en las etiquetas