SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Introducción al Entorno de Desarrollo MPLAB


                                         PRÁCTICA 4

         INTRODUCCIÓN AL ENTORNO DE DESARROLLO MPLAB

OBJETIVO:

         Familiarizar al alumno con la interfaz del software MPLAB y comprender los
          pasos para crear un proyecto de programación para MCU’s PIC.

         Emplear MPLAB para editar, depurar y simular un proyecto en lenguaje
          ensamblador para un MCU PIC.

         Configurar y usar el software ICPROG en conjunto con un circuito programador
          compatible, para descargar a la memoria interna de un PIC, el código máquina
          (archivo HEX) generado en MPLAB.


INTRODUCCIÓN

        El MPLAB es un software que junto con un emulador y un programador de los
múltiples que existen en el mercado, forman un conjunto de herramientas de desarrollo
muy completo para el trabajo y/o el diseño con los microcontroladores PIC desarrollados y
fabricados por la empresa Arizona Microchip Technology (AMT).

         Entre las características del programa MPLAB están las siguientes:

         Incorpora todas las utilidades necesarias para la realización de cualquier
          proyecto.

         Permite editar el archivo fuente en lenguaje ensamblador de nuestro proyecto,
          además de ensamblarlo y simularlo en pantalla.

         Depurador de código fuente (muestra las instrucciones en ensamblador
          conforme las va ejecutando) que permite la ejecución paso a paso, por rutina y
          puntos de ruptura.

         El programa es completamente interactivo, lo que nos permite modificar
          cualquier registro o localidad de memoria en cualquier momento.




Eduardo Romero A.                                          Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB



MATERIAL Y EQUIPO EMPLEADO

       Laboratorio equipado con computadoras que tengan instalado el MPLAB versión
       v7.40 y el ICPROG v1.05.

            Cantidad           Descripción
                  1            Programador compatible con ICPROG.
                  1            Microcontrolador PIC16F628
                  1            Microinterruptor (1P-1T)
                  8            Leds o una barra de leds
                  8            Resistencia de 330 
                  8            Resistencia de 4.7 K

                    1          Tableta experimental
                    1          Fuente de alimentación de CD


Pre-reporte:

      Leer previamente toda la práctica

      Descargar MPLAB v7.40 y ICPROG 1.05 de Internet y llevarlos el día de la sesión.

      Llevar implementado en un protoboard el circuito de la figura 4.24


DESARROLLO

I. Procedimiento para crear un proyecto en MPLAB

1. Para ingresar al programa MPLAB IDE, basta con hacer doble “click” en el icono
instalado en el escritorio de la PC, o seleccionar Inicio> Programas> Microchip>
MPLAB IDE v7.40> MPLAB. Lo anterior desplegará la presentación del software seguido
de la pantalla principal (figura 4.1). Cabe mencionar que esto es válido sólo para la
versión v7.40, para versiones anteriores esto puede ser diferente.




Eduardo Romero A.                                         Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




                             Figura 4.1. Pantalla principal de MPLAB

2. Es necesario crear el documento el cual se agregara al proyecto. Para esto, ingrese al
menú FILE> NEW, y a continuación edite el programa en ensamblador que se muestra
abajo. Haga una carpeta con nombre proypics y guarde en ella el archivo editado con el
nombre de rotaled.asm.

; Programa que rota a la derecha un bit por el puerto B
           LIST       P=16F628
           RADIX      HEX

w              equ             0
f              equ             1

; Declaración de los SPR
PCL        equ        02h
STATUS     equ        03h
PORTA      equ        05h
PORTB      equ        06h
CMCON      equ        1Fh

               cblock          20h
               ST_TEMP                        ; Variable copia de STATUS
               TEMP1                          ; Variable para ciclo externo
               TEMP2                          ; Variable para ciclo interno
               endc


               org       0
               goto INICIO                    ; Configura vector de reset




Eduardo Romero A.                                              Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB


; Subrutina que configura a todo el Puerto B
; como salida y deshabilita a los comparadores
CONF_PUERTOB
           Movlw      b'00000111'; Comparadores apagados para
           Movwf      CMCON      ; hablilitae pins de I/O
           bsf        STATUS,5   ; Conmuta a banco 1
           clrf       PORTB      ; Configura puerto B como salida
           bcf        STATUS,5   ; Commuta a banco 0
           movlw      04h
           movwf      PORTB      ; Puerto B = 0001 0000b
           movf       STATUS,w   ; Almacena una copia de STATUS
           movwf      ST_TEMP    ; en la variable ST_TEMP
           return

; Rutina que rota a la derecha un bit por el puerto B
; Parámetros de entrada: ST_TEMP el cual contiene
; una copia de STATUS
; Parámetros de salida: ST_TEMP
ROTADER
           movf       ST_TEMP,w ; Recupera el valor de STATUS y
           movwf      STATUS    ; sustituyelo
           rrf        PORTB,f   ; Rota a la derecha PUERTO B
           movf       STATUS,w  ; Almacena una copia de STATUS
           movwf      ST_TEMP   ; en el registro ST_TEMP
           call RETARDO         ; Introduce retardo de 500 ms
           return

; Rutina que genera un retardo de tiempo por software
; de aproximadamente 0.5 segs a una frecuencia de
; oscilación de 4 MHZ
RETARDO
           Movlw       .250
           movwf       TEMP2    ; TEMP2 = 250
CICLO2     decfsz      TEMP2,f  ; TEMP2 - 1 = 0?
           goto SALTO1          ; No
           goto FINCICLO2       ; Si
SALTO1
           movlw .250
           movwf TEMP1          ; TEMP1= 250
