Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Domina la Programación de Microcontrolador PIC18 en C – Guía Paso a Paso

Cómo Programar un Microcontrolador PIC18 en C. Tutorial Paso a Paso (Vistas Pictóricas)

¿Cómo Programar un Microcontrolador?

Programar microcontrolador significa codificar para diferentes propósitos en software especial. Hay mucho software para escribir códigos para microcontroladores e ICs. Discutiremos cómo programar un microcontrolador.

En este tutorial, programaremos/escribiremos código simple para microcontrolador PIC18 en C, donde "C" es lenguaje ampliamente usado y actualmente el único soportado (junto a ensamblador) para PIC de 8 y 16 bits.

PIC de 8 bits:

Series PIC10, PIC12, PIC16, PIC18 son MCU de 8 bits.

PIC de 16 bits:

Series PIC24, dsPIC30, dsPIC33 son MCU de 16 bits.

PIC de 32 bits:

Serie PIC32 es MCU de 32 bits.

¿Cómo Grabar un Programa Codificado al Microcontrolador?

Grabar microcontrolador = transferir programa codificado del compilador (software donde escribimos, analizamos, testeamos y depuramos código) a memoria del microcontrolador.

Código escrito generalmente en ensamblador/C y compilador genera archivo .hex entendible por microcontrolador. Archivo hex contiene instrucciones especiales para transferir a memoria y luego funciona según instrucciones dadas.

Al programar microcontrolador, necesitamos grabar programa en su memoria. Para esto, hardware que lea contenido y códigos del archivo hex en PC/Laptop via software. Conectamos hardware via USB/serie a PC y transferimos código a memoria del microcontrolador, que luego ejecuta la función exacta para la que fue diseñado.

Artículo relacionado: Diferentes Tipos de Microcontroladores

Programación PIC18 en C

Microchip Technology es 2da industria electrónica y fabricación IC. Vende microcontroladores en paquetes 6-pines (PIC10F2xx), 100-pines (dsPIC33EP512MU810) y 144-pines (algunos PIC32). Series previas: PIC12, PIC16, PIC18.

Introducción al Controlador Objetivo:

Discutimos serie PIC18. Común: PIC18F452. MCU 8 bits, 40 pines, 32KB memoria programa, hasta 40MHz cristal. Adecuado para muchas aplicaciones. Suministra/hunde hasta 25mA → no necesita transistor para驱动 LED y conectar a otro hardware. 3 pines interrupción externa, dos timers 16 bits, uno 8 bits. Módulo captura y comparador. ADC integrado → no necesita ADC externo. Módulos comunicación: RS232, I2C, 1-Wire, Puerto Esclavo Paralelo. Dispositivo ingenierizado estéticamente, apto para principiantes, aficionados y profesionales en proyectos mini y complejos.

Entorno de Programación:

Usamos MikroC para PIC. IDE totalmente equipado con librerías integradas e interfaz fácil. Incluye calculadoras (hex-binario-decimal) que ayudan mucho. Tamaño pequeño vs otros software, fácil uso/instalación. Sintaxis ligeramente diferente a MPLAB, pero sugiero MikroC por sintaxis legible y muchas librerías integradas. Reduce tiempo de programación y no hay que construir funciones comunes desde cero (delay, LCD read/write, RS232, etc.).

Nota: MikroC no es gratuito; MPLAB X IDE y compilador XC8 de Microchip son gratuitos con muchas librerías libres.

Artículo relacionado: Qué es Arduino y Cómo Programarlo? Programación Arduino

Crear Nuevo Proyecto en MikroC

Paso 1: Doble clic icono MikroC en Escritorio o donde instalado.

Paso 2: Botón "Project" esquina superior derecha → clic "Project".

Paso 3: Clic "New Project" → nueva ventana.

Paso 4: Clic "Next", seleccionar MCU objetivo, velocidad reloj, nombre proyecto y directorio. Clic "Next" en ventanas restantes. Aparece entorno de programación: escribir código y compilar.

Escribiendo Código para PIC18

PIC18F452 tiene 5 puertos. Cuatro de 8 bits, uno de 4 bits. Usaremos puerto 8 bits. Cosas a tener en cuenta:

Definir puerto como entrada o salida:

Cada puerto tiene registro TRISX que define uso para entrada o salida. X = A, B, C, D, E, F (ej. TRISB). Para salida: 0x00 en TRISB; para entrada: 0xFF. Pero cada pin independientemente seleccionable. Ej: 0x09 en TRISB → RB0 y RB3 entradas, resto salidas.

Función Delay:

En MikroC seleccioné librería delay → uso Delay_ms(). Argumento: milisegundos (ej. Delay_ms(1000) = 1000ms).

Primer Código Simple: Toggle Bits Puerto

void main() {
  TRISB = 0x00;  // Definido como Salida
  while(1) {     // Bucle infinito
    PORTB = 0x00;
    Delay_ms(500);  // 500ms delay
    PORTB = 0xFF;
    Delay_ms(500);
  }
}

Escribir código → compilar (botón "Build All") → hex creado en carpeta del proyecto. Grabar hex en PIC18F452 con hardware PICKIT o testear con Proteus.

Eso es todo por este primer tutorial. Mantente atento para próximos posts.

Artículos Relacionados:

Tecnología Industrial

  1. Desarrollo de un Programa Robusto de Mantenimiento Eléctrico: Guía Práctica
  2. Lanzando un programa de fiabilidad: una hoja de ruta probada
  3. Lanzar un Programa Exitoso de Aprendizaje en Manufactura: Guía Práctica
  4. Cómo Construir un Programa Robusto de Mantenimiento de Equipos para Reducir Tiempos Muertos
  5. Dominando la Soldadura de Aluminio: Una Guía Experta Completa
  6. Guía experta para soldar hierro fundido: Técnicas probadas para uniones fuertes y duraderas
  7. Dominando el soldadura blanda de aluminio: Técnicas y consejos expertos
  8. Dominando el brasado de aluminio: Técnicas expertas y guía práctica
  9. Guía experta para soldar cobre: Técnicas, consejos y mejores prácticas
  10. Diseñando un programa de mantenimiento eléctrico fiable para impulsar seguridad y producción
  11. Mecánica de los embragues: guía industrial completa