Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica 1 PDF
Practica 1 PDF
Microcontroladores
Práctica 1
Uso del software de diseño MPLAB X
y MIKROC
Miguel Ángel Esparza Ávila
Profesor del I T Durango
Diciembre 2018
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Objetivo:
Introducción al uso del software de diseño MPLAB IDE y MikroC
Temas relacionados:
2.1. Programación en lenguaje ensamblador.
1. Marco teórico
1.1 Lenguajes de programación
El proceso de programación de un sistema basado en un microcontrolador (sistema embebido)
requiere inicialmente de un computador o Host, en el cual se ejecute una herramienta de
software denominada IDE (Integrated Development Enviroment).
Dentro de esta herramienta, se realiza la programación de instrucciones del sistema
microcontrolador, que, por lo general, puede incluir varios archivos fuente con partes del
programa. La secuencia de instrucciones que especifica el programa en un archivo de texto que
será grabado en el sistema embebido se conoce como firmware. Cuando el programa es
finalizado, se hace uso de un software llamado «compilador». Esta herramienta transforma el
texto que contiene las instrucciones de forma secuencial y lo convierte en un código de máquina:
un archivo compuesto de números binarios que va a ser enviado directamente a la memoria de
programa del sistema embebido (denominado Target).
Entre los lenguajes de programación que se pueden elegir para programar un sistema
embebido, se tienen las siguientes opciones:
Lenguaje ensamblador
Lenguaje ANSI C
Lenguaje C++
Basic
1
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
El lenguaje ensamblador es el lenguaje más primitivo, conocido como «lenguaje de bajo nivel»
ya que actúa a nivel de los registros internos del sistema embebido. Se caracteriza por poseer
un conjunto de instrucciones específicas (normalmente aritméticas, lógicas, de manipulación de
bit, de lectura y escritura en memoria y de salto) que permiten manipular los datos dentro del
sistema microcontrolador, siguiendo una secuencia especificada por el programador. Este
lenguaje obliga al programador a conocer a fondo la arquitectura del sistema embebido, ya que
las instrucciones suelen interactuar con los registros internos del procesador, con la unidad
aritmética lógica, con las unidades de memoria y con los puertos de entrada y salida.
2
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
3
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Los compiladores son programas que pueden tener algunos inconvenientes y resultar
ser no muy eficientes en algunas ocasiones.
El lenguaje C no requiere que el programador posea un conocimiento profundo de la
arquitectura del sistema embebido, lo cual puede llevar a cometer errores en la
programación.
4
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
de Microchip no puede ser otro más que el software ofrecido por el fabricante: el MPLAB X
IDE.
El MPLAB X IDE es un programa que puede descargarse gratuitamente desde la página web
de Microchip y que se instala sobre cualquier sistema operativo Windows, Mac OS o Linux
sobre una plataforma de 32 o 64 bits. El software incluye un ambiente de desarrollo gráfico,
con un editor de texto para introducir los programas, un compilador de lenguaje ensamblador,
un depurador que permite verificar los errores del programa y un enlazador que transforma el
código de programa en el lenguaje de máquina que posteriormente será grabado en la memoria
no volátil del sistema embebido.
El simulador opera tanto para el lenguaje ensamblador como para el lenguaje ANSI C. Si se
requiere la programación del microcontrolador en lenguaje ANSI C, es necesario
descargar el software compilador MPLAB XC8 para microcontroladores Microchip de 8 bits o el
MPLAB XC16 para microcontroladores Microchip de 16 bits, herramientas que se descargan de
forma independiente de la página web del fabricante y que posibilita la programación en
lenguaje C de cualquier microcontrolador Microchip de 8 o 16 bits. Esta herramienta incluye
librerías para el manejo de periféricos como LCD, SPI, I²C, PWM y USART, entre otros.
Además, contiene librerías matemáticas y de manipulación de memoria.
5
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Esta herramienta contiene un conjunto de librerías para manejar con mucha facilidad los
microcontroladores de Microchip haciendo uso del lenguaje ANSI C.
El software se puede descargar gratuitamente de internet a través de la página web (www.ccsi
nfo.com). Pero, al igual que los compiladores de Microchip, posee un tiempo de expiración y
también presenta un costo para una licencia permanente.
En cuanto a los programadores, en el mercado se cuenta con diversos modelos que son
compatibles con el MPLAB X IDE. Esto permite que, una vez conectados al computador,
puedan descargar la aplicación directamente al Target sin necesidad de otro software adicional.
El MPLAB X IDE es compatible con los siguientes programadores:
6
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
3. El PICkit 2. Este grabador es el antecesor del PICkit 3. Permite la grabación de casi todas
las familias de microcontroladores de Microchip, a excepción de los PIC32MX7, PIC32MX6 y
PIC32MX5. Tampoco permite la depuración de ninguno de los tipos restantes de la familia
PIC32. Posee las mismas dimensiones físicas y conector que el PICkit 3.
7
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Se conecta a la PC con un cable USB y lo utiliza también como fuente de alimentación. Soporta
las familias PIC10F, PIC12F, PIC12HV, PIC16F, PIC18F, PIC18FL, PIC24F, PIC24FJ,
PIC24HJ, dsPIC30F, dsPIC39F, dsPIC33F, PIC32MX, KEELOQ HS y memorias EEPROM
seriales.
Programa los archivos generados por cualquier compilador ya sea ensamblador MPASM, de C
o de Basic (MikroC, MikroBasic, HI-Tech, PICC, IAR, CCS, Microchip XC8, XC16, XC32, etc).
8
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
2. Procedimiento
2.1- Uso de MPLAB X IDE (con lenguaje ensamblador)
2
Elegir tipo de proyecto (Choose project)
O en PROJECTS > Create New
9
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
2.-
3
Seleccionar dispositivo
10
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Es importante verificar los colores de las luces a un lado del nombre de la herramienta a
seleccionar. El código de colores es el siguiente:
11
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
5
Selección del compilador (select compiler)
En esta ventana deberán aparecer los compiladores para MPLAB instalados, se selecciona el
compilador a utilizar, en este caso XC16(v 1.35). Para la selección del compilador aplica
igualmente los colores de las luces de la tabla anterior.
Un Proyecto está definido como un grupo de archivos dentro de una estructura específica de
directorios y usada por el MPLAB X para almacenar y ordenar los archivos y configurar las
aplicaciones. En la siguiente figura se ilustra esta estructura de archivos.
12
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
El nombre del proyecto es blink. Todos los archivos del proyecto se guardan en una carpeta
que se genera de manera automática en el project Folder seleccionado con la estructura de la
figura anterior.
13
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
7
Agregar archivo fuente al proyecto
Para agregar un archivo fuente al proyecto, se hace click derecho sobre Source Files y se
selecciona New>AssemblyFile.s para un archivo fuente en lenguaje ensamblador para el
compilador XC16.
Una vez seleccionado el tipo de archivo, aparecerá una ventana donde se debe especificar el
nombre del archivo. Es conveniente que el nombre del archivo sea el mismo que el nombre del
proyecto, en este caso blink.
14
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Al presionar finish, se agrega el archivo fuente al proyecto que se debe ver en la ventana del
proyecto y la ventana de edición debe aparecer lista para teclear el código.
Archivo
agregad
o
Ventana de edición
Antes del código de la aplicación se debe poner la configuración del dispositivo (bits de
configuración) de una manera predeterminada por cada compilador. Generalmente los
compiladores tratan de que el usuario realice de manera fácil esta configuración y el MPLAB no
es la excepción. Para poner el encabezado de configuración se selecciona Window > Target
Memory Views> Configuration Bits
15
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
En la ventana de salida, parte inferior de la pantalla, aparecen los bits de configuración los
cuales se configuran de acuerdo con la aplicación a desarrollar. Los bits y las opciones son
diferentes dependiendo del dispositivo seleccionado. Para este caso se debe configurar como
se muestra en la siguiente figura.
Se configuran los bits y se presiona Generate Code to output con lo cual debe aparecer en la
misma ventana el código de los bits de configuración. Como se puede notar, en el código
generado se utiliza el delimitador “ // ” para comentarios; este delimitador se utiliza en el lenguaje
C pero en lenguaje ensamblador se utiliza el delimitador “ ; “. El código es el mismo tanto para
lenguaje C como para lenguaje ensamblador, solo difieren en el mencionado delimitador.
16
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
17
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
8
Compilación
Una vez que se teclea todo el código se guarda y luego se procede a verificar que no haya
errores de sintaxis, para lo cual se compila el diseño presionando el ícono correspondiente.
18
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Compilación
exitosa
Ya que el proyecto ha compilado exitosamente se generan varios archivos, entre ellos el archivo
con extensión .hex el cual es el que se va a cargar (programar) en el dispositivo. El mencionado
archivo se encuentra en la carpeta del proyecto en dist > default > production.
19
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
9 Simular en Proteus
Simular funcionamiento en Proteus. Los LED´s deben prender y luego apagar con un tiempo de
retardo de 0.5 segundos. Si el funcionamiento es el adecuado continuar con el paso 10, en caso
contrario regresar a revisar y corregir el código.
10
Armar el circuito en protoboard
U1
1 4
MCLR RB0/CN4/RP0/AN2/EMUD1/PGD1
20 5
VDDCORE RB1/CN5/RP1/AN3/EMUC1/PGC1
6
RB2/CN6/RP2/AN4
7
RB3/CN7/RP3/AN5
11
RB4/CN1/RP4/SOSCI/EMUD3/PGD3
14
RB5/CN27/RP5/ASDA1
28 15
AVDD RB6/CN24/RP6/ASCL1
27 16
AVSS RB7/CN23/RP7/INT0
17
RB8/CN22/RP8/SCL1/PWM2H1/TCK
18
RB9/CN21/RP9/SDA1/PWM2L1/TDO
21
RB10/CN16/RP10/PWM1H3/TDI
2 22
RA0/CN2/VREF+/AN0/EMUD2/PGD2RB11/CN15/RP11/PWM1L3/TMS
3 23
RA1/CN3/VREF-/AN1/EMUC2/PGC2 RB12/CN14/RP12/PWM1H2
9
RA2/CN30/CLKI/OSCI RB13/CN13/RP13/PWM1L2
24 R1 R2 R3 R4 R5 R6 R7 R8 R9
10 25 130R 130R 130R 130R 130R 130R 130R 130R 130R
RA3/CN29/CLKO/OSCO RB14/CN12/RP14/PWM1H1
12 26
RA4/CN0/T1CK/SOSCO/EMUC3/PGC3 RB15/CN11/RP15/PWM1L1
DSPIC33FJ12MC202
D1 D2 D3 D4 D5 D6 D7 D8 D9
LED-RED LED-RED
LED-RED LED-RED
LED-RED LED-RED LED-RED
LED-RED LED-RED
11
Programar el Microcontrolador
12
Verificar funcionamiento en físico
20
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Inicie el compilador mikroC PRO for PIC al hacer doble clic en el icono apropiado. Aparecerá
mikroC PRO for dsPIC IDE en la pantalla y luego la pantalla inicial del compilador como se
ilustra en la siguiente figura.
2
Creación de un nuevo proyecto.
21
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Aparecerá una ventana denominada New Project Wizard que le guiará a través del proceso de
creación de un nuevo proyecto. La ventana de entrada de esta aplicación contiene una lista de
acciones que se realizarán durante la creación de un nuevo proyecto. El paso 1 es definir las
características del proyecto:
En este caso, el proyecto blink, utiliza el dsPIC33FJ12MC202 con generador de reloj interno
(7.37 MHz), la carpeta donde se guarda el proyecto es
C:\Users\Miguel\Documents\MikroC\blink\ y se desea definir los bits de configuración.
Una vez que se definen las características del proyecto, se presiona Next para continuar al
paso 2, apareciendo una ventana como se ilustra en la figura siguiente.
22
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Si el nuevo proyecto consiste en varios ficheros fuentes, se necesita especificarlos y hacer click
en el botón Add para incluirlos. En este ejemplo no hay ficheros fuentes adicionales, por lo
tanto, solo se presiona Next para continuar al paso 3.
23
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
En esta ventana se define el estado inicial de las librerías, con dos opciones:
Si en el paso 1 se marcó la casilla para definir los bits de configuración, aparecerá una ventana
como la que se muestra en la figura siguiente.
24
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Proyecto
blink
25
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
3
Teclear código
4
Compilación
Una vez que se teclea todo el código se guarda y luego se procede a verificar que no haya
errores de sintaxis, para lo cual se compila el diseño presionando el ícono correspondiente.
26
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Compilación
exitosa
Una vez compilado con éxito, simular en Proteus y en caso de funcionamiento exitoso:
Armar el circuito.
Programar el dispositivo (cargar archivo .hex) usando el programador disponible.
Verificar funcionamiento.
27
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Para poder programar es necesario conectar los pines ICSP(In-Circuit Serial Programming) del
programador a los pines correspondientes del microcontrolador. Se debe desconectar el pin
MCLR del circuito de conexión mínima y conectarlo de la línea MCLR del programador como se
ilustra en la figura.
28
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Se ejecuta el software del programador haciendo doble click sobre el ícono correspondiente,
apareciendo la pantalla que se muestra a continuación:
29
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
2
Cargar archivo .hex
Para cargar el archivo .hex se presiona la pestaña File y se selecciona import Hex como se
visualiza en la figura:
30
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Al presionar abrir, el archivo .hex se carga en el programador y deberá aparecer una pantalla
como la siguiente, donde se puede visualizar en la ventana Program Memory el archivo en
hexadecimal.
En la figura de la izquierda el archivo hex se generó con MikroC y se puede leer la leyenda Hex
file sucessfully imported
En la figura de la derecha se importó el archivo .hex generado con MPLAB y se puede leer la
leyenda de que no existe la configuración del dispositivo, pero no hay ningún problema ya que
si se carga la configuración.
3
Programación
31
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
Con esto queda programado el dispositivo con el código de la aplicación del proyecto. Se
desconectan los cables del programador, se vuelve a conectar MCLR como en la conexión
mínima y se energiza el circuito. Si todo el proceso de diseño está correcto, se debe ver el
funcionamiento esperado.
32
Instituto Tecnológico de Durango
Práctica 1.- Software de diseño MPLAB X y MikroC Microcontroladores
4. Fuentes de información
Microchip Technology Inc. (2007) dsPIC33FJ12MC201/202 Data Sheet.
Microchip Technology Inc. (2005) dsPIC30F/33F Programmer’s Reference Manual.
Microchip Technology Inc. (2007-2012) dsPIC33F/PIC24H Family Reference Manual.
García Breijo Eduardo (2008). Compilador C CCS y simulador PROTEUS para
microcontroladores PIC. Alfaomega.
Salas Arriarán Sergio (2017) Todo sobre sistemas embebidos: Arquitectura,
programación y diseño de aplicaciones prácticas con el PIC18F. UPC
MikroElektronika (2012) Creating first Project in MikroC PRO for dsPIC
Stu Chandler (2012) Introducción a MPLAB X: Road show 2012 Latin América
33
Instituto Tecnológico de Durango