Powered By Blogger
Mostrando entradas con la etiqueta Microcontrolador PIC. Mostrar todas las entradas
Mostrando entradas con la etiqueta Microcontrolador PIC. Mostrar todas las entradas

domingo, 27 de agosto de 2017

Control de LED con PIC16F84A y MikroC

En esta practica vamos a controlar el encendido y apagado de un led utilizando el microcontrolador PIC16F84A programado con lenguaje C.

Como primer punto vamos a utilizar el software MikroC para realizar la programación de nuestro pic, si no cuentas con este software te invito a que lo descargues, en la siguiente linea aparecen los links de descarga.

MikroC:
Parte 1.
Parte 2.
Parte 3.

El entorno de programación de MikroC es demasiado sencillo, para comenzar creamos un nuevo proyecto e indicamos el nombre del proyecto, el pic a utilizar y nuestro oscilador.

Parpadeo de LED

Material:

1 PIC16F84A.
1 Cristal oscilador de 4MHZ
2 Capacitores cerámicos de 1uf.
2 Resistores 220 ohm.
1 LED de 5mm preferente.
1 Protoboard.
Cables para conexión.

Una vez echo lo anterior escribimos el siguiente código de programación para encender y apagar un LED cada determinado tiempo:

void main(void) {

     TRISA.F0 = 0; // CONFIGURA PIN RA0 COMO SALIDA
     TRISB.F0 = 1; // CONFIGURA PON RB0 COMO ENTRADA
   
     // INICIO
   
     while(1)
     {

        PORTA.F0 = 1; // ENCIENDE LED
        Delay_ms(1000); // Retardo de 1seg
        PORTA.F0 = 0; // APAGA LED
        Delay_ms(500); //Retardo de 1/2seg
     }

}

Conexión del PIC16F84A

Antes de mostrar el diagrama de conexiones del circuito debemos tomar en cuenta la siguiente figura donde se muestra la distribución de los puertos en este microcontrolador.

Una vez visto lo anterior podemos llevar a cabo la conexión de nuestro circuito en la protoboard.

Figura de representación de conexión del circuito.


Para comprobar nuestra programación utilizamos la simulación en Proteus.

Figura de simulación en Proteus.


Encendido de LED con boton

Material:

1 PIC16F84A.
1 Cristal oscilador de 4MHZ
2 Capacitores cerámicos de 1uf.
2 Resistores (220 ohm y 10Kohm).
1 LED de 5mm preferente.
1 Push boton.
1 Protoboard.
Cables para conexión.

Para este otro ejercicio tomaremos en cuenta el codigo anterior unicamente le agregaremos la condicional "if" y "else", el codigo es el siguiente:

void main(void) {

     TRISA.F0 = 0; // CONFIGURA PIN RA0 COMO SALIDA
     TRISB.F0 = 1; // CONFIGURA PON RB0 COMO ENTRADA
   
     // INICIO
   
     while(1)
     {
      if (PORTB.F0 = 1) // SI ES DETECTADO UN PULSO POSITIVO "BOTON OPRIMIDO"
      {
        PORTA.F0 = 1; // ENCIENDE LED
      }
      else // SINO ES DETECTADO
      {
       PORTA.F0 = 0; // APAGA LED
      }
     }

}

La conexion es la siguiente:

Figura de conexión en protoboard de segundo ejercicio

Simulación en Proteus:

Figura de simulación en Proteus de segundo ejercicio.

Descarga de Archivos utilizados aqui:


Mira el vídeo