En esta entrada veremos los primeros pasos para aprender como programar un microcontrolador PIC desde cero, para que te vuelvas un experto y puedas desarrollar proyectos increíbles con estos dispositivos electrónicos. Por eso si quieres aprender a programar PIC desde cero, este curso es ideal para ti.
Antes de comenzar dejame mostrarte los links de utilidad:
En el siguiente link puedes acceder al curso de 👉 programación de PIC en C desde cero.
También te podria interesar la 👉 Introdución a Arduino desde cero.
O suscribirte al canal de Youtube, si deseas seguir aprendiendo más sobre programación de microcontroladores:
¿Qué es un Microcontrolador?
Un microcontrolador es un circuito integrado que contiene toda la estructura de un Microcomputador, es decir, unidad de proceso (CPU), memoria RAM, memoria ROM y circuitos de entrada/salida.
Es un dispositivo programable que puede ejecutar un sinnúmero de tareas y procesos. Un Microcontrolador esta compuesto básicamente por cuatro componentes principales:
Memoria ROM, EEPROM, EPROM o FLASH: es la memoria donde se almacena el programa.
Memoria RAM o SRAM: es la memoria donde se almacenan los datos.
Líneas de Entrada / Salida (I / O): también llamada puertos, se utilizan para conectar elementos externos al microcontrolador.
CPU: controla y ejecuta todas las instrucciones que conforman el programa.
Existen diferentes familias de microcontroladores: Intel, Motorola, Microchip, entre otras.
En este curso solo se estudiará el microcontrolador PIC y para efectos de estudio usaremos el PIC16F887, que pertenece a la familia de Microchip, sin embargo todos los códigos que muestran como programar microcontroladores en C vistos en este curso pueden extenderse a otro microcontrolador de la família PIC16 o PIC18 de la propia Microchip.
Microchip es una familia que se caracteriza por tener procesador RISC y arquitectura Harvard caracterizada por la independencia entre la memoria de código (programa) y la de memoria de datos.
La programacion de microcontroladores puede efectuarse en diferentes lenguajes y también en diferentes compiladores comerciales que actualmente existen.
Para realizar la programación en lenguaje C para microcontroladores PIC usaremos el compilador CCS C PIC C Compiler y por último para probar nuestros proyectos usaremos el simulador Proteus.
Sin embargo todos los programas que veamos en el Curso, podrás aplicarlos a otro PIC diferente, a lo largo de todo el contenido te dejaré notas especificandote los pasos que debes seguir para adaptar los códigos a otro microcontrolador PIC.
DESCRIPCIÓN DEL MICROCONTROLADOR PIC16F887
Veamos la arquitectura que presenta el microcontrolador PIC16F887, el cual es la evolución del popular PIC16F877A. Es decir, básicamente es el mismo PIC solo que mejorado.
La distribución de los pines del PIC16F887 se puede observar en la siguiente figura.
Descripción de los Pines:
- OSC1 / CLK IN (13): Entrada del cristal de cuarzo o del oscilador externo.
- OSC2 / CLK OUT (14): Salida del cristal de cuarzo.
- VSS (12 – 31): Conexión a tierra (GND)
- VDD (11 – 32): Conexión a positivo (+5V)
- MCLR# / VPP (1): Entrada de Reset o entrada del voltaje de programación. Si no se va a utilizar se debe poner a +5V.
El PIC16F887 cuenta con 5 puertos, los cuales son los pines del Chip y se pueden usar como entradas y/o salidas ademas que algunos pines cuentan con características especiales que pueden ser lectura análoga, salidas PWM, etc. (Esto se verá mas adelante en el curso). Los puertos están distribuidos de la siguiente manera:
PUERTO A: Cuenta con 6 pines que van desde RA0 hasta RA5.
PUERTO B: Cuenta con los 8 Pines (RB0 – RB7).
PUERTO C: Cuenta con los 8 Pines (RC0 – RC7).
PUERTO D: Cuenta con los 8 Pines (RD0 – RD7).
PUERTO E: Cuenta con 3 pines (RE0 – RE2)
CONFIGURACIÓN DE LOS PINES
Antes de aprender como programar un microcontrolador PIC deberemos entender como podemos configurar los pines del dispositivo embebido.
Cada pin de los puertos del microcontrolador se pueden configurar como entrada o salida digital.
Las entradas corresponden a sensores, suiches o pulsadores, es decir son los ojos del microcontrolador, el microcontrolador se da cuenta de lo que ocurre a través de las entradas.
Las salidas corresponden a los elementos que el microcontrolador va a controlar, un bombillo, un led, un motor, una electro válvula, entre otros, es decir las salidas corresponden al elemento final de control.
Cada línea de cada puerto representa un bit, por ejemplo el puerto B:
Para denotar un bit en particular, se puede decir:
PORTB, 6 → el bit 6 del puerto B
Si un PIN va a funcionar como entrada se coloca en “1” y si va a funcionar como salida se coloca en “0”.
Como programar un microcontrolador PIC para Configurar el puerto B
Si se necesita configurar el puerto B de la siguiente manera:
En el encabezado del programa debe escribirse la línea:
# BYTE PORTB=6
El número 6 corresponde a la dirección de memoria Ram en la que esta ubicado el puerto B. (Esto puede verse en el datasheet del microcontrolador). En el programa principal se digita la línea:
SET_TRIS_B(0B00001111);
Los últimos cuatro bits corresponden a salidas, por lo tanto se ponen en cero y los otros cuatro corresponden a entradas por consiguiente se ponen en uno.
Eliminar Ruídos del Microcontrolador
Las implementaciones con el microcontrolador puden estár afectadas por ruídos que pueden perjudicar el funcionamiento de nuestra aplicación con un microcontrolador. A continuación te dejo 4 consejos que puedes intentar para eliminar o disminuir el efecto de los ruídos:
- Resolda todos los puntos de estaño de tu placa, vaya ser que talvez haya un falso contacto.
- Cuando trabajas con bobinas (motores, contactores) y microcontroladores la fuente de alimentación es primordial, debes tener una buena fuente, con el mínimo de rizado posible. Si te es posible, alimenta el PIC con un fuente diferente a la que alimentas la bobina, si no, entonces trata de usar un buena fuente.
- Coloca un condensador de Bypass, (0.1uF) entre los pines de alimentación (VCC y GND) del microcontrolador lo mas cerca posible del integrado, esto ayuda a reduzir ruidos de interferencia.
- Utiliza conexiones a tierra separadas, una para el microcontrolador (GND Digital) y otra para la etapa de potencia (GND Análoga).
Datasheet o Hoja de Datos del PIC
Por ultimo, es importante tener a la mano la hoja de datos del microcontrolador (Datasheet) que proporciona el fabricante con el fin de aprovechar todas las características del dispositivo y para saber donde buscar y como activar cada una de las características del chip. Si deseas puedes descargar el datasheet a continuación. DataSheet PIC16F887.
Te doy la bienvenida a este curso donde vamos a ir paso a paso viendo como programar un microcontrolador PIC desde cero, donde estoy seguro vas a aprender mucho sobre este interesante mundo de microcontroladores.
En la siguiente entrada, veremos los primeros comandos del PIC C Compiler para comenzar a preguntar por las entradas del microcontrolador PIC y también para activar los pines del PIC.
Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los códigos de implementación y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link:
👉 Invitar a Sergio a un Café ☕️
Que esten muy bien, nos vemos en la siguiente entrada.
Mi nombre es Sergio Andres Castaño Giraldo, y en este sitio web voy a compartir una de las cosas que mas me gusta en la vida y es sobre la Ingeniería de Control y Automatización. El sitio web estará en constante crecimiento, voy a ir publicando material sobre el asunto desde temas básicos hasta temas un poco más complejos. Suscríbete al sitio web, dale me gusta a la página en Facebook y únete al canal de youtube. Espero de corazón que la información que comparto en este sitio, te pueda ser de utilidad. Y nuevamente te doy las gracias y la bienvenida a control automático educación.