You are on page 1of 18

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”

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

Contenido Página
1. Resumen .................................................................................................................................... 1
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 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
4. Desarrollo .................................................................................................................................. 8
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 Montaje Nº1 - Contador 0-9999. ................................................................................... 9
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 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 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, así como también en los aparatos electrónicos que 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 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 segmentos.
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
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 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 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 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.

Equipo, Montaje
instrumento de
Marca Modelo Cantidad Observaciones
medición Nº1 Nº2

TDS- En buen
Osciloscopio Tektronix 1 
1012B estado
Tarjeta de 8051 En buen
Mikroelektronika 1  
desarrollo v6 estado
Fuente: Elaboración propia.

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 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 consideró además que el cristal 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
while que estuviera activo de manera indeterminada. Luego, el for se ocupó para que se realizara la
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 adelantó 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[𝑢𝑠] ∙ 4 = 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[𝑚𝑠]

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 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 - 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 etiquetada 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 ASCII, esto quiere decir 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 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 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 10[𝑀ℎ𝑧], 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 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 resaltar que este último, como fue elaborado por la misma empresa que
fabrica la placa con la que se trabajó, 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 16

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”, 4th Ed. Prentice Hall, 2007.

[3] Mazidi Muhammad, Ali, “The 8051 microcontroller and embedded systems”, 2006, Pearson.

[4] Milan Verle, “Architecture and programming of 8051 Mcus”, 2009, Mikroelektronika.

Experiencia Nº1 Display 7 segmentos, contadores y calculadora.

You might also like