Está en la página 1de 6

ESCUELA COLOMBIANA DE INGENIERIA

JULIO GARAVITO
MICROPORCESADORES E INTERFACES
GUIA TALLER 1.
OBJETIVOS:
Creación y simulación de un proyecto en MPLAB X, para este tutorial se usó MPLAB X IDE v5.15.
El código de ejemplo que se trabajará en este tutorial está escrito en lenguaje ensamblador para
familias de 16 bits de microchip.

REQUISITOS:
• Descargar e Instalar el programa MPLAB X IDE (www.microchip.com).
• Conocimientos previos sobre programación en ensamblador para microcontroladores de
microchip.

CREACIÓN DE UN PROYECTO
1. Cree un nuevo proyecto:
a. Haga click en File → New Project.
b. Seleccione en Categories: → Microchip Embedded, y en Projects: → Standalone Project.

c. Seleccione su dispositivo: dsPIC30F4011 o dsPIC30F4013 o dsPIC33FJ128MC802 o


PIC24FJ64GB002.
d. En Hardware Tools seleccione la opción Simulator.
e. Seleccione el compilador, para este caso sería:

i.De un nombre del proyecto y seleccione la ubicación donde desea guardarlo. Asegúrese
de que la opción Set as main Project este seleccionada y para finalizar haga click en.
2. Abra o vaya a la pestaña de proyectos: Window → Projects.
3. Cree un nuevo archivo:
a. Con el árbol del proyecto desplegado, haga click derecho sobre Source Files, seleccione New
y luego:
i. Seleccione la opción AssemblyFile.s (si la opción está disponible siga en 3.b).
ii. Seleccione Other…, Seguido seleccione la opción Categories → Assembler, y en
File Types: → AssemblyFile.s.

Ing. Nicolás Mosquera Seligmann.


b. Nombre el archivo y de click en , copie y pegue el código de ejemplo “Plantilla16.txt” del
moodle.
4. Compile el código usando una de las siguientes opciones disponibles en el menú “Run” o en la
barra de herramientas. La opción “Clean and Build” elimina archivos temporales de procesos
previos de compilación.

5. El código estará compilado satisfactoriamente cuando aparezca el mensaje “BUILD


SUCCESSFUL”.

PREPARACIÓN PREVIA PARA SIMULACIÓN DEL PROYECTO


6. Para simular un proyecto existen diversas ventanas y herramientas que podrá usar dependiendo
del proyecto. Revise rápidamente algunas de las ventanas disponibles en el menú “Window”.
Tenga en cuenta que puede mover estas ventanas según sus preferencias, algunas se pueden
ver en las siguientes imágenes:

Ing. Nicolás Mosquera Seligmann.


7. Configure la frecuencia de trabajo del sistema.
a. Vaya a File --> Project Properties y seleccione la categoría “Simulator”.
b. Configure para la frecuencia de instrucción de su microcontrolador. Ej: Para un dsPic30F con
Fosc de 8 MHz (Fosc = 8 MHz) ingrese 2 Mhz en el campo de frecuencia de instrucción:
“Instruction Frequency (Fcyc) = 2 MHz”. Recuerde que Fcyc = Fosc/4 o
Fcyc = Fosc/2 dependiendo el microcontrolador.

8. Seleccione o abra la pestaña de variables: Window --> Debugging --> Variables. Añada los
registros de interés. Tenga en cuenta que puede modificar las opciones de visualización de
datos por columnas antes y durante la simulación:

9. Seleccione o abra la ventana que nos servirá para contar intervalos de tiempo en la ejecución del
programa: Window --> Debugging --> Stopwatch, Tenga en cuenta los controles disponibles:

10. Estímulos
c. Abra la ventana de estímulos: Window --> Simulator --> Stimulus.
d. Revise las opciones disponibles y añada los pines relevantes para el código planteado.
e. Tenga en cuenta que los estímulos serán lanzados más adelante en el modo de simulación
de acuerdo a la serán ejecutados más adelante en el modo de simulación de acuerdo a la
acción configurada (Columna Action), esto se realizará con el botón disponible en la columna
“Fire” .
f. En la figura se muestran como ejemplo tres tipos de acciones, estas pueden ser modificadas
según conveniencia.

