UNIVERSIDAD DE TARAPACÁ ESCUELA UNIVERSITARIA DE INGENIERÍA ELÉCTRICA – ELECTRÓNICA SEDE ESMERALDA IQUIQUE – CHILE
Módulo de microprocesadores: “Display 7 segmentos, contadores y calculadora” calculadora”
Alumnos: Nicolás Muñoz
Álvaro Muñoz Asignatura: Laboratorio III Académico: Sr. Omar Quezada Fecha de realización: 30-08-2017 Fecha de entrega: 06-09-2017
Índice
I
Índice
I
Índice Contenido
Página
................................................................................................................................... 1 1. Resumen ....................................................................................................................................
2. Introducción ........................................................... .............................................................................................................................. ................................................................... 2 3. Marco teórico. .................................................................... ........................................................................................................................... ....................................................... 3 3.1
Descripción general de la tarjeta desarrollo Easy8051 V6. ........................................... ........................................... 3
3.2
Identificación de componentes y secciones de la tarjeta. .............................................. 3
3.3 Descripción de la funcionalidad de los l os componentes utilizados para el desarrollo de las experiencias de laboratorio. ................................................................................................. 5 3.3.1
Funcionamiento LM016L con Mikroc8051. ......................................................... 5
3.3.2
Funcionamiento teclado matricial (4x4). ............................................................... .............................................................. 5
3.3.3
Funcionamiento del display de 7 segmentos. ........................................................ 6
................................................................................................................................. 8 4. Desarrollo ..................................................................................................................................
4.1
Listado de equipos e instrumentos. ............................................................................... 8
4.2
Procedimiento general. .................................................................................................. ................................................................................................. 8
4.3
Compilación del programa mediante el programador 8051flash. ................................. 8
4.4
................................................................................... 9 Montaje Nº1 - Contador 0-9999. ...................................................................................
4.4.1
Programación en C. ............................................................................................... 9
4.4.2
Programación en Assembler. ............................................................................... .............................................................................. 10
4.4.3
Verificación del tiempo de retardo. ..................................................................... 11
4.5
Montaje Nº2 - Calculadora en Lenguaje C. ................................................................. ................................................................ 12
5. Conclusiones y observaciones. ................................................................................................ ............................................................................................... 15 6. Referencias bibliográficas ....................................................................................................... ....................................................................................................... 16
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Resumen
1
1. Resumen
El objetivo principal que tiene la realización de la presente experiencia de laboratorio, es que el estudiante logre un primer acercamiento real al manejo y desarrollo de tareas basadas en la utilización de microcontroladores. A modo de cumplir este objetivo, se realizaron dos implementaciones que requieren de la aplicación de conocimientos y competencias adquiridas en ramos ya cursados, tales como sistemas digitales y microprocesadores, y a la vez, el estudio de la tarjeta Easy8051 v6, que será el entorno de desarrollo a utilizar. La primera implementación corresponde a un contador ascendente desde 0 a 9999, para el cual será necesario la utilización del conjunto de displays de siete segmentos incorporados en la tarjeta, y la segunda, corresponde a una calculadora que permite realizar operaciones básicas (adición, sustracción, multiplicación y división) entre dos números de cuatro cifras, para la cual será necesario la utilización del teclado matricial 4x4 y del LCD 16x2 (LM016L). A continuación, se presentará información concisa acerca de la tarjeta de desarrollo, destacando los módulos más importantes de ella. Además, se explicará cada implementación realizada y se adjunta el código de cada una con su respectiva explicación de la programación pro gramación asociada.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Introducción
2
2. Introducción
Hoy en día podemos encontrar computadoras de diferentes naturalezas en diversos di versos campos, tanto en la vida cotidiana como en la industria. Su presencia pasa inadvertida en la mayoría de los casos, obviando su funcionamiento e importancia para el común de la gente. Estos computadores pueden actuar como componente primordial para el desarrollo de productos industriales, automotrices y de consumo: en el hogar lo podemos ver en los microondas, lavadoras, televisiones, entre otras cosas; en el ámbito de la música se puede observar en las guitarras, órganos, órganos, así como también también en los aparatos electrónicos que se se ocupan para poder amplificar su sonido; y así podríamos seguir enumerando las aplicaciones que tienen estas computadoras en las diversas esferas del día de hoy. La función que tienen estas computadoras es ejecutar funciones, las cuales, a través de una interfaz, pueden controlar funciones del mundo físico, ya sea apagar o encender dispositivos, monitorear, etcétera. En las tareas que se mencionaron anteriormente, el dispositivo más usado es el microcontrolador; este es diseñado de tal forma que tenga todos los componentes integrados en el mismo chip: contiene en su interior un microprocesador, memoria RAM para poder contener los datos, memoria para el programa tipo ROM/PROM/EPROM, líneas de E/S para comunicarse con el exterior, diversos módulos para el control de periféricos y un generador de impulsos de reloj, el cual sincroniza el funcionamiento de todo el sistema.
A diferencia de otros circuitos integrados que sólo necesitan ser conectados a otros componentes para luego ser encendido, los microcontroladores necesitan ser programados antes de conectarlos a la alimentación. Estos microcontroladores puedes ser programados por dos tipos de lenguaje: de nivel bajo y de nivel alto. En la programación de nivel bajo encontramos al lenguaje ensamblador, el cual nació en respuesta a la complejidad de los códigos ejecutables en lenguaje máquina. Luego, encontramos los lenguajes de programación de nivel alto, entre los cuales están Basic, Pascal, C, entre otros. Los lenguajes lenguajes de alto nivel fueron creados para suplir las deficiencias que mostraba el lenguaje ensamblador, como por ejemplo: una sentencia en un lenguaje de nivel alto podía reemplazar diversas instrucciones en lenguaje bajo ; el conjunto de instrucciones que se deben conocer para llevar a cabo un programa en el lenguaje ensamblador varía dependiendo del tipo de microcontrolador que se esté usando.
En la presente experiencia se va a hacer uso de los contenidos vistos en el curso de Microprocesadores, para poder dar solución a los problemas planteados, los cuales son la creación de un contador que cuente desde 0 hasta 9999, y la implementación de una calculadora básica (suma, resta, multiplicación y división). Para llevar a cabo estas tareas, se hará uso de una placa Easy8051 v6 de Mikroelektronika, y del compilador MikroC PRO, el cual es el software que permite que el microcontrolador pueda comprender, procesar y ejecutar el código hecho en el lenguaje de programación, mediante la traducción de este al lenguaje de máquina.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Marco teórico
3
3. Marco teórico. 3.1 Descripción general de la tarjeta desarrollo Easy8051 V6.
La tarjeta de desarrollo Easy es una placa adecuada para programar microcontroladores 8051 de Atmel lo que permite al usuario utilizarla para diseñar y probar proyectos realizados con los 8051. El sistema de desarrollo incluye un programador integrado que proporciona una interfaz entre el microcontrolador y una PC. De esta forma el usuario al escribir algún programa en uno de los compiladores de 8051, pueda generar un archivo .hex para posteriormente cargarlo al microcontrolador incorporado en la tarjeta. Algunas características principales de la tarjeta:
Sistema de desarrollo completo y de uso amigable para dispositivos basados en microcontroladores 8051.
Programador USB 2.0 de alto rendimiento incorporado en la placa.
Extensor de puertos que proporciona dos interfaces de E/S adicionales al microcontrolador 8051.
Visualizador LCD 2x16 serial incorporado en la tarjeta.
Visualizador LCD gráfico con luz de fondo
Figura 3.1 Tarjeta de desarrollo Easy8051 v6. Fuente: Fotografía tomada de [1].
3.2 Identificación de componentes y secciones de la tarjeta.
Mediante la Figura 3.1, se identificarán algunos de los componentes principales de la tarjeta mediante un diagrama de bloques, como se puede apreciar en la Figura 3.2.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Marco teórico
4
Figura 3.2 Diagrama de bloques de tarjeta de desarrollo Easy8051 v6. Fuente: Elaboración propia. 1.
Fuente de voltaje regulada
2.
Conector USB para el programador.
3.
Puerto USB 2.0 8051.
4.
Display’s de 7 segmentos.
5.
Convertidor de prueba de entrada A/C.
6.
Voltaje de referencia de 4.096 [V].
7.
Interruptores PID para habilitar las resistencias pull-up/pull-down.
8.
Puertos conectores I/O.
9.
Conector de comunicación RS-232.
10.
Interruptores para encender LED’s.
11.
Interruptor que habilita la tarjeta.
12.
Interruptores para encender display’s de 7 s egmentos.
13.
Ajuste del contraste para display LCD 2x16.
14.
Display LCD 2x16 alfanumérico.
15.
Conector para display LCD alfanumérico.
16.
Enchufe para conectar los microcontroladores del 8051.
17.
38 LED’s para indicar el estado lógico de los pins.
18.
Ajuste de contraste del display LCD alfanumérico.
19.
Sensor de temperatura DS1820.
20.
Botón de Reset.
21.
Botones pulsadores para simular entradas digitales.
22.
Teclado matricial 4x4.
23.
Menú teclado matricial.
24.
Conector para display LCD gráfico.
25.
Ajuste de contraste del display LDC gráfico.
26.
Puerto de expansión.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Marco teórico
5
3.3 Descripción de la funcionalidad de los componentes utilizados para el desarrollo de las experiencias de laboratorio. 3.3.1
Funcionamiento LM016L con Mikroc8051.
El LM016L es un display LCD 2x16 alfanumérico el cual está conectado al microcontrolador a través del puerto PORT2, cuenta además con un potenciómetro (etiquetado como P2) el cual ajusta el contraste de la pantalla de este. La comunicación entre el display LCD y el microcontrolador está dado por un modo de 4 bits, mientras que los dígitos alfanuméricos son mostrados en dos líneas en el LCD, cada una de hasta 16 caracteres de 7x5 pixeles.
Figura 3.3 Visualizador LCD alfanumérico 2x16. Fuente: Imagen extraída de [1].
Mediante un interruptor etiquetado como LCD-BCK (ubicado en el DIP SW7), es posible encender o apagar la luz de fondo del visualizador.
Figura 3.4 Conexionado del visualizador LCD alfanumérico 2x16. Fuente: Imagen extraída de [1]. 3.3.2
Funcionamiento teclado matricial (4x4).
Es un teclado alfanumérico estándar el cual está conectado al microcontrolador mediante el puerto PORT0. Este opera mediante el principio de escaneo y sensibilidad, donde los pines P0.4, P0.5, P0.6
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Marco teórico
6 y P0.7 están configurados como entradas conectadas (tal como se muestra en la figura 3.5) a las resistencias de pull-down.
Figura 3.5 Esquema de conexión teclado matricial y microcontrolador. Fuente: Imagen extraída de [1]. Los demás puertos de P0 están configurados a salidas de alto nivel de voltaje, de esta forma for ma al apretar cualquier botón se producirá un 1 lógico aplicado al pin de entrada. Por lo que se puede determinar cuál de los botones es presionado desde dentro del del software de la tarjeta.
Fuente 3.6 Esquema de conexión del teclado 4x4 al microcontrolador. Fuente: Imagen extraída de [1]. 3.3.3
Funcionamiento del display de 7 segmentos.
El display siete segmentos con cuatro dígitos utiliza los puertos del microcontrolador PORT0 y PORT1 para su funcionamiento. Entre el el puerto PORT0 y la pantalla hay un circuito ULN2803 (circuito integrado que se compone de un arreglo Darlington que ofrece 8 salidas de alta corriente) utilizado para dirigir los segmentos del visualizador. El funcionamiento de la visualización se activa mediando la multiplexación, lo que significa que la operación de los cuatro dígitos requiere solo ocho líneas conectadas a los segmentos para la visualización y otras cuatro líneas para la activación activación de cada uno de ellos.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Marco teórico
7 Para el correcto funcionamiento de la pantalla de siete segmentos es necesario ajustar todos los interruptores en la posición ON tanto en el interruptor DIP SW10 como los interruptores 1-4 en el DIP SW8.
Figura 3.7 Visualizador de siete segmentos de la tarjeta de desarrollo Easy8051 v6. Fuente: Imagen extraída de [1]. La multiplexación temporal del visualizador se basa en encender y apagar rápidamente los segmentos de este de tal modo que parezca que todos los dígitos están activos simultáneamente. El microcontrolador alimenta los segmentos del visualizador con señales por el puerto PORT0, mientras que el PORT1 selecciona uno de ellos para visualizar el número apropiado.
Figura 3.8 Esquema de conexionado del visualizador de 7 segmentos. Fuente: Imagen extraída de [1]. Como se puede apreciar en la figura anterior, el display de cuatro dígitos es de cátodo común, esto quiere decir que tiene todos los ánodos de los diodos unidos y conectados a tierra, por lo cual para activar un segmento debería ingresarse un 1 lógico.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Desarrollo
8
4. Desarrollo 4.1 Listado de equipos e instrumentos.
Tabla 4.1 Listado de equipos e instrumentos usados en la realización de las experiencias del laboratorio. Montaje
Equipo, instrumento de medición
Marca
Modelo Cantidad Observaciones
Osciloscopio
Tektronix
Tarjeta de desarrollo
Mikroelektronika
TDS1012B
1
8051 1 v6 Fuente: Elaboración propia.
Nº1
En buen estado
En buen estado
Nº2
4.2 Procedimiento general.
Debido a que en cada montaje se siguió el mismo procedimiento, la función de esta sección del informe es explicar el paso a paso de manera general, para así no tener que reiterar la explicación en cada montaje, por lo tanto: 4.2.1
Se comenzó con la programación del montaje, tarea para la cual se usó el programa uVision.
4.2.2
Luego se comprobó el correcto funcionamiento del montaje, para lo cual se hizo uso del programa
Proteus; si el programa funcionaba de la manera esperada, se procedía con el siguiente paso; en caso contrario, se volvía a hacer la programación, hasta que esta funcionara de manera apropiada en la simulación hecha en el programa Proteus. 4.2.3
Una vez comprobado el programa, se procedía a cargar el código .hex en el microcontrolador a
través del programador 8051flash, el cual es explicado en la sección 4.3. 4.3 Compilación del programa mediante el programador 8051flash.
4.3.1
Se escribió el programa respectivo en alguno de los compiladores 8051 (uVision), para de esta forma
generar un fichero .hex. 4.3.2
Luego se utilizó el programa 8051flash para seleccionar el microcontrolador que iba a ser
programado (AT89S8253), para después cargar cargar el fichero .hex del paso anterior. 4.3.3
Posteriormente, se pulsó sobre el botón Write para cargar el programa en el microcontrolador.
Figura 4.1 Interfaz software “Flash 8051”. Fuente: Extraído desde el software Flash 8051. 4.3.4.
Se debe debe consideró consideró además además que el el cristal cristal interno interno del microcontrolador es de 10[].
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Desarrollo
9
4.4 Montaje Nº1 - Contador 0-9999.
Para la visualización del contador se utilizaron los cuatros displays de siete segmentos de la tarjeta de desarrollo, para lo cual se tuvo que tener en cuenta que entre cada cifra del contador hubiera 1[s]. Para la programación en Assembler, se tuvo que calcular la cantidad de iteraciones para poder alcanzar el tiempo requerido entre cifras, por lo que se hizo una subrutina de retardo de 1[ms], y así poder evitar una superposición entre los dígitos. Debido al fenómeno de la persistencia de la visión, el muestreo del número y las cuatro cifras que lo componían debían estar trabajando a una frecuencia de a lo menos 50[Hz]. Tanto para la programación en C, como en Assembler, a través de pruebas mediante el osciloscopio, se calibró el retardo utilizado en la programación en 1[ms]. 4.4.1
Programación en C.
En la Figura 4.1 se observa la primera parte de la programación, la cual declara las variables globales que iban a ser usadas a lo largo del programa, además de la subrutina de retardo.
Figura 4.2 Declaración de variables. Fuente: Elaboración propia. Luego, se procedió con el programa principal. En esta parte del programa se programó el contador como tal, salvo el tiempo que debía haber entre cifra. Para el funcionamiento de este, se utilizó un se ocupó para que se realizara la while que estuviera activo de manera indeterminada. Luego, el for se secuencia entre cada cifra, incrementando cada cifra en una unidad. Se estableció la unidad, decena, centena y millar, usando los valores de la tabla. La programación del programa principal se puede contemplar en la Figura 4.2.
Figura 4.3 Programa principal. Fuente: Elaboración propia. Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Desarrollo
10 En la Figura 4.3 se puede ver la subrutina del retardo.
Figura 4.4 Subrutina del retardo. Fuente: Elaboración propia. 4.4.2
Programación en Assembler.
Para la realización de la programación en Assembler, se consideró los siguientes puntos claves para el funcionamiento del contador: 4.4.2.1 Se utilizaron 4 registros (r7, r6, r5, r4) para almacenar las correspondientes a la unidad, decena, centena y unidad de mil del número a mostrar, los cuales también corresponderán a los registros asociados a cada uno de los 4 displays. 4.4.2.2 Se generó una tabla que contiene valores binarios que al enviarlos a los displays corresponderán a los números del cero al nueve. La tabla contiene los números de manera ascendente y utilizando una lógica negativa (activo bajo), a pesar de que los displays sean de cátodo común, estos bits se complementan debido a la circuitería interna de la placa. 4.4.2.3 Se realizó una etiqueta principal (“unidad”) que tal como se ade lantó anteriormente, enviará a través de 0 cada cifra del número a la vez, y para que la cifra se muestre solo en el display correspondiente, se enviará por 1 la combinación adecuada para la activación de solamente el display correspondiente. 4.4.2.4 Considerando que el muestreo del número, y así del envío de las cuatro cifras que lo componen debe ser a una frecuencia de al menos 50[ℎ] para lograr el fenómeno de la persistencia de la visión, además de que la secuencia de números se debe dar a razón de un segundo, se calcula la cantidad de repeticiones que se deben realizar por cada muestreo de un número: 9 instrucciones por muestreo de cada cifra → 11[ 11[] ] ∙ 4 = 44[ 44[] ] (Una instrucción de 2,4[] de duración y 8 de 1,2[]) + Retardo de 1[] entre muestreos para evitar superposición → 4[] = 4.044[ 4.044[] ]
Así, para conseguir una secuencia a razón de un segundo, se debe repetir el muestreo de cada número un total de: ∙ 4.044[] = 1[] → ≈ 247. 4.4.2.5 Finalmente, para lograr una correcta secuencia ascendente, cada vez que le corresponde a una cifra 9 incrementarse (claramente luego de haberse muestreado 247 veces el número actual), esta se vuelve a inicializar en cero y se incrementa incrementa en uno la cifra inmediatamente a la izquierda.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Desarrollo
11 Así, la secuencia será de manera ascendente, y se reiniciará el programa una vez alcanzado el último número. A continuación se adjuntara el programa completo.
Figura 4.5 Programación completa para el contador en Assembler. Fuente: Elaboración propia. 4.4.3
Verificación del tiempo de retardo.
A modo de corroborar que el tiempo de retardo fuese en realidad de 1[ms], se cargó a la tarjeta de desarrollo, la programación del contador realizada en C, y mediante las puntas de prueba del osciloscopio, se midió el retardo en unos de los puertos de entrada y salida de la tarjeta. El tiempo de retardo se puede apreciar en la Figura 4.6.
Figura 4.6 Oscilograma del programa contador con 1[ms] por cada instrucción. Fuente: Extraído desde el Osciloscopio Keysight, modelo InfiniiVision DSOX2012A. Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Desarrollo
12
4.5 Montaje Nº2 Nº2 - Calculadora en Lenguaje C.
Se realizaron operaciones matemáticas básicas (multiplicación, división, resta y suma) a través del teclado matricial que viene incorporado en la tarjeta de desarrollo Easy8051 v6. Estas operaciones se hicieron entre dos números, los cuales podían alcanzar como máximo la cifra de tres dígitos, mostrando en tiempo real en la pantalla de LCD de 2x16 los resultados obtenidos de la operación. Se tuvo que tener en cuenta la inicialización de las variables globales, tanto del teclado matricial como de la pantalla LCD. Para esto, se tomó como referencia un ejemplo otorgado por el software mikroC el cual viene por defecto dentro del. Este programa muestra como habilitar el LCD 2x16 alfanumérico y el teclado matricial de la tarjeta de desarrollo, y así de esta forma poderlos utilizar en la implementación práctica de la calculadora. Este programa se encuentra utilizando la herramienta “Help” del programa compilador en la sección de “keypad library”.
Cabe destacar, que dentro de este programa existirá una variable etiqueta da como “kp”, esta determinará qué función cumplirá el botón presionado en el teclado matricial, por lo tanto, es fundamental crear una función “switch” (Fila 35 ) para variar cada
caso dependiendo del valor que tome kp. El orden asignado para el diseño
de la calculadora será:
Figura 4.7 Orden detallado del teclado matricial asignado para la calculadora. Fuente: Elaboración propia. Al momento de querer mostrar los números en el LCD 2x16, se debe hacer un arreglo previo para que cada vez que se presione un botón con un número este vaya tomando una posición y si se oprima otro este tome la posición siguiente al ya mostrado. También es importante tener en cuenta que al desear mostrar el valor del botón solicitado se le debe sumar un numero apropiado al kp, ya que para que pueda ser mostrado en la pantalla este debe ser enviado como código código ASCII, esto quiere decir que que cada valor de kp ya declarado en la primera instrucción “switch” se le debe sumar en este caso el valor de 48 para poder conseguir los símbolos
de los números desde el 0 al 9, esto también se debe tener en cuenta para los símbolos de las operaciones. Para poder lograr entender mejor lo detallado anteriormente, se podrá apreciar a continuación la tabla de caracteres ASCII que esta por defecto en el compilador mikroC en la Figura 4.5.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Desarrollo
13
Figura 4.8 Tabla de caracteres ASCII. Fuente: Extraído desde el software mikroC. Luego para poder identificar qué operación se realizará al momento de oprimir alguno de los botones en el teclado matricial, se debe realizar un set de instrucciones para que este pueda identificar cual será la operación, es por eso que en este caso cuando se seleccione la tecla con el signo igual, este entrará a una instrucción “switch” (Fila 102), que tenga
cuatro casos, una para cada una de las cuatro operaciones, y así
pasar a realizar la operación solicitada solicitada correspondientemente. correspondientemente. Se adjuntará a continuación el código completo de la calculadora en lenguaje C.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Desarrollo
14
Figura 4.9 Programación de la calculadora. Fuente: Elaboración propia. Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Conclusiones y observaciones
15
5. Conclusiones y observaciones.
5.1 En el contador, al querer que este, en vez de contar desde d esde 0 hasta 9999, contara desde 9999 hasta 0, en la programación del montaje tuvo que cambiarse una parte del programa principal, la cual consistía en cambiar las condiciones del for. En la Figura 6.1 se muestra la programación respectiva.
Figura 5.1 Contador 9999-0. Fuente: Elaboración propia. 5.2 Al momento de querer implementar el contador en la placa de desarrollo, los displays no encendían. Esto era debido a que el puerto 0, quien envía la señal a los segmentos de dígitos, estaba apagado, además de que los cuatro bits inferiores del puerto 1, el cual especifica cuál dígito se alimentará con la señal, también se encontraban apagados. Una vez encendidos estos puertos, los displays funcionaron de manera correcta. 5.3 Otra observación que se obtuvo durante la realización de la experiencia de los contadores en Assembler, fue que como el cristal del microcontrolador no es de 12[ℎ], no se puede afirmar que el tiempo de cada instrucción será de 1[]; es por eso que al hacer unos pequeños cálculos con la frecuencia real de este dispositivo, la cual es de 1 0[ℎ], se pudo concluir que cada instrucción tendrá un tiempo de 1,2[] y así poder saber por cuanto se deberá hacer el decremento para que se cumpla el segundo segundo que se necesita en este conteo. 5.4 Otra observación es que al momento de usar el programa mikroC es que sólo permite utilizar 150 filas de códigos o con peso mayor a 2[], por lo cual, para usar menos espacio, se hizo un uso en mayor manera de la instrucción “switch”. 5.5 Además, se manejan dos softwares apropiados para trabajar con el microcontrolador 8051: el “8051 FLASH” y el “Mikro C Pro for 8051”. El primero, se utiliza para cargar archivos de tipo
.HEX a la memoria del microcontrolador, y el segundo, para la compilación del código programado. Es necesario necesario resaltar que este último, como fue elaborado elaborado por la misma misma empresa que fabrica la placa con la que se trabajó, tr abajó, resulta indispensable cuando se comienza a trabajar con esta por primera vez y es de bastante ayuda posteriormente, ya que posee comandos de ayuda y ejemplos para comprender el funcionamiento de los distintos elementos del entorno de desarrollo y también funciones especiales que resultan bastantes útiles para simplificar la programación. 5.6 Cabe destacar además que antes de comenzar la programación de cualquier tarea, es imprescindible consultar previamente el manual de usuario de la placa, para así conocer los puertos a utilizar, la lógica necesaria y el interconexionado interno de la tarjeta misma, para de esta forma evitar cualquier daño a la placa y a sus componentes, y para que el usuario pueda hacer un buen uso de esta misma.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
Referencias bibliográficas
6. Referencias bibliográficas
[1] Easy 8051 v6, “User Manual Development System”, 2009, Mikroelektronika. [2] Mackenzie, I. Scott, Phan Raphael C.W. : ”The 8051 Microcontroller”, 4 th Ed. Prentice Hall, 2007. [3] Mazidi Muhammad, Ali, “The 8051 microcontroller and embedded systems”, 2006, Pears on. [4] Milan Verle, “Architecture and programming of 8051 Mcus”, 2009, M ikroelektronika.
Experiencia Nº1 Display 7 segmentos, contadores y calculadora.
16