Академический Документы
Профессиональный Документы
Культура Документы
PRACTICA 03: Entorno de Desarrollo Integrado IDE MikroBasic Pro for PIC
1.
Objetivos
Conocer los 3 requisitos para que un proyecto con microcontrolador funcione correctamente
Conocer la Configuracin del microcontrolador PIC16F877A
Realizar la creacin de proyectos usando los entornos de Desarrollo Integrado (IDE) MikroBasic Pro for PIC
Entender el contenido de los archivos .hex y .cof
Realizar la depuracin de los programas dentro usando el Debugger incorporado en este IDE
2.
El nombre del folder del proyecto debe incluir toda la informacin necesaria para su posterior uso:
Breve y resumida descripcin del proyecto
Lenguaje usado para la creacin del proyecto
Microcontrolador usado
Fecha de creacin
Como ejemplo, para un proyecto de un Contador de Leds en Binario, realizado en MikroBasicPro for PIC usado
el microcontrolador PIC16F877A en fecha 10 de Marzo de 2015, un nombre completo sera:
LedBinCont MkBasPPIC P16F877A 10 Mar 2015
Al manejar el Wizard para nuevos proyectos, utilizar nombres significativos para el Nombre de Proyecto.
Preferiblemente usar el mismo nombre descriptivo del folder del proyecto. Para el ejemplo del punto anterior,
el nombre del proyector sera: LedBinCont
Si se desea aadir separacin entre palabras, no usar el Espacio, sino el carcter de subrayado. Es decir:
Contador_de_Leds_en_Binario
NO usar nombres genricos como x que no indican nada. Tambin evitar el uso de vocales acentuadas (, ,
etc.), las letras o , o caracteres fuera de los primeros 127 cdigos ASCII estndar.
Usar nombres de variables significativos (Ej. Velocidad, Sensor, etc.) y no nombres genricos que adems de
no indicar nada, pueden ser usados como registros internos del microcontrolador (Ej. La variable S se reserva
para la bandera de Signo del microcontrolador)
El compilador MikroBasic detecta automticamente los Errores de Sintaxis, es decir aquellos que tienen que
ver con faltas a las reglas del lenguaje. Por ejemplo, si queremos hallar la multiplicacin de dos variables y
almacenarla en una tercera, el siguiente cdigo genera un error de sintaxis:
Salida = * Var1 Var2 lo correcto sera Salida=Var1*Var2
Sin embargo los Errores de Semntica, es decir aquellos que tienen que ver con fallas del significado o
concepto, no son detectados. Por ejemplo, si queremos hallar el promedio de dos variables y almacenarlo en
una tercera, el siguiente cdigo NO genera un error a pesar de contener un error de semntica:
Promedio=Var1+Var2/2 lo correcto sera Promedio=(Var1+Var2)/2
Cuando se tienen dudas del uso acerca de una funcin o palabra reservada del lenguaje MikroBasic, lo ms
sencillo y rpido es utilizar es sistema de Ayuda que proveen dichos lenguajes. Basta con posicionar el cursor
dentro de la palabra o funcin que se quiere conocer y presionar la tecla F1.
Grabar el circuito esquemtico de Proteus en el mismo folder de proyecto donde se encuentran el cdigo
fuente y los dems archivos generados por MikroBasic.
Para realizar una depuracin de errores de programacin en Proteus, utilizar el archivo .COF que permite
correr un programa paso a paso con la posibilidad de observar y cambiar los valores de los registros y variables
del programa
Tomar en cuenta que el software Proteus ISIS realiza la simulacin sin tomar en cuenta la Palabra de
Configuracin del microcontrolador. As mismo, aunque no se conecte el reloj de cristal, el circuito Reset y
otros dispositivos que son obligatoriamente necesarios en hardware, Proteus realizar la simulacin de todas
maneras. Por ser Proteus una herramienta 100% software, sujeta a errores de programacin, existen varios
eventos que no son simulados o peor an que se simulan mal. Por esta razn, la Simulacin en Proteus es un
paso Necesario ms NO Suficiente para asegurar el funcionamiento real en hardware.
No se omita este paso, pues aunque los incisos a) y b) estn correctos, una mala configuracin no permitir el
correcto funcionamiento del proyecto en hardware.
El software de simulacin PROTEUS, no toma en cuenta la configuracin del microcontrolador y por ende
muchas veces los proyectos funcionarn en este software.
3.
bit 13
bit 11
bit 10-9
bit 8
=
=
=
=
bit 7
bit 6
BOREN (Brown-out Reset Enable) Bit de habilitacin del Reset por cada de voltaje
(Voltaje de Alimentacin VDD < 4.35 Volt)
1 = BOR Habilitado
0 = BOR Deshabilitado
bit 3
PWRTEN (Power-up Timer Enable) Bit de habilitacin del Temporizador al Encendido (72ms)
1 = PWRT Deshabilitado
0 = PWRT Habilitado
bit 2
WDTEN (Watchdog Timer Enable) Bit de habilitacin del Temporizador Perro Guardin
1 = WDT Habilitado
0 = WDT Deshabilitado
bit 1-0
=
=
=
=
Oscilador
Oscilador
Oscilador
Oscilador
LP
XT
HS
RC
4.
Compiladores Mikroelektronika
Mikroelektronika es una empresa europea que desarrolla compiladores en lenguajes C, Basic y Pascal para los
procesadores PIC, dsPIC, PIC32, ARM, FT90XI, AVR y 8051.
5.
Paso 4: Proyecto creado exitosamente. Hacer click en Finish para terminar el wizard
Seleccionar Open Edit Project window to set Configuration bits para Configurar el microcontrolador
6.
Archivos .hex
Intel HEX es un formato de archivo para la programacin de microcontroladores, EPROMs y otros circuitos integrados. Datando de los
aos 70, est entre los formatos ms antiguos con esta finalidad.
Consiste en un archivo de texto cuyas lneas contienen valores hexadecimales que codifican los datos y sus direcciones de memoria.
Cada lnea consta de los siguientes elementos:
1.
2.
3.
4.
5.
6.
Ejemplo
:10010000214601360121470136007EFE09D2190140
:100110002146017EB7C20001FF5F16002148011988
:10012000194E79234623965778239EDA3F01B2CAA7
:100130003F0156702B5E712B722B732146013421C7
:00000001FF
Cdigo de inicio
Longitud
Direccin
Tipo de registro
Datos
Checksum
MikroBasicPro for PIC genera automticamente el archivo .hex cuando se compila exitosamente un programa.
7.
Archivos .cof
El Common Object File Format (formato de archivo de objeto comn) (COFF) es una especificacin de un formato de archivo
ejecutable del cdigo objeto y de libreras utilizado inicialmente en sistemas Unix.
La informacin de depuracin simblica COFF consta de nombres simblicos para las funciones del programa y variables, y la
informacin del nmero de lnea, que se utiliza para establecer puntos de interrupcin y el rastreo de la ejecucin.
MikroBasicPro for PIC NO genera automticamente el archivo .cof cuando se compila exitosamente un programa.
b) En la ventana emergente, seleccionar la pestaa Output, hacer click en Output Settings y seleccionar la casilla Generate COFF
file. Finalmente presionar el botn Apply y Ok
c) Al compilar el programa, en la ventana inferior de mensajes del entorno MikroBasic, se indica la generacin del archivo .cof
8.
RB
5 switch
8 leds
Nmero de Entrada
Salida de leds
b.
Se muestran dos nuevas ventanas de Vistas de Valores (Watch Values) y Reloj (Clock Values)
c.
En la ventana Watch Values seleccionar Select variable from list:, en la lista emergente ubicar el registro TRISB y hacer
click en el botn + Add
d.
e.
f.
g.
Para cambiar la base numrica en que se muestran los valores presionar en Value y hacer click en el cono
o presionar la tecla F8
La depuracin paso a paso es una herramienta muy til pues nos permite corregir errores al observar los valores
resultantes de los registros y variables de un programa.
Primera Firma:
Realizar y Defender un programa que calcule el Volumen de un cilindro:
II.
a)
b)
Dimetro se ingresa por 4 switch conectados al nibble inferior del puerto RB (RB0RB3)
Altura se ingresa por 4 switch conectados al nibble inferior del puerto RC (RC0RC3)
c)
d)
e)
El valor de
se aproximar con el valor de 3
El Volumen se muestra en 8 leds conectados al puerto RD
Se regresa al inciso a)
Segunda Firma:
Tomar el Nmero de C.I. del ltimo Integrante de Grupo escrito en la Cartula.
Obtener el Valor = Antepenltimo dgito del C.I.
ESCRIBIR C.I. y EL VALOR EN LA CARTULA
Ejemplo:
C.I. = 2711073
Valor=0
Si
Si
Lado se ingresa por 4 switch conectados al nibble inferior del puerto RB (RB0RB3)
El rea se muestra en 6 leds conectados al puerto RA
Se regresa al inciso a)
Si
a)
El valor del Radio se obtiene de los tres bits inferiores del puerto RD (RD.0, RD.1 y RD.2)
b)
c)
d)
El valor de
se aproximar con el valor de 3
El rea se muestra en 6 leds conectados al puerto RA
Se regresa al inciso a)
Lado1 se ingresa por 4 switch conectados al nibble inferior del puerto RB (RB0RB3)
Lado2 se ingresa por 4 switch conectados al nibble inferior del puerto RC (RC0RC3)
Lado3 se ingresa por 4 switch conectados al nibble inferior del puerto RD (RD0RD3)
El Volumen se muestra en 6 leds conectados al puerto RA
Se regresa al inciso a)
iii.
iv.