Ing. Nicolás Mosquera Seligmann.


11. Añada o elimine “Breakpoints”, o puntos de parada de ejecución del programa, haciendo click
en el margen del código o con la combinación de tecas Ctrl+F8.

SIMULACIÓN DEL PROYECTO


12. Entré al modo de depuración, en este caso de simulación.
a. Haga click en “Debug Main Project”, disponible en el menú “Run” o en la barra de
herramientas. Note que este proceso incluye el de compilación.

13. Una vez en modo de depuración, se activarán varias opciones, algunas de ellas se describen a
continuación:

Finaliza la sesión de depuración.

Detener la ejecución de un programa.

Reiniciar la ejecución de un programa.

Continúa la ejecución de un programa.

Ejecuta una línea de programa. Si la línea es un llamado


a subrutina, ejecuta toda la subrutina y para.

Ing. Nicolás Mosquera Seligmann.


Ejecuta una línea de programa.

Ejecuta el programa hasta la ubicación del cursor.

Posiciona el PC en donde está el cursor.

Lleva el cursor a la posición actual del PC.

14. Ejecución paso a paso y análisis:


b. Use las opciones “Pause” , “Reset” , “Step Into” y “Step Over” , para ejecutar
el programa paso a paso.
c. Ejecute o dispare los estímulos con el botón ubicado en la columna “Fire” . Note que
el estímulo es visible después de dar al menos un paso en la simulación.
d. Analice la ejecución y verifique que los valores en la ventana “Variables” sean coherentes
con el programa.
15. Ejecución continua:
e. Use las opciones “Pause” , “Reset” y “Continue” , junto con “Breakpoints” ,
para hacer una ejecución continua del código, o por lo menos continua entre “Breakpoints”.

EJERCICIOS

16. Utilice las herramientas “Stopwatch” y “Stimulus” junto con las opciones descritas
anteriormente y compruebe los siguientes tiempos de ejecución:

a. Calcule el tiempo de ejecución de la subrutina delay_1, para un retardo de 1ms, incluyendo


las instrucciones call y return. Respuesta _____________.
b. Cuál es el valor de K1. Respuesta _____________.
c. Calcule el tiempo de ejecución de la subrutina delay_2, para un retardo de 100ms, incluyendo
las instrucciones call y return. Respuesta _____________.
d. Cuál es el valor de K2. Respuesta _____________.
e. Calcule cada cuanto tiempo se realiza el complemento del led conectado el puerto B cuando
no hay ningún retardo habilitado. Respuesta _____________.
f. Calcule cada cuanto tiempo se realiza el complemento del led conectado el puerto B cuando
esta solamente el delay_1 habilitado. Respuesta _____________.
g. Calcule cada cuanto tiempo se realiza el complemento del led conectado el puerto B cuando
esta solamente el delay_2 habilitado. Respuesta _____________.
17. Modifique el programa para que el intervalo de tiempo entre cada incremento en el puerto B sea
de aproximadamente 500 ms.
h. Cuanto es el valor de K1 Respuesta ____________. Y K2 Respuesta ____________.

Ing. Nicolás Mosquera Seligmann.


PROGRAMACIÓN DEL PROYECTO
Para poder realizar la programación del microcontrolador es necesario contar con el cableado
correcto de la alimentación, condensadores de Bypass, Vcap (si corresponde), y líneas de
programación (PGD/PGC o ICSPDAT/ICSPCLK).
Para este montaje puede ayudarse de las hojas de datos de los microcontroladores y el manual del
del programador PICkit3.

18. Vaya a File --> Project Properties y cambie la opción en “Hardware tools” de “simulator” a
“PICkit3”.
19. Programe el microcontrolador y con ayuda de un osciloscopio corrobore las respuestas e, f y g
del punto anterior
f. Haga click en “Make and Program Device Main Project”, disponible en el menú “Run” o
en la barra de herramientas. Note que este proceso incluye el de compilación.

Ing. Nicolás Mosquera Seligmann.