entorno de desarrollo integrado para la programacion de micro control adores pic16f84

5

Click here to load reader

Upload: marlon

Post on 24-Jun-2015

301 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Entorno de Desarrollo Integrado Para La Programacion de Micro Control Adores PIC16F84

Abstract—Este artículo pretende dar a conocer una nueva herramienta computacional diseñada y desarrollada para la

programación integrada de los microcontroladores PIC16F84A. Este software se basa en el uso de diagramas de flujo, a partir de

los cuales se generan las instrucciones necesarias para ser

ejecutadas en los microcontroladores. El software implementa

tres fases de desarrollo: diseño de la solución, simulación del

resultado y grabación del microcontrolador. Esta herramienta ha sido desarrollada en el lenguaje de programación Java y hace uso

de MPASM de Microchip y IC-PROG para el compilado del

código fuente a código máquina y la grabación del

microcontrolador respectivamente.

Palabras clave—Microcontrolador, PIC16F84A, flujograma, diagrama de flujo, grabación, simular.

I. INTRODUCCIÓN

ON este proyecto se pretende dar solución a las

dificultades que los usuarios presentan en el uso de

microcontroladores, problema que consiste en el aprendizaje

de la sintaxis y la lógica del lenguaje Ensamblador, necesario

para la programación de estos, y por ser un lenguaje de bajo

nivel y en consecuencia difícil de entender, representa una

complicación y un punto de interrupción en la práctica con

microcontroladores.

El proyecto tiene como finalidad desarrollar un Entorno de

Desarrollo Integrado (IDE), que facilitará la programación de

microcontroladores aportando herramientas gráficas que

permitan representar un programa determinado sin tener que

escribirlo en lenguaje Ensamblador, además de presentar una

interfaz amigable para el usuario y un proceso de compilación

que asegure la correcta estructura sintáctica y lógica del

código en ensamblador.

De esta manera se pretende que el usuario pueda

programar microcontroladores sin la necesidad de aprender el

lenguaje Ensamblador, preocupándose únicamente por el

análisis y la interpretación gráfica (a través de diagramas de

flu jo) de los programas, contando con una herramienta

completa que garantice un proceso completo de grabado

obteniendo un circuito funcional.

Este artículo está organizado de la siguiente manera: a

continuación, se estudia la fundamentación teórica sobre los

microcontroladores. Luego, se describen las características

básicas de los microcontroladores PIC16F84A.

Posteriormente, se explica la manera en que se desarrollan los

proyectos para ser implementados por estos dispositivos

utilizando el software diseñado. Siguiendo con una breve

descripción de las funcionalidades del software propuesto.

Finalmente, se expondrán las conclusiones de este artículo.

II. FUNDAMENTACION TEÓRICA

El microcontrolador se puede definir como un dispositivo

electrónico programable que contiene todos los componentes

necesarios para controlar el funcionamiento de procesos

lógicos. Estos procesos o acciones son programados en

Lenguaje Ensamblador. Un sistema con microcontrolador

debe disponer de una memoria donde se almacena el programa

que gobierna el funcionamiento del mismo, y una vez

programado y configurado, únicamente se emplea para

realizar el proceso asignado.

Al hacer uso de un microcontrolador en un circuito, se

logra reducir notablemente el tamaño y número de

componentes utilizados, y de esta forma se pueden disminuir

el número de desperfectos, el volumen y el peso de los

equipos, entre otras ventajas.

Existe una gran variedad de proyectos que pueden llevarse

a cabo haciendo uso de microcontroladores. Numerosos

trabajos de tesis han explorado las ventajas y las opciones

ilimitadas que proporcionan los microcontroladores, con

proyectos como la creación de un cortafuegos (firewall)

basado en un microcontrolador, un sistema de mensajería

celular usando microcontroladores, la elaboración de un robot

explorador de ductos, que hace uso de microcontroladores

para controlar el desplazamiento del robot, y el desarrollo de

un sistema de sensores para el monitoreo de variables

climatológicas, que permite registrar variables tales como

temperatura, velocidad y dirección del viento, y las almacena

