PIC16F84 el "padre" de la enseñanza de microcontroladores
¿Alguna vez se han preguntado qué pasa dentro de un control remoto cuando presionan un botón? No hay una computadora con Windows ahí dentro, hay un microcontrolador. Hoy vamos a conocer al PIC16F84. Es como el 'Entrenamiento Jedi' de la programación: si puedes dominar este chip con solo 35 instrucciones, podrás entender cómo funciona desde un microondas hasta un satélite.
| Fig 01. Control remoto (https://pixabay.com/) |
| Fig 02. Una calculadora científica que usamos en el colegio o universidad. |
Concepto clave
Diferencia entre computadora (multitarea) y microcontrolador (una sola tarea específica).
"Una computadora de propósito general busca flexibilidad: navegar, editar, comunicar, jugar y correr sistemas operativos complejos. Un microcontrolador, en cambio, integra CPU, memoria y periféricos en un solo chip para controlar procesos concretos como leer sensores, encender motores o manejar botones."
Anatomía de un Superhéroe de Silicio
Diagrama del PIC16F84 y el chip físico.
| Fig 03. Pic16f84a. |
- Las Patitas (Pines): "No son solo patas de metal, son los sentidos y los músculos. Unas sirven para sentir (Entradas como botones) y otras para actuar (Salidas como motores o luces)".
- La Memoria Harvard: "Es como un estudiante organizado: tiene un cuaderno para las instrucciones (programa) y otro para los datos (números). Nunca se confunde".
- El Registro W: "Es la mesa de trabajo. Todo lo que el chip suma o mueve debe pasar por aquí".
Para programar el PIC16F84 vamos a utilizar un programa llamado MPLAB (usando el ensamblador MPASM), no basta con escribir las instrucciones; necesitas una estructura que el compilador entienda. Esta "plantilla" le indica al programa dónde empieza el código, qué configuración física tiene el chip y dónde terminan las instrucciones.
Esto lo lograremos paso a paso con los ejemplos que vendrán en los siguientes publicaciones.
Estructura Base para MPLAB (Plantilla .ASM)
A modo de ejemplo tenemos la siguiente plantilla donde tenemos un ejemplo Espejo donde copia los datos de entrada del microcontrolador del puerto A hacia el puerto B:
| Fig 07 . Plantilla de trabajo MpLab. |
El código en un archivo nuevo con extensión
.asm en tu proyecto de MPLAB. En las siguientes entregas lo veremos en mayor profundidad todo lo anterior visto en Proteus y placa de entrenamiento.Programar en Ensamblador es hablarle al chip en su idioma natal. No usamos frases largas. Usamos órdenes de tres letras. Por ejemplo, MOVLW significa 'Mueve este número a la mesa'. Es como darle órdenes a un robot muy obediente pero que no sabe nada. Hay conceptos como el de Bucle (Loop). "La magia de estos chips es que pueden repetir una tarea millones de veces por segundo sin cansarse ni aburrirse
¿Por qué aprender esto hoy?
"Muchos usan Arduino o Python hoy en día. Es genial, pero es como usar una calculadora sin saber sumar. Aprender con el PIC16F84 les da visión de rayos X. Cuando vean un código de nivel superior, ustedes sabrán exactamente qué está pasando con los electrones y la memoria. Eso los convierte en mejores ingenieros, programadores y creadores".
No hay comentarios.:
Publicar un comentario
Hola, con tu comentario puedes aportar para mejorar la calidad de mi trabajo