CICLO1     nop
           nop
           nop
           nop
           nop
           decfsz      TEMP1,f  ; TEMP - 1 = 0?
           goto CICLO1          ; No
           goto CICLO2          ; Si
FINCICLO2
           return




Eduardo Romero A.                             Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB



; PROGRAMA PRINCIPAL
INICIO
           call CONF_PUERTOB
AGAIN      call ROTADER
           goto AGAIN

               END


3. Seleccione el dispositivo (PIC a utilizar durante el proyecto) con que se desea trabajar,
el cual se puede encontrar en la barra de herramientas en el menú Configure> Select
Device: Configure la ventana tal como se muestra en la figura 4.2.




                               Figura 4.2: Ventana “Select Device”

En la ventana se despliega información acerca de los diversas herramientas de MPLAB
con respecto al dispositivo seleccionado, de acuerdo a lo siguiente:

- Los leds verdes indican que si soporta el dispositivos seleccionado.
- Los leds amarillos indican que pueden no estar habilitadas ciertas partes del dispositivo.
- Los leds rojos indican que no soportan al dispositivo.

4. El siguiente paso es crear proyecto utilizando Proyect Wizard. Seleccione Project>
Project Wizard. En la pantalla se deberá ver algo similar a mostrado en la figura 4.3




Eduardo Romero A.                                              Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




                            Figura 4.3: Paso uno del “Project Wizard”

5. Seleccione el dispositivo PIC16F628 ó PIC16F628A, según sea el caso.

6. Seleccione el lenguaje usado en el proyecto, Microchip MPASM Toolsuite para este
caso (figura 4.4). Verifique que la ruta de acceso al MPASM sea la correcta.




                            Figura 4.4: Paso dos del “Project Wizard”



7. Es necesario seleccionar el nombre del proyecto y la carpeta que lo almacenará (figura
4.5). Escribimos primerproy como nombre y elegimos la carpeta proypics creada en el
paso 2. Cabe señalar que MPLAB no funciona bien cuando la carpeta se encuentra muy
anidada dentro de otras carpetas ni cuando las carpetas tienen nombres muy largos.




Eduardo Romero A.                                              Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




                            Figura 4.5: Paso tres del “Project Wizard”



8. Agregue al proyecto el archivo rotaled.asm editado en el paso 2. Para esto, basta con
seleccionar dicho archivo y presionar el botón Add Files>>. El nombre del archivo
aparecerá en el panel de la derecha como se muestra en la figura 4.6.




                           Figura 4.6: Paso cuatro del “Project Wizard”

9. El último paso es la confirmación, por medio de un resumen (summary), de que el
proyecto ha sido correctamente creado. La ventana mostrará el dispositivo a usar, el
lenguaje y la fuente del archivo (figura 4.7).




Eduardo Romero A.                                               Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




                           Figura 4.7: Pantalla final del “Project Wizard”



10. Al presionar el botón FINISH, deberá aparecer la ventana del proyecto realizado en
los pasos anteriores (figura 4.8). De no ser así, puede abrirse manualmente por medio de
View> Project.




                           Figura 4.8: Pantalla final del “Project Wizard”



II. Depurando y simulando un programa con MPLAB

11.- Una vez terminado los pasos anteriores será necesario depurar el programa editado
para verificar los errores que se cometieron al momento de la codificación. Ensamble el
archivo rotaled.asm, contenido dentro del proyecto, con cualquiera de las siguientes
secuencias:

    En la barra del menú (Project>Build All)
    También en la barra de herramientas




Eduardo Romero A.                                                 Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB



MPLAB deberá entonces desplegar en la ventana output (figura 4.9) todo lo relacionado
con el proceso de ensamble. En teoría debería mostrar que no hubo errores en el
programa y que el archivo rotaled.hex fue creado correctamente y puede ser descargado
al MCU. En caso que se generen warnings y/o errores verifique el programa y repita el
proceso (paso 11) hasta que ya no existan errores




                      Figura 4.9: Pantalla “Output” sin errores ni “warnings”



12. Para simular el código del programa, es necesario activar la herramienta MPLAB SIM
por medio del menú Debugger> Select Tool, como se muestra en la figura 4.10




                 Figura 4.10: Pantalla del menú “Debugger” al activar MPLAB SIM

Una vez que se activa MPLAM SIM como herramienta de simulación, sucede lo siguiente
(figura 4.11):
     El estado de la barra deberá cambiar.
     Aparecen nuevas opciones dentro del menú Debugger.
     En la barra de herramientas aparece una barra adicional. (Colocando el puntero
        del Mouse sobre cada botón se podrá ver la descripción de lo que hace cada uno
        de ellos).
     En la ventana de salida se agrega una pestaña con el nombre de MPLAB SIM.



Eduardo Romero A.                                                Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




         Figura 4.11: Pantalla que muestra los cambios en la interfaz al activar MPLAB SIM



13. Después de haber seleccionado el simulador se procede a dar un reset al procesador
utilizando Debugger> Reset> Processor Reset, el puntero que esta de color verde se
posicionará en la primera instrucción en memoria, que por lo regular es un goto, tal como
lo muestra la figura 4.12




                     Figura 4.12: Pantalla del programa después de un “reset”



14. Realizado el paso anterior, se procede a simular el código empleando las opciones
disponibles en la barra (figura 4.13) que se agrego al seleccionar el MPLAB SIM.




Eduardo Romero A.                                               Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




          Figura 4.13: Resumen de los botones de la barra de herramientas de MPLAB SIM



15. Dentro de la simulación del programa, con la secuencia View> Watch> Add SFR>
Registro que Desees Ver, es posible seleccionar los registros asociados a cualquiera de
los periféricos internos para verificar su correcto funcionamiento (figura 4.14).




                       Figura 4.14: Botón “Add SFR” de la ventana “Watch”