en una base de datos.

En los últimos años han tenido un gran auge los

microcontroladores PIC fabricados por Microchip Technology

Inc. Los PIC (Peripheral Interface Controller) son una familia

de microcontroladores que ha tenido gran aceptación y

desarrollo en los últimos años gracias a que sus buenas

características, bajo precio, pequeño tamaño, gran calidad,

fiabilidad y abundancia de información, lo convierten en muy

fácil, cómodo y rápido de utilizar [1].

III. CARACTERÍSTICAS BÁSICAS DEL PIC16F84A

ENTRO de los microcontroladores de Microchip (PIC),

existen cuatro gamas: gama enana, gama baja, gama

media y gama alta.

El PIC16F84A pertenece a la gama media. Esta gama es la

más variada y completa de los PIC. Abarca modelos con

encapsulado desde 18 patas hasta 68, cubriendo varias

opciones que integran abundantes periféricos. Dentro de esta

gama se halla el famoso PIC16X84 y sus variantes.

Entorno de desarrollo integrado para la

programación de microcontroladores PIC16F84A

Marlon E. Garrizano , Stephanie C. Guadrón, Guillermo A. Morán, Manuel N. Cardona Gutiérrez

Facultad de Ingeniería y C.C. N.N, Universidad de Sonsonate, Sonsonate, El Salvador C.A.

C

D

Page 2: Entorno de Desarrollo Integrado Para La Programacion de Micro Control Adores PIC16F84

El ancho de la memoria de programa es de 14 bits,

pudiendo ser ROM, EPROM o EEPROM. Incluyen

interrupciones, conversores A/D, mayor número de

temporizadores y otras características según el modelo. Su

juego de instrucciones es de 35.

Fig. 1. Gama Media PIC16F8X

Todo microcontrolador incluye las siguientes

características básicas:

A. Procesador

Es el elemento principal del microcontrolador, determina

sus principales características, tanto a nivel de hardware como

de software. Se encarga de direccionar a la memoria de

instrucciones, así como busca los operandos y almacena el

resultado.

B. Memoria

Puede ser de varios tipos, pero los de la gama media como

los PIC16F84A, implementan una memoria ROM, EPROM o

EEPROM.

1) Memoria ROM

Es una memoria no volát il de sólo lectura cuyo contenido

se graba durante la fabricación del chip.

2) Memoria EPROM

(Erasable Programmable Read Only Memory) puede

borrarse y grabarse muchas veces . La grabación se realiza con

un grabador manejado desde un ordenador. Si, posteriormente,

se desea borrar el contenido, disponen de una ventana de

cristal en su superficie por la que se somete a la EPROM a

rayos ultravioleta durante varios minutos.

3) Memoria EEPROM

(Electrical Erasable Probrammable Read Only Memory),

se trata de una memoria de sólo lectura, programable y

borrable eléctricamente.

C. Puertas de entrada/salida

Las puertas de entrada y salida permiten comunicar al

procesador con el mundo exterior, a través de interfaces, o con

otros dispositivos. Estas puertas, también llamada puertos, son

la principal utilidad de las patas de un microcontrolador.

D. Reloj principal

Todos los microcontroladores disponen de un circuito

oscilador que genera una onda cuadrada de alta frecuencia,

que configura los impulsos de reloj usados en la

sincronización de todas las operaciones del sistema. Esta señal

del reloj es el motor del sistema y la que hace que el programa

y los contadores avancen.

E. Temporizador o Timer

Controlan períodos de tiempo (temporizadores) y llevan la

cuenta de acontecimientos que suceden en el exterior

(contadores).

F. Perro guardián o Watchdog

Consiste en un contador que, cuando llega al máximo,

provoca un reset automáticamente en el sistema.

G. Protección ante fallo de alimentación o Brownout

Resetea al microcontrolador cuando el voltaje de

alimentación (VDD) es inferior o un voltaje mínimo

(brownout).

H. Estado de reposo o de bajo consumo (Sleep mode)

Estado al cual los requerimientos de potencia son mínimos.

I. Conversor A/D (Analógico -> Digital)

