Sei sulla pagina 1di 149
UNIVERSIDAD DE SONSONATE FACULTAD DE INGENIERÍA Y CIENCIAS NATURALES TEMA: CREACIÓN DE UN ENTORNO DE

UNIVERSIDAD DE SONSONATE FACULTAD DE INGENIERÍA Y CIENCIAS NATURALES

TEMA: CREACIÓN DE UN ENTORNO DE DESARROLLO INTEGRADO (IDE) PARA LA PROGRAMACIÓN DE MICROCONTROLADORES UTILIZANDO MPASM DE MICROCHIP E IC-PROG

TRABAJO DE GRADUACIÓN PARA OPTAR AL TÍTULO DE:

INGENIERO EN SISTEMAS COMPUTACIONALES PRESENTADO POR:

STEPHANIE CAROLINE GUADRÓN MAGAÑA GUILLERMO ARNOLDO MORÁN PORTILLO MARLON ENRIQUE GARRIZANO ZEPEDA

ASESOR:

ING. SAMUEL ALFONSO MARGUÉIS GUZMÁN

MAYO DE 2009 SONSONATE, EL SALVADOR, CENTRO AMÉRICA.

ÍNDICE GENERAL

CONTENIDO PÁGINA ÍNDICE GENERAL

i

ÍNDICE DE TABLAS

vi

ÍNDICE DE GRÁFICOS

vii

ÍNDICE DE ANEXOS

vii

INTRODUCCIÓN

viii

CAPITULO I. PLANTEAMIENTO DEL PROBLEMA

1

A. El problema de Investigación

1

B. Antecedentes y Situación Actual

2

1. Antecedentes

2

2. Situación Actual

3

a. Utilización de microcontroladores en la Universidad de Sonsonate

3

b. Tipo de microcontrolador utilizado en la Universidad de Sonsonate

4

C. Preguntas de Investigación

4

CAPÍTULO II. FUNDAMENTACIÓN TEÓRICA

5

A.

Revisión de Literatura

5

1. Importancia de los microcontroladores

5

2. Proyectos desarrollados con microcontroladores

5

3. Entorno de Desarrollo Integrado

6

a. Definición

6

b. IDEs para la programación de Microcontroladores

7

 

I.

MPLAB

7

II. PICAXE Programming Editor

7

III. LOGICATOR for PIC Micros

8

IV. Flowcode

8

4. Teoría General sobre Microcontroladores

8

a. Definición

8

b. Componentes de un microcontrolador

9

 

I.

Procesador

9

i.

CISC

10

 

ii. RISC

10

iii. SISC

10

 

II.

Memoria

10

 

i. ROM con máscara

10

 

ii. OTP

11

 

iii. EPROM

11

iv. EEPROM, E2PROM o E²PROM

11

v. FLASH

12

 

III. Puertas de entrada y salida (E/S) del microcontrolador

12

IV. Reloj principal

12

V. Recursos especiales

13

b.

La familia de los PIC

15

I. Introducción

15

II. La familia PIC

15

 

i.

Gama enana. PIC12CXXX

15

ii. Gama baja. PIC16C5XX con instrucciones de 12 bits

16

iii. Gama media. PIC16CXXX con instrucciones de 14 bits

16

iv. Gama alta: PIC17CXXX con instrucciones de 16 bits

17

5. Generalidades sobre el Lenguaje Ensamblador

17

a. Definición

 

17

b. Características

18

6. Generalidades sobre Compilación

18

a. El Proceso de Compilación

18

 

I. Análisis léxico

19

II. Análisis sintáctico

19

III. Análisis semántico

19

IV. Generación de código intermedio

20

V. Optimización de código

20

VI. Fase de síntesis

20

b. Traductor

 

21

I.

Intérpretes

22

 

II.

Compiladores

22

 

7.

Proceso de grabación de un microcontrolador

23

a. Programa Ensamblador

25

 

I. Definición

25

II. Ensamblador a utilizar en el Proyecto

25

 

b. Programador

26

 

I. Definición

26

II. Programador a utilizar en el Proyecto

26

B.

Hipótesis

 

27

CAPÍTULO III. JUSTIFICACIÓN Y OBJETIVOS

27

A. Justificación

 

27

B. Objetivos

28

 

1. Objetivo General

28

2. Objetivos Específicos

28

C. Alcances y Limitaciones

28

CAPÍTULO IV. METODOLOGÍA DE LA INVESTIGACIÓN

29

A. Tipo de Investigación

29

B. Unidades de Análisis

29

C. Variables y su Medición

30

 

1. Definición de las variables

30

2. Indicadores y su medición u observación

31

a. Instrumentos de Medición

32

b. Técnicas y procedimientos para la recopilación de información

32

D. Análisis e Interpretación de los Resultados

33

 

1. Recopilación de Información

33

2. Interpretación de Resultados

34

E. Plan de Proyecto

39

F. Plan de Utilización de los Resultados

39

CAPÍTULO V. PROPUESTA TÉCNICA

40

A.

Modelado del negocio

40

1.

Generalidades de la empresa

40

2.

Diagrama de subsistemas de la empresa

40

B. Requisitos

 

40

1. Oportunidad del negocio

40

2. Definición del problema

41

3. Requerimientos funcionales

41

 

a. Identificación de los actores

41

b. Identificación de escenarios

42

c. Definición de los casos de uso

43

 

I. Modelo de casos de uso

43

II. Diagrama de estados

44

III. Descripción de los casos de uso

47

4. Beneficios del cliente

52

5. Requerimientos no funcionales

53

 

a. Matriz de Componentes

54

b. Requerimientos de Hardware y Software

55

 

I. Requerimientos de Hardware

55

II. Requerimientos de Software

55

 

c. Requerimientos de Entrada

56

d. Requerimientos de Salida

57

f. Requerimientos de Almacenamiento

57

C. Análisis

 

58

1. Análisis de casos de uso

58

 

a. Identificación de clases entidad, interfaz y control

58

b. Diagrama de clases

60

c. Diagrama de colaboración

63

d. Flujo de eventos

65

2. Análisis de clases

67

 

a.

Identificación de las responsabilidades

67

3. Análisis de la Decisión

70

 

a.

Especificar las Soluciones Alternativas

70

b.

Analizar la Viabilidad de las Soluciones Alternativas

71

c.

Determinar el Diseño de la Alternativa Propuesta

73

D. DISEÑO

 

74

1. Objetivos del Sistema

74

a. Objetivo General

74

b. Objetivos Específicos

74

2. Diseño de la arquitectura

74

a. Arquitectura del Sistema

74

b. Distribución del Sistema

75

 

I. Capa de Datos

75

II. Capa de Procesos

75

III. Capa de Presentación

75

c. Identificación de nodos y configuraciones

76

d. Identificación de clases relevantes

76

3. Diseño de Casos de Uso

 

77

a. Identificación de clases de diseño

77

b. Interacción entre objetos

 

81

4. Identificación de operaciones de clases de diseño

86

5. Diseño de prototipo

 

88

E. CONSTRUCCIÓN E IMPLANTACIÓN

91

1. Construcción del software

 

91

a. Implementación de clases de diseño

91

 

I. Generación de código fuente

91

II. Implementación de

operaciones

91

b. Pruebas y corrección de errores

92

 

I.

Pruebas

de Unidad

92

II.

Pruebas de Integración

93

III.

Pruebas del sistema

93

c.

Integración del sistema

93

2. Implantación del Software

 

94

a.

Implantación de la arquitectura

94

I. Diagrama de componentes

94

 

b. Plan de Implantación

94

c. Capacitación a Usuarios

95

CAPITULO VI. ESTUDIO ECONÓMICO

96

A.

Generalidades sobre la evaluación del proyecto

96

B.

Factibilidad del proyecto

96

C.

Determinación de los costos del proyecto

97

1. Costos fijos

97

2. Costos variables

98

3. Análisis Costo / Beneficio

99

E.

Determinación de beneficios del sistema

100

CAPITULO VII. CONCLUSIONES Y

101

A. Conclusiones

101

B. Recomendaciones

101

Referencias Bibliográficas

103

ANEXOS

105

 

ÍNDICE DE TABLAS

Tabla 1. Problemática y su solución

1

Tabla 2. Principales recursos que incorporan los microcontroladores

13

Tabla 3. Definición de las variables

30

Tabla 4. Relación entre variables y sus indicadores para la unidad de análisis Estudiantes

31

Tabla 5. Relación entre variables y sus indicadores para la unidad de análisis Instructores

31

Tabla 6. Relación entre variables y sus indicadores para la unidad de análisis Catedráticos

32

Tabla 7. Cronograma de actividades

39

ÍNDICE DE GRÁFICOS

Gráfico 1. Planteamiento del problema

1

Gráfico 2. Gama Enana PIC12F675

15

Gráfico 3. Gama Media PIC16F8X

16

Gráfico 4. Esquema preliminar de un traductor

21

Gráfico 5. Esquema de traducción/ejecución de un programa ejecutado

22

Gráfico 6. Proceso de grabación del ASM en el microcontrolador

25

Gráfico 7. Diagrama de Gantt

39

ÍNDICE DE ANEXOS

Anexo 1. Matriz de Congruencia

105

Anexo 2. Cuestionario

107

Anexo 3. Entrevista Estructurada

109

Anexo 4. Manual de Usuario

111

INTRODUCCIÓN

El presente proyecto contempla la creación de un software para facilitar la programación de dispositivos denominados microcontroladores, los cuales son utilizados por los estudiantes de la Universidad de Sonsonate en la realización de prácticas orientadas a la electrónica.

Con esta investigación se pretende dar solución a las dificultades que los estudiantes presentan durante el desarrollo con microcontroladores, problema que consiste en el aprendizaje de la sintaxis y la lógica del lenguaje Ensamblador, necesario para la programación de microcontroladores. Este, por ser un lenguaje de bajo nivel y en consecuencia dificultoso de entender, representa una complicación y un punto de estanque en la práctica con microcontroladores.

El estudio 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.

Con esto, el usuario podrá programar microcontroladores sin la necesidad de aprender el lenguaje Ensamblador, preocupándose únicamente por el análisis y la interpretación gráfica de los programas, contando con una herramienta completa que garantice un proceso completo de grabado obteniendo un circuito funcional.

En el capítulo uno del presente trabajo se determina la problemática de la investigación, estableciendo los antecedentes y la situación actual, y planteando las preguntas que se pretenden resolver en el desarrollo del estudio.

El capítulo dos reúne la teoría sobre la que se fundamenta la investigación, que constituye la base para comprender el funcionamiento y el propósito del software a

crear, además de aportar diferente información y definiciones del dispositivo microcontrolador PIC16F84, para el cual será desarrollado el software en estudio.

El capítulo tres establece la justificación y los objetivos del proyecto, y en el capítulo cuatro se designa la metodología a utilizar en el proceso de investigación, incluyendo las variables a medir y las técnicas a emplear para ello.

El capítulo cuatro establece la metodología de investigación, se mencionan las técnicas y las herramientas usadas para la recopilación y el análisis de datos, se muestran los resultados obtenidos de la unidad en estudio y también se presenta un cronograma de actividades a desarrollar en el transcurso de la investigación.

El capítulo cinco plasma la propuesta técnica, se desarrolla un análisis y diseño del proyecto, que muestran la estructura e interacción del sistema, también se muestra parte de la implantación que despliega el tipo de arquitectura y pruebas.

El capítulo seis desarrolla el estudio económico del proyecto, mostrando la factibilidad técnica, operativa y económica, así como un breve análisis costo/beneficio.

El séptimo y último capítulo muestra las conclusiones y recomendaciones para la investigación desarrollada, enfocadas al proyecto y a los usuarios finales.

CAPITULO I. PLANTEAMIENTO DEL PROBLEMA

A. El problema de Investigación

¿Resultará beneficioso el uso de un software para la programación de microcontroladores en el proceso de enseñanza/aprendizaje de los estudiantes de Ingeniería en Sistemas Computaciones e Ingeniería Eléctrica de la Universidad de Sonsonate?

A continuación se muestra de forma gráfica el planteamiento del problema, donde se representan dos estados, la problemática y la posible solución después de un proceso de estudio.

Gráfico 1. Planteamiento del problema

INICIAL

de estudio. Gráfico 1. Planteamiento del problema INICIAL PROCESO FINAL Tabla 1. Problemática y su solución

PROCESO

Gráfico 1. Planteamiento del problema INICIAL PROCESO FINAL Tabla 1. Problemática y su solución Problemática

FINAL

Gráfico 1. Planteamiento del problema INICIAL PROCESO FINAL Tabla 1. Problemática y su solución Problemática

Tabla 1. Problemática y su solución

Problemática

Solución

Falta de conocimiento de la sintaxis y estructura del lenguaje de programación Ensamblador, por parte de los estudiantes.Utilización de controles gráficos (Diagrama de Flujo), para el desarrollo lógico de la programación de

Utilización de controles gráficos (Diagrama de Flujo), para el desarrollo lógico de la programación de microcontroladores.Falta de conocimiento de la sintaxis y estructura del lenguaje de programación Ensamblador, por parte de

Tardanza en el desarrollo de bloques de código ensamblador, para la programación de microcontroladores.Herramienta que convierta veloz y automáticamente, un esquema lógico en bloques de código ensamblador equivalentes.

Herramienta que convierta veloz y automáticamente, un esquema lógico en bloques de código ensamblador equivalentes.Enseñanza práctica de utilización de microcontroladores por medio de la herramienta antes mencionada.

Enseñanza práctica de utilización de microcontroladores por medio de la herramienta antes mencionada.Herramienta que convierta veloz y automáticamente, un esquema lógico en bloques de código ensamblador equivalentes.

Escasa enseñanza práctica de utilización de microcontroladores.equivalentes. Enseñanza práctica de utilización de microcontroladores por medio de la herramienta antes mencionada.

B. Antecedentes y Situación Actual

1. Antecedentes

Aunque en el mercado de la microinformática la mayor atención la acaparan los desarrollos de los microprocesadores, lo cierto es que se venden cientos de microcontroladores por cada uno de aquéllos.

Existe una gran diversidad de microcontroladores. Quizá la clasificación más importante sea entre microcontroladores de 4, 8, 16 ó 32 bits. Aunque las prestaciones de los microcontroladores de 16 y 32 bits son superiores a los de 4 y 8 bits, la realidad es que los microcontroladores de 8 bits dominan el mercado y los de 4 bits se resisten a desaparecer. La razón de esta tendencia es que los microcontroladores de 4 y 8 bits son apropiados para la gran mayoría de las aplicaciones, lo que hace innecesario emplear microcontroladores más potentes y consecuentemente más caros. Uno de los sectores que más hace uso del mercado del microcontrolador es el mercado automovilístico. De hecho, algunas de las familias de microcontroladores actuales se desarrollaron pensando en este sector, siendo modificadas posteriormente para adaptarse a sistemas más genéricos. El mercado del automóvil es además uno de los más exigentes: los componentes electrónicos deben operar bajo condiciones extremas de vibraciones, choques, ruido, entre otros, y seguir siendo fiables. El fallo de cualquier componente en un automóvil puede ser el origen de un accidente.

En cuanto a las técnicas de fabricación, cabe decir que prácticamente la totalidad de los microcontroladores actuales se fabrican con tecnología CMOS 4 (Complementary Metal Oxide Semiconductor). Esta tecnología supera a las técnicas anteriores por su bajo consumo y alta inmunidad al ruido.

La distribución de las ventas de microcontroladores según su aplicación es la siguiente:

- Una tercera parte se absorbe en las aplicaciones relacionadas con los computadores y sus periféricos.

- La cuarta parte se utiliza en las aplicaciones de consumo (electrodomésticos, juegos, TV, vídeo, etc.).

- El 16% de las ventas mundiales se destina al área de las comunicaciones.

- El resto de los microcontroladores vendidos en el mundo, aproximadamente un 10% han sido adquiridos por las industrias de automoción.

También los modernos microcontroladores de 32 bits van afianzando sus posiciones en el mercado, siendo las áreas de más interés el procesamiento de imágenes, las comunicaciones, las aplicaciones militares, los procesos industriales y el control de los dispositivos de almacenamiento masivo de datos.

En El Salvador se ha estado utilizando microcontroladores para la creación de circuitos básicos, generalmente de tipo PIC, los cuales son de los más amigables para programar y su implementación no es dificultosa; los de mayor utilización en el mercado comercial salvadoreño son los PIC16F84.

En la Universidad de Sonsonate, los estudiantes de las carreras de Ingeniería Eléctrica y Sistemas Computacionales, utilizan microcontroladores desde hace dos años para simulación de circuitos electrónicos a menor escala, en materias como Sistemas Digitales y Sistemas Automatizados, entre otras, que ayudan a reforzar los conocimientos de innovación y experimentación de sistemas electrónicos, abriendo así una ventana a un mundo de conocimientos muy diferente.

2. Situación Actual

a. Utilización de microcontroladores en la Universidad de Sonsonate

La Universidad de Sonsonate, siendo una institución de educación superior, ha incluido en su laboratorio microcontroladores para la experimentación de circuitos

electrónicos, los cuales son diseñados por los estudiantes y, con ayuda de instructores de cada una de las materias, son implantados en circuitos construidos en las horas asignadas para esta actividad; sin embargo, el tiempo con el cual se cuenta para este tipo de práctica es muy limitado, ya que la programación de estos dispositivos es muy compleja y trabajosa, sin tomar en cuenta el tiempo que tiene que emplearse para explicar el lenguaje de programación necesario para programar estos dispositivos.

Por esto, los instructores muchas veces se han abstenido de enseñar y experimentar con los microcontroladores, enfocándose así en otros temas que consideran más importantes y privando a los estudiantes la oportunidad de obtener nuevos conocimientos.

b. Tipo de microcontrolador utilizado en la Universidad de Sonsonate

Los microcontroladores con los que cuenta el laboratorio de la Universidad de Sonsonate para la experimentación, son del modelo PIC 16F84, el cual es uno de los dispositivos más sencillos tanto en sus características como en su implementación.

C. Preguntas de Investigación.

1. ¿Cuáles son los problemas o dificultades con los que se enfrentan los usuarios al momento de trabajar con microcontroladores?

2. ¿Es posible mejorar el aprendizaje y uso de los microcontroladores, a través de un software que brinde herramientas gráficas para la programación de éstos?

3. ¿Constituirá el software una herramienta que solvente los problemas en la programación de microcontroladores?

CAPÍTULO II. FUNDAMENTACIÓN TEÓRICA

A. Revisión de Literatura

1. Importancia de los microcontroladores

Las áreas de la informática y la electrónica están íntimamente ligadas, debido a que la primera partió de la segunda, y a través del tiempo se han venido combinando, originando nuevas tecnologías. Prueba de ello es la domótica, que consiste en controlar una casa electrónicamente, o el simple hecho de hacer uso de un ordenador para definir y grabar las instrucciones en un microcontrolador.

Los microcontroladores han adquirido presencia e importancia en el sector informático, industrial y doméstico, debido a que estos dispositivos se encuentran integrados en herramientas de uso diario tales como: los ratones de un ordenador personal, el control de frenos de un automóvil, los televisores, electrodomésticos y teléfonos móviles.

Aparte de que esto denota el impacto de los microcontroladores en el entorno, también demuestra que la necesidad de conocer y manejar estos dispositivos se tornará imprescindible para las personas que realizan su trabajo en áreas afines a la electrónica.

2. Proyectos desarrollados con microcontroladores

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.

Los microcontroladores también han sido utilizados en la industria médica, en proyectos tales como el desarrollo de un monitor de ritmo cardíaco, en que se utiliza el PIC 16F84 para el cálculo del ritmo cardíaco, o en un sistema que permite suministrar automáticamente dosis de insulina para pacientes con diabetes, donde el microcontrolador sirve para controlar el motor que desplaza el émbolo o disco dentro de la bomba, hasta que ésta suministra la cantidad indicada de insulina.

Asimismo, los microcontroladores pueden emplearse en la creación de proyectos de menor envergadura, como cerraduras electrónicas, tacómetros, circuitos para monitorear niveles de agua, relojes, alarmas, termómetros, juegos, etc.

3. Entorno de Desarrollo Integrado

a. Definición

Un Entorno de Desarrollo Integrado (IDE, por sus siglas en inglés) consiste en un entorno de programación compuesto por un editor de código, un compilador, un depurador y una interfaz gráfica de usuario (GUI). 1

El IDE puede verse, en líneas generales, como un programa que posee un conjunto de herramientas para un programador.

Su principal objetivo es ofrecer un marco de trabajo amigable para facilitar el proceso de creación de un programa, mediante un editor de código y/o herramientas gráficas.

1 Wikipedia. 2008. Entorno de Desarrollo Integrado. Consultado 3 de Junio de 2008. Disponible en http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado

Existen IDEs para la mayoría de los lenguajes de programación. Para Java, los IDEs más populares son Eclipse y NetBeans. C++ cuenta con Visual C++ y Dev

C++.

b. IDEs para la programación de Microcontroladores

Existen diferentes tipos de IDEs que facilitan el manejo y programación de microcontroladores. Algunos ejemplos de ellos son los siguientes:

I. MPLAB

Es un IDE gratuito creado por la empresa Microchip, que facilita el desarrollo de aplicaciones que utilicen microcontroladores PIC. Ofrece un editor de texto, un ensamblador que convierte un archivo ASM a un archivo hexadecimal (MPASM), y un simulador en el que se puede ejecutar el código paso a paso (MPSIM). Requiere de un programador externo para grabar el código hexadecimal en el

microcontrolador.

II. PICAXE Programming Editor

Es una herramienta gratuita que permite programar microcontroladores PICAXE haciendo uso del lenguaje BASIC o por medio de la elaboración de diagramas de flujo, generando un código propio. A diferencia de MPLAB, se puede completar el proceso de grabación desde la misma IDE.

PICAXE es el nombre de un sistema de microcontroladores creados en el Reino Unido, basado en una gama de microcontroladores PIC de la empresa Microchip. Existen 11 variaciones del PICAXE con distinto número de pines, desde 8 hasta 40 pines. Inicialmente comercializados para uso en el sector educativo, son también

usados en el comercio y el sector técnico, incluyendo desarrollo rápido de prototipos. 2 Los PICAXE no son más que microcontroladores pre-programados, que incluyen un pequeño programa, específicamente un intérprete, que facilita su programación utilizando un lenguaje muy similar a BASIC.

Los PICAXE son vendidos únicamente por la compañía que los produce.

III. LOGICATOR for PIC Micros

Es un IDE desarrollado por la empresa Revolution Education Ltd., que permite programar microcontroladores PICAXES y una gama de microcontroladores PIC estándar. Su costo oscila entre los 15 y los 300 euros, dependiendo de los derechos de licencia y las funcionalidades.

IV. Flowcode

Este IDE es desarrollado comercialmente por la empresa Matrix Multimedia. Su costo ronda los 80 dólares. Permite trabajar con una amplia gama de microcontroladores PIC, y hace uso de diagramas de flujo.

4. Teoría General sobre Microcontroladores 3

a. Definición

Un microcontrolador consiste en un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S. 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

2 Wikipedia. 2008. PICAXE. Consultado 3 de Junio de 2008. Disponible en http://en.wikipedia.org/wiki/PICAXE 3 Microcontrolador PIC16F84: Desarrollo de Proyectos. 2004. p. 1

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.

La invención del microcontrolador ha sido uno de los hechos más notables del siglo XX. En el mercado existe una gran variedad de microcontroladores, cada uno con distintas capacidades y posibilidades.

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.

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

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.

por Microchip Technology Inc

b. Componentes de un microcontrolador 4

I. 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. En cuanto a la arquitectura y funcionalidad de los procesadores actuales, existen tres orientaciones:

4 Sistema de control mediante mensajes SMS y microcontroladores. 2006. p. 7-12.

i.

CISC

