Estado del pin de E / S de PIC en el encendido

1

Tengo un LED conectado al pin RA1 de PIC18F25K20 (alimentado por una fuente de alimentación de 3.3V) de la siguiente manera:

Riel de 5V - > Resistor (200 Ohm) - > Ánodo LED - > Cátodo LED - > RA1

RA1: Entrada - > LED está apagado
RA1: Salida baja - > El LED está encendido.

¿Es esta la forma correcta de conectar el LED, ya que el PIC funciona con 3.3V y el LED está conectado a 5V?

Inicialicé RA1 para ser una entrada como se muestra en la rutina DEVICE_Init . El código está escrito en lenguaje C: compilador Microchip C18.

void main()
{
    DEVICE_Init();
    //wait one second
    while (1)
    {
        TRISA = 0; //led is on
        //wait 2 seconds
        TRISA = 0x06; //led is off
        //wait 4 seconds
    }
}

void DEVICE_Init (void)
{
    OSCCON = 0x73; //PRIMARY INTERNAL OSCILLATOR
    PORTA = 0;  
    LATA = 0;           
    TRISA = 0x06;           //RA1, RA2 INPUT
    ....
}

Cuando enciendo el chip por primera vez, el LED se enciende durante una fracción de segundo y luego se apaga. Tengo entendido que los pines IO se ingresan al reiniciar. Entonces, ¿por qué el LED se enciende por un breve momento en el encendido?

    
pregunta user101095

3 respuestas

2

Los pines de E / S PIC se activan en estado de alta impedancia al encender.

La razón por la que ve el fallo del LED es probablemente porque el suministro de 5 V está subiendo más rápido que el suministro de 3.3 V, y el cátodo del LED se mantiene bajo temporalmente a través del diodo de protección en ese pin en el PIC. Esto no es bueno y puede provocar un bloqueo en el encendido.

Si puede hacer arreglos para asegurarse de que el suministro de 3.3 V suba antes y baje después del suministro de 5 V, entonces su esquema puede funcionar. Sin embargo, es mejor usar un transistor, o ejecutar el LED desde la fuente de alimentación de 3.3 V. Este último también desperdiciará menos energía, suponiendo que su suministro de 3.3 V sea razonablemente eficiente.

    
respondido por el Olin Lathrop
0

Su LED se enciende durante una fracción de segundo porque las salidas se restablecen como Hi-Z (alta impedancia) o flotante. Para solucionar este problema, coloque algo como una resistencia de 10k de la salida a tierra. Esto se conoce como resistencia desplegable y hará que la salida sea baja en el inicio. Hice una pregunta similar aquí:

enlace

    
respondido por el biggi_
0

No los inicialice como entradas solo como salidas. Las salidas pueden fuente y amp; lavabo. Cualquier resistencia desplegable no funcionará, ya que en esta configuración, el diodo se está actualizando. ¡¡¡No te detengas !!. Sólo inicialice los puertos lo antes posible. Tu diodo tiene que tener Uv > 1.7V.

    
respondido por el P__J__

Lea otras preguntas en las etiquetas