Provee la capacidad de procesar señales analógicas.

J. Conversor D/A (Digital -> Analógico)

Transforma los datos digitales a su correspondiente señal

analógica.

K. Comparador analógico

Amplificador Operacional que actúa como comparador

entre una señal fija de referencia y otra variable que se aplica

por una de las patitas de la cápsula.

L. Modulador de anchura de impulsos o PWM (Pulse Wide

Modulation)

Proporcionan impulsos de anchura variable.

M. Puertas de Entrada/Salida digitales

Todos los microcontrolador destinan parte de su patillaje a

soportar líneas de entrada y salida digitales.

N. Puertas de comunicación

Dotan al microcontrolador de la posibilidad de comunicarse

con otros dispositivos externos [2].

IV. DESARROLLO DE PROYECTOS PARA

MICROCONTROLADORES

L proceso a seguir para desarrollar proyectos que

implementará microcontroladores PIC16F84A en el

software diseñado, conlleva una serie de pasos sistematizados

como se muestra en la Fig. 2:

E

Page 3: Entorno de Desarrollo Integrado Para La Programacion de Micro Control Adores PIC16F84

Fig. 2. Esquema del proceso de creación y grabación de un microcontrolador.

El usuario diseña la solución como un diagrama de flujo o

flu jograma en papel con el fin de representar las instrucciones

que el microcontrolador realizará de una forma estructurada.

Posteriormente, ese mismo d iagrama deberá ser diseñado

en el software, ya que este provee las herramientas necesarias

para dicha tarea.

Luego de haber realizado el diagrama en el software, el

IDE compila y genera el código en lenguaje ensamblador cuyo

resultado puede ser simulado para verificar si este realiza las

instrucciones deseadas.

Luego de haber sido comprobado y verificado el

funcionamiento del proyecto desarrollado, la siguiente fase es

el compilado del archivo en lenguaje ensamblador. Este

proceso hace uso del compilador de Microchip l lamado

MPASM. El IDE envía los parámetros necesarios al

compilador y este realiza el procedimiento. El resultado de

esta fase es la obtención del archivo en código hexadecimal o

en código máquina.

Al final, luego de haber obtenido el archivo en código

hexadecimal, es posible realizar la fase de grabación del

microcontrolador. Esta etapa utiliza el grabador llamado IC-

PROG. El IDE envía los parámetros necesarios al grabador y

este, al verificar que existe el hardware grabador conectado al

ordenador y que a la vez este posee incorporado un

microcontrolador PIC16F84A, realiza la grabación del

proyecto desarrollado.

Si no han surgido problemas de grabación, el resultado

final es un microcontrolador grabado con el proyecto que se

ha diseñado y desarrollado en el software presentado.

V. MANUAL DEL USUARIO

A utilización del software propuesto implica poseer

ciertos conocimientos acerca de el, es por esta razón que a

continuación se describe la funcionalidad de este y de cómo se

realizan las tareas básicas para las que fue creado.

A. Crear nuevo proyecto

Al hacer clic en el botón Nuevo Fig .3:

Fig. 3. Botón Nuevo Proyecto.

Luego aparecerá un cuadro de dialogo Fig. 4 donde

introduciremos el Nombre del proyecto y su Ubicación dentro

de Windows.

Fig. 4. Cuadro de dialogo de nuevo proyecto.

Para buscar la Ubicación del proyecto dar clic en

Examinar… y luego aparecerá el cuadro de dialogo donde se

buscará la ubicación deseada, luego dar clic al botón Abrir.

Como últ imo paso se dará clic en Crear.

B. Agregar figuras

El proceso de agregar figuras es necesario para crear los

programas; cada figura es una representación gráfica de un

bloque de código en ensamblador.

El conjunto de figuras ayuda a crear una representación

gráfica lógica, o mejor dicho un flujograma; a continuación se

presentan cada figura, su aplicación y sus asistentes

respectivos. Cabe mencionar que para la creación de

flu jogramas es necesario un conocimiento previo de lógica

computacional o diagramación de procesos.

Para insertar cada figura es necesario dar clic y arrastrar