Gran parte de los procesadores utilizados en los microcontroladores están basados en la filosofía CISC (Computadora de Juego de Instrucciones Complejo). Éstos disponen de más de 80 instrucciones máquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, para lo cual su ejecución requiere de muchos ciclos.

ii. RISC

Los procesadores RISC (Computadores de Juego de Instrucciones Reducido) presentan un repertorio de instrucciones máquina muy reducido y las instrucciones son simples y, generalmente, son ejecutadas en un ciclo. Esta sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador.

iii. SISC

En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, además de ser reducido, es específico, es decir, las instrucciones se adaptan a las necesidades de la aplicación. Esta filosofía se ha bautizado con el nombre de SISC (Computadores de Juego de Instrucciones Específico).

II. Memoria

i. ROM con máscara

Es una memoria no volátil de sólo lectura cuyo contenido se graba durante la fabricación del chip. Éstos se fabrican en obleas que contienen varias decenas de chips. Estas obleas se fabrican a partir de procesos fotoquímicos, donde se impregnan capas de silicio y óxido de silicio, y según convenga, se erosionan al exponerlos a la luz.

ii. OTP

El microcontrolador contiene una memoria no volátil de sólo lectura programable una sola vez por el usuario, OTP (One Time Programmable). Es el usuario quien puede escribir el programa en el chip mediante un sencillo grabador controlado por la computadora. La versión OTP es recomendable cuando es muy corto el ciclo de diseño del producto, o bien, en la construcción de prototipos y series muy pequeñas.

iii. EPROM

Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read Only Memory) pueden borrarse y grabarse muchas veces. La grabación se realiza, como el caso de los OTP, 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.

iv. EEPROM, E2PROM o E²PROM

Se trata de memorias de sólo lectura, programables y borrables eléctricamente EEPROM (Electrical Erasable Probrammable Read Only Memory). Tanto la programación como el borrado, se realizan eléctricamente desde el propio grabador y bajo el control de una computadora. Es muy cómoda y rápida la operación de grabado y la de borrado. Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, pueden grabarse y borrarse cuantas veces se quiera sin ser retirado de dicho circuito. El número de veces que puede grabarse y borrarse una memoria EEPROM es infinito. Son idóneos para la enseñanza y la ingeniería de diseño.

v. FLASH

Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar. Funciona como una a ROM y una RAM pero consumen menos y es más pequeña. A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es más rápida y de mayor densidad que la EEPROM. La alternativa FLASH está recomendada frente a la EEPROM cuando se precisa gran cantidad de memoria de programa no volátil. Es más veloz y tolera más ciclos de escritura/borrado.

III. Puertas de entrada y salida (E/S) del microcontrolador

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. Según los controladores de periféricos que posea cada modelo de microcontrolador, las líneas de E/S se destinan a proporcionar el soporte a las señales de entrada, salida y control.

IV. 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. Generalmente, el circuito de reloj está incorporado en el Microcontrolador y sólo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos.

V. Recursos especiales 5

A continuación se muestra una tabla con los principales recursos que incorporan los microcontroladores:

Tabla 2. Principales recursos que incorporan los microcontroladores

 

RECURSO

UTILIDAD

 

MODO DE IMPLEMENTACIÓN

 

Temporizador

Controlan períodos de tiempo (temporizadores) y llevan la cuenta de acontecimientos que suceden en el exterior (contadores).

Temporización: Se carga un registro con el valor adecuado y a continuación dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj o algún múltiplo hasta que se desborde y llegue a cero.

o

Timer.

Contador: cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos impulsos.

 

Consiste

en

un

Se debe diseñar el programa de trabajo que controla la tarea de forma que resetee al Perro Guardián de vez en cuando antes de que provoque el reset. Si falla el programa o se bloquea (si cae en bucle infinito), no se refrescará al Perro Guardián y, al completar su temporización, provocará el reset del sistema.

contador

que,

cuando

Perro guardián

llega

al

máximo,

o

Watchdog.

provoca

un

reset

 

automáticamente en el sistema.

 

Resetea

al

Mientras el voltaje de alimentación sea inferior al de brownout el dispositivo se mantiene a reseteado, comenzando a funcionar normalmente cuando sobrepasa dicho valor. Esto es muy útil para evitar datos erróneos por transiciones y ruidos en la línea de alimentación.

Protección

 

microcontrolador cuando el voltaje de alimentación (VDD) es

ante

fallo

de

alimentación o

Brownout.

 

inferior o un voltaje mínimo (brownout).

Estado

de

Estado

al

cual

los

Se detiene

el

reloj

principal

y

se

congelan sus

reposo

o

de

requerimientos de potencia son mínimos.

circuitos

asociados,

quedando

sumido

en

un

bajo consumo

profundo sueño.

Al

activarse

una interrupción

5 Sistema de control mediante mensajes SMS y microcontroladores. 2006. p. 14-19.

(Sleep mode).

 

ocasionada por el acontecimiento esperado, el microcontrolador se despierta y reanudar su trabajo.

Conversor A/D

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

Disponen de un multiplexor que permite aplicar a la entrada del conversador A/D diversas señales analógicas desde las patillas del circuito integrado.

(Analógico

->

Digital).

 

Transforma

los

datos

Los datos digitales obtenidos del procesamiento del computador son transformados en su correspondiente señal analógica que saca al exterior por una de las patillas del chip.

Conversor D/A

 

digitales

a

su

(Digital

->

 

correspondiente

señal

Analógico).

analógica.

Comparador

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.

La salida del comparador proporciona un nivel lógico 1 o 0 según una señal sea mayor o menor que la otra.

analógico.

Modulador

de

 

Son circuitos que proporcionan en su salida impulsos de anchura variable, que se ofrecen al exterior a través de las patitas del encapsulado.

anchura

de

impulsos

o

Proporcionan impulsos de anchura variable.

PWM

(Pulse

 

Wide

 

Modulation).

 

Todos

los

Por lo general, esta línea se agrupan de ocho en ocho formando puertos.

microcontrolador

 

Puertas

de

destinan

parte

de

su

Las líneas digitales de los puertos pueden configurarse como entrada o como salida cargando un 1 o un 0 en el bit correspondiente de un registro destinado a su configuración.

E/S digitales.

patillaje

a

soportar

líneas

de

entrada

y

salida digitales.

 
 

Dotan

al

Posibilitan la adaptación con otros elementos bajo otras normas y protocolos.

Puertas

de

microcontrolador de la posibilidad de comunicarse con otros dispositivos externos.

comunicación.

 

b.

La familia de los PIC 6

I. Introducción

Los PIC (Peripheral Interface Controller) son una familia de microcontroladores fabricados por Microchip cuya arquitectura, capacidades, juego de instrucciones y especialmente su bajo costo lo hacen muy útil en pequeñas aplicaciones así como parte de otras aplicaciones de mayor envergadura sustituyendo a gran cantidad de circuitos lógicos convencionales.

II. La familia PIC

Existen PIC’s de cuatro gamas distintas:

i. Gama enana. PIC12CXXX

Se trata de un grupo de PIC de reciente aparición que ha acaparado la atención del mercado. Su principal característica es su reducido tamaño, al disponer todos sus componentes de 8 patitas además de disponer de 6 líneas de E/S. Se alimentan con un voltaje de corriente continua comprendido entre 2,5 V y 5,5 V, y consumen menos de 2 mA cuando trabajan a 5 V y 4 MHz. El formato de sus instrucciones puede ser de 12 o de 14 bits y su repertorio es de 33 o 35 instrucciones, respectivamente. Algunos modelos incluyen conversores A/D y memoria EEPROM de datos.

Gráfico 2. Gama Enana PIC12F675

y memoria EEPROM de datos. Gráfico 2. Gama Enana PIC12F675 6 Sistema de control mediante mensajes

6 Sistema de control mediante mensajes SMS y microcontroladores. 2006. p. 21-24.

ii. Gama baja. PIC16C5XX con instrucciones de 12 bits

Con una memoria de programa (ROM o EPROM) de 12 bits y de 512, 1024 o 2048 palabras y una memoria de datos de 8 bits de 25, 72 o 73 bytes. Trabajan hasta 20 MHz y disponen de 12 o 20 líneas de E/S de alta corriente, un temporizador y de 33 instrucciones. Además, como el resto de los PICs disponen de perro guardián, Autoinicilización (POR o Power on Reset), modo de bajo consumo (SLEEP), reloj interno mediante cristal o red RC y protección contra lectura del código.

iii. Gama media. PIC16CXXX con instrucciones de 14 bits

Es la gama 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.

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.

Gráfico 3. Gama Media PIC16F8X

y otras características según el modelo. Su juego de instrucciones es de 35. Gráfico 3. Gama

iv.

Gama alta: PIC17CXXX con instrucciones de 16 bits

Estos microcontroladores poseen un verdadero bus de datos y direcciones, Pudiendo trabajar con memoria externa. El ancho de la memoria de programa es de 16 bits y el número de instrucciones aumenta a 55 o 58 según el modelo.

Quizás la característica más destacable de los componentes de esta gama es su Arquitectura abierta, que consiste en la posibilidad de ampliación del Microcontrolador con elementos externos. Para esto, las patitas sacan al exterior las líneas de los buses de datos, direcciones y control, a las que se conectan memorias o controladores de periféricos. Esta facultad obliga a estos componentes a tener un elevado número de patitas comprendido entre 40 y 44. Esta filosofía de construcción del sistema es la que se empleaba en los microprocesadores y no suele ser una práctica habitual cuando se emplean microcontroladores.

5. Generalidades sobre el Lenguaje Ensamblador 7

a. Definición

Lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un

programador.

Fue usado ampliamente en el pasado para el desarrollo de software, pero actualmente sólo se utiliza en contadas ocasiones, especialmente cuando se requiere la manipulación directa del hardware o se pretende rendimientos inusuales de los equipos.

7 Wikipedia. 2008. Lenguaje Ensamblador. Consultado 20 de Abril de 2008. Disponible en http://es.wikipedia.org/wiki/Lenguaje_ensamblador

b. Características

Programar en lenguaje ensamblador es difícil de aprender, entender, leer, escribir, depurar y mantener, por eso surgió la necesidad de los lenguajes compilados.b. Características A pesar de perder rendimiento en un proceso de compilación, en la actualidad la

A pesar de perder rendimiento en un proceso de compilación, en la actualidad la mayoría de las computadoras son suficientemente rápidas.por eso surgió la necesidad de los lenguajes compilados. El lenguaje ensamblador no es portable. Programar

El lenguaje ensamblador no es portable.mayoría de las computadoras son suficientemente rápidas. Programar en lenguaje ensamblador lleva mucho tiempo. Los

Programar en lenguaje ensamblador lleva mucho tiempo.rápidas. El lenguaje ensamblador no es portable. Los programas hechos en lenguaje ensamblador son

Los programas hechos en lenguaje ensamblador son generalmente más rápidos. Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas de 5 a 10 veces más rápidos que con lenguajes de alto nivel.Programar en lenguaje ensamblador lleva mucho tiempo. Los programas hechos en lenguaje ensamblador generalmente

Los programas hechos en lenguaje ensamblador generalmente ocupan menos espacio. Un buen programa en lenguaje ensamblador puede ocupar casi la mitad de espacio que su contraparte en lenguaje de alto nivel.5 a 10 veces más rápidos que con lenguajes de alto nivel. Con el lenguaje ensamblador

Con el lenguaje ensamblador se pueden crear segmentos de código imposibles de formar en un lenguaje de alto nivel.de espacio que su contraparte en lenguaje de alto nivel. 6. Generalidades sobre Compilación 8 a.

6. Generalidades sobre Compilación 8

a. El Proceso de Compilación

La compilación es el proceso de convertir un programa o texto en lenguaje de alto nivel, a uno de bajo nivel. La compilación se compone de varias etapas o fases que realizan distintas operaciones lógicas: 9

8 Java a tope: Traductores y compiladores con Lex/Yacc, JFlex/Cup y JavaCC. 2005. p. 2-3 9 Wikipedia. 2008. Proceso de traducción de programas. Consultado 4 de Junio de 2008. Disponible en

