Mplab xc8 pushbutton


En este post encenderemos un led usando un interruptor, este programados desde mplab xc8

oscar Escrito por oscar 25 May 2019 5182 0

En este post vamos a dar los primeros inicios con el mplab x y el compilador xc8 para trabajar con los microcontroladores pic, crearemos un proyecto para encender un led usando un pulsador o interruptor de boton.

Contenido

Instalación de mplabx y xc8

Antes de empezar a trabajar necesitamos los entornos de trabajo los cuales son el mplabx y el compilador xc8[1], para ello se ha preparado un par de post en donde se realiza la explicación de como instalar los programas en Windows e Linux.

Materiales

Los materiales a usar los describimos en la siguiente tabla.

Material Cantidad Descripción
PIC16F877A 1 Microcontrolador de la marca microchip
Cristal de 4Mhz 1 Reloj externo del microcontrolador
Resistencias de 1K 3 Resistencia de protecion del led y de MCLR
Led 1 Indicador visual
Pulsador tipo botton 1 Se usa para el reset de MCLR

Conexión

Para trabajar con un microcontrolador pic hay que tener en cuenta dos cosas importantes, la conexión a positivo del pin MCLR con una resistencia de protección y la conexión del cristal externo en este caso de 4Mhz con un par de condensadores de 22uf. A continuación encontrara los planos y el circuito.

Código

Vamos a explicar el código paso por paso, aunque como se puede observar no es tan complicado este ejemplo.

También se ha dejado en el repositorio de la pagina el código por si desea clonarlo, lo encontraras como ejemplo led.

//Paso 1
#pragma config FOSC = XT
#pragma config WDTE = OFF
#pragma config PWRTE = OFF
#pragma config BOREN = ON
#pragma config LVP = ON
#pragma config CPD = OFF
#pragma config WRT = OFF
#pragma config CP = OFF 

//Paso 2
#include <xc.h>
#include <PIC16f877A.h>

//Paso 3
#define _XTAL_FREQ 4000000

//Paso 4
void main(void) {
    
    //PAso 5
    TRISB = 0;
    TRISD = 1;
    
    //PAso 6
    RB0 = 0;
    
    //Paso 7
    while(1){

        //PAso 8
        RB0 = RD0;
    }
}
  1. Declaramos la configuración de los fuses que necesita el pic para su funcionamiento, el mas importante por el momento es el FOSC en XT, donde le indicamos que usamos un cristal externo.
  2. Incluimos las librerías de xc y del pic, que contienen las configuraciones de los pines e instrucciones básicas de funcionamiento.
  3. Definimos la frecuencia del cristal a 4Mh, el cual estamos trabajando, para ello usamos _XTAL_FREQ.
  4. Inicializamos la función principal que el main donde correrá el programa.
  5. Colocamos todo el puerto B como salida y el puerto D como entrada usando la función TRISX.
  6. Seteamos el pin B0 en bajo o apagado.
  7. Creamos un ciclo while para que el programa corra indeterminadamente.
  8. Por ultimo encendemos y apagamos el led asignando el bit correspondiente con RB0, esto lo hacemos obteniendo el valor del pin RD0.

Referencias

[1] Microchip http://ww1.microchip.com/downloads/en/devicedoc/50002053g.pdf, Consultado mayo 2019


Comentario

Debe aceptar antes de enviar