Está en la página 1de 15

PROGRAMACIÓ

N DE
MICROCONTROL
ADORES
PIC16F877A
ELEMENTOS REQUERIDOS
 SOFTWARE  HARDWARE
 Editor de texto plano (Blog de notas, note pad,  Protoboard. (Real o Simulado)
etc)  Microcontrolador PIC16F877A. (Real o
 Compilador del archivo creado en formato .asm Simulado)
 Software de transferencia del archivo .Hex al  Fuente de alimentación. (Real o Simulado)
microcontrolador.  Oscilador de 4 MHz (Real o Simulado)
 Software de simulación de circuitos eléctricos.  Programador Pickit 1,2,3 o similares (solo para
pruebas reales, en simulador no es necesario)
ETAPAS DEL PROCESO DE
PROGRAMACIÓN DE
MICROCONTROLADORES
• Crear el código .ASM • Convertir el código
en lenguaje
máquina.

Codificar Compilar

Simular Transferir

• Realizar las pruebas del sistema • Guardar el


en un entorno virtual. archivo .HEX en la
memoria del
Microcontrolador.
ELABORACIÓ
N DEL CÓDIGO
 Abrir Blog de Notas o editor de texto
plano.
 Crear archivos con extensión .ASM

 Utilizar la estructura de código


modular en la medida de lo posible.
 Puede emplear código Assembler.
ESTRUCTURA DE CÓDIGOS
ASSEMBLER
Todo código posee su estructura, sintaxis y
normas de estilo, los códigos en Assembler
también, para programar
microcontroladores la estructura básica es
la que se muestra en la imagen anexa, son
esencialmente 6 bloques: Encabezado,
Declaración, Vector Inicio, Rutinas
Principal y Subrutinas, por último Fin de
Programa.
EL
ENCABEZADO
Permite indicar al microcontrolador la
configuración y las librerías que debe
emplear.
 La primera línea indica el modelo de
microcontrolador que se va a usar.
 La segunda línea indica las librerías
que el compilador debe incluir en el
microcontrolador al momento de
transferir el código.
 La tercera línea indica la
configuración y modo de operación
que tendrá el microcontrolador una
vez programado.
DECLARACIÓ
N DE
VARIABLES
En éste campo se declaran las variables que
serán utilizadas durante la ejecución del
código, por ejemplo un dato A que se suma
con otro dato B y el resultado de la suma.
 El nombre de la variable puede ser
cualquiera, se recomienda emplear
nombres cortos.
 No es aconsejable mezclar mayúsculas
con minúsculas.
 Todas las variables son asumidas de tipo
Byte por lo que no es requerido definir el
tipo de variable.
 La directica EQU de Equal (Igual) asocia
la variable con una única localidad de
memoria en el microcontrolador.
VECTOR
INICIO
Para cada código sin importar el lenguaje
utilizado existe un inicio y un final de
programa, el vector inicio indica al
microcontrolador en que localidad de la
memoria se encuentra la primera línea del
programa o la primera instrucción a
ejecutar.
 Normalmente es la localidad 00H
pero podría ser cualquiera de las
disponibles.
 El microcontrolador regresa a la
dirección de inicio después de
ejecutar el final del programa o
cuando ocurre un reset.
RUTINA
INICIO
La rutina inicio en realidad es una
subrutina ya que no es obligatorio que
exista en el código sin embargo es una
buena práctica utilizarla ya que con ella
se estable un punto 0 de operación con el
cual se colocan los valores que deben
tener las variables de forma
predeterminada para garantizar que el
microcontrolador funciones de forma
esperada.
 Debe incluir la declaración de puertos
i/o y configuración de registros.
 Debe precargar los valores conocidos
en las variables para que el arranque
del sistema sea correcto y predecible.
RUTINA
PRINCIPAL
También conocido como cuerpo del
programa, contiene las secuencias u
operaciones que debe ejecutar el
microcontrolador para cumplir con su
tarea asignada, por ejemplo encender un
Led.
 Puede ser sencilla si no incluye
llamados a otras rutinas o saltos de
línea, o puede ser compleja se incluye
estructuras recursivas.
 Lo ideal es que sea modular de modo
que la rutina principal solo guíe el
curso de las secuencias y las tareas en
si sean realizadas por subrutinas.
FINAL DEL
PROGRAMA
En contraste con el vector inicio el final
de programa indica la localidad donde se
encuentra la última línea de código a
ejecutar.
 Dependiendo del modelo del
microcontrolador y del tamaño de la
memoria de programa ésta localidad
puede cambiar así como también por
la cantidad de líneas de código que
tenga el programa.
 El microcontrolador PIC16F877A
tiene una memoria de 4Kb y su
memoria de programa finaliza en la
localidad 1Fh en el banco 0.
COMPILACIÓ
N DEL CÓDIGO
 Abrir la aplicación MPLAB o alguna
similar.
 Abrir o crear archivos con
extensión .ASM
 Dar click en el botón compilar.

 Configurar la opción para generar los


archivos .HEX y .COF
COMPILACIÓN DE CÓDIGOS
ASSEMBLER
Teclear el código es lo simple, lo
complicado a parte de la estructura es que
ese código sea entendible por el
microcontrolador y es allí donde entran en
juego los compiladores que no son más
que aplicaciones que nos permiten editar,
crear, simular y convertir el código en
lenguaje de programación en lenguaje
máquina (1 y 0) para luego ser procesados
y ejecutados por el microcontrolador.
PASOS PARA COMPILAR UN
CÓDIGO .ASM
 Seleccionar e instalar un compilador, se
recomienda la aplicación MPLAB en
cualquiera de sus versiones.
 Crear o abrir el código o archivo .Asm “Compilar es un proceso muy sencillo solo
 Compilar. requiere del código en formato .ASM y el
 Verificar si hay errores y corregirlos. compilador, más adelante se ilustrará con
 Si no hay errores transferir el un ejemplo”.
archivo .Hex al microcontrolador
Haga clic en el icono para agregar una imagen

También podría gustarte