SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Cómo crear un amplificador de audio lm386en multisim en
Cómo crear un amplificador de audio lm386en multisim enCómo crear un amplificador de audio lm386en multisim en
Cómo crear un amplificador de audio lm386en multisim enTensor
 
Puertos de entrada y salida del computador
Puertos de entrada y salida del computadorPuertos de entrada y salida del computador
Puertos de entrada y salida del computadorBaleritha
 
01 GPIO||General Purpose Input Output.2016
01 GPIO||General Purpose Input Output.201601 GPIO||General Purpose Input Output.2016
01 GPIO||General Purpose Input Output.2016Mohamed Fawzy
 
Electrónica digital: Tema 3 Lógica secuencial, Registros de desplazamiento y ...
Electrónica digital: Tema 3 Lógica secuencial, Registros de desplazamiento y ...Electrónica digital: Tema 3 Lógica secuencial, Registros de desplazamiento y ...
Electrónica digital: Tema 3 Lógica secuencial, Registros de desplazamiento y ...SANTIAGO PABLO ALBERTO
 
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticosMicrocontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticosSANTIAGO PABLO ALBERTO
 
Introduction to Embedded Architecture
Introduction to Embedded Architecture Introduction to Embedded Architecture
Introduction to Embedded Architecture amrutachintawar239
 
Sumador de 4 bits
Sumador de 4 bitsSumador de 4 bits
Sumador de 4 bitsAbril Bello
 
Programmable logic device (PLD)
Programmable logic device (PLD)Programmable logic device (PLD)
Programmable logic device (PLD)Sɐɐp ɐɥɯǝp
 

La actualidad más candente (20)

Programación SIEMENS S7 200
Programación SIEMENS S7 200Programación SIEMENS S7 200
Programación SIEMENS S7 200
 
Micro2 tema 5
Micro2 tema 5Micro2 tema 5
Micro2 tema 5
 
Plds
PldsPlds
Plds
 
Cómo crear un amplificador de audio lm386en multisim en
Cómo crear un amplificador de audio lm386en multisim enCómo crear un amplificador de audio lm386en multisim en
Cómo crear un amplificador de audio lm386en multisim en
 
Puertos de entrada y salida del computador
Puertos de entrada y salida del computadorPuertos de entrada y salida del computador
Puertos de entrada y salida del computador
 
Session 2,3 FPGAs
Session 2,3 FPGAsSession 2,3 FPGAs
Session 2,3 FPGAs
 
AT89C52 Data sheet
AT89C52 Data sheetAT89C52 Data sheet
AT89C52 Data sheet
 
Introduccion mplab
Introduccion mplabIntroduccion mplab
Introduccion mplab
 
01 GPIO||General Purpose Input Output.2016
01 GPIO||General Purpose Input Output.201601 GPIO||General Purpose Input Output.2016
01 GPIO||General Purpose Input Output.2016
 
Entradas de plc
Entradas de plcEntradas de plc
Entradas de plc
 
Instrucciones del-8085 eiee
Instrucciones del-8085 eieeInstrucciones del-8085 eiee
Instrucciones del-8085 eiee
 
Decompilador y metacompilador
Decompilador y metacompiladorDecompilador y metacompilador
Decompilador y metacompilador
 
Electrónica digital: Tema 3 Lógica secuencial, Registros de desplazamiento y ...
Electrónica digital: Tema 3 Lógica secuencial, Registros de desplazamiento y ...Electrónica digital: Tema 3 Lógica secuencial, Registros de desplazamiento y ...
Electrónica digital: Tema 3 Lógica secuencial, Registros de desplazamiento y ...
 
I2C
I2CI2C
I2C
 
Registro status PIC16F84A
Registro status PIC16F84ARegistro status PIC16F84A
Registro status PIC16F84A
 
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticosMicrocontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
Microcontroladores: Microcontroladores PIC fundamentos y aplicaciones didácticos
 
Introduction to Embedded Architecture
Introduction to Embedded Architecture Introduction to Embedded Architecture
Introduction to Embedded Architecture
 
Sumador de 4 bits
Sumador de 4 bitsSumador de 4 bits
Sumador de 4 bits
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Programmable logic device (PLD)
Programmable logic device (PLD)Programmable logic device (PLD)
Programmable logic device (PLD)
 

Destacado

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
 

Destacado (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
 

Similar a como usar MPLAB

Similar 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
 
Practica1
Practica1Practica1
Practica1
 
38912287 practica1
38912287 practica138912287 practica1
38912287 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

Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdfMiguelHuaman31
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 

Último (20)

Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 

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