LED de parpadeo simple con PIC12F629

2

Soy nuevo en microchip pero construí un circuito con PIC12F629 y escribí este programa:

#include <xc.h>
#define _XTAL_FREQ 20000000
#pragma config WDTE=OFF , BOREN=OFF , PWRTE=ON , MCLRE=OFF , FOSC=INTRCIO

void main(){

TRISIO    = 0; 
GPIO   = 0;    
    while(1){
        __delay_ms(1000);
        GP0 = 1;                   
        __delay_ms(1000);
        GP0 = 0;
    }

}

Lo compilo con XC8 MPLAB X y transfiero el archivo hexadecimal al chip, luego conecto el pin num1 al voltaje positivo y el pin número 8 a tierra, luego el pin num7 (GP0) al lado positivo del led y al otro lado de LED.

El circuito no funciona, ¿cómo podría arreglarlo? No tengo tiempo en el código, ¿alguna idea?

  • Mido el voltaje en los lados del LED, es aproximadamente 1 pero el voltaje entrante es aproximadamente 5.

También eliminé todos los tiempos para el GPO liviano todo el tiempo, pero aún así no tuve suerte:

#include <xc.h>
//#define _XTAL_FREQ 20000000
#pragma config WDTE=OFF , BOREN=OFF , PWRTE=ON , MCLRE=OFF , FOSC=INTRCIO

void main(){

//init GPIO pins
TRISIO    = 0;  
GPIO   = 0;     
    while(1){
       // __delay_ms(1000);
        GP0 = 1;                    
        //__delay_ms(1000);
        //GP0 = 0;
    }

}

Actualizar

Extrañamente funcionó al agregar voltaje positivo primero y segundo negativo en el circuito, ¿alguna idea de por qué? ¡Incluso funciona simplemente conectando a tierra el pin3! Creo que necesita algo en el circuito.

    
pregunta Shombol-shagol

1 respuesta

1

No ha conectado una resistencia en serie con el led, que puede exceder la corriente de E / S máxima permitida y dañar la MCU

La conexión que debes usar es como

simular este circuito : esquema creado usando CircuitLab

El valor de la resistencia se calcula utilizando la siguiente ecuación

$$ R = \ frac {V_ {in} -ledV_F} {I_ {LED}} $$

El valor real depende de la corriente que desee a través del LED, la caída de tensión directa del led (Vf) y la tensión de E / S.

Como ejemplo, para Iled = 10mA, VF = 2v y 5v de salida de los pines de E / S

$$ R = \ frac {5v-2v} {{0.010A}} = 300 Ohm $$

Considere utilizar un valor de resistencia de 270 - 330 Ohm

    
respondido por el alexan_e

Lea otras preguntas en las etiquetas