Tabla de contenido
Como programar un microcontrolador PIC18 en C. Tutorial paso a paso (ilustración)
¿Cómo programar un microcontrolador?
Programar un microcontrolador significa codificarlo con un software especial para diferentes propósitos. Existe una gran cantidad de software que le permite escribir diferentes tipos de código para microcontroladores y chips IC. A continuación describimos cómo programar el microcontrolador.
En este tutorial, programará o escribirá código simple en C para un microcontrolador PIC18. “C” es un lenguaje informático ampliamente utilizado, actualmente utilizado por microcontroladores PIC de 8 y 16 bits.
PIC10, PIC12, PIC16 y PIC18 son una serie de MCU de 8 bits.
PIC24, dsPIC30 y dsPIC33 son una serie de MCU de 16 bits.
PIC32 es una serie de MCU de 32 bits.
¿Cómo escribir un programa codificado en un microcontrolador?
Grabar un microcontrolador significa transferir un programa codificado desde un compilador (un compilador es un software que puede crear, analizar, probar y depurar programas codificados para un microcontrolador) a la memoria del microcontrolador.
La codificación o los programas escritos para un microcontrolador generalmente están en lenguaje ensamblador/C y el compilador produce archivos hexadecimales que el microcontrolador entiende. El archivo hexadecimal contiene instrucciones especiales que se transfieren a la memoria del microcontrolador para actuar de acuerdo con las instrucciones y programas especificados.
Cuando haya programado su microcontrolador (lo guiaremos a través de un tutorial paso a paso sobre cómo programar codificación de propósito especial para su microcontrolador), debe escribir este programa en la memoria del microcontrolador.
Para este propósito, necesita un hardware que comprenda y lea el contenido y el código de programación de los archivos HEX almacenados en su computadora portátil o PC a través del software. Entonces, cuando conecta este hardware a su PC/computadora portátil a través de un cable USB o serie y transfiere el código de programación escrito a la memoria del microcontrolador, el microcontrolador está listo para que los diseñadores y fabricantes diseñen el chip IC del microcontrolador y realicen la función exacta especificada.
Programando un microcontrolador PIC18 en C.
Microchip Technology es la segunda mayor industria de fabricación de circuitos integrados y electrónica. Microchip Technology ofrece microcontroladores en paquetes de 6 pines (serie PIC10F2xx), paquetes de 100 pines (dsPIC33EP512MU810) e incluso paquetes de 144 pines (dispositivos PIC32 seleccionados). También hay muchas series anteriores como PIC12, PIC16 y PIC18.
Presentamos el controlador de destino:
La serie PIC18 se describe aquí. Un microcontrolador popular para esta serie es el PIC18f452. Este controlador es un microcontrolador de 8 bits con 40 pines, 32 kb de memoria de programa y puede operar a frecuencias de cristal de hasta 40 MHz, lo que hace que este controlador sea adecuado para muchas aplicaciones.
Este controlador puede absorber y generar hasta 25 mA de corriente, por lo que no tiene que usar transistores para controlar los LED y conectarlos a otro hardware. Hay 3 pines de interrupción externos, 2 temporizadores de 16 bits y 1 temporizador de 8 bits. Este controlador está equipado con un módulo de captura y un módulo comparador. No hay necesidad de conectar un ADC externo a este dispositivo ya que este controlador tiene un convertidor analógico a digital.
El controlador también puede tener módulos para comunicarse con otro hardware, como módulos RS232, módulos I2C, módulos de 1 cable y puertos esclavos paralelos. Este microcontrolador es un dispositivo diseñado estéticamente adecuado para principiantes, aficionados y profesionales para proyectos electrónicos pequeños y complejos.
Introducción al entorno de programación:
El entorno de programación utilizado es MikroC para PIC. Este IDE está totalmente equipado con varias bibliotecas integradas y una interfaz fácil de usar. Este entorno de desarrollo integrado está repleto de calculadoras para ayudar con la programación, incluida la conversión de hexadecimal a binario y decimal.
El tamaño de este software también es muy pequeño en comparación con otros, lo que facilita su uso e instalación. La sintaxis de este software es ligeramente diferente del software MPLAB, pero como diseñador recomiendo a todos los lectores que usen MikroC en lugar de MPLB porque la sintaxis es muy legible y hay muchas bibliotecas integradas para usar.
Esto definitivamente reduce el tiempo de programación y elimina la necesidad de crear funciones comunes como retrasos, lectura y escritura de LCD y protocolo RS232 desde cero.
Tenga en cuenta que los compiladores MPLAB X IDE y XC8 de Microchip son gratuitos y ofrecen muchas bibliotecas gratuitas, pero MikroC no es un software gratuito.
Comencemos con un ejemplo.
Nota: Se supone que ha descargado e instalado el software de programación MikroC, planea programar en C y tiene algunos conocimientos iniciales de programación en C.
Cree un nuevo proyecto en MikroC:
paso 1:
Haga doble clic en el icono de MikroC en su escritorio o donde haya instalado el software (ver más abajo).
Una vez que se carga el software, verá esta ventana.
Paso 2:
en la esquina superior derecha[プロジェクト]botón,[プロジェクト]Hacer clic.
Paso 3:
Haga clic en “Proyectar ahora” y verá una nueva ventana a continuación.
Etapa 4.
[次へ]Haga clic para seleccionar la velocidad de reloj de la MCU de destino, el nombre del proyecto y el directorio de destino.
Luego en todas las ventanas restantes que aparecen sin prestar atención a las ventanas restantes[次へ]Hacer clic.
Aparecerá la ventana de abajo. Este es el entorno de programación para esta ventana, donde debe escribir su código y compilarlo.
La configuración del software ahora está completa. El siguiente paso es escribir el código.
Escribiendo código para microcontroladores PIC18:
El PIC18f452 viene con 5 puertos. Cuatro puertos son de 8 bits y un puerto es de 4 bits. Este tutorial utiliza un puerto de 8 bits. Hay algunas cosas a tener en cuenta al escribir código para el PIC18. (El código se muestra a continuación)
Crear puertos como entradas o salidas.
Cada puerto tiene un registro TRISX que define si este puerto se usa para entrada o salida. X es A, B, C, D, E, F, por ejemplo TRISB.
TRISB debe ser 0x00 para la salida y 0xFF para la entrada. Sin embargo, este no es siempre el caso, ya que cada pin se puede seleccionar individualmente como entrada o salida. Escribir 0x09 en TRISB selecciona RB0 y RB3 para entradas y los pines restantes para salidas.
Función de retardo:
En mikroC elegimos la biblioteca de retardo, por lo que no necesitamos crear una función de retardo aquí. Simplemente puede usar la función Delay_ms(). En esta función, si desea un retraso de 1000 milisegundos, debe especificar el retraso de milisegundos deseado escribiendo algo como Delay_ms (1000).
Aquí está el primer código de bit de PUERTO de alternancia simple.
void main() {
TRISB=0x00; // Defineind as Output
While(1) //Infinite loop
{
PORTB=0x00;
Delay_ms(500) ; //500 miliseconds delay
PORTB=0xFF;
Delay_ms(500) ;
}
}
Luego, cuando escriba este código, debería compilarse.
Al hacer clic en este botón “Construir todo”, se compilará su código y se creará un hexadecimal en la carpeta donde guardó el archivo de su proyecto.
Una vez que se crea el hexadecimal, se puede escribir en un PIC18f452 usando el hardware PICKIT o probarlo usando proteus.
Eso es todo por este primer tutorial. Estén atentos a futuras publicaciones sobre este tema.
Artículo relacionado: