Este documento presenta los pasos para configurar el software MPLAB X IDE v5.20 y desarrollar programas en lenguaje ensamblador para un PIC16F873A. Incluye cuatro problemas de programación para practicar sumas, multiplicaciones y divisiones usando registros. También contiene preguntas sobre conceptos básicos de microcontroladores y programación en ensamblador.
clases de dinamica ejercicios preuniversitarios.pdf
Programación MPLAB X IDE
1. 1
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Práctica 1. Programación en MPLAB X IDE V5.20
Omar Abundis Noyola
Ingeniería en Telecomunicaciones y Electrónica, Universidad Tecnológica de México
Notas de autor
Omar Abundis Noyola, profesor de la materia de Arquitectura y Programación de
Computadoras, grupo EC04S.
Los reportes correspondiente a esta práctica debe ser colocada en la sección de Entregables y
Tareas de la plataforma de Blackboard de la Universidad Tecnológica de México.
Contacto: omar_abundis@my.unitec.edu.mx
2. 2
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Objetivos
Aprender a configurar el software MPLAB X IDE v5.20, para realizar programas en lenguaje
ensamblador, depurarlos, corregirlos y simularlos; para garantizar que al cargar el programa de control
en un PIC de 8 bits de gama media, esté libres de errores y funcionando con la lógica requerida.
Introducción teórica
Como ya ha sido discutido en clase, los microcontroladores son circuitos integrados que deben
ser programados, mediante el uso de un software determinado, para que realice siempre una función
específica.
Ya que se está trabajando con el PIC16F873A, se tiene que hacer uso del software que ofrece la
compañía MICROCHIP, el software en cuestión es el MPLAB X IDE, en cualquiera de sus versiones, el cual
puede ser descargado en una forma gratuita desde la página electrónica de MICROCHIP,
(http://www.microchip.com/). Sólo hay que tener cuidado que la versión descargada tenga el
compilador correspondiente para microcontroladores de 8 bits.
A continuación se van a indicar los pasos que se deben seguir para realizar un programa
utilizando MPLAB X IDE v5.20 (aunque se use otra versión los pasos a seguir sólo llegan a variar un
poco).
1. Ejecute el software MPLAB X IDE v5.20. Y aparecerá un entorno de trabajo como es
mostrado en la figura 1.
2. Realice un clic en la columna de nombre File y posteriormente seleccione la opción New
Project…. Ver figura 2.
3. 3
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Figura 1.
Entorno de Trabajo de MPLAB X IDE V5.20
Figura 2.
Selección de New Project…
4. 4
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
3. Posteriormente se desplegará una nueva ventana de nombre New Project. Asegúrese de
seleccionar Microchip Embedded y Standalone Project y posteriormente dar clic en la
opción Next>. Ver figura 3.
Figura 3.
Selección del Tipo de Proyecto.
4. En el segundo paso, se debe de seleccionar el dispositivo a utilizar, asegúrese de seleccionar
en Family: Mid-Range 8-bit MCUs (PIC10/12/16/MCP). Y en Device: PIC16F873A.
Ver figura 4.
5. Ahora se debe de seleccionar la opción Simulator, para poder observar de manera simulada,
los procesos a realizar por parte del CPU de microcontrolador. Dar clic en Next>.
Ver figura 5.
5. 5
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Figura 4.
Selección del Dispositivo por Programar.
Figura 5.
Selección del Simulador.
6. 6
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
6. A continuación, se debe de seleccionar el compilador a utilizar mpasm (v5.84), o la versión
que le marque, ya que se va a trabajar en lenguaje ensamblador. Ver figura 6.
Figura 6.
Selección del Nombre y Dirección del Proyecto.
7. Por último se debe de seleccionar la carpeta en donde dejaran los trabajos realizados. Aquí
lo que se recomienda es dejarla en la unidad C o D, en una carpeta que tenga bien
identificada. Se aconseja no dejar espacios en blanco ni acentuar palabras, ya que en
ocasiones genera error en el momento de simular el programa en que se está trabajando.
Ver figura 7.
7. 7
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Figura 7.
Nombrado del Proyecto y Selección de carpeta.
Al terminar de configurar le aparecerá el entorno de programación listo para crear y trabajar
con archivos de programación para el microcontrolador seleccionado. Ver figura 8.
Figura 8.
Entorno de Programación.
8. 8
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Ahora lo que se debe de realizar es la apertura de un archivo en lenguaje ensamblador. Para ello
siga los siguientes pasos.
1. En la opción de la primera columna File, seleccione y de un clic en New File…. Ver figura 9.
Figura 9.
Creación de un Nuevo Proyecto.
2. En la ventana de nombre New File, seleccione Assembler y después AssemblyFile.asm y
posteriormente oprima Next >. Ver figura 10.
9. 9
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Figura 10.
Selección de un Archivo en Ensamblador.
3. Escriba el nombre del archivo en ensamblador. Aquí lo recomendable es que proporcione un
nombre acorde a la acción que le va a programar a su microcontrolador y asegurarse que
quede guardado en la carpeta que previamente creó. Y oprimir Finish. Ver figura 11.
Finalmente ya tendrá una hoja de trabajo en donde elaborar su programa en ensamblador,
asegúrese que el archivo recién creado este en la carpeta de nombre Source Files, para que no haya
problemas en usar todas las herramientas que ofrece el entorno de programación. Ver figura 12.
10. 10
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Figura 11.
Creación de un Archivo en Ensamblador.
Figura 12.
Entorno de Programación Listo para Utilizarse.
11. 11
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Desarrollo
A continuación se incluyen cuatro problemas que tendrá que resolver obteniendo su programa
de control correspondiente en lenguaje ensamblador. De cada uno de los problemas, tendrá que tomar
su correspondiente evidencia de que están libres de errores de sintaxis y de lógica, para integrar su
correspondiente reporte.
Problema 1. Suma de contenidos de dos operandos
Realice la suma del contenido del registro de nombre OPER1 más el contenido del registro de
nombre OPER2 y proceda a guardar el valor resultante en el registro de nombre RESULTADO.
En la figura 13, se muestra como ejemplo el código de control el cual tiene que compilar para
determinar que no tenga errores de sintaxis y después simular para corroborar que no tenga errores de
lógica.
Problema 2. Suma de contenido de tres operandos
Realice la suma del contenido del registro de nombre OPER1 más el contenido del registro de
nombre OPER2, más el contenido del registro de nombre OPER3 y proceda a guardar el valor resultante
en el registro de nombre RESULTADO.
12. 12
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Figura 13.
Código de Control para la Suma de Dos Operandos.
Problema 3. Multiplicación de operandos
Realizar un programa en lenguaje ensamblador, que permita al procesador de un PIC16F873A, la
multiplicación de dos operadores bajo las siguientes condiciones:
Multiplicando, debe ser cualquier valor entre 1d y 25d (Multiplicando)
Multiplicador, debe ser cualquier valor entre 1d y 10d X (Multiplicador)
Se debe de indicar el resultado de la operación en un Producto
registro de nombre Producto.
13. 13
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
En la figura 14 se muestra un diagrama de bloques que le guiará para la obtención del código de
control.
Figura 14.
Diagrama de Flujo para el Programa de la Multiplicación.
14. 14
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Problema 4. División de operandos
Realizar un programa en lenguaje ensamblador, que permita al procesador de un PIC16F873A la
división de dos operadores bajo las siguientes condiciones:
Dividendo, debe de ser cualquier valor entre 1d y 255d y siempre debe ser mayor o igual al
divisor.
Divisor, debe de ser un valor cualquiera entre 1d y 255d.
Se deben de indicar los valores resultantes para el Cociente y el Residuo de la operación.
Residuo
Cociente
Dividendo
Divisor
En la figura 15, se muestra el diagrama de flujo que le guiará para la obtención del programa
solicitado.
15. 15
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Figura 15.
Diagrama de Flujo para la Operación de la División.
16. 16
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Cuestionario
1. ¿Qué es un microprocesador?
2. ¿Qué es un microcontrolador?
3. ¿Qué es un registro?
4. ¿Para qué sirve un registro de propósito especial? Y ¿En dónde están ubicados dentro de la
memoria RAM de datos del PIC16F873?
5. ¿Para qué sirve un registro de propósito general? ¿En dónde están ubicados dentro de la
memoria RAM de datos del PIC16F873?
6. ¿Qué ventajas presenta el programar en lenguaje ensamblador?
7. ¿Qué es el lenguaje máquina?
8. Mencione los cuatro aspectos que resumen la arquitectura del microcontrolador utilizado.
9. Describa, ¿de qué manera se efectúa una comparación entre los contenidos de los registros
que integran la memoria RAM del microcontrolador?
10. ¿De cuántos bits se integran cada una de las instrucciones que se incluyen en el repertorio
para controlar el PIC? Y, ¿cuántas instrucciones se pueden almacenar en la memoria de
programa del PIC16F873A?
Conclusiones de la práctica
Incluir al menos media página de lo que concluye de la realización de la práctica número uno,
por cada integrante del equipo.
17. 17
PRÁCTICA 1. PROGRAMACIÓN EN MPLB X IDE V5.20
Referencias
Microchip. (2001). PIC16F87X data sheet. 28/40-Pin 8-Bit CMOS FLASH Microcontrollers.
Microchip Technology Inc.