Pic c compiler blink


En este post vamos a crear un proyecto con el compilador pic c compiler, veremos los requerimientos mínimos y los pasos que necesitamos para poder crear el proyecto

oscar Escrito por oscar 19 June 2020 4690 0

Contenido

Acerca del proyecto

En este post vamos a crear un proyecto con el compilador pic c compiler, veremos los requerimientos mínimos y los pasos que necesitamos para poder crear el proyecto además de ser la configuración de los bits que necesita cada microcontrolador.

Conocimiento previo

Para realizar este proyecto se requiere conocimiento previo de los siguientes temas, si aun no has trabajado con lo que se menciona en la siguiente tabla, allí están los links a los post para que puedas dar un repaso adicional o puedas recordar el conocimiento necesario para poder realizar este proyecto.

Proyecto Descripción
Introducción al compilador pic c compiler En este proceso encontrará la introducción a pic c compiler, además de encontrar a los links a los proyectos que hemos realizado con este compilador
Instalar pic c compiler en windows En este post vamos a hacer el paso a paso para instalar pic c compiler en Windows, vamos a hacer la instalación con la demo que nos ofrece la página ccs Inc.
Pic c compiler crear proyecto En este post explicamos el paso a paso para crear un proyecto con el compilador pic c compiler utilizando como ejemplo un Pitch de baja categoría.
PIC16F628A Aquí encontrará la hoja de datos del pic 16F628a y los diagramas de conexión

Pic c compiler

Este es un compilador de C para microcontroladores Microchip desarrolló por CCS, esta diseñado para ser usado con dispositivos PIC ® MCU y PIC24 / dsPIC ® DSC. Los compiladores CCS son fáciles de usar y rápidos de aprender. Este compilador incluye productos de compilación incluyen optimización de nivel profesional, la biblioteca más grande de funciones integradas, potentes comandos de preprocesador específicos PIC ® MCU y programas de ejemplo listos para ejecutar para iniciar rápidamente cualquier proyecto.[1]

Microcip

Microchip Technology Inc. es una empresa fabricante de microcontroladores, memorias y semiconductores analógicos. Hoy es uno de los líderes del mercado de microcontroladores. Algunos de sus productos son: Microcontroladores PIC, dsPIC30F, dsPIC33F, productos de radio-frecuencia, entre otros.[2]

PIC16f628a

El PIC16f628a es el microcontrolador que vamos a usar en este proyecto, básicamente usaremos uno de sus pines como salida para poder encender y apagar el led.

Para este controlador como veremos en el circuito es usar un cristal externo de 4MHz, aunque se puede utilizar el oscilador interno y poder utilizar estos dos pines donde conectamos el cristal, decidí hacer el ejercicio de esta forma para poder explicarles como configurar las instrucciones del cristal.

A continuación tenemos los pines enumerados de microcontrolador y una imagen de la conexión básica en la que nos podemos guiar:

Materiales

Esta es una lista de los materiales que se utilizara en el proyecto.

Material Cantidad Descripción
pic16f628a 1 Controlador del proyecto
Cristal 4MHz 1 Cristal para el pic
Led 1 Indicador luminoso del proyecto
Resistencia 1K 1 Protección para el led

Circuito

El circuito que vamos a trabajar básicamente es la conexión del microcontrolador alimentación positiva y negativa con los fines correspondientes como podemos ver en la siguiente tabla y vamos a utilizar el pin B0 para realizar la conexión de LED.

Pin Descripción
5 Vss Alimentación GND
6 B0 Pin de salida para el LED
14 VDD Alimentación positiva 5V
15 OSC2 Entrada de ocsilador4MHz
16 OSC1 Entrada de ocsilador 4MHz

Código

Continuamos con la creación del Código de este proyecto antes de llegar hasta este paso revisen el post de como crear un proyecto con pic C compiler ya que es muy importante seleccionar lo que son las características y el dispositivo a utilizar para que al compilar no nos genere problemas.

Primero explicamos las funciones principales que vamos a utilizar para este proyecto las cuales son las siguientes:

delay_ms
Permite hacer una espera en ms en el programa.
set_tris_b
Determina los pines del puerto b como estrada si es 1 y salida si es 0 pasando como valor un hexadecimal, ejemplo 0xff.
output_high
Pone en estado alto el pin que le pasemos.
output_low
Pone en estado bajo el pin que le pasemos.

Veamos el código y lo explicamos paso a paso:

// Paso 1
#include <16F628A.h>
// Paso 2
#fuses XT, NOWDT, NOMCLR
// Paso 3
#use delay(clock=4M)
// Paso 4
#define led pin_b0

// Paso 5
void main()
{

    // Paso 6
    set_tris_b(0x00);
    do {
        // Paso 7
        output_high(led);
        delay_ms(1000);
        // Paso 8
        output_low(led);
        delay_ms(1000);
    } 
    while(TRUE);
}

Funcionamiento

  1. El primer paso es incluir el microcontrolador que vamos a utilizar en este caso es el pic16F628a.
  2. Luego vamos a declarar los fusibles que va a utilizar este microcontrolador, el más importante es el XT ya que estamos utilizando un cristal externo de baja frecuencia que es de 4MHz.
  3. Ahora vamos a indicarle el reloj con qué va a trabajar el programa, como mencionamos anteriormente estamos trabajando con un cristal de 4MHz, así que dejamos el reloj de la misma frecuencia.
  4. Para llevar un poco de orden en el código vamos a declarar el pin b0 y lo vamos a nombrar como LED.
  5. Inicializamos en el main donde se baje contar todo nuestro programa principal.
  6. Ahora le indicamos con set_tris_b que todos los pines del puerto b van a ser de salidas.
  7. Con la instrucción output_high vamos a encender el led y luego le vamos a dar un tiempo de espera de un segundo.
  8. Ahora con la instrucción output_low lo que vamos a hacer es apagar el LED y dar un tiempo de espera de un segundo.

Y ya por último dentro del mail declaramos un Wild dónde va a quedar el programa ejecutándose indefinidamente.

Referencias

[1] ccsinfo http://www.ccsinfo.com/content.php?page=compilers, Consultado Junio 2020

[2] wikipedia Microchip https://es.wikipedia.org/wiki/Microchip_Technology_Inc., Consultado Junio 2020


Comentario

Debe aceptar antes de enviar