http://es.wikipedia.org/wiki/Proceso_de_traducci%C3%B3n_de_programas

I. Análisis léxico

El análisis léxico constituye la primera fase; en ella, se lee el programa fuente de izquierda a derecha y se agrupa en componentes léxicos (tokens), que son secuencias de caracteres que tienen un significado. Además, todos los espacios en blanco, líneas en blanco, comentarios y demás información innecesaria se elimina del programa fuente. También se comprueba que los símbolos del lenguaje (palabras clave, operadores, etc.) se han escrito correctamente.

II. Análisis sintáctico

En esta fase los caracteres o componentes léxicos se agrupan jerárquicamente en frases gramaticales que el compilador utiliza para sintetizar la salida. Se comprueba si lo obtenido de la fase anterior es sintácticamente correcto.

III. Análisis semántico

La fase de análisis semántico revisa el programa fuente para tratar de encontrar errores semánticos y reúne la información sobre los tipos para la fase posterior de generación de código. En ella se utiliza la estructura jerárquica determinada por la fase de análisis sintáctico para identificador los operadores y operandos de expresiones y proposiciones.

Un componente importante del análisis semántico es la verificación de tipos. Aquí, el compilador verifica si cada operador tiene operandos permitidos por la especificación del lenguaje fuente. Por ejemplo, las definiciones de muchos lenguajes de programación requieren que el compilador indique un error cada vez que se use un número real como índice de una matriz. Sin embargo, la especificación del lenguaje puede imponer restricciones a los operandos, por ejemplo, cuando un operador aritmético binario se aplica a un número entero y a un número real.

IV.

Generación de código intermedio

Después de los análisis sintáctico y semántico, algunos compiladores generan una representación intermedia explícita del programa fuente. Se puede considerar esta representación intermedia como un programa para una máquina abstracta. Esta representación intermedia debe tener dos propiedades importantes; debe ser fácil de producir y fácil de traducir al programa objeto.

V. Optimización de código

La fase de optimización de código consiste en mejorar el código intermedio, de modo que resulte un código máquina más rápido de ejecutar. Algunas optimizaciones son triviales. Hay mucha variación en la cantidad de optimización de código que ejecutan los distintos compiladores. En los que hacen mucha optimización, llamados "compiladores optimizadores", una parte significativa del tiempo del compilador se ocupa en esta fase. Sin embargo, hay optimizaciones sencillas que mejoran sensiblemente el tiempo de ejecución del programa objeto sin retardar demasiado la compilación.

VI. Fase de síntesis

Consiste en generar el código objeto equivalente al programa fuente. Sólo se genera código objeto cuando el programa fuente está libre de errores de análisis, lo cual no quiere decir que el programa se ejecute correctamente, ya que un programa puede tener errores de concepto o expresiones mal calculadas. Por lo general el código objeto es código de máquina o código ensamblador. Las posiciones de memoria se seleccionan para cada una de las variables usadas por el programa. Después, cada una de las instrucciones intermedias se traduce a una secuencia de instrucciones de máquina que ejecuta la misma tarea. El proceso de compilación anteriormente descrito es efectuado por el compilador, que pertenece a la familia de los traductores.

b. Traductor

Un traductor se define como un programa que traduce o convierte desde un texto o programa escrito en un lenguaje fuente hasta un texto o programa equivalente escrito en un lenguaje destino produciendo, si cabe, mensajes de error. Los traductores engloban tanto a los compiladores (en los que el lenguaje destino suele ser código máquina) como a los intérpretes (en los que el lenguaje destino está constituido por las acciones atómicas que puede ejecutar el intérprete).

Gráfico 4. Esquema preliminar de un traductor

Programa de entrada de lenguaje fuente

de un traductor Programa de entrada de lenguaje fuente TRADUCTORES Mensajes de Error Programa de entrada

TRADUCTORES

traductor Programa de entrada de lenguaje fuente TRADUCTORES Mensajes de Error Programa de entrada de lenguaje

Mensajes de Error

Programa de entrada de lenguaje fuente

Mensajes de Error Programa de entrada de lenguaje fuente Desde los orígenes de la computación, ha

Desde los orígenes de la computación, ha existido un abismo entre la forma en que las personas expresan sus necesidades y la forma en que un ordenador es capaz de interpretar instrucciones. Los traductores han intentado salvar este abismo para facilitarles el trabajo a los humanos, dando lugar a los distintos tipos de traductores mencionados a continuación:

Traductores del idioma.distintos tipos de traductores mencionados a continuación: Intérpretes. Compiladores. Preprocesadores. Intérpretes de

Intérpretes.mencionados a continuación: Traductores del idioma. Compiladores. Preprocesadores. Intérpretes de comandos.

Compiladores.a continuación: Traductores del idioma. Intérpretes. Preprocesadores. Intérpretes de comandos. Ensambladores y

Preprocesadores.Traductores del idioma. Intérpretes. Compiladores. Intérpretes de comandos. Ensambladores y

Intérpretes de comandos.del idioma. Intérpretes. Compiladores. Preprocesadores. Ensambladores y macroensambladores. Conversores

Ensambladores y macroensambladores.Intérpretes. Compiladores. Preprocesadores. Intérpretes de comandos. Conversores fuente-fuente. Compilador cruzado. 21

Conversores fuente-fuente.Compiladores. Preprocesadores. Intérpretes de comandos. Ensambladores y macroensambladores. Compilador cruzado. 21

Compilador cruzado.Compiladores. Preprocesadores. Intérpretes de comandos. Ensambladores y macroensambladores. Conversores fuente-fuente. 21

I. Intérpretes

Es similar a un compilador, con la diferencia de que su salida es una ejecución. El

programa de entrada se reconoce y ejecuta a la vez. No se produce un resultado

físico (código máquina) sino lógico (una ejecución).

Su principal ventaja es que permiten una fácil depuración. Entre los inconvenientes

podemos citar, en primer lugar, la lentitud de ejecución, ya que al ejecutar a la vez

que se traduce no puede aplicarse un alto grado de optimización; por ejemplo, si el

programa entra en un bucle y la optimización no está muy afinada, las mismas

instrucciones se interpretarán y ejecutarán una y otra vez, enlenteciendo la

ejecución del programa. Otro inconveniente es que durante la ejecución, el

intérprete debe residir en memoria, por lo que consumen más recursos.

Gráfico 5. Esquema de traducción/ejecución de un programa ejecutado

Fuente

de traducción/ejecución de un programa ejecutado Fuente TRADUCTOR II. Compiladores Pseudoejecutable Motor de

TRADUCTOR

II. Compiladores

Pseudoejecutable

ejecutado Fuente TRADUCTOR II. Compiladores Pseudoejecutable Motor de Ejecución Ejecución Un compilador es un

Motor de

Ejecución

Ejecución

Pseudoejecutable Motor de Ejecución Ejecución Un compilador es un programa que permite traducir el código

Un compilador es un programa que permite traducir el código fuente de un

programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior. Usualmente el

segundo lenguaje es código máquina, pero también puede ser simplemente texto.

De esta manera, un programador puede diseñar un programa en un lenguaje mucho

más cercano a cómo piensa un ser humano, para luego compilarlo a un programa

más manejable por una computadora. 10

10 Wikipedia. 2008. Compilador. Consultado 4 de Junio de 2008. Disponible en http://es.wikipedia.org/wiki/Compilador

7. Proceso de grabación de un microcontrolador

Para grabar o quemar un microcontrolador deben realizarse ciertos pasos, los cuales se detallan a continuación:

Paso 1: Diseñar el programa.

Conociendo el problema, se analiza y se realiza un diseño de la solución. La primera idea del programa solución puede representarse por medio de algoritmo, diagrama de flujo o pseudocódigo.

Paso 2: Codificar el programa.

Consiste en crear el programa, que debe ser un archivo en lenguaje Ensamblador con extensión .ASM. Para ello se tienen varias opciones, como hacer uso de un editor de texto y programar directamente en código Ensamblador, o utilizar un IDE que permita programar en un lenguaje de mayor nivel, por ejemplo BASIC o C. También existen IDEs que ofrecen la posibilidad de representar el programa por medio de diagramas. El IDE se encarga posteriormente de compilar el programa o diagrama creado y generar el archivo .ASM.

Paso 3: Compilar el programa.

Este paso incluye todo el proceso de compilación del archivo .ASM, hasta la obtención de un archivo .HEX. Para ello, en el proceso se determina si existen errores de sintaxis en el .ASM creado (esto puede ser obviado si el archivo .ASM ha sido generado por un programa o en un IDE). En caso de no existir errores, se procede a la obtención del archivo .HEX por medio de un programa llamado ensamblador. El archivo .HEX (hexadecimal) constituye un archivo en lenguaje máquina que es el que será grabado en el microcontrolador. Existen ensambladores muy populares, siendo el más utilizando el ensamblador MPASM de Microchip.

Paso 4: Simular el programa

Esto se realiza para evitar grabar en el microcontrolador un programa que no produzca el resultado que se pretendía obtener. Hay diferentes formas de realizar una simulación. Algunos IDEs incluyen un simulador.

Paso 5: Grabar el programa en el microcontrolador

El último paso consiste en grabar el archivo .HEX conteniendo las instrucciones en lenguaje máquina en el microcontrolador. Para ello, se utiliza un software llamado programador y un hardware conocido como grabador. El programador permite definir el microcontrolador a grabar, así como otras variables generales, y envía el contenido del archivo .HEX a ese microcontrolador. El hardware, que consiste en un circuito electrónico, es donde se coloca el microcontrolador a programar, y se conecta al ordenador por medio de un puerto.

El proyecto propuesto seguirá estos lineamientos generales, con las siguientes especificaciones:

Para el Paso 2, se tendrá una interfaz gráfica que permita representar el programa que se desee crear en forma de un flujograma. Para el Paso 3, se hará uso del ensamblador MPASM de Microchip. Para el Paso 4, se utilizará un módulo de prueba en que, por medio de una representación gráfica del microcontrolador, se logre determinar el resultado producido por el programa en sus salidas. Para el paso 5, se empleará el programador IC-PROG, en conjunto con un grabador JDM para las pruebas respectivas.

a. Programa Ensamblador

I. Definición

El término ensamblador (del inglés assembler) se refiere a un tipo de programa informático que se encarga de traducir un fichero fuente escrito en lenguaje Ensamblador, a un fichero objeto que contiene código máquina, ejecutable directamente por la máquina para la que se ha generado. El propósito para el que se crearon este tipo de aplicaciones es el de facilitar la escritura de programas, ya que escribir directamente en código binario, que es el único código entendible por la computadora, es en la práctica imposible. La evolución de los lenguajes de programación a partir del lenguaje ensamblador originó también la evolución de este programa ensamblador hacia lo que se conoce como programa compilador. 11

II. Ensamblador a utilizar en el Proyecto

El programa ensamblador que se utilizará en el software a desarrollar es el programa MPASM. MPASM es un ensamblador creado por Microchip cuya función es la de convertir código Ensamblador (archivo ASM) a código Hexadecimal (archivo HEX) que contiene el código máquina ejecutable para el dispositivo

designado.

Gráfico 6. Proceso de grabación del ASM en el microcontrolador

code.asm
code.asm

MPASM

Assembler

el microcontrolador code.asm MPASM A s s e m b l e r code.hex Programmer MCU
code.hex
code.hex

Programmer

code.asm MPASM A s s e m b l e r code.hex Programmer MCU 1 1
MCU
MCU

11 Wikipedia. 2008. Ensamblador. Consultado 4 de Junio de 2008. Disponible en http://es.wikipedia.org/wiki/Assembler

El MPASM es un archivo ejecutable que no posee interfaz gráfica por sí misma. Aunque es utilizado en el IDE MPLAB, funciona también de manera independiente, mediante línea de comandos.

b. Programador

I. Definición

Un programador consiste en un programa que realiza la grabación de un archivo Hexadecimal (.HEX) en un microcontrolador.

Los términos programador, grabador y quemador son usados indistintamente tanto para representar este programa, como para representar el hardware o dispositivo físico que se conecta a la computadora por medio de algún puerto y forma parte del proceso de grabado.

Para efectos de este trabajo, se conocerá al programa como programador, y al dispositivo físico como grabador o quemador.

II. Programador a utilizar en el Proyecto

Para el IDE a desarrollar se hará uso de un programador llamado IC-PROG. IC- PROG es un programador gratuito que funciona bajo entorno Windows y permite la grabación de una gran diversidad de PICs. No requiere instalación; para su uso, únicamente se debe descargar el archivo y descomprimirlo en cualquier carpeta, desde donde se podrá ejecutar el EXE. Posee una interfaz amigable y fácil de

utilizar, y también proporciona la opción de realizar el proceso de grabación mediante una línea de comandos, sin necesidad de visualizar la interfaz en ningún

momento.

B. Hipótesis

No existe hipótesis en la investigación actual, dada la naturaleza exploratoria de la misma. Su objetivo principal es la obtención de un producto de tecnología concreto, una IDE para programación de microcontroladores, sobre lo cual no ha habido ningún estudio o desarrollo dentro de la unidad de análisis seleccionada, la cuál es la Universidad de Sonsonate.

CAPÍTULO III. JUSTIFICACIÓN Y OBJETIVOS

A. Justificación

La construcción de circuitos electrónicos utilizando microcontroladores es en la actualidad una práctica muy común, ya que es tanta la versatilidad que presentan estos dispositivos, que pueden ser utilizados en una amplia gama de situaciones cotidianas. Los estudiantes de las carreras afines al área de la electrónica se enfrentan a esta tecnología con tendencia creciente. Con la creación de un software que reúna todas las herramientas en un entorno integrado, aunado a elementos gráficos que reemplacen la programación en lenguaje de bajo nivel, se proporcionará un sistema innovador y amigable que agilizará el proceso de grabación de microcontroladores y facilitará la labor del usuario.

Los estudiantes de cátedras tales como Sistemas Digitales y Sistemas Automatizados, que son impartidas en la carrera de Ingeniería en Sistemas Computacionales e Ingeniería Eléctrica de la Universidad de Sonsonate, podrían centrar su atención en la creación de aplicaciones propias para microcontroladores en un nivel práctico, sin tener que detenerse en el estudio del lenguaje Ensamblador usado para la programación de éstos. Además, apoyaría el aprendizaje del lenguaje Ensamblador, permitiendo observar la correspondencia del análisis de un problema con la concretización de ese análisis en un lenguaje de programación.

B.

Objetivos

1.

Objetivo General

1.

Crear un entorno de desarrollo integrado (IDE) para la programación de microcontroladores utilizando MPASM de Microchip e IC-PROG.

2.

Objetivos Específicos

1. Determinar las dificultades y necesidades de los usuarios potenciales en relación con la programación de microcontroladores.

2. Construir el software atendiendo los requerimientos de los usuarios y haciendo uso de una metodología y tecnologías idóneas para tal fin.

3. Validar el software creado.

C.

Alcances y Limitaciones

Los alcances y limitaciones del proyecto son los siguientes:

El sistema se limita a dar soporte al microcontrolador PIC 16F84, que constituye el microcontrolador más ampliamente utilizado y que proporciona mayores ventajas, tanto por su facilidad de uso como por su costo. Es, además, el tipo microcontrolador con el que cuenta la Universidad de Sonsonate, y el de mayor uso a nivel nacional, especialmente para fines educativos.Los alcances y limitaciones del proyecto son los siguientes: El sistema funciona en el Sistema Operativo

El sistema funciona en el Sistema Operativo Windows.uso a nivel nacional, especialmente para fines educativos. El entorno de desarrollo integrado hace uso de

El entorno de desarrollo integrado hace uso de componentes externos, tales como MPASM de Microchip e IC-PROG.El sistema funciona en el Sistema Operativo Windows. El sistema trabaja sobre una arquitectura monousuario. El

El sistema trabaja sobre una arquitectura monousuario.componentes externos, tales como MPASM de Microchip e IC-PROG. El sistema hace uso de la maquina

El sistema hace uso de la maquina virtual de Java v.1.6componentes externos, tales como MPASM de Microchip e IC-PROG. El sistema trabaja sobre una arquitectura monousuario.

CAPÍTULO IV. METODOLOGÍA DE LA INVESTIGACIÓN

A. Tipo de Investigación

Se determino que la presente investigación es del tipo Descriptiva Exploratoria.

Se dice que es descriptiva debido a que se utiliza para describir una realidad, y tiene como objetivo presentar una interpretación correcta de ésta. Es, a la misma vez, una investigación exploratoria dado que el producto que se pretende obtener no ha sido creado anteriormente con los parámetros propuestos, y por tanto, aunque se basa en documentación y software existente, genera un sistema nuevo e innovador, particularmente para la unidad de análisis en que será aplicado.

De acuerdo al origen de las fuentes es una investigación mixta, ya que se compone tanto de información obtenida a través de la consulta y análisis de información contenida en diferentes medios bibliográficos, como de información recopilada en un estudio de campo a través de encuestas y entrevistas.

Según el uso que se pretende dar al conocimiento obtenido, se puede también afirmar que constituye una investigación aplicada, dado que se basa en información y descubrimientos de investigaciones anteriores, con el interés de aplicar este conocimiento en una situación concreta. 12

B. Unidades de Análisis

Partiendo de que se ha definido como unidad de análisis la Universidad de Sonsonate, se han tomado en cuenta los siguientes sujetos de investigación 13 :

12 Grajales G, Tevni. 2000. Tipos de Investigación. Consultado 24 de Abril de 2008. Disponible en http://tgrajales.net/investipos.pdf

13

Introducción a la Metodología de la Investigación Edición Electrónica. 2006. p. 26

Estudiantes: constituyen todos los alumnos de las carreras de Ingeniería en Sistemas Computaciones e Ingeniería Eléctrica que cursen las materias Sistemas Digitales, Sistemas Automatizados, u otra en las que se haga uso de microcontroladores. Serán los principales usuarios del sistema.

Instructores: representan a las personas encargadas de las prácticas de laboratorio de las materias Sistemas Digitales, Sistemas Automatizados, o similares. Son quienes deberán orientar a los estudiantes en el uso del IDE.

Catedráticos: se refiere a los profesionales que tengan bajo su cargo las materias que incluyan en su marco de enseñanza la utilización de microcontroladores.

C. Variables y su Medición

1. Definición de las variables

Tabla 3. Definición de las variables

VARIABLE

DEFINICIÓN CONCEPTUAL

DEFINICIÓN

 

OPERACIONAL

Dificultad en la programación de microcontroladores.

Esta variable se refiere

a

la

Sirve para analizar el grado y

percepción de los usuarios en

las condiciones de

los

 

cuanto

a

las

complicaciones

problemas que enfrentan los estudiantes en el proceso de

que

se

les

presentan

en

la

utilización

de

los

grabación

de

los

microcontroladores.

 

microcontroladores.

Tecnología a emplearse.

Se refiere a los componentes tecnológicos que servirán para crear el entorno de desarrollo integrado.

Permite evaluar y elegir los componentes informáticos que más se adecúan a las necesidades del software.

Software creado.

Consiste en el Entorno de Desarrollo Integrado obtenido en el desarrollo del proyecto.

Sirve para evaluar aspectos del software creado y permite definir si cumple con las expectativas.

2. Indicadores y su medición u observación

Tabla 4. Relación entre variables y sus indicadores para la unidad de análisis Estudiantes

UNIDAD DE

VARIABLES

 

INDICADORES

 

INSTRUMENTO DE

TÉCNICA A

ANÁLISIS

   

MEDICIÓN U

APLICAR

OBSERVACIÓN

   

Estudiantes

Dificultad

en

la

- Conocimiento previo sobre microcontroladores.

- Guía de Entrevista

- Entrevista

 

programación

de

- Cuestionario

estructurada

microcontroladores

 

- Familiaridad con el lenguaje Ensamblador

 

- Encuesta

   

- Grado

de

dificultad

en

el

empleo de las herramientas

de

grabación

 

de

microcontroladores

 

- Tiempo

de

práctica

dedicado

al

uso

de

los

microcontroladores

 

Tecnología

a

- Lenguaje de programación

emplearse

- IDE

del

lenguaje

de

 

programación

 

- Sistema Operativo

 

Software creado

 

- Funcionalidad del IDE

 

- Guía de Entrevista

- Entrevista

 

- Amigabilidad de la interfaz

 

Estructurada

- Grado en que agiliza el proceso de grabación

 

Tabla 5. Relación entre variables y sus indicadores para la unidad de análisis Instructores

UNIDAD DE

VARIABLES

INDICADORES

INSTRUMENTO DE

 

TÉCNICA A

ANÁLISIS

     

MEDICIÓN U

APLICAR

OBSERVACIÓN

 
   

Instructores

Software creado

- Funcionalidad del IDE

-

Guía de Entrevista

-

Entrevista

   

- Amigabilidad de la interfaz

 

Estructurada

- Grado en que agiliza el proceso de grabación

 

Tabla 6. Relación entre variables y sus indicadores para la unidad de análisis Catedráticos

UNIDAD DE

VARIABLES

INDICADORES

INSTRUMENTO DE

 

TÉCNICA A

ANÁLISIS

     

MEDICIÓN U

APLICAR

OBSERVACIÓN

 
   

Catedráticos

Software creado

- Funcionalidad del IDE

-

Guía de Entrevista

-

Entrevista

   

- Amigabilidad de la interfaz

 

Estructurada

- Grado en que agiliza el proceso de grabación

 

a. Instrumentos de Medición

Los instrumentos de medición que se utilizaron fueron la guía de entrevista y el cuestionario. Se efectuaron entrevistas con esta guía a los estudiantes, instructores y catedráticos de la Universidad de Sonsonate, que se relacionan con las materias en cuyo contenido se incluye el tema de los microcontroladores. El cuestionario fue desarrollado para los estudiantes con el fin de obtener un panorama general de sus conocimientos sobre estos dispositivos en estudio y las dificultades para implementarlos en circuitos electrónicos.

b. Técnicas y procedimientos para la recopilación de información

Para el desarrollo de esta investigación se hizo uso de diferentes técnicas de recopilación de información: la documental, la entrevista estructurada y la encuesta.

La técnica documental sirvió para obtener información que permitió dar un uso correcto y optimizado de la tecnología existente en el proceso de creación del software. Para ello, se llevó a cabo una revisión bibliográfica extensa en diversos medios, tanto en internet como en documentos bibliográficos.

Se hizo uso además de la entrevista estructurada, la que se aplicó a los catedráticos e instructores de las diversas materias, con el fin de obtener información sobre necesidades y problemas encontrados para la enseñanza y uso de los microcontroladores. De igual forma, se efectuaron entrevistas a expertos en las

áreas de informática y de electrónica, para aspectos puntuales sobre los cuáles existieron dudas o dificultades.

Asimismo, se formuló y aplicó la técnica de encuestas a los estudiantes de Ingeniería en Sistemas Computacionales e Ingeniería Eléctrica, que permitió obtener datos sobre los conocimientos referentes a microcontroladores y los problemas generales con los que se enfrentan en la práctica con estos dispositivos, durante el desarrollo de las materias respectivas.

D. Análisis e Interpretación de los Resultados

Siendo la población a estudiar de tamaño reducido, limitado a los estudiantes de la Universidad de Sonsonate que han cursado materias en cuyo contenido se incluya la temática de los microcontroladores, no fue necesario realizar ningún tipo de muestreo para efectuar las encuestas. El análisis de los resultados obtenidos fue procesado mediante el programa estadístico SPSS.

1. Recopilación de Información

a. Encuesta

Se realizó una encuesta a los estudiantes de Ingeniería en Sistemas Computacionales e Ingeniería Eléctrica de la Universidad de Sonsonate con el fin de conocer las dificultades con que se enfrentaron en el curso de materias tales como Sistemas Digitales, Sistemas Automatizados u otras relacionadas con los microcontroladores (ver Anexo 2).

b. Guía de entrevista realizada a los instructores de las materias relacionadas con

microcontroladores.

Con el fin de conocer las dificultades para enseñar la implementación de microcontroladores en circuitos electrónicos en materias como Sistemas Digitales y Sistemas Automatizados.

2. Interpretación de Resultados

2. Interpretación de Resultados Encuesta realizada. A continuación se presentan los resultados obtenidos de la encuesta

Encuesta realizada.

A continuación se presentan los resultados obtenidos de la encuesta realizada a los estudiantes de las carreras de Ingeniería en Sistemas Computacionales e Ingeniería Eléctrica, que tuvieron la oportunidad de realizar prácticas con microcontroladores en el de Laboratorio de Electrónica de la Universidad de Sonsonate (Ver Anexo 2).

Pregunta No. 1 ¿En qué materia(s) estudió y/o utilizó microcontroladores?

qué materia(s) estudió y/o utilizó microcontroladores? Los resultados obtenidos de las encuestas reflejan que un

Los resultados obtenidos de las encuestas reflejan que un 50% de los estudiantes utilizaron microcontroladores en las prácticas de la materia Electrónica y el restante en las demás materias como se muestra en el gráfico.

Pregunta No. 2 ¿Con qué frecuencia practicó con microcontroladores, en los laboratorios de las respectivas materias?

Los resultados obtenidos de las encuestas muestran que un 56% de los estudiantes se integraron

Los resultados obtenidos de las encuestas muestran que un 56% de los estudiantes se integraron pocas veces en las prácticas de microcontroladores.

Pregunta No. 3 ¿En qué grado se le dificulta el manejo de los microcontroladores?

grado se le dificulta el manejo de los microcontroladores? Los Resultados de las encuestas reflejan que

Los Resultados de las encuestas reflejan que un 67% de los encuestados considera que existe una dificultad de nivel medio, en el manejo y uso de microcontroladores.

Pregunta No. 4 Numere del 1 al 4 las partes del proceso de grabación del microcontrolador que se le dificultan más, siendo 1 el más difícil y 4 el menos difícil:

Según la recopilación de encuestas el 40% de los estudiantes consideran que el aprendizaje del

Según la recopilación de encuestas el 40% de los estudiantes consideran que el aprendizaje del Lenguaje Ensamblador, es lo más dificultoso del análisis e implementación de microcontroladores.

Pregunta No. 5 ¿Cómo considera la programación en Lenguaje Ensamblador?

¿Cómo considera la programación en Lenguaje Ensamblador? El análisis de recopilación de datos refleja que un

El análisis de recopilación de datos refleja que un 55% de los estudiantes consideran difícil la programación en Lenguaje Ensamblador.

Pregunta No. 6 ¿Qué opción de las siguientes considera más necesario para facilitar las prácticas con microcontroladores?:

Los resultados de las encuestas reflejan que un 78% de los estudiantes consideran que es

Los resultados de las encuestas reflejan que un 78% de los estudiantes consideran que es necesario más tiempo para las prácticas de implementación de microcontroladores.

Pregunta No.7 ¿Considera el conocimiento y uso de microcontroladores como algo importante para su carrera?

de microcontroladores como algo importante para su carrera? El 100% de los estudiantes encuestados opinan que

El 100% de los estudiantes encuestados opinan que es importante para su carrera el aprendizaje e implementación de microcontroladores.

Pregunta No. 8 ¿Opina que sería útil una herramienta que integrara todo el proceso de grabación del microcontrolador, desde su programación hasta su quemado?

El análisis de recopilación de datos refleja que el 100% de los estudiantes opinan que

El análisis de recopilación de datos refleja que el 100% de los estudiantes opinan que un software integrado sería muy útil para el desarrollo con microcontroladores.

Pregunta No. 9 ¿Qué tanto mayor valor considera que le agregaría si esa herramienta tuviera una interfaz que proporcionara herramientas gráficas que evitaran tener que programar en ensamblador?

gráficas que evitaran tener que programar en ensamblador? La recopilación de datos refleja que un 89%

La recopilación de datos refleja que un 89% de los estudiantes encuestados opinan que tendría mucha importancia integrar un método de programación por medio de gráficos, sin necesidad de aprender a programar en Lenguaje Ensamblador.

De los datos obtenidos se pudo visualizar que los estudiantes de Ingeniería Eléctrica e Ingeniería en Sistemas de la Universidad de Sonsonate tienen problemas para la implementación de los microcontroladores debido a dificultosa programación en código Ensamblador que acapara tiempo para su aprendizaje y

desarrollo en códigos para cada programa, por lo que los estudiantes apoyan la creación de una herramienta que permita la generación del código ensamblador y la idea de aplicar herramientas graficas y uso de diagramas lógicos, ya que tienen conocimientos previos de lógica en distintas materias cursadas anteriormente; también apoyan la idea de crear una herramienta que integre cada uno de los programas necesarios para la grabación de microcontroladores.

E. Plan de Proyecto

Tabla 7. Cronograma de actividades

       

DURACIÓN

ACTIVIDAD

ACTIVIDAD

DESDE

HASTA

EN DÍAS

PREDECESORA

1

Desarrollo de Anteproyecto

12/02/08

16/06/08

125

 

2

Planificación del Sistema

17/06/08

08/07/08

22

1

3

Análisis del Sistema

09/07/08

03/08/08

26

2

4

Diseño del Sistema

04/08/08

03/11/08

92

3

5

Construcción del Sistema

04/11/08

30/03/09

146

4

6

Implantación del Sistema

31/03/09

08/04/09

8

5

7

Evaluación de funcionamiento del Sistema

09/04/09

24/04/09

15

6

8

Defensa del trabajo de graduación

25/04/09

25/05/09

30

7

Gráfico 7. Diagrama de Gantt

25/05/09 30 7 Gráfico 7. Diagrama de Gantt F. Plan de Utilización de los Resultados El

F. Plan de Utilización de los Resultados

El sistema resultante del proceso de desarrollo será confrontado en primera instancia en la defensa del trabajo de graduación con el jurado calificador. Posteriormente a su aprobación, se hará entrega de copias del trabajo a las autoridades respectivas, y por último se efectuará una publicación del software desarrollado en la página web de la Universidad de Sonsonate.

CAPÍTULO V. PROPUESTA TÉCNICA

A. Modelado del negocio

1. Generalidades de la empresa

La Universidad de Sonsonate es una institución de educación superior, fundada a través del esfuerzo de un selecto grupo de profesionales visionarios y emprendedores sonsonatecos, logrando autorizar su funcionamiento desde el 8 de enero de 1982 y empezando sus actividades académicas el 7 de marzo del mismo año.

La Universidad está conformada por las facultades de Ingeniería y Ciencias Naturales, la facultad de Economía y Ciencias Sociales y la facultad de Ciencias Jurídicas, impartiendo una variedad de carreras acordes a las necesidades de la población y a la sociedad cambiante de hoy en día.

2. Diagrama de subsistemas de la empresa

Área Administrativa
Área Administrativa
Área Académica
Área Académica

La Universidad está dividida en dos grandes áreas: el Área Administrativa y el Área Académica, el sistema estará apoyando el Área Académica, que se encarga de velar por la enseñanza a los estudiantes, mientras que el Área Administrativa se encarga de todos los tramites, necesarios para el funcionamiento de la Universidad.

B. Requisitos

1. Oportunidad del negocio

Con la creación de un software que reúna todas las herramientas en un entorno integrado, aunado a elementos gráficos que reemplacen la programación en

lenguaje Ensamblador, se proporcionará un sistema innovador y amigable que agilizará el proceso de grabación de microcontroladores y facilitará la labor del usuario. Esto ayudará en gran medida y estimulará a que el estudiante piense de una forma lógica los problemas propuestos para ser integrados en los microcontroladores. Tomando en cuenta que en la actualidad la forma de desarrollar los proyectos con microcontroladores, es bastante tediosa por el hecho de utilizar el lenguaje Ensamblador para programar, el sistema propuesto será una herramienta muy preciada porque ésta facilitará el modo en que se programan los microcontroladores.

2. Definición del problema

La Universidad de Sonsonate, siendo una institución de educación superior, ha incluido en su laboratorio microcontroladores para la experimentación de circuitos electrónicos, los cuales son diseñados por los estudiantes y, con ayuda de instructores de cada una de las materias, son implantados en circuitos construidos en las horas asignadas para esta actividad; sin embargo, el tiempo con el cual se cuenta para este tipo de práctica es muy limitado, ya que la programación de estos dispositivos es muy compleja y trabajosa, sin tomar en cuenta el tiempo que tiene que emplearse para explicar el lenguaje de programación necesario para programar estos dispositivos. Por esto, los instructores muchas veces se abstienen de enseñar y experimentar con los microcontroladores, enfocándose así en otros temas que consideran más importantes y privando a los estudiantes la oportunidad de obtener nuevos conocimientos.

3. Requerimientos funcionales

a. Identificación de los actores

El sistema a desarrollar será utilizado por diferentes actores, los cuales se especifican a continuación:

Usuario: representa tanto a los estudiantes de Ingeniería en Sistemas Computacionales e Ingeniería Eléctrica de la Universidad de Sonsonate como a cualquier persona que hará uso del sistema.Microcontrolador-JDM: este actor representa a dos dispositivos uno el microcontrolador que será manipulado y recibirá

Microcontrolador-JDM: este actor representa a dos dispositivos uno el microcontrolador que será manipulado y recibirá las instrucciones del programa que el usuario cree y el otro el dispositivo físico en el cual se conecta el microcontrolador, se especifican como un solo actor debido a que se utilizaran juntos siempre.como a cualquier persona que hará uso del sistema. MPASM: este actor representa el sistema ejecutor

MPASM: este actor representa el sistema ejecutor externo que se utilizará en el proceso de grabación, para convertir un archivo .ASM a un archivo .HEX.un solo actor debido a que se utilizaran juntos siempre. IC-PROG: este actor representa el sistema

IC-PROG: este actor representa el sistema ejecutor externo que se utilizará para grabar el archivo .HEX en el dispositivo electrónico denominado microcontrolador.para convertir un archivo .ASM a un archivo .HEX. b. Identificación de escenarios Ingresar al IDE:

b. Identificación de escenarios

Ingresar al IDE: Consiste en el arranque y carga del sistema.microcontrolador. b. Identificación de escenarios Cargar proyecto: En este escenario el usuario elige si crear

Cargar proyecto: En este escenario el usuario elige si crear un nuevo flujograma o modificar uno ya existente.al IDE: Consiste en el arranque y carga del sistema. Dibujar flujograma: Este escenario consiste en

Dibujar flujograma: Este escenario consiste en la representación de la solución a un problema determinado en un flujograma o diagrama de flujo.si crear un nuevo flujograma o modificar uno ya existente. Simular flujograma: El usuario podrá efectuar

Simular flujograma: El usuario podrá efectuar una prueba de la funcionalidad de su flujograma, simulándolo y visualizando el comportamiento del microcontrolador.consiste en la representación de la solución a un problema determinado en un flujograma o diagrama

Convertir flujograma en código Ensamblador: Este escenario permite obtener las instrucciones del programa en Lenguaje Ensamblador, para su estudio o como paso previo a la grabación del microcontrolador.Grabar microcontrolador: Este escenario finaliza el proceso de grabación del microcontrolador, quemando las instrucciones

Grabar microcontrolador: Este escenario finaliza el proceso de grabación del microcontrolador, quemando las instrucciones del programa, previamente convertidas a código Hexadecimal, en el microcontrolador.o como paso previo a la grabación del microcontrolador. c. Definición de los casos de uso

c. Definición de los casos de uso

I. Modelo de casos de uso

< < e x t e n d > > Ingresar al IDE < <
<
<
e x t e n d > >
Ingresar al IDE
<
< e x t e n d > >
<
<
e x t e n d > >
Dibujar flujograma
<
< e x t e n d > >
<<include>>
in ic ia d o r
Simular flujograma
in ic ia d o r
<<include>>
Usuario
Convertir flujograma a
código Ensamblador
in ic ia d o r
MPASM
<<include>>
Grabar
microcontrolador
IC-PROG
in ic ia d o r
Cargar proyecto
<
< e x t e n d > >
<
<
e x t e n d > >
<
< e x t e n d > >
<
<
e x t e n d > >

Microcontrolador-JDM

II. Diagrama de estados

Caso de Uso: Ingresar al IDE

II. Diagrama de estados Caso de Uso: Ingresar al IDE Ingresar al IDE Notificar error y

Ingresar al IDE

de estados Caso de Uso: Ingresar al IDE Ingresar al IDE Notificar error y cerrar IDE

Notificar error y cerrar

IDE

Error por falta

Cargar pantalla de

bienvenida

de recursos

Error por falta Cargar pantalla de bienvenida de recursos Terminar proceso IDE cargado Caso de Uso:
Terminar proceso
Terminar
proceso

IDE cargado

Caso de Uso: Cargar proyecto

Modificar proyecto Mostrar proyectos Solicitar acción almacenados Nuevo Seleccionar flujograma proyecto
Modificar
proyecto
Mostrar proyectos
Solicitar acción
almacenados
Nuevo
Seleccionar
flujograma
proyecto
Solicitar nombre y
Cargar proyecto en el
ubicación de
IDE
almacenamiento
Nombre y
ubicación
especificados
Cargar área de
trabajo de proyecto

Caso de Uso: Dibujar flujograma

Retornar a pantalla de Ofrecer herramientas edición de diseño de flujograma Seleccionar figura Agregar figura
Retornar a
pantalla de
Ofrecer herramientas
edición
de diseño de
flujograma
Seleccionar
figura
Agregar figura
Flujograma
diseñado
Error en
diagramación
Notificar error en
Validar diagramación
diagramación
Flujograma
validado
Guardar flujograma Flujograma almacenado
Guardar flujograma
Flujograma
almacenado

Caso de Uso: Simular flujograma

Error lógico Comprobar lógica del Notificar error lógico diagrama Diagrama correcto Reconocer las variables
Error lógico
Comprobar lógica del
Notificar error lógico
diagrama
Diagrama
correcto
Reconocer las
variables
Terminar
proceso
Variables
reconocidas
Ejecutar flujograma
Flujogram
a
recorrido
Obtener salida
Llamar figura
de
simulación
Modificar
valores de
Establecer
Mostrar figura de
entrada
parámetros de
simulación
simulación
Resultado de
simulación
Ingresar parámetros

Caso de Uso: Convertir flujograma en código Ensamblador

Solicitar compilación
Solicitar compilación

Solicitar compilación

Solicitar compilación

Compilar

en código Ensamblador Solicitar compilación Compilar Mostrar código Ensamblador Solicitar guardar el resultado

Mostrar código

Ensamblador

Solicitar

guardar el

resultado

Error de compilación
Error de
compilación
Solicitar guardar el resultado Error de compilación Notificar de error en el flujograma Terminar proceso .ASM

Notificar de error en

el flujograma

Terminar proceso .ASM
Terminar
proceso
.ASM
Notificar de error en el flujograma Terminar proceso .ASM Almacenar archivo Archivo .ASM almacenado Caso de

Almacenar archivo

Archivo .ASM

almacenado

Caso de Uso: Grabar microcontrolador

Archivo .ASM no existe Notificar de error de Solicitar archivo .ASM grabación Seleccionar archivo .ASM
Archivo .ASM
no existe
Notificar de error de
Solicitar archivo .ASM
grabación
Seleccionar
archivo .ASM
Convertir a
Terminar
Hexadecimal
proceso
Archivo .HEX
creado
Grabador no
conectado
Notificar de error de
Verificar enlace con
grabación
grabador
Grabador
conectado
Grabar instrucciones
Terminar
en microcontrolador
proceso
Microcontrolador
grabado

III. Descripción de los casos de uso

Caso de Uso: Ingresar al IDE

Caso de uso

Ingresar al IDE

Actores

Estudiante

Tipo

Extensión

Propósito

Proporcionar las condiciones necesarias para la carga del IDE.

Resumen

Este caso de uso otorga el ingreso al IDE y muestra la interfaz principal

Precondiciones

El software debe haber sido instalado en el equipo en que se desea utilizar.

Flujo principal

 

1. El usuario ejecuta la aplicación e ingresa al IDE.

2. El usuario visualiza la pantalla de bienvenida.

Subflujos

S1:

 

1. En el paso 2, la carga del IDE podría verse interrumpida por falta de recursos de la computadora.

Caso de Uso: Cargar Proyecto

Caso de uso

Cargar Proyecto

 

Actores

Estudiante

Tipo

Extensión

Propósito

Realizar

la

carga

de

proyectos

almacenados y del entorno de trabajo.

Resumen

Este caso de uso permite crear un nuevo proyecto o modificar uno existente, y prepara el área de trabajo.

Precondiciones

 

Flujo principal

 

1. El

usuario

selecciona crear un

nuevo proyecto.

 

2. El usuario especifica el nombre del

proyecto

y

la

ubicación de

almacenamiento.

 

3. Se

realiza la carga

del área

de

trabajo.

 

Subflujos

S1:

 

1. En el paso 1, el usuario podría elegir modificar un proyecto ya existente, para lo cual se abre un cuadro de diálogo con los proyectos almacenados.

2. El usuario selecciona el proyecto que desee modificar, y éste se carga en el área de trabajo.

Caso de Uso: Dibujar flujograma

Caso de uso

Dibujar flujograma

Actores

Estudiante

Tipo

Básico

Propósito

Realizar el diseño del programa que se desea grabar en el microcontrolador, en forma de un diagrama de flujo.

Resumen

Este caso de uso permite crear un flujograma, validarlo y almacenarlo.

Precondiciones

 

Flujo principal

1. El usuario utiliza las herramientas proporcionadas por el IDE para dibujar el flujograma.

2. El IDE valida el correcto posicionamiento de las figuras y la coherencia en las relaciones entre

   

ellas.

3. El

usuario

elige

almacenar

el

flujograma.

 

Subflujos

S1:

 

1. En el paso 2, podría ocurrir un error de diseño en el flujograma, que sería notificado al usuario.

Caso de Uso: Simular flujograma

Caso de uso

Simular flujograma

Actores

Estudiante

Tipo

Básico

Propósito

Verificar el funcionamiento del flujograma diseñado y comprobar que produce los resultados deseados.

Resumen

En este caso de uso se hace una validación completa del flujograma y se muestra la salida que produciría en el microcontrolador la grabación del programa.

Precondiciones

El flujograma debe estar correctamente creado y terminado.

Flujo principal

1. El IDE comprueba que el flujograma esté cerrado y correctamente diseñado.

2. El IDE captura las variables establecidas en el diseño del flujograma.

3. El flujograma es ejecutado.

4. El IDE obtiene la salida de la ejecución del flujograma.

5. El IDE genera la figura de simulación, usando la salida obtenida.

Subflujos

S1:

 

1. En el paso 1, podría ocurrir que al validar el flujograma se encuentre un error en la lógica del diseño, lo cual se notificaría al usuario.

S2:

 

1. En el paso 5, al dibujarse la figura de simulación, se pueden establecer parámetros para observar el comportamiento de la salida en diferentes entornos.

Caso de Uso: Convertir flujograma en código Ensamblador

Caso de uso

Convertir

flujograma

en

código

Ensamblador

Actores

Estudiante

Tipo

Básico

Propósito

Generar el código ensamblador a partir del diagrama de flujo.

Resumen

Este caso de uso utiliza el flujograma diseñado para obtener y almacenar el código en Lenguaje Ensamblador.

Precondiciones

El flujograma debe estar correctamente creado y terminado, y debe haber sido comprobado mediante simulación.

Flujo principal

1. El usuario solicita la compilación del flujograma.

2. El IDE genera y muestra el código Ensamblador generado.

3. El IDE almacena el código como un archivo .ASM.

Subflujos

S1:

1. En el paso 1, podría ocurrir un error

en la compilación debido al diseño del flujograma, el cual deberá ser notificado al usuario.

en la compilación debido al diseño del flujograma, el cual deberá ser notificado al usuario.

Caso de Uso: Grabar microcontrolador

Caso de uso

Grabar microcontrolador

Actores

Estudiante

Tipo

Básico

Propósito

Grabar el programa en el microcontrolador.

Resumen

En este caso de uso se culmina el proceso de grabación del microcontrolador, tomando el archivo .ASM generado en el caso de uso anterior y convirtiéndolo a hexadecimal para ser grabado en el dispositivo.

Precondiciones

El archivo .ASM debe estar correctamente creado.

Flujo principal

 

1. El usuario especifica el archivo .ASM a usar para la grabación.

2. El IDE toma el archivo .ASM para convertirlo a hexadecimal o .HEX.

3. El IDE corrobora que el dispositivo físico o grabador esté correctamente conectado al ordenador.

4. El IDE envía la información a ser grabada en el microcontrolador.

Subflujos

S1:

 

1. En el paso 3, podría ocurrir que el grabador no esté conectado a la computadora, y el proceso sería interrumpido.

S2:

 

1.

En el paso 1 podría ocurrir que no

 

existiera el

archivo

.ASM,

y

el

proceso

de

grabación

sería

interrumpido.

 

4. Beneficios del cliente

Los estudiantes de cátedras tales como Sistemas Digitales y Sistemas Automatizados, que son impartidas en la carrera de Ingeniería en Sistemas Computacionales e Ingeniería Eléctrica de la Universidad de Sonsonate, podrán centrar su atención en la creación de aplicaciones propias para microcontroladores en un nivel práctico, sin tener que detenerse en el estudio del lenguaje Ensamblador utilizado para la programación de éstos, ya que el aprendizaje de este lenguaje requiere de tiempo y dedicación para poder dominarlo a un nivel aceptable.

El sistema también integra todos los procesos necesarios para grabar un microcontrolador, iniciando desde el diseño y construcción del código en Lenguaje Ensamblador, continuando con la prueba y validación del código creado, y concluyendo con la grabación de las instrucciones que se han de implementar directamente en el microcontrolador. Todo esto contribuye a que el proceso de grabado de microcontroladores, se realice en menos tiempo haciendo uso únicamente de una herramienta para su desarrollo.

Un punto a resaltar es que los beneficios de esta herramienta no se limitan únicamente a los estudiantes de la Universidad de Sonsonate; el software desarrollado puede ser utilizado por los catedráticos, instructores y estudiantes de otras universidades del país, dado que será puesto a disposición de descargarlo en la página Web de la Universidad de Sonsonate para el aprovechamiento de todos aquellos que hagan uso de los microcontroladores y sus diversas aplicaciones.

5. Requerimientos no funcionales

Entre los requerimientos no funcionales que presenta el sistema se tienen:

El sistema está disponible solo para plataformas Windows.no funcionales que presenta el sistema se tienen: El sistema únicamente cuenta con soporte para la

El sistema únicamente cuenta con soporte para la programación de PIC’s con soporte para la programación de PIC’s

16F84.

El sistema únicamente cuenta con soporte para la utilización del grabador JDM.cuenta con soporte para la programación de PIC’s 16F84. Para el proceso de compilado del archivo

Para el proceso de compilado del archivo .asm a .hex, se utiliza el componente externo MPASM de Microchip.cuenta con soporte para la utilización del grabador JDM. Para el proceso de grabación del microcontrolador

Para el proceso de grabación del microcontrolador si utiliza el componente externo IC-PROG.JDM. Para el proceso de compilado del archivo .asm a .hex, se utiliza el componente externo

a. Matriz de Componentes

 

Recursos de Hardware y Redes

Recursos de software

Recursos de Personas

   
   

Recursos de

Producto de

   

Actividades

Datos

Información

             

Equipo

Medio

Programa

Procedimiento

Especialistas

Usuarios

   
 

Computadoras

Teclado y

Interfaz del

Diseño de diagramas de flujo

Operario

Usuario

 

Diagramación o

Personales

Mouse

sistema

 

Privado

 

definición de

Entrada

         

código a

 

procesar

   

Computador

Módulo del

Compilación de

Operario

 

Archivos .HEX y :ASM, Flujograma

Compilación de

Computador

local

procesamiento

código fuente

   

código

Procesamiento

personal

 

del sistema

   
 

Monitor,

Diagramas de flujo, código Ensamblador y ficheros o programa objeto

Interfaz del

Correcto funcionamiento del código o diagrama creado

 

Usuario

Archivo :HEX

Diagramas de

impresores,

sistema

 

privado

 

flujo, código

grabador

   

objeto,

Salida

 

microcontrolador

 
   
 
 

Dispositivos de

Diskette,

       

Archivos .HEX y :ASM, Flujograma

 

almacenamiento

Memoria

         

Almacenamiento

USB, CD,

 

DVD, Discos

 
 

Duros

 

Computador

Diagramas

Sistema

 

Usuario Privado

   

Informe de

personal

de flujo,

         

Sucesos

Control

 

código

 
 

ensamblador

de flujo,           Sucesos Control   código     ensamblador 54

b. Requerimientos de Hardware y Software

I. Requerimientos de Hardware

de Hardware y Software I. Requerimientos de Hardware Para el desarrollo: Se debe contar con un

Para el desarrollo:

Se debe contar con un equipo de las siguientes características como mínimo:

- Procesador:

- Memoria:

- Almacenamiento:

- Otros:

Para el Usuario Final:- Procesador: - Memoria: - Almacenamiento: - Otros: Pentium IV 3.2Ghz. 512 MB (mínimo). Disco Duro

Pentium IV 3.2Ghz.

512 MB (mínimo).

Disco Duro de 120Gb

Dispositivo grabador de microcontroladores JDM

Es necesario un equipo que cumpla con las siguientes características como mínimo:

Procesador:

Pentium 1.0 Ghz en adelante

Memoria:

256 MB

Disco Duro:

20 GB

Otros:

Dispositivo grabador de microcontroladores JDM

II. Requerimientos de Software

El software necesario para el desarrollo y utilización del sistema debe cumplir las siguientes características:

del sistema debe cumplir las siguientes características: Para el desarrollo: - Sistema operativo Windows XP -

Para el desarrollo:

- Sistema operativo Windows XP

- Kit de Desarrollo de Java

-

Netbeans 6.1

- Compilador de archivos asm MPASM

- Grabador de microcontroladores IC-PROG

archivos asm MPASM - Grabador de microcontroladores IC-PROG Para una Terminal de usuario final: - Sistema

Para una Terminal de usuario final:

- Sistema Operativo Windows XP.

- Máquina virtual de Java v 1.6.x.

c. Requerimientos de Entrada

Tecnologíavirtual de Java v 1.6.x. c. Requerimientos de Entrada La tecnología de entrada necesaria para la

La tecnología de entrada necesaria para la definición y desarrollo de proyectos en el sistema es la siguiente:

- Teclado

- Mouse

proyectos en el sistema es la siguiente: - Teclado - Mouse Documentos Los documentos de entrada

Documentos

Los documentos de entrada que podrían proporcionar información para el sistema son los siguientes:

- Diagrama de flujo del proyecto

- Algoritmo del proyecto

d. Requerimientos de Salida

Tecnologíad. Requerimientos de Salida La tecnología de salida necesaria del sistema es la siguiente: - Pantalla

La tecnología de salida necesaria del sistema es la siguiente:

- Pantalla o monitor

- Impresores

- Dispositivo de grabado de microcontroladores (JDM)

Documentos- Dispositivo de grabado de microcontroladores (JDM) Los documentos de salida son representación de la

Los documentos de salida son representación de la información ingresada al sistema para el desarrollo del proyecto, dentro de lo cual podría ser:

- Diagrama de flujo del proyecto

- Código ensamblador del proyecto

f. Requerimientos de Almacenamiento

La tecnología de almacenamiento del sistema consistirá en los archivos que se guardarán en la carpeta del proyecto. Estos archivos incluyen el proyecto como tal, el diagrama de flujo, el archivo en Lenguaje Ensamblador o .ASM y el archivo hexadecimal o .HEX.

C.

Análisis

1. Análisis de casos de uso

a. Identificación de clases entidad, interfaz y control

Caso de Uso: Ingresar al IDE

ENTIDAD

INTERFAZ

CONTROL

I. Principal del IDE
I. Principal del IDE
I. Principal del IDE clsCargarIDE

clsCargarIDE

Caso de Uso: Cargar Proyecto

ENTIDAD

 

INTERFAZ

CONTROL

ENTIDAD   INTERFAZ CONTROL Ficha Proyecto I. Principal del IDE clsCargarProyecto clsGuardar I.
ENTIDAD   INTERFAZ CONTROL Ficha Proyecto I. Principal del IDE clsCargarProyecto clsGuardar I.
ENTIDAD   INTERFAZ CONTROL Ficha Proyecto I. Principal del IDE clsCargarProyecto clsGuardar I.

Ficha Proyecto

I.

Principal del IDE

clsCargarProyecto

INTERFAZ CONTROL Ficha Proyecto I. Principal del IDE clsCargarProyecto clsGuardar I. Área de Trabajo
INTERFAZ CONTROL Ficha Proyecto I. Principal del IDE clsCargarProyecto clsGuardar I. Área de Trabajo

clsGuardar

I.

Área de Trabajo

Caso de Uso: Dibujar flujograma

ENTIDAD

 

INTERFAZ

CONTROL

ENTIDAD   INTERFAZ CONTROL Ficha Flujograma I. Área de Trabajo clsFiguras
ENTIDAD   INTERFAZ CONTROL Ficha Flujograma I. Área de Trabajo clsFiguras
ENTIDAD   INTERFAZ CONTROL Ficha Flujograma I. Área de Trabajo clsFiguras

Ficha Flujograma

I.

Área de Trabajo

clsFiguras

clsValidarFlujograma clsGuardar

clsValidarFlujograma

clsValidarFlujograma clsGuardar

clsGuardar

Caso de Uso: Simular flujograma

ENTIDAD

INTERFAZ

CONTROL

 
 
 

I. Área de Trabajo

clsSimular

INTERFAZ CONTROL   I. Área de Trabajo clsSimular I. Simulación clsValidarFlujograma clsEjecutarFlujograma
INTERFAZ CONTROL   I. Área de Trabajo clsSimular I. Simulación clsValidarFlujograma clsEjecutarFlujograma

I. Simulación

clsValidarFlujograma

INTERFAZ CONTROL   I. Área de Trabajo clsSimular I. Simulación clsValidarFlujograma clsEjecutarFlujograma

clsEjecutarFlujograma

Caso de Uso: Convertir flujograma en código Ensamblador

ENTIDAD

INTERFAZ

CONTROL

ENTIDAD INTERFAZ CONTROL Ficha ASM I. Área de Trabajo clsConvertir clsConvertirASM
ENTIDAD INTERFAZ CONTROL Ficha ASM I. Área de Trabajo clsConvertir clsConvertirASM
ENTIDAD INTERFAZ CONTROL Ficha ASM I. Área de Trabajo clsConvertir clsConvertirASM

Ficha ASM

I. Área de Trabajo

clsConvertir

ENTIDAD INTERFAZ CONTROL Ficha ASM I. Área de Trabajo clsConvertir clsConvertirASM

clsConvertirASM

Caso de Uso: Grabar microcontrolador

ENTIDAD

INTERFAZ

CONTROL

ENTIDAD INTERFAZ CONTROL I. Área de Trabajo Ficha HEX clsGrabar I. Puerto Serie
ENTIDAD INTERFAZ CONTROL I. Área de Trabajo Ficha HEX clsGrabar I. Puerto Serie
ENTIDAD INTERFAZ CONTROL I. Área de Trabajo Ficha HEX clsGrabar I. Puerto Serie

I. Área de Trabajo

Ficha HEX

clsGrabar

ENTIDAD INTERFAZ CONTROL I. Área de Trabajo Ficha HEX clsGrabar I. Puerto Serie

I. Puerto Serie

b. Diagrama de clases

Caso de Uso: Ingresar al IDE

I. Principal del IDE
I. Principal del IDE

Usuario

Caso de Uso: Ingresar al IDE I. Principal del IDE Usuario c l s C a

clsCargarIDE

Caso de Uso: Cargar Proyecto

clsGuardar Ficha Proyecto I. Principal del IDE clsCargarProyecto Usuario
clsGuardar
Ficha Proyecto
I. Principal del IDE
clsCargarProyecto
Usuario
Uso: Cargar Proyecto clsGuardar Ficha Proyecto I. Principal del IDE clsCargarProyecto Usuario I. Área de Trabajo

I. Área de Trabajo

Caso de Uso: Dibujar flujograma

clsGuardar Ficha Flujograma I. Área de Trabajo clsFiguras Usuario
clsGuardar
Ficha Flujograma
I. Área de Trabajo
clsFiguras
Usuario

clsValidarFlujograma

Caso de Uso: Simular flujograma

Usuario clsValidarFlujograma Caso de Uso: Simular flujograma Usuario clsEjecutar I. Área de Trabajo clsValidarFlujograma

Usuario

clsEjecutar
clsEjecutar
I. Área de Trabajo
I. Área de Trabajo

clsValidarFlujograma

flujograma Usuario clsEjecutar I. Área de Trabajo clsValidarFlujograma I. Simulación c l s S i m

I. Simulación

flujograma Usuario clsEjecutar I. Área de Trabajo clsValidarFlujograma I. Simulación c l s S i m

clsSimular

Caso de Uso: Convertir flujograma en código Ensamblador

I. Área de Trabajo Usuario
I. Área de Trabajo
Usuario

clsConvertirASM

Ensamblador I. Área de Trabajo Usuario clsConvertirASM c l s C o n v e r

clsConvertir

Usuario clsConvertirASM c l s C o n v e r t i r F i

Ficha ASM

Caso de Uso: Grabar microcontrolador

Ficha HEX I. Puerto Serie Microcontrolador-JDM IC-PROG I. Área de Trabajo clsGrabar MPASM Estudiante
Ficha HEX
I. Puerto Serie
Microcontrolador-JDM
IC-PROG
I. Área de Trabajo
clsGrabar
MPASM
Estudiante

Ficha ASM

c. Diagrama de colaboración

Caso de Uso: Ingresar al IDE

1
1

Usuario

2 3, 4 I. Principal del IDE
2
3, 4
I. Principal del IDE
Uso: Ingresar al IDE 1 Usuario 2 3, 4 I. Principal del IDE c l s

clsCargarIDE

Caso de Uso: Cargar Proyecto

1. Ingresar al IDE

2. Gestionar operación

3. Cargar y mostrar Interfaz del IDE

4. Notificar error por falta de recursos y cerrar IDE

1,5,11,14
1,5,11,14

Usuario

7 1. Crear un nuevo proyecto 8 2. Gestionar operación elegida clsGuardar Ficha Proyecto 3.
7
1. Crear un nuevo proyecto
8
2. Gestionar operación elegida
clsGuardar
Ficha Proyecto
3. Mostrar cuadro de diálogo
4. Solicitar nombre de archivo y ubicación de
9
almacenamiento
6
5. Especificar nombre y ubicación
6. Enviar parámetros para archivo a almacenar
7. Almacenar archivo
2,12,15
8. Archivo almacenado correctamente
3,4,13
9. Notificar almacenamiento
10. Abrir área de trabajo
I. Principal del IDE
clsCargarProyecto
11. Seleccionar abrir proyecto existente
12. Gestionar operación
10,
13. Mostrar proyectos existentes
1
6
14. Seleccionar proyecto
15. Gestionar selección
16. Cargar proyecto seleccionado en área de trabajo

I. Área de Trabajo

Caso de Uso: Dibujar flujograma

8 clsGuardar Ficha Flujograma 7 1,6 2 3 I. Área de Trabajo clsFiguras Usuario 5
8
clsGuardar
Ficha Flujograma
7
1,6
2