manteniendo presionado el botón izquierdo del mouse hasta

ubicar la figura sobre el lugar donde queremos insertarla; el

programa muestra el lugar donde se insertará la figura

cambiando el bloque de la línea de negro a azu l, como se

muestra en la Fig. 5:

Fig. 5. Modo de inserción de figuras

Los tipos de figuras que se pueden insertar son:

1) Proceso

Representación gráfica de una operación de variables.

2) Retardo

Representación grafica de un tiempo de espera en el

L

Page 4: Entorno de Desarrollo Integrado Para La Programacion de Micro Control Adores PIC16F84

programa.

3) Hacer mientras

Representa un ciclo condicional, o sea que se realizará un

determinado número de operaciones mientras se cumpla esta

condición, en lógica computacional se les llama bucles.

4) Condición

Representa una condición que puede ser cumplida o no, es

una sección donde el programa en base a su lógica puede

tomar uno de dos caminos.

5) Salida

Representación gráfica de la activación de uno o varios

pines del microcontrolador.

C. Simular resultado

Para simular un programa lo único que debemos hacer es

dar clic en el botón que se muestra en la Fig. 6.

Fig. 6. Botón Simular.

Inmediatamente aparecerá una ventana de simulación, en

la cual se presenta un botón de Play para simular el flujograma

Fig. 7.

Fig. 7. Ventana de simulación.

El botón Stop sirve para detener la simulación, y cuando se

desee puede cancelarse la simulación dando clic en el botón

Aceptar.

D. Generar código ensamblador

Para convertir un diagrama a código ensamblador debemos

dar clic en el botón mostrado en la Fig. 8.

Fig. 8. Botón Generar ASM.

Durante el proceso aparecerá un cuadro de diálogo, que

especifica la conversión de cada figura, como el que

representa la Fig. 9. Terminado el proceso dar clic en el botón

Cerrar.

Fig. 9. Compilación de proyecto.

E. Mostrar código Ensamblador

Para mostrar en pantalla el código ensamblador de un

diagrama creado, dar clic en el botón de la Fig. 10.

Fig. 10. Botón Ver Código ASM.

Inmediatamente aparecerá un block de notas mostrando el

código ensamblador del diagrama creado, de la forma que se

muestra en la Fig. 11, exp licando con breves comentarios cada

bloque de código.

Fig. 11. Código en ensamblador generado.

Nota: No olvidar generar el código ensamblador antes, de

lo contrario estaría mostrándose un código erróneo. Para

generar un código ensamblador revisar el tema anterior.

F. Grabar un Proyecto en Microcontrolador

Para grabar un microcontrolador es muy sencillo, solo se

debe dar clic en el botón mostrado en la Fig. 12.

Fig. 12. Botón Grabar Microcontrolador.

Page 5: Entorno de Desarrollo Integrado Para La Programacion de Micro Control Adores PIC16F84

Inmediatamente aparecerá una ventana como la mostrada

en la Fig. 13 en donde se dará clic en el botón Grabar.

Fig. 13. Cuadro de diálogo Grabar Microcontrolador.

El proceso de grabación puede tardarse minutos o

segundos, luego el sistema mostrará un mensaje de

confirmación de la grabación.

Se tiene la opción de generar un archivo .HEX, para

utilización que el usuario pueda utilizarlo en lo que estime

conveniente. Para generar el archivo .HEX se debe dar clic en

el botón Generar archivo .HEX únicamente, inmediatamente

se mostrará una ventana con la ubicación donde se generó el

archivo como se muestra en la Fig. 14.

Fig. 14. Fin del proceso de grabación.

VI. REFERENCIAS

[1] Palacios Municio, E.; Remiro Domínguez, F; López Pérez, LJ. "Microcontrolador PIC16F84: Desarrollo de proyectos", 1ª edición, Mexico: Alfa Omega Grupo Editor, 2004, p. 1.

[2] Cser Aedo, FA, "Sistema de control mediante mensajes SMS y

microcontroladores", Universidad Católica de Temuco, Examen de Título, 2006, p. 7-12.