16. En la misma ventana Watch, también se puede seleccionar las variables que se
hayan empleado en el programa, usando el botón Add Symbol, tal como lo sugiere la
figura 4.15.




                     Figura 4.15: Botón “Add Symbol” de la ventana “Watch”



17. Cuando se está depurando un programa es necesario detener su ejecución en una
instrucción específica, esto es posible insertando puntos de ruptura (breakpoints), los
cuales ayudan a observar los valor en los registros y variables en dicho instante. La
inserción de punto de ruptura se logra posicionando el puntero haciendo “click” con el
botón derecho del ratón con el puntero posicionado en alguna instrucción del programa y
seleccionando Set Breakpoint (figura 4.16).



Eduardo Romero A.                                             Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




                           Figura 4.16: Insertando un punto de ruptura

17. Al hacer lo anterior, se notará que se agrega una marca de una B dentro de un círculo
rojo en la parte lateral derecha de la instrucción, tal se ve en.




                Figura 4.17: Listado del programa con el punto de ruptura insertado

18. Con todo lo expuesto en los pasos anteriores, proceda a simular el programa para
verificar que su funcionamiento sea lo que se desea.




Eduardo Romero A.                                               Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB


III. Procedimiento para descargar un programa al MCU con ICPROG

Toda vez que se ha simulado exhaustivamente el programa y que se ha comprobado que
realiza las tareas que se le han programado, se procede a descargar el código máquina
(rotaled.hex) al micricontrolador. MPLAB ofrece soporte para este proceso,
desafortunadamente se tiene que adquirir un dispositivo programador propietario de
Microchip (PicStart Plus, Pro Mate II, etc).

Por otro lado, construir un dispositivo programador para los MCU’s PIC es algo
relativamente sencillo y barato. Existen en la literatura muchos prototipos que han sido
verificados del cual es más usado es un clon del JDM Programmer. También hay que
instalar el software que trabaje en conjunto con el dispositivo programador, aquí podemos
emplear el WinPIC o el ICProg, La práctica se enfoca a éste último.

19. Verifique la PC tiene cuenta con el ICProg, de no ser así proceda a instalarlo.

20. Ejecute ICProg, la PC mostrará la ventana principal de trabajo (figura 4.18)




                             Figura 4.17: Ventana principal de ICProg

21. Configure el idioma del software en español con los siguientes pasos Settings >>
Options>> Language




Eduardo Romero A.                                               Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




                        Figura 4.18: Ventana para configuración del idioma

22. Con la secuencia Ajustes>> Tipo hardware se puede seleccionar el modelo de
dispositivo programador que se esté utilizando y el puerto donde se va a conectar. Los
valores por default son Com 1 y JMD Programmer. Las demás opciones no deben
modificarse (figura 4.19). En caso de ocurrir algún error en la grabación, se puede intentar
variar el valor de Retardo I/O, lo recomendable es un valor entre 4 - 10.




                        Figura 4.19: Ventana para elegir el tipo de hardware

23 Con Ajustes>> Opciones>> Confirmación se despliega la ventana de la figura 4.20.
Aquí se configura al software para que solicite una confirmación previa cada vez que se
vaya realizar alguna de las siguientes operaciones; grabar el MCU, borrar el MCU,
proteger el código o al sobreescribir algún archivo. Dejar las dos casillas inhabilitadas
como se presenta en la figura 4.20.




Eduardo Romero A.                                                Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




                 Figura 4.20: Ventana para configurar las confirmaciones en ICProg



24. Con Ajustes>> Opciones>> Avisos, el ICProg puede notificarnos acerca de la
ocurrencia de algunos eventos. Existen dos tipos de notificación seleccionables:
    Cuando la palabra de ID no se encuentra en el archivo cargado.
    Cuando la palabra de Configuración no se encuentra en el archivo cargado.

Cuando la palabra de ID o de Configuración no se encuentra en el archivo cargado, sus
valores se establecerán en FFFF por omisión. Para asegurarse de que el valor no es
FFFF sino que no se encuentra en el archivo cargado, simplemente habilite estas
opciones.

24. Con Ajustes>> Opciones>> IC2, se podrá configurar algunas opciones relacionadas
con los dispositivos I2C (Ej. La familia 24Cxx). Debido a que no es nuestro caso, se
procederá a dejar deshabilitadas estas dos opciones.




                     Figura 4.21: Ventana para configurar las opciones de IC2




Eduardo Romero A.                                               Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB



25. Con Ajustes>> Opciones>> Programación, se configura la verificación del programa
descargado ya sea antes o durante la programación. Seleccionar las dos casillas para
monitorear la programación del dispositivo. Los demás ajustes dejar tal y como vienen por
default.




                 Figura 4.22: Ventana para configurar las opciones de verificación

26. La secuencia Ajustes>> Opciones>> Miscelánea es de suma importancia ya en ella
se podrá habilitará un “driver” para Windows XP. Esto evitará que ICProg despliegue un
mensaje de error al iniciar y asegurará que funcione a la perfección con Windows XP.
Configure esta ventana tal como se muestra en la figura 4.23.




              Figura 4.23: Ventana para configurar la compatibilidad con Windows XP



27. Seleccionar el PIC con Ajustes>> Dispositivo>> Microchip PIC>> PIC16F628.
También se puede seleccionar el dispositivo en la barra de herramientas, en la parte
derecha de la ventana de trabajo, abrir la pestaña y seleccionar el dispositivo.

28. Programar los bits de configuración del PIC como se indica en la figura 4.24.


Eduardo Romero A.                                               Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




                    Figura 4.24: Ventana para seleccionar los bits de configuración

28. En la barra de herramienta, seleccionar en el menú abrir el archivo rotaled.hex que
se realizo en los pasos anteriores con el MPLAB.

29. Antes de grabar el PIC borre cualquier información que pudiera contener el dispositivo
en cuestión seleccionando Comando>> Borrar todo>> Intro.

30. Para grabar en el PIC, los archivos que se pretendan cargar hay que dar “click” en la
ventana de Archivo>> Abrir y buscar el archivo rotaled.hex, después seleccionar la
pestaña Comando>> Programa Todo.

31 Verificar la correcta grabación del dispositivo cerrando el programa y volviendo a
abrirlo y luego leyendo el dispositivo nuevamente.

32. Monte el PIC programado el circuito mostrado en la figura de abajo y verifique que
trabaje correctamente.




Eduardo Romero A.                                                 Laboratorio de Sistemas Digitales III
Introducción al Entorno de Desarrollo MPLAB




       R12
       10k



                            U1
                       16                                          17
                             RA7/OSC1/CLKIN            RA0/AN0
         D1            15                                          18
                             RA6/OSC2/CLKOUT           RA1/AN1          330R
         1N4148                                                    1
                                                 RA2/AN2/VREF
                        4
                             RA5/MCLR            RA3/AN3/CMP1
                                                                   2                         U2
                                                                   3                     1             20
                                                RA4/T0CKI/CMP2          330R
                                                                                         2             19
       SW2                                              RB0/INT
                                                                   6                     3             18
       SW -SPST -MOM                                               7                     4             17
                                                      RB1/RX/DT         330R
                                                                   8                     5             16
                                                      RB2/T X/CK
                                                                   9                     6             15
                                                       RB3/CCP1
                                                                   10                    7             14
                                                             RB4        330R
                                                                   11                    8             13
                                                             RB5
                                                                   12                    9             12
                                               RB6/T 1OSO/T 1CKI
                                                                   13                   10             11
                                                      RB7/T 1OSI        330R

                            PIC16F628A                                                       LED-BARGRAPH-GRN
                                                                        330R



                                                                        330R



                                                                        330R




                                    Figura 4.24: Circuito para el programa rotaled.asm




Eduardo Romero A.                                                              Laboratorio de Sistemas Digitales III

Mais conteúdo relacionado

Mais procurados

PLC- Instrucciones avanzadas
PLC- Instrucciones avanzadasPLC- Instrucciones avanzadas
PLC- Instrucciones avanzadasDidier Ramirez
 
Sistemas de comunicaciones - Práctica 02
Sistemas de comunicaciones - Práctica 02Sistemas de comunicaciones - Práctica 02
Sistemas de comunicaciones - Práctica 02Cristian Ortiz Gómez
 
Control digital: Introducción a control digital
Control digital: Introducción a control digital Control digital: Introducción a control digital
Control digital: Introducción a control digital SANTIAGO PABLO ALBERTO
 
Control digital: Tablas de transformada z
Control digital: Tablas de transformada zControl digital: Tablas de transformada z
Control digital: Tablas de transformada zSANTIAGO PABLO ALBERTO
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3Luis Zurita
 
PLC: Sistemas lógicos y secuenciales
PLC: Sistemas lógicos y secuenciales PLC: Sistemas lógicos y secuenciales
PLC: Sistemas lógicos y secuenciales SANTIAGO PABLO ALBERTO
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Luis Zurita
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84guestf09168b
 
Clase 02 gestion de puertos - directivas
Clase 02   gestion de puertos - directivasClase 02   gestion de puertos - directivas
Clase 02 gestion de puertos - directivasalmidon_pcb
 
informacion de transistores
informacion de transistoresinformacion de transistores
informacion de transistoresJaime Batres
 
proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial Jorge Luis Jaramillo
 

Mais procurados (20)

Los Flip Flops
Los Flip FlopsLos Flip Flops
Los Flip Flops
 
Trabajo flip flop
Trabajo flip flopTrabajo flip flop
Trabajo flip flop
 
Timer0 PIC16F84A
Timer0 PIC16F84ATimer0 PIC16F84A
Timer0 PIC16F84A
 
Clase 2 cdii
Clase 2 cdiiClase 2 cdii
Clase 2 cdii
 
PLC- Instrucciones avanzadas
PLC- Instrucciones avanzadasPLC- Instrucciones avanzadas
PLC- Instrucciones avanzadas
 
Sistemas de comunicaciones - Práctica 02
Sistemas de comunicaciones - Práctica 02Sistemas de comunicaciones - Práctica 02
Sistemas de comunicaciones - Práctica 02
 
Clase 1 CD II
Clase 1 CD IIClase 1 CD II
Clase 1 CD II
 
Control digital: Introducción a control digital
Control digital: Introducción a control digital Control digital: Introducción a control digital
Control digital: Introducción a control digital
 
Control digital: Tablas de transformada z
Control digital: Tablas de transformada zControl digital: Tablas de transformada z
Control digital: Tablas de transformada z
 
Micro2 tema 2
Micro2 tema 2Micro2 tema 2
Micro2 tema 2
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3
 
Amplificadores de potencia
Amplificadores de potenciaAmplificadores de potencia
Amplificadores de potencia
 
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivos
 
PLC: Sistemas lógicos y secuenciales
PLC: Sistemas lógicos y secuenciales PLC: Sistemas lógicos y secuenciales
PLC: Sistemas lógicos y secuenciales
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84
 
00026162
0002616200026162
00026162
 
Clase 02 gestion de puertos - directivas
Clase 02   gestion de puertos - directivasClase 02   gestion de puertos - directivas
Clase 02 gestion de puertos - directivas
 
informacion de transistores
informacion de transistoresinformacion de transistores
informacion de transistores
 
proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial proyecto de curso instrumentación industrial
proyecto de curso instrumentación industrial
 

Destaque

Simulador En Mplab
Simulador En MplabSimulador En Mplab
Simulador En Mplabmariociunne
 
Uso básico de MPLAB
Uso básico de MPLABUso básico de MPLAB
Uso básico de MPLABAmuva
 
Microcontroladores clase 4
Microcontroladores clase 4Microcontroladores clase 4
Microcontroladores clase 4TALLERMICROS
 
Microcontroladores clase 8
Microcontroladores clase 8Microcontroladores clase 8
Microcontroladores clase 8TALLERMICROS
 
Como Escribir Un Programa Y Compilarlo Con Mplab
Como Escribir Un Programa Y Compilarlo Con MplabComo Escribir Un Programa Y Compilarlo Con Mplab
Como Escribir Un Programa Y Compilarlo Con Mplabmariociunne
 

Destaque (7)

Simulador En Mplab
Simulador En MplabSimulador En Mplab
Simulador En Mplab
 
Uso básico de MPLAB
Uso básico de MPLABUso básico de MPLAB
Uso básico de MPLAB
 
Microcontroladores clase 4
Microcontroladores clase 4Microcontroladores clase 4
Microcontroladores clase 4
 
Mplab
Mplab Mplab
Mplab
 
Microcontroladores clase 8
Microcontroladores clase 8Microcontroladores clase 8
Microcontroladores clase 8
 
Programación del PIC18F2550
Programación del PIC18F2550Programación del PIC18F2550
Programación del PIC18F2550
 
Como Escribir Un Programa Y Compilarlo Con Mplab
Como Escribir Un Programa Y Compilarlo Con MplabComo Escribir Un Programa Y Compilarlo Con Mplab
Como Escribir Un Programa Y Compilarlo Con Mplab
 

Semelhante a como usar MPLAB

Semelhante a como usar MPLAB (20)

Uso Mplab
Uso MplabUso Mplab
Uso Mplab
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLAB
 
Microcontrolador 1 prender y apagar un led
Microcontrolador 1 prender y apagar un ledMicrocontrolador 1 prender y apagar un led
Microcontrolador 1 prender y apagar un led
 
como programar un pic
como  programar un piccomo  programar un pic
como programar un pic
 
Como programar un PIC
Como programar un PICComo programar un PIC
Como programar un PIC
 
Como programar en Arduino
Como programar en ArduinoComo programar en Arduino
Como programar en Arduino
 
02 programar
02 programar02 programar
02 programar
 
02 programarpic
02 programarpic02 programarpic
02 programarpic
 
Como programar un pic en 4 pasos
Como programar un pic en 4 pasosComo programar un pic en 4 pasos
Como programar un pic en 4 pasos
 
Labview & pic
Labview & picLabview & pic
Labview & pic
 
P1_Programación en MPLAB X IDE V5_20(1).pdf
P1_Programación en MPLAB X IDE V5_20(1).pdfP1_Programación en MPLAB X IDE V5_20(1).pdf
P1_Programación en MPLAB X IDE V5_20(1).pdf
 
P1_Programación en MPLAB X IDE V5_20(1).pdf
P1_Programación en MPLAB X IDE V5_20(1).pdfP1_Programación en MPLAB X IDE V5_20(1).pdf
P1_Programación en MPLAB X IDE V5_20(1).pdf
 
38912287 practica1
38912287 practica138912287 practica1
38912287 practica1
 
Practica1
Practica1Practica1
Practica1
 
Practica1
Practica1Practica1
Practica1
 
Guia Proyecto 2
Guia Proyecto 2Guia Proyecto 2
Guia Proyecto 2
 
Guia Proyecto 2
Guia Proyecto 2Guia Proyecto 2
Guia Proyecto 2
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Curso basico de pic 16 f877
Curso basico de pic 16 f877Curso basico de pic 16 f877
Curso basico de pic 16 f877
 
PLC Alternativo
PLC AlternativoPLC Alternativo
PLC Alternativo
 

Último

libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 

Último (20)

libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 

como usar MPLAB

  • 1. Introducción al Entorno de Desarrollo MPLAB PRÁCTICA 4 INTRODUCCIÓN AL ENTORNO DE DESARROLLO MPLAB OBJETIVO:  Familiarizar al alumno con la interfaz del software MPLAB y comprender los pasos para crear un proyecto de programación para MCU’s PIC.  Emplear MPLAB para editar, depurar y simular un proyecto en lenguaje ensamblador para un MCU PIC.  Configurar y usar el software ICPROG en conjunto con un circuito programador compatible, para descargar a la memoria interna de un PIC, el código máquina (archivo HEX) generado en MPLAB. INTRODUCCIÓN El MPLAB es un software que junto con un emulador y un programador de los múltiples que existen en el mercado, forman un conjunto de herramientas de desarrollo muy completo para el trabajo y/o el diseño con los microcontroladores PIC desarrollados y fabricados por la empresa Arizona Microchip Technology (AMT). Entre las características del programa MPLAB están las siguientes:  Incorpora todas las utilidades necesarias para la realización de cualquier proyecto.  Permite editar el archivo fuente en lenguaje ensamblador de nuestro proyecto, además de ensamblarlo y simularlo en pantalla.  Depurador de código fuente (muestra las instrucciones en ensamblador conforme las va ejecutando) que permite la ejecución paso a paso, por rutina y puntos de ruptura.  El programa es completamente interactivo, lo que nos permite modificar cualquier registro o localidad de memoria en cualquier momento. Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 2. Introducción al Entorno de Desarrollo MPLAB MATERIAL Y EQUIPO EMPLEADO Laboratorio equipado con computadoras que tengan instalado el MPLAB versión v7.40 y el ICPROG v1.05. Cantidad Descripción 1 Programador compatible con ICPROG. 1 Microcontrolador PIC16F628 1 Microinterruptor (1P-1T) 8 Leds o una barra de leds 8 Resistencia de 330  8 Resistencia de 4.7 K 1 Tableta experimental 1 Fuente de alimentación de CD Pre-reporte:  Leer previamente toda la práctica  Descargar MPLAB v7.40 y ICPROG 1.05 de Internet y llevarlos el día de la sesión.  Llevar implementado en un protoboard el circuito de la figura 4.24 DESARROLLO I. Procedimiento para crear un proyecto en MPLAB 1. Para ingresar al programa MPLAB IDE, basta con hacer doble “click” en el icono instalado en el escritorio de la PC, o seleccionar Inicio> Programas> Microchip> MPLAB IDE v7.40> MPLAB. Lo anterior desplegará la presentación del software seguido de la pantalla principal (figura 4.1). Cabe mencionar que esto es válido sólo para la versión v7.40, para versiones anteriores esto puede ser diferente. Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 3. Introducción al Entorno de Desarrollo MPLAB Figura 4.1. Pantalla principal de MPLAB 2. Es necesario crear el documento el cual se agregara al proyecto. Para esto, ingrese al menú FILE> NEW, y a continuación edite el programa en ensamblador que se muestra abajo. Haga una carpeta con nombre proypics y guarde en ella el archivo editado con el nombre de rotaled.asm. ; Programa que rota a la derecha un bit por el puerto B LIST P=16F628 RADIX HEX w equ 0 f equ 1 ; Declaración de los SPR PCL equ 02h STATUS equ 03h PORTA equ 05h PORTB equ 06h CMCON equ 1Fh cblock 20h ST_TEMP ; Variable copia de STATUS TEMP1 ; Variable para ciclo externo TEMP2 ; Variable para ciclo interno endc org 0 goto INICIO ; Configura vector de reset Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 4. Introducción al Entorno de Desarrollo MPLAB ; Subrutina que configura a todo el Puerto B ; como salida y deshabilita a los comparadores CONF_PUERTOB Movlw b'00000111'; Comparadores apagados para Movwf CMCON ; hablilitae pins de I/O bsf STATUS,5 ; Conmuta a banco 1 clrf PORTB ; Configura puerto B como salida bcf STATUS,5 ; Commuta a banco 0 movlw 04h movwf PORTB ; Puerto B = 0001 0000b movf STATUS,w ; Almacena una copia de STATUS movwf ST_TEMP ; en la variable ST_TEMP return ; Rutina que rota a la derecha un bit por el puerto B ; Parámetros de entrada: ST_TEMP el cual contiene ; una copia de STATUS ; Parámetros de salida: ST_TEMP ROTADER movf ST_TEMP,w ; Recupera el valor de STATUS y movwf STATUS ; sustituyelo rrf PORTB,f ; Rota a la derecha PUERTO B movf STATUS,w ; Almacena una copia de STATUS movwf ST_TEMP ; en el registro ST_TEMP call RETARDO ; Introduce retardo de 500 ms return ; Rutina que genera un retardo de tiempo por software ; de aproximadamente 0.5 segs a una frecuencia de ; oscilación de 4 MHZ RETARDO Movlw .250 movwf TEMP2 ; TEMP2 = 250 CICLO2 decfsz TEMP2,f ; TEMP2 - 1 = 0? goto SALTO1 ; No goto FINCICLO2 ; Si SALTO1 movlw .250 movwf TEMP1 ; TEMP1= 250 CICLO1 nop nop nop nop nop decfsz TEMP1,f ; TEMP - 1 = 0? goto CICLO1 ; No goto CICLO2 ; Si FINCICLO2 return Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 5. Introducción al Entorno de Desarrollo MPLAB ; PROGRAMA PRINCIPAL INICIO call CONF_PUERTOB AGAIN call ROTADER goto AGAIN END 3. Seleccione el dispositivo (PIC a utilizar durante el proyecto) con que se desea trabajar, el cual se puede encontrar en la barra de herramientas en el menú Configure> Select Device: Configure la ventana tal como se muestra en la figura 4.2. Figura 4.2: Ventana “Select Device” En la ventana se despliega información acerca de los diversas herramientas de MPLAB con respecto al dispositivo seleccionado, de acuerdo a lo siguiente: - Los leds verdes indican que si soporta el dispositivos seleccionado. - Los leds amarillos indican que pueden no estar habilitadas ciertas partes del dispositivo. - Los leds rojos indican que no soportan al dispositivo. 4. El siguiente paso es crear proyecto utilizando Proyect Wizard. Seleccione Project> Project Wizard. En la pantalla se deberá ver algo similar a mostrado en la figura 4.3 Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 6. Introducción al Entorno de Desarrollo MPLAB Figura 4.3: Paso uno del “Project Wizard” 5. Seleccione el dispositivo PIC16F628 ó PIC16F628A, según sea el caso. 6. Seleccione el lenguaje usado en el proyecto, Microchip MPASM Toolsuite para este caso (figura 4.4). Verifique que la ruta de acceso al MPASM sea la correcta. Figura 4.4: Paso dos del “Project Wizard” 7. Es necesario seleccionar el nombre del proyecto y la carpeta que lo almacenará (figura 4.5). Escribimos primerproy como nombre y elegimos la carpeta proypics creada en el paso 2. Cabe señalar que MPLAB no funciona bien cuando la carpeta se encuentra muy anidada dentro de otras carpetas ni cuando las carpetas tienen nombres muy largos. Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 7. Introducción al Entorno de Desarrollo MPLAB Figura 4.5: Paso tres del “Project Wizard” 8. Agregue al proyecto el archivo rotaled.asm editado en el paso 2. Para esto, basta con seleccionar dicho archivo y presionar el botón Add Files>>. El nombre del archivo aparecerá en el panel de la derecha como se muestra en la figura 4.6. Figura 4.6: Paso cuatro del “Project Wizard” 9. El último paso es la confirmación, por medio de un resumen (summary), de que el proyecto ha sido correctamente creado. La ventana mostrará el dispositivo a usar, el lenguaje y la fuente del archivo (figura 4.7). Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 8. Introducción al Entorno de Desarrollo MPLAB Figura 4.7: Pantalla final del “Project Wizard” 10. Al presionar el botón FINISH, deberá aparecer la ventana del proyecto realizado en los pasos anteriores (figura 4.8). De no ser así, puede abrirse manualmente por medio de View> Project. Figura 4.8: Pantalla final del “Project Wizard” II. Depurando y simulando un programa con MPLAB 11.- Una vez terminado los pasos anteriores será necesario depurar el programa editado para verificar los errores que se cometieron al momento de la codificación. Ensamble el archivo rotaled.asm, contenido dentro del proyecto, con cualquiera de las siguientes secuencias:  En la barra del menú (Project>Build All)  También en la barra de herramientas Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 9. Introducción al Entorno de Desarrollo MPLAB MPLAB deberá entonces desplegar en la ventana output (figura 4.9) todo lo relacionado con el proceso de ensamble. En teoría debería mostrar que no hubo errores en el programa y que el archivo rotaled.hex fue creado correctamente y puede ser descargado al MCU. En caso que se generen warnings y/o errores verifique el programa y repita el proceso (paso 11) hasta que ya no existan errores Figura 4.9: Pantalla “Output” sin errores ni “warnings” 12. Para simular el código del programa, es necesario activar la herramienta MPLAB SIM por medio del menú Debugger> Select Tool, como se muestra en la figura 4.10 Figura 4.10: Pantalla del menú “Debugger” al activar MPLAB SIM Una vez que se activa MPLAM SIM como herramienta de simulación, sucede lo siguiente (figura 4.11):  El estado de la barra deberá cambiar.  Aparecen nuevas opciones dentro del menú Debugger.  En la barra de herramientas aparece una barra adicional. (Colocando el puntero del Mouse sobre cada botón se podrá ver la descripción de lo que hace cada uno de ellos).  En la ventana de salida se agrega una pestaña con el nombre de MPLAB SIM. Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 10. Introducción al Entorno de Desarrollo MPLAB Figura 4.11: Pantalla que muestra los cambios en la interfaz al activar MPLAB SIM 13. Después de haber seleccionado el simulador se procede a dar un reset al procesador utilizando Debugger> Reset> Processor Reset, el puntero que esta de color verde se posicionará en la primera instrucción en memoria, que por lo regular es un goto, tal como lo muestra la figura 4.12 Figura 4.12: Pantalla del programa después de un “reset” 14. Realizado el paso anterior, se procede a simular el código empleando las opciones disponibles en la barra (figura 4.13) que se agrego al seleccionar el MPLAB SIM. Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 11. Introducción al Entorno de Desarrollo MPLAB Figura 4.13: Resumen de los botones de la barra de herramientas de MPLAB SIM 15. Dentro de la simulación del programa, con la secuencia View> Watch> Add SFR> Registro que Desees Ver, es posible seleccionar los registros asociados a cualquiera de los periféricos internos para verificar su correcto funcionamiento (figura 4.14). Figura 4.14: Botón “Add SFR” de la ventana “Watch” 16. En la misma ventana Watch, también se puede seleccionar las variables que se hayan empleado en el programa, usando el botón Add Symbol, tal como lo sugiere la figura 4.15. Figura 4.15: Botón “Add Symbol” de la ventana “Watch” 17. Cuando se está depurando un programa es necesario detener su ejecución en una instrucción específica, esto es posible insertando puntos de ruptura (breakpoints), los cuales ayudan a observar los valor en los registros y variables en dicho instante. La inserción de punto de ruptura se logra posicionando el puntero haciendo “click” con el botón derecho del ratón con el puntero posicionado en alguna instrucción del programa y seleccionando Set Breakpoint (figura 4.16). Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 12. Introducción al Entorno de Desarrollo MPLAB Figura 4.16: Insertando un punto de ruptura 17. Al hacer lo anterior, se notará que se agrega una marca de una B dentro de un círculo rojo en la parte lateral derecha de la instrucción, tal se ve en. Figura 4.17: Listado del programa con el punto de ruptura insertado 18. Con todo lo expuesto en los pasos anteriores, proceda a simular el programa para verificar que su funcionamiento sea lo que se desea. Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 13. Introducción al Entorno de Desarrollo MPLAB III. Procedimiento para descargar un programa al MCU con ICPROG Toda vez que se ha simulado exhaustivamente el programa y que se ha comprobado que realiza las tareas que se le han programado, se procede a descargar el código máquina (rotaled.hex) al micricontrolador. MPLAB ofrece soporte para este proceso, desafortunadamente se tiene que adquirir un dispositivo programador propietario de Microchip (PicStart Plus, Pro Mate II, etc). Por otro lado, construir un dispositivo programador para los MCU’s PIC es algo relativamente sencillo y barato. Existen en la literatura muchos prototipos que han sido verificados del cual es más usado es un clon del JDM Programmer. También hay que instalar el software que trabaje en conjunto con el dispositivo programador, aquí podemos emplear el WinPIC o el ICProg, La práctica se enfoca a éste último. 19. Verifique la PC tiene cuenta con el ICProg, de no ser así proceda a instalarlo. 20. Ejecute ICProg, la PC mostrará la ventana principal de trabajo (figura 4.18) Figura 4.17: Ventana principal de ICProg 21. Configure el idioma del software en español con los siguientes pasos Settings >> Options>> Language Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 14. Introducción al Entorno de Desarrollo MPLAB Figura 4.18: Ventana para configuración del idioma 22. Con la secuencia Ajustes>> Tipo hardware se puede seleccionar el modelo de dispositivo programador que se esté utilizando y el puerto donde se va a conectar. Los valores por default son Com 1 y JMD Programmer. Las demás opciones no deben modificarse (figura 4.19). En caso de ocurrir algún error en la grabación, se puede intentar variar el valor de Retardo I/O, lo recomendable es un valor entre 4 - 10. Figura 4.19: Ventana para elegir el tipo de hardware 23 Con Ajustes>> Opciones>> Confirmación se despliega la ventana de la figura 4.20. Aquí se configura al software para que solicite una confirmación previa cada vez que se vaya realizar alguna de las siguientes operaciones; grabar el MCU, borrar el MCU, proteger el código o al sobreescribir algún archivo. Dejar las dos casillas inhabilitadas como se presenta en la figura 4.20. Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 15. Introducción al Entorno de Desarrollo MPLAB Figura 4.20: Ventana para configurar las confirmaciones en ICProg 24. Con Ajustes>> Opciones>> Avisos, el ICProg puede notificarnos acerca de la ocurrencia de algunos eventos. Existen dos tipos de notificación seleccionables:  Cuando la palabra de ID no se encuentra en el archivo cargado.  Cuando la palabra de Configuración no se encuentra en el archivo cargado. Cuando la palabra de ID o de Configuración no se encuentra en el archivo cargado, sus valores se establecerán en FFFF por omisión. Para asegurarse de que el valor no es FFFF sino que no se encuentra en el archivo cargado, simplemente habilite estas opciones. 24. Con Ajustes>> Opciones>> IC2, se podrá configurar algunas opciones relacionadas con los dispositivos I2C (Ej. La familia 24Cxx). Debido a que no es nuestro caso, se procederá a dejar deshabilitadas estas dos opciones. Figura 4.21: Ventana para configurar las opciones de IC2 Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 16. Introducción al Entorno de Desarrollo MPLAB 25. Con Ajustes>> Opciones>> Programación, se configura la verificación del programa descargado ya sea antes o durante la programación. Seleccionar las dos casillas para monitorear la programación del dispositivo. Los demás ajustes dejar tal y como vienen por default. Figura 4.22: Ventana para configurar las opciones de verificación 26. La secuencia Ajustes>> Opciones>> Miscelánea es de suma importancia ya en ella se podrá habilitará un “driver” para Windows XP. Esto evitará que ICProg despliegue un mensaje de error al iniciar y asegurará que funcione a la perfección con Windows XP. Configure esta ventana tal como se muestra en la figura 4.23. Figura 4.23: Ventana para configurar la compatibilidad con Windows XP 27. Seleccionar el PIC con Ajustes>> Dispositivo>> Microchip PIC>> PIC16F628. También se puede seleccionar el dispositivo en la barra de herramientas, en la parte derecha de la ventana de trabajo, abrir la pestaña y seleccionar el dispositivo. 28. Programar los bits de configuración del PIC como se indica en la figura 4.24. Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 17. Introducción al Entorno de Desarrollo MPLAB Figura 4.24: Ventana para seleccionar los bits de configuración 28. En la barra de herramienta, seleccionar en el menú abrir el archivo rotaled.hex que se realizo en los pasos anteriores con el MPLAB. 29. Antes de grabar el PIC borre cualquier información que pudiera contener el dispositivo en cuestión seleccionando Comando>> Borrar todo>> Intro. 30. Para grabar en el PIC, los archivos que se pretendan cargar hay que dar “click” en la ventana de Archivo>> Abrir y buscar el archivo rotaled.hex, después seleccionar la pestaña Comando>> Programa Todo. 31 Verificar la correcta grabación del dispositivo cerrando el programa y volviendo a abrirlo y luego leyendo el dispositivo nuevamente. 32. Monte el PIC programado el circuito mostrado en la figura de abajo y verifique que trabaje correctamente. Eduardo Romero A. Laboratorio de Sistemas Digitales III
  • 18. Introducción al Entorno de Desarrollo MPLAB R12 10k U1 16 17 RA7/OSC1/CLKIN RA0/AN0 D1 15 18 RA6/OSC2/CLKOUT RA1/AN1 330R 1N4148 1 RA2/AN2/VREF 4 RA5/MCLR RA3/AN3/CMP1 2 U2 3 1 20 RA4/T0CKI/CMP2 330R 2 19 SW2 RB0/INT 6 3 18 SW -SPST -MOM 7 4 17 RB1/RX/DT 330R 8 5 16 RB2/T X/CK 9 6 15 RB3/CCP1 10 7 14 RB4 330R 11 8 13 RB5 12 9 12 RB6/T 1OSO/T 1CKI 13 10 11 RB7/T 1OSI 330R PIC16F628A LED-BARGRAPH-GRN 330R 330R 330R Figura 4.24: Circuito para el programa rotaled.asm Eduardo Romero A. Laboratorio de Sistemas Digitales III