trabajo de diploma - DSpace@UCLV

Anuncio
FACULTAD DE INGENIERÍA ELÉCTRICA
Departamento de Telecomunicaciones y Electrónica
TRABAJO DE DIPLOMA
“Diseño de aplicaciones docentes para el 8051
utilizando un kit de desarrollo”.
Autor: Reinier Pérez Pérez
Tutor: Msc. Darién Morales Arbolaez
Santa Clara
Curso 2009-2010
“Año 52 de la Revolución"
Universidad Central “Marta Abreu” de Las
Villas
Facultad de Ingeniería Eléctrica
Departamento de Telecomunicaciones y Electrónica
TRABAJO DE DIPLOMA
“Diseño de aplicaciones docentes para el 8051
utilizando un kit de desarrollo”.
Autor: Reinier Pérez Pérez
e-mail: [email protected]
Tutor: Msc. Darién Morales Arbolaez
Prof. Dpto. de Telecomunicaciones y Elect. de la Fac. de Ing. Eléctrica.
e-mail: [email protected]
Santa Clara
Curso 2007-2008
"Año 50 de la Revolución"
Hago constar que el presente trabajo de diploma fue realizado en la Universidad
Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la
especialidad de Ingeniería en Telecomunicaciones y Electrónica, autorizando a
que el mismo sea utilizado por la Institución, para los fines que estime
conveniente, tanto de forma parcial como total y que además no podrá ser
presentado en eventos, ni publicados sin autorización de la Universidad.
Firma del Autor
Los abajo firmantes certificamos que el presente trabajo ha sido realizado según
acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos
que debe tener un trabajo de esta envergadura referido a la temática señalada.
Firma del Autor
Firma del Jefe de Departamento
donde se defiende el trabajo
Firma del Responsable de
Información Científico-Técnica
Dedico este trabajo a mi madre.
Hay muchas personas a las que les debo este momento,
por ello quiero agradecer:
A mi prima Arelis y a mi tía Lidia, por hacer de mi lo que soy y por
apoyarme cuando más lo necesitaba.
A toda mi familia en general, pues de una forma u otra todos han
puesto un granito de arena en mi formación. En especial a mi primo
Luis Enrique por su apoyo incondicional en todo momento.
A Esther que a lo largo de estos años me ha apoyado brindándome el
aliento y la fuerza necesaria para vencer obstáculos en el camino.
A Greisy, Raylor, Randy, Angel y Alesney, mis amigos,
por estar ahí cuando los he necesitado.
A mi tutor Darien Morales por sus recomendaciones y aportes,
imprescindibles para la culminación de este trabajo.
TAREA TÉCNICA
1. Revisión de la bibliografía técnico-especializada sobre la información
relacionada con el kit de desarrollo 8051.
2. Análisis de las herramientas de software a utilizar para la simulación tanto
del software como del hardware.
3. Proponer una estrategia para el uso del kit en la que se integren todos los
recursos elaborados.
4. Diseñar prácticas de laboratorios que demuestren el uso del kit de
desarrollo.
5. Confección y presentación del informe.
Firma del Autor
Firma del Tutor
RESUMEN
RESUMEN
El presente trabajo realiza un análisis sobre los medios de enseñanza para
impartir los temas relacionados con el microprocesador 8051. Se abordan
estrategias de trabajo que incluyen dos simuladores y un kit de desarrollo para
lograr prácticas de laboratorios simuladas y reales. Dentro de los software que se
utilizan están el “Raisonance”, propuesto como compilador y simulador del
microcontrolador 8051 y el “Proteus”, utilizado para simular el funcionamiento del
kit de desarrollo. Se utilizan estas herramientas de software y se describen los
componentes del kit de desarrollo para lograr integrar todos los componentes
como medios de enseñanza y diseñar varias prácticas de laboratorios que se
proponen sean utilizadas en las asignaturas relacionadas con la enseñanza del
microcontrolador 8051. Las prácticas cubren lo esencial para demostrar el trabajo
del 8051, pero se realizaron con el nivel de detalle suficiente, que permite su
inmediata utilización en la enseñanza. En el trabajo se incluyen todos los códigos
fuentes de cada uno de los problemas propuestos.
Palabras claves: Microcontrolador 8051, enseñanza de los microcontroladores, kit
de desarrollo 8051, prácticas de laboratorios.
ÍNDICE
I
INTRODUCCIÓN
1
Organización del Informe .................................................................................................3
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes……4
1.1. Los microprocesadores en las carreras de perfil eléctrico. ...............................4
1.2. Sistema de enseñanza-aprendizaje para el 8051. .............................................5
1.3. Desarrollo de aplicaciones con el 8051. ...............................................................7
1.4. El microcontrolador 8051. .......................................................................................8
1.4.1
Características fundamentales. ....................................................................9
1.4.2
Descripción de los espacios de memoria....................................................9
1.4.3
Área de registros de funciones especiales. ..............................................12
1.4.4
Subsistemas fundamentales. ......................................................................12
1.4.4.1
Conteo y temporización. ........................................................................12
1.4.4.2
Comunicación por puerto serie. ............................................................13
1.5. Compilador para el 8051.......................................................................................13
CAPÍTULO II. Kit de desarrollo 8051……………………………………………….15
2.1 Características del kit de desarrollo. ...................................................................15
2.2 Las secciones del kit de desarrollo. ....................................................................16
Sección 1: Display 7 segmentos. ..............................................................................17
Sección 2: IC ULN 2803. ............................................................................................17
Sección 3: 8 LEDs. ......................................................................................................18
Sección 4: Pulsadores.................................................................................................19
Sección 5: Display LCD. .............................................................................................19
Sección 6: IC ADC 0804. ............................................................................................20
Sección 7: SPDT Relays.............................................................................................21
ÍNDICE
Sección 8: IC 93C46 EEPROM. ................................................................................22
Sección 9: IC 89S52. ...................................................................................................22
Sección 10: IC 40 Pin mega AVRs. ..........................................................................23
Sección 11: IC 28 Pin mega AVRs. ..........................................................................24
Sección 12: IC HandyProg. ........................................................................................24
Sección 13: Suministro de energía. ..........................................................................24
Sección 14: Interfaz RS-232. .....................................................................................25
2.3 Los cables para la conexión de las secciones. .................................................26
2.4 Trabajo con el kit de desarrollo. ...........................................................................27
2.5 HandyProg 4.0........................................................................................................28
2.6 Simulación del hardware con el Proteus. ...........................................................29
CAPÍTULO III. Prácticas de laboratorios……………………………………………33
3.1 Práctica de Laboratorio Nº 1: Familiarización con el Kit de Desarrollo
8051..............................................................................................................33
3.2 Práctica de Laboratorio Nº 2: Interrupciones externas con el 8051. .............36
3.3 Práctica de Laboratorio Nº 3: Subsistema de conteo y temporización
en el 8051…………………………………………………………………………39
3.4 Práctica de Laboratorio Nº 4: Atención a display 7 segmentos. ....................42
3.5 Práctica de Laboratorio Nº 5: Atención a display LCD. ...................................46
3.6 Práctica de Laboratorio Nº 6: Subsistema de comunicación por puerto
serie con el 8051. ...................................................................................................49
3.7 Práctica de Laboratorio Nº 7: Convertidor Análogo Digital (ADC). ................54
CONCLUSIONES……………………………………………………………………...58
RECOMENDACIONES……………………………………………………………….59
ANEXOS………………………………………………………………………………..60
II
ÍNDICE
III
Anexo 1. Esquemas de los montajes realizados en el Proteus para la
simulación de las secciones del kit de desarrollo………………………………60
Anexo 2. Solución al ejercicio 3 de la Práctica de Laboratorio Nº 2……………..63
Anexo 3. Solución al ejercicio 5 de la Práctica de Laboratorio Nº 3……………..64
Anexo 4. Solución al ejercicio 4 de la Práctica de Laboratorio Nº 4……………..67
Anexo 5. Solución al ejercicio 5 de la Práctica de Laboratorio Nº 5……………..68
Anexo 6. Solución al ejercicio 4 de la Práctica de Laboratorio Nº 6……………..71
Anexo 7. Solución al ejercicio 2 de la Práctica de Laboratorio Nº 7……………..73
REFERENCIAS BIBLIOGRÁFICAS....................................................................76
INTRODUCCIÓN
1
INTRODUCCIÓN
El desarrollo constante de la electrónica ha dado lugar al diseño de sistemas con
mejores características, de menor tamaño, bajos requerimientos de energía y
mejor realización. Uno de los logros de esa evolución tecnológica lo constituye el
microcontrolador. Su presencia ha comenzado a cambiar la forma en que
percibimos el mundo e incluso a nosotros mismos. Cada vez se hace más difícil
pasar por alto el microcontrolador como otro simple producto en una larga línea de
innovaciones tecnológicas. (Navarro., 2007)
Ninguna otra invención en la historia se ha diseminado tan aprisa por todo el
mundo o ha tocado tan profundamente tantos aspectos de la existencia humana.
Hoy existen millones de microchips de alguna clase en uso y el número de
productos que funcionan en base a uno o varios microcontroladores aumenta de
forma exponencial. El mayor atributo del microcontrolador es que puede integrar
inteligencia casi a cualquier artefacto. Se le puede entrenar para adaptarse a su
entorno, responder a condiciones cambiantes y volverse más eficiente y que
responda a las necesidades únicas de sus usuarios. (Navarro., 2007)
En la enseñanza de las asignaturas relacionadas a los microcontroladores los
recursos de hardware son de gran ayuda. En este caso el más utilizado es el kit de
entrenamiento, ya que el trabajo con estos equipos desarrolla grandes habilidades
en los estudiantes y complementa su formación con los laboratorios reales.
En la actualidad el mercado de la electrónica cuenta con diversos tipos de kit de
entrenamiento. El diseño de los mismos brinda la posibilidad de ser utilizados con
fines educativos, ya que proponen un conjunto de elementos separados en
secciones que pueden ser aprovechados en la implementación de aplicaciones
docentes.
INTRODUCCIÓN
2
En la universidad donde se pretende desarrollar este proyecto en los últimos años
se ha dificultado el trabajo con estos recursos ya que han sido muy escasos. Esta
situación ha sido ocasionada por las grandes dificultades económicas por la que
ha atravesado el país, hecho que ha limitado la compra de este tipo de
dispositivos y ha posibilitado que con frecuencia se desarrollen proyectos con el fin
de cubrir esta necesidad. Estos proyectos han estado orientados al diseño de
recursos de hardware y al desarrollo de metodologías de trabajo para que el
aprendizaje por parte de los estudiantes cada vez sea más sólido.
Por ello, el presente trabajo, con un enfoque docente, se apoyará en un hardware
profesional, para que con el empleo de este dispositivo y el diseño de prácticas de
laboratorios dar solución a este problema existente en la enseñanza de las
asignaturas Microprocesadores I y II tanto de la carrera de Ingeniería Eléctrica
como de la carrera de Ingeniería en Telecomunicaciones y Electrónica, las cuales
son impartidas en los años 3ro y 4to de las mencionadas carreras.
De lo anteriormente expuesto se desprende la siguiente interrogante científica:
Interrogante Científica
¿Cómo diseñar un conjunto de ejercicios de laboratorios, que utilizando el kit
disponible, mejoren la enseñanza de las asignaturas relacionadas al 8051?
Los objetivos del presente trabajo son la consecuencia directa de la interrogante
científica.
Objetivo General
Desarrollar un conjunto de ejercicios docentes en forma de prácticas de
laboratorios que mejoran la enseñanza de las asignaturas donde se estudia
el microcontrolador 8051.
INTRODUCCIÓN
3
Objetivos Específicos
Analizar la bibliografía existente para la enseñanza del 8051.
Caracterizar el trabajo con el kit de desarrollo.
Simular los recursos de hardware utilizados.
Desarrollar ejercicios que demuestren el trabajo con el kit de desarrollo.
Proponer una estrategia para el uso de los recursos elaborados.
Organización del Informe
Este trabajo está estructurado en tres capítulos, en forma abreviada se puede
decir que:
En el Capítulo I se abordan los principales aspectos a tener en cuenta para el
desarrollo de aplicaciones con microcontroladores. Se explican las características
fundamentales del microcontrolador 8051. Se detalla el sistema de enseñanzaaprendizaje para las asignaturas que estudian este microcontrolador. Se describen
algunas de las particularidades del software empleado para la simulación del
mismo.
En el Capítulo II se hace un estudio del kit de desarrollo basado en una
descripción física de las secciones del mismo y del software empleado para la
programación del microcontrolador. Además, recoge un análisis de las
herramientas de software empleadas para la simulación del hardware. Se trata de
dejar lo más claro posible la metodología de trabajo a emplear en el diseño de
aplicaciones con el kit de desarrollo.
En el Capítulo III se proponen una serie de prácticas de laboratorios en las que se
ilustran el trabajo con cada una de las secciones del kit de desarrollo. Se tiene en
cuenta todas las consideraciones necesarias para el desarrollo de aplicaciones
docentes con el 8051.
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
CAPÍTULO I.
4
El microcontrolador 8051. Su uso en
aplicaciones docentes.
En este capítulo se abordan los principales aspectos a tener en cuenta para el
desarrollo de aplicaciones con microcontroladores. Para ello se describen las
características generales del microcontrolador 8051. Se detalla el proceder que se
lleva a cabo para la enseñanza y aprendizaje de este microcontrolador, además
de algunas de las particularidades del software empleado para la simulación del
mismo.
1.1. Los microprocesadores en las carreras de perfil eléctrico.
El número de productos que funcionan sobre la base de uno o varios
microcontroladores aumenta vertiginosamente, de manera tal que ya son muchos
los campos de la ingeniería y las aplicaciones de la vida actual que están siendo
invadidos por estos dispositivos. Por tal motivo, es de vital importancia que los
estudiantes de las carreras de perfil eléctrico, entiéndase, Ingeniería en
Telecomunicaciones, Ingeniería Automática, Ingeniería Eléctrica y la nueva carrera
de Ingeniería Biomédica no permanezcan ajenos a la evolución de estos
dispositivos y reciban una buena formación durante el proceso de aprendizaje que
les posibilite obtener un conjunto de hábitos, habilidades y conocimientos en el
sentido del diseño y puesta a punto de sistemas basados en los mismos. Esta
temática, por su importancia y actualidad, se estudia también en las Maestrías de
Sistemas Digitales, Informática Industrial y Eléctrica. (Pereira, 2006)
Estos contenidos se imparten en diferentes asignaturas de estas carreras y de las
Maestría antes mencionadas, las que por lo general, persiguen como objetivo
fundamental que los estudiantes aprendan a desarrollar sistemas basados en un
microcontrolador, específicamente el 8051 de la compañía Intel y sus versiones.
Para ello resulta de vital importancia que los estudiantes adquieran habilidades en
el uso de las herramientas empleadas en la actualidad para depurar errores en los
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
5
sistemas desarrollados con estos dispositivos, tal y como aparece recogido en los
sistemas de habilidades de dichas asignaturas. (Pereira, 2006)
1.2. Sistema de enseñanza-aprendizaje para el 8051.
La enseñanza es una actividad sumamente compleja y a través de la historia el
hombre ha experimentado diversos métodos y procedimientos con el propósito de
lograr en forma efectiva tanto la enseñanza como el aprendizaje. (Espinosa, 2006)
Para el caso específico del microcontrolador 8051, se tienen en cuenta
determinados procedimientos con el fin de lograr que el sistema de enseñanzaaprendizaje en los estudiantes se produzca con la mayor rapidez y claridad
posible. Esto se logra desarrollando toda una metodología orientada al análisis y al
aprendizaje de los microcontroladores, la cual se auxilia de hardwares
experimentales como herramientas que viabilicen la misma.
Dicha metodología se nutre del plan temático que desarrollan las asignaturas en
las que se estudia el microcontrolador 8051. Este plan comprende un conjunto de
actividades de conferencias, clases prácticas, prácticas de laboratorios y en
algunos casos actividades de seminarios con la finalidad de poner en práctica los
conocimientos para el desarrollo de aplicaciones con este microcontrolador.
A través de las conferencias se expone la esencia del objeto de estudio y se dan
orientaciones para el trabajo independiente. Tiene como objetivo instructivo
principal brindar orientación a los estudiantes acerca de los fundamentos
científico-técnicos más actualizados de la rama del saber mediante el uso
adecuado de métodos científicos y pedagógicos de modo que comprendan el
contenido. Por lo general se usan las estrategias expositivas, explicativas,
ilustrativas y es una actividad esencialmente centrada en los contenidos. (Beltrán,
2005)
La clase práctica se orienta por lo general a desarrollar el nivel productivo de
asimilación, mediante el planteamiento de problemas que el estudiante deberá
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
6
resolver ante el profesor. El profesor, por su parte, solicitará en determinados
momentos la intervención de los estudiantes seleccionados para que den a
conocer la vía de solución empleada, buscando en el manejo del lenguaje y en la
necesidad de explicar su operatoria de trabajo, elementos propios para consolidar
el conocimiento, al tiempo que obtiene información para luego hacer las
correcciones y comentarios que considere oportunos. (Beltrán, 2005)
Los objetivos instructivos fundamentales que se persiguen con esta actividad son
que los estudiantes ejecuten, apliquen, profundicen, integren y generalicen
determinados métodos de trabajo que les permitan desarrollar habilidades para
utilizar y aplicar de modo independiente los conocimientos, de modo que dominen
la rama del saber o ciencia. (Beltrán, 2005)
La práctica de laboratorio es el vehículo para poner a prueba el conocimiento
teórico, para experimentar, para elaborar hipótesis y comprobarlas. Tiene como
objetivos instructivos fundamentales lograr que los estudiantes adquieran las
habilidades propias de los métodos de la investigación científica, amplíen,
profundicen, consoliden, generalicen y comprueben los fundamentos teóricos de la
materia mediante la experimentación, empleando los medios de enseñanza
necesarios, de modo que se aproximen al método experimental de la ciencia.
(Beltrán, 2005)
De aquí se deriva que en la enseñanza de los microcontroladores los laboratorios
se dividan en:
1. Actividades de simulación: las mismas reclaman de la preparación previa
del estudiante para que sea capaz de comprobar sus conocimientos. Con la
finalidad de obtener la aplicación deseada, haciendo cambios en la
escritura de los programas, la simulación permite que se logren los
resultados esperados o lo más cercanos posibles a estos. La simulación del
hardware no admite cambios pues en el caso de este trabajo debe coincidir
con el hardware real.
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
7
2. Actividades con hardware reales: aquí el estudiante trabajará con el kit de
desarrollo y como resultado final, podrá establecer comparaciones entre los
resultados prácticos que obtiene, sus conocimientos teóricos y las
conclusiones obtenidas a través de la simulación.
1.3. Desarrollo de aplicaciones con el 8051.
En el apartado anterior se hacía alusión a la importancia del trabajo con hardware
reales en la enseñanza de las asignaturas que estudian el microcontrolador 8051.
Para el desarrollo de este trabajo se dispone de un kit de desarrollo, por ello la
metodología a seguir para el desarrollo de aplicaciones con el microcontrolador
8051 empleando este equipo es la siguiente:
1. Estudio del microcontrolador 8051. Abarca las características específicas, la
arquitectura básica, los modos de direccionamientos, el repertorio de
instrucciones, la atención a interrupciones y los subsistemas de conteo y
temporización y comunicación por puerto serie. Esta teoría la reciben los
estudiantes a través de los docentes durante las actividades de
conferencia.
2. Simulación del software. Se escriben las subrutinas y el programa principal
que dan solución a la problemática de la aplicación. En la simulación se
imita la arquitectura del microcontrolador y se obtienen resultados a través
de registros, localizaciones de memoria, puertos de entrada/salida, etc, que
son ficticios. Para ello se propone el simulador Raisonance.
3. Simulación del hardware. Previamente se diseñan los circuitos que
acompañaran al microcontrolador. Se especifican una serie de elementos
como: tipos y cantidad de memoria, dispositivos de entrada/salida,
dispositivos adicionales al microcontrolador, forma y dimensiones del
equipo, etc. Es cuando el hardware diseñado recibe el programa. El diseño
esquemático del circuito se realiza con el Proteus y estará condicionado por
los elementos que conforman el hardware real.
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
8
4. Visualización en el hardware real. Es el último paso a realizar. Antes el
estudiante debe corregir los posibles errores durante la simulación. Se
comprueba con componentes reales que la aplicación desarrollada cumple
con la problemática planteada.
1.4. El microcontrolador 8051.
El 8051 es el primer microcontrolador de la familia introducida por la corporación
Intel. El mismo, se presenta en tres versiones, con ROM interna (8051) la cual es
programada directamente por el fabricante, con EPROM interna (8751) que puede
ser programada por el usuario y sin ROM ni EPROM (8031), cuando el programa
se selecciona de manera externa (Tabla 1.1). (Vázquez, 1992)
Tabla 1.1
Versión con
Versión sin
Versión con
ROM
RAM
16-bit
ROM
ROM
EPROM
Bytes
Bytes
Timers
8051
8031
8751
4K
128
2
HMOS
8051AH
8031AH
8751H
4K
128
2
HMOS
Figura 1.1. Diagrama de pines para el microcontrolador 8051.
Tecnología
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
9
El diagrama de pines, según el formato de presentación de pines DIP (Dual in Line
Package) de este microcontrolador se muestra en la Figura 1.1. (Vega, 1999)
1.4.1 Características fundamentales.
Las características generales son las siguientes:
CPU de 8 bits.
Procesador booleano (operación sobre bits).
4 puertos de 8 bits.
128 bytes útiles para el usuario y 256 bytes incluyendo el SFR.
4K ROM.
Espacio de memoria de 64K para programa externo.
Espacio de memoria de 64K para datos externos.
Presenta dos timers.
Comunicación asíncrona full-duplex.
5 fuentes de interrupciones con niveles de prioridad.
─ 2 interrupciones externas.
─ 2 interrupciones de los timers.
─ 1 interrupción de la comunicación por puerto serie.
Oscilador interno. (Vázquez, 1992)
En la Figura 1.2 (Quintanal, 2008) se muestra el diagrama general en bloque para
el microcontrolador 8051.
1.4.2 Descripción de los espacios de memoria.
La memoria del sistema del 8051 se clasifica en tres partes fundamentales. Cada
una de estas partes se puede observar en la Figura 1.3.
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
10
Figura 1.2. Diagrama en bloque de la estructura del microcontrolador 8051.
La primera, llamada memoria de programa, en donde se encuentran todas las
instrucciones que van a ser ejecutadas por el microcontrolador, es decir, el
programa de trabajo. Algunas versiones del 8051 cuentan con memoria de
programa interna (de 2 a 4 Kb). Cuando se requiere trabajar con una localidad
arriba de ésta, la memoria del programa (externa) es seleccionada mediante la
activación de la señal PSEN (estado bajo). El máximo espacio de memoria de
programa que se puede acceder es de 64KB. (Vega, 1999)
El segundo espacio de memoria denominado, memoria de datos es accedido
mediante la activación de las señales RD y WR, durante la lectura o escritura de
datos respectivamente. En este espacio del microcontrolador toma todos los
valores
que
se
encuentran
en
memoria
como
DATOS,
es
decir,
el
microcontrolador no puede ejecutar ninguna instrucción que se encuentre aquí
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
11
almacenada. El 8051 puede direccionar también 64KB de memoria de datos.
(Vega, 1999)
Figura 1.3. Tipos de memorias en el microcontrolador 8051.
El tercer espacio de memoria es denominado como memoria RAM interna, el cual
se subdivide en 128 bytes de memoria bajos y en 128 bytes de memoria altos. En
los primeros 128, se encuentran 4 bancos de 7 registros cada uno. Estos registros
son de gran ayuda para la simplificación de los programas, debido a que cada uno
de ellos nos permite almacenar datos momentáneamente y realizar un basto
número de instrucciones del 8051. También dentro de este espacio, se encuentran
16 bytes (del 20H al 2FH) que pueden ser direccionados directamente por bit.
(Vega, 1999)
En la parte alta de la memoria RAM interna, se encuentran el contenido de los
Registros de Funciones Especiales, formado por Puertos, Registros de Control,
Acumuladores, Registros de interrupción, etc. (Vega, 1999)
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
12
1.4.3 Área de registros de funciones especiales.
El área de Registros de Funciones Especiales (SFR) se encuentra en la parte alta
(128 bytes) de la memoria RAM interna del 8051. Las direcciones de los SFR se
muestran en la Tabla 1.2. (Gillispie, 2007)
Tabla 1.2
Símbolo
ACC
B
SP
Nombre
Acumulador
Registro B
Program Status Word
(Palabra de Estado del Programa)
Stack Pointer (Apuntador de Apilamiento)
DPTR
DPL
DPH
P0
P1
P2
P3
IP
IE
TMOD
TCON
TH0
TL0
TH1
TL1
SCON
SBUF
PCON
Data Pointer (Apuntador de Datos)
Data Pointer Low Byte
Data Pointer High Byte
Puerto 0
Puerto 1
Puerto 2
Puerto 3
Control de Prioridad de Interrupciones
Control de Validación de Interrupciones
Modo de Control Timer/Contador
Control del Timer/Contador
Byte Alto del T/C 0
Byte Bajo del T/C 0
Byte Alto del T/C 1
Byte Bajo del T/C 1
Control Serie
Buffer de Datos Serie
Control de Potencia
PSW
Dirección
0E0H
0F0H
0D0H
81H
82H
83H
80H
90H
0A0H
0B0H
0B8H
0A8H
89H
88H
8CH
8AH
8DH
8BH
98H
99H
87H
1.4.4 Subsistemas fundamentales.
1.4.4.1 Conteo y temporización.
El 8051 tiene 2 temporizadores/contadores de 16 bits cada uno, llamados Timer 0
y Timer 1 respectivamente. Ambos pueden ser configurados para operar como
temporizadores (timers) o como contadores (counters).
Cuando se trabaja como temporizador, el registro contador se incrementa cada
ciclo de máquina (la temporización se produce contando los ciclos de máquina
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
13
hasta “sobre pasar” el valor prefijado). Así se puede considerar que funciona como
un contador de ciclos de máquina, de tal forma que, como a cada ciclo de máquina
le corresponden 12 períodos de reloj, la razón de conteo es 1/12 de la frecuencia
del oscilador. (Ayala, 1991)
Cuando se trabaja como contador, el registro interno del contador, es
incrementado cada vez que existe una transición de nivel alto a bajo (de 1 a 0) por
la línea de entrada correspondiente.
Para esta operación se necesitan 24
períodos de reloj, por lo que la máxima razón de conteo es 1/24 de la frecuencia
del oscilador. (Ayala, 1991)
En el momento que los bits del registro del contador pasan de todos «unos» a
todos «ceros», se activa la línea de interrupción interna correspondiente,
generándose, (si ha sido permitida) una interrupción. (Ayala, 1991)
1.4.4.2 Comunicación por puerto serie.
El puerto de comunicación serie en el 8051 trabaja en el modo full duplex, lo que
significa que puede transmitir y recibir simultáneamente. Como receptor tiene un
buffer que le permite recibir un segundo byte, antes de que el byte previamente
recibido haya sido leído por el registro receptor. Si la lectura del primer byte no se
realiza en lo que arriba el segundo, uno de los dos se pierde. A los registros
“receptor” y “transmisor” de los puertos serie se accede por un único registro
denominado SBUF. Escribiendo en el SBUF se carga el byte a transmitir y leyendo
del SBUF se accede al byte recibido. (Mackenzie, 1995)
1.5. Compilador para el 8051.
El Raisonance, constituye un ambiente de desarrollo que se destaca por la
integración y el fácil acceso a todas las herramientas necesarias para la edición,
compilación y simulación, a la vez que maneja todos los aspectos para el
desarrollo de aplicaciones con microcontroladores, incluyendo el 8051, con una
sola interfaz de usuario (Figura 1.4). Está basado en un editor de multidocumentos diseñado para satisfacer las necesidades específicas de la
CAPÍTULO I. El microcontrolador 8051. Su uso en aplicaciones docentes.
14
programación, además que el proyecto principal crea enlaces entre los varios
archivos que comprenden el proyecto y las herramientas necesarias para la
creación del mismo.
Figura 1.4. Interfaz de usuario del Raisonance.
Uno de los archivos que se obtiene como resultado de la compilación es el fichero
con extensión .hex, el cual es necesario para la simulación del hardware y para la
programación del microcontrolador en placa.
Las asignaturas que estudian el microcontrolador 8051 en las diferentes
disciplinas de la facultad, emplean para la compilación y simulación del software el
Raisonance. Por ello y por las posibilidades que brinda el trabajo con este
software, se propone el mismo para la compilación y simulación de los programas.
CAPÍTULO II. Kit de desarrollo 8051.
CAPÍTULO II.
15
Kit de desarrollo 8051.
En este capítulo se describe el kit de desarrollo empleado para la realización de
este trabajo. Está descripción brinda al lector detalles de cada una de las
secciones que conforman el kit, así como de los cables empleados para la
interconexión de las mismas y los pasos a realizar para la puesta en marcha de
las aplicaciones desarrolladas. Además, se dedica un epígrafe al simulador del
hardware.
2.1 Características del kit de desarrollo.
Para el desarrollo de estas aplicaciones, este kit de desarrollo cuenta con:
Microcontrolador AT89S52, con pulsador de reset.
Regulación lineal de tensión (5V), con LED de encendido, protección contra
inversión de polaridad y cortocircuitos.
Display de 4 dígitos de 7 segmentos con sus correspondientes drivers.
8 LED de color rojo con sus correspondientes drivers.
6 pulsadores para uso general.
Display LCD 16X2.
Conversor analógico a digital de 8 bits.
2 relays para uso de motor DC u otras cargas con caídas en el rango del
relays.
Una EEPROM, para uso de memoria externa.
Sockets para la serie AVR de 40 pin y 28 pin.
Circuito Integrado que contiene la programación del kit.
Driver TTL-EIA232, utilizando 1 canal con el microcontrolador y el otro para
uso general con salida a DB9.
Interfaces RS-232 para el proyecto y experimentos.
Cable de grabación F-F de 6 pines.
Cables F-F de 8, 4 y 2 pines para la interconexión de las diferentes
secciones del kit en dependencia de la aplicación a desarrollar.
CAPÍTULO II. Kit de desarrollo 8051.
16
Cable de comunicación por puerto serie. (Deccancode, 2008)
2.2 Las secciones del kit de desarrollo.
El kit de desarrollo esta dividido en secciones. Esto es una gran ventaja ya que
posibilita que el usuario solo tenga que interconectar de las 14 secciones que
posee el kit, las que necesite para la aplicación a desarrollar. Un esquema general
donde se visualiza cada una de las diferentes secciones con que cuenta el kit de
desarrollo se muestra en la Figura 2.1.
Figura 2.1. Esquema general de las secciones del kit de desarrollo.
CAPÍTULO II. Kit de desarrollo 8051.
17
Sección 1: Display 7 segmentos.
Esta sección contiene 4 displays 7-segmentos. En la misma CON 1 y CON 2 son
los conectores de entrada. Cada pin de CON 2 controla de forma individual la
conexión de cada display y por otra parte CON 1 es el puerto de datos y es común
para los 4 displays (Figura 2.2). (DeccanRobots, 2006)
Figura 2.2. Estructura de la sección 1.
Sección 2: IC ULN 2803.
Esta sección contiene el IC ULN 2803, el cual tiene 8 canales para alta corriente
con 8 transistores dentro y se emplea para manejar la carga externa que cualquier
microcontrolador no puede manejar directamente.
Este circuito requiere de 8 entradas (CON 3) y tiene 8 salidas (CON 4), además
que puede acondicionar una carga que posea un rango de voltaje de 24V o
conectarse al stepper de un motor en caso que se quiera que el microcontrolador
genere señales que requieran corren el mismo en una dirección particular (Figura
2.3). (DeccanRobots, 2006)
CAPÍTULO II. Kit de desarrollo 8051.
18
Figura 2.3. Estructura de la sección 2.
Sección 3: 8 LEDs.
Esta sección contiene 8 LEDs de color rojo. Estos LEDs pueden ser usados para
testear resultados binarios o para mostrar el resultado de una operación en una
determinada aplicación, en dependencia de las necesidades del usuario. El
acceso a los mismos se realiza a través del conector CON 5 y la forma en que se
encuentran ubicados se muestra en la Figura 2.4. (DeccanRobots, 2006)
Figura 2.4. Estructura de la sección 3.
CAPÍTULO II. Kit de desarrollo 8051.
19
Sección 4: Pulsadores.
Esta sección contiene 6 teclas, de las cuales 4 pueden emplearse para generar
pulsos bajos y las otras 2 restantes para pulsos altos. El uso de las mismas es
muy importante en el trabajo con interrupciones externas, ya que brinda la
posibilidad de ser empleadas como la señales de START y de STOP de un
proceso. Los detalles de la conexión de las mismas se muestran en la Figura 2.5,
donde CON 6, representa el acceso a las teclas que generan pulsos bajos y CON
7 el acceso a las teclas que generan pulsos altos. (DeccanRobots, 2006)
Figura 2.5. Estructura de la sección 4.
Sección 5: Display LCD.
Esta sección contiene un display LCD 16x2, es decir tiene 16 caracteres por línea
con un total de 2 líneas. El kit de desarrollo trae por defecto este, pero puede
sustituirse por un display LCD 16x1 ó 16x4, en dependencia de las necesidades
del usuario.
Para su uso el mismo requiere de una señal de habilitación (EN) por el pin 4, de
una señal de selección de registro (RS) por el pin 5 y otra de lectura o escritura
CAPÍTULO II. Kit de desarrollo 8051.
20
(RW) por el pin 6, además de los comandos a ejecutar, los cuales son recibidos
por el puerto de datos correspondiente a los pines del 7 al 14. El resto de los
pines corresponde a la alimentación del mismo. Todos estos pines se encuentran
agrupados en el kit de desarrollo de forma tal que CON 8 corresponde a las
señales EN, RS y RW, respectivamente, CON 9 al puerto de datos, CON 10 a la
alimentación para el uso de optical backlight y CON 11 a la conexión directa de
CON 8, CON 9 y CON 10 a los pines del display LCD (Figura 2.6).
(DeccanRobots, 2006)
Figura 2.6. Estructura de la sección 5.
Sección 6: IC ADC 0804.
Esta sección contiene el IC ADC 0804, un convertidor análogo-digital. En la Figura
2.7 se muestra la conexión de los pines para su alimentación, además de la salida
de los datos la cual corresponde a los pines del 11 al 18, siendo el pin 11 la salida
del bit más significativo (MSB) y el pin 18 la salida del bit menos significativo
(LSB). En el kit de desarrollo CON 12 representa el acceso a la salida de los
datos. (DeccanRobots, 2006)
CAPÍTULO II. Kit de desarrollo 8051.
21
Figura 2.7. Estructura de la sección 6.
Sección 7: SPDT Relays.
Esta sección contiene dos SPDT Relays. Estos relays pueden ser controlados por
el microcontrolador a través de la ULN 2803, ubicada en la sección 2. El circuito
interno y la forma de conexión de los mismos se muestran en la Figura 2.8.
Figura 2.8. Estructura de la sección 7.
CAPÍTULO II. Kit de desarrollo 8051.
22
Para el acceso a los SPDT Relays, en el kit de desarrollo se encuentran 3
conectores, los cuales están divididos en: CON 15, que recibe las señales
correspondientes al trabajo con el relay 1; CON 17, que recibe las señales
correspondientes al trabajo con el relay 2 y CON 16, que recibe la señal de
habilitación para el trabajo con un relay u otro. (DeccanRobots, 2006)
Sección 8: IC 93C46 EEPROM.
Esta sección cuenta con el circuito integrado 93C46 EEPROM. Esta memoria
puede retener el valor guardado aún cuando se desconecte la alimentación.
Cuando está conectada a tierra, la organización interna es de 8 bits de datos y
cuando está flotando o conectada a VCC, la organización interna es de 16 bits.
Para el acceso a la misma se encuentran los conectores CON 18 y CON 19. El
trabajo con una organización interna de 8 ó 16 bits se obtiene con el conector
CON 18 y las señales de habilitación y datos se obtienen a través de CON 19.
(Figura 2.9). (DeccanRobots, 2006)
Figura 2.9. Estructura de la sección 8.
Sección 9: IC 89S52.
Esta sección puede ser usada por los microcontroladores 89S51/52 o
mega8535/mega8515. En este caso se encuentra el microcontrolador 89S52. La
estructura de los puertos y los requerimientos mínimos para el trabajo con el
mismo fueron tratados en el capítulo I. En el kit de desarrollo todos los pines estás
CAPÍTULO II. Kit de desarrollo 8051.
23
tomados fuera de la conexión, por lo que no hay ninguna conexión interior hecha
entre las secciones designadas y las secciones de la unión. Para el trabajo con el
microcontrolador, esta sección cuenta con 5 conectores y un pulsador de RESET.
Los conectores están ubicados de la siguiente forma: CON 23 corresponde al
acceso al puerto 2, CON 24 corresponde al acceso al puerto 3, CON 25
corresponde al acceso al puerto 1, CON 26 corresponde al acceso al puerto 0 y
CON 27 corresponde a la conexión del cable de programación, el cual es
imprescindible para el trabajo con este dispositivo. (DeccanRobots, 2006)
Sección 10: IC 40 Pin mega AVRs.
Esta sección puede ser usada por los controladores mega 16 y mega 32, debido a
que es posible poner controladores compatibles en el mismo socket. Para su
funcionamiento normal, los AVR Megacontroladores no requieren de un oscilador
de cristal externo. Los mismos poseen un oscilador R-C con un nivel de tolerancia
muy ancho, pero si se quiere ejecutar una aplicación basada en el tiempo, este no
puede usarse para generar frecuencia estable, por lo que entonces si se debe
usar un oscilador de cristal externo. En este caso, puede conectar el oscilador de
cristal a los pines de XTAL proporcionados en el PCB. A semejanza de la sección
anterior, todos los pines estás tomados fuera de la conexión, por lo que para el
trabajo con esta sección, la misma cuenta con 7 conectores y un pulsador de
RESET. La distribución de los conectores es la siguiente: CON 28 corresponde al
acceso al puerto A, CON 29 corresponde al acceso a los pines para el trabajo con
ADC, CON 30 corresponde al acceso al puerto C, CON 32 corresponde al acceso
al puerto D, CON 33 corresponde al acceso a los pines para la conexión a un
oscilador de cristal externo, CON 34 corresponde al acceso al puerto B y CON 35
corresponde a la conexión del cable de programación, el cual es imprescindible
para el trabajo con este dispositivo. (DeccanRobots, 2006)
El kit de desarrollo con que se cuenta, solo trae el socket, debido a que el
propósito de su adquisición es el trabajo con el 89S52, pero mantiene esta sección
como una opción más para el trabajo con los microcontroladores.
CAPÍTULO II. Kit de desarrollo 8051.
24
Sección 11: IC 28 Pin mega AVRs.
Esta sección puede ser usada por el controlador mega 8. Este microcontrolador
posee características semejantes a los de la sección 10, lo que en este caso
cuenta solo con 28 pines, 12 menos que los controladores mega 16 y mega 32, lo
que se resume en un puerto de menos. Para el trabajo con esta sección, la misma
cuenta con 6 conectores y un pulsador de RESET. La distribución de los
conectores es la siguiente: CON 36 corresponde al acceso al puerto C, CON 37
corresponde al acceso a los pines para el trabajo con ADC, CON 38 corresponde
a la conexión del cable de programación, el cual es imprescindible para el trabajo
con este dispositivo, CON 39 corresponde al acceso al puerto B, CON 40
corresponde al acceso a los pines para la conexión a un oscilador de cristal
externo y CON 41 corresponde al acceso al puerto D. (DeccanRobots, 2006)
Como en el caso anterior el kit solo trae el socket, pero mantiene esta sección
como una opción más para el trabajo con los microcontroladores.
Sección 12: IC HandyProg.
El IC HandyProg es un hardware funcional empleado para programar a través de
un ejecutable el IC 89S51/52, colocado en la sección 9 y los AVRs colocados en
las secciones 10 y 11 respectivamente. Para ello, es preciso conectar CON 41 al
conector correspondiente en cada una de las secciones que requieran de la
misma. Para establecer la comunicación con la PC esta sección cuenta con una
interfaz RS-232 y se debe conectar al puerto de comunicaciones de la misma.
(DeccanRobots, 2006)
Sección 13: Suministro de energía.
Esta sección es la encargada del suministro de energía para cada una de las
secciones del kit que la requieran. Para su funcionamiento, el kit de desarrollo
necesita que lo energicen con 12VDC-500mA por CON 20. En caso de presentar
problemas con este conector puede alimentar el equipo por CON 21. Es preciso
CAPÍTULO II. Kit de desarrollo 8051.
25
señalar que todas las secciones están conectadas a esta sección de alimentación,
por lo que no se deben hacer conexiones para alimentar alguna sección de forma
individual. Esta sección cuenta además con el estabilizador de voltaje 7805, un
LED verde para indicar que el equipo se encuentra encendido y el conector CON
22, que proporciona una salida de voltaje de +5V para su uso en caso de que la
aplicación a desarrollar lo requiera. (DeccanRobots, 2006)
Sección 14: Interfaz RS-232.
Esta sección contiene la interfaz RS-232. Para el trabajo con la misma es
necesario conectar el conector CON 14 (Rx y Tx), a los pines con igual función en
el microcontrolador que en el caso del IC 89S52 serían los pines 10 y 11, además
de conectar el cable de comunicación serie de 9 pines al puerto de
comunicaciones de la PC para establecer la comunicación con la misma. La
estructura de esta sección se puede observar en la Figura 2.10. (DeccanRobots,
2006)
Figura 2.10. Estructura de la sección 14.
CAPÍTULO II. Kit de desarrollo 8051.
26
2.3 Los cables para la conexión de las secciones.
En el epígrafe anterior se explicó de forma detallada cada una de las secciones
con que cuenta el kit de desarrollo. Las mismas al encontrarse separadas
constituyen una forma organizada de distribución de los elementos puestos a
disposición, pero para su uso, por si solas no son útiles, por lo que es preciso
interconectarlas según la aplicación a desarrollar.
Para ello, el kit de desarrollo cuenta con cables multicolores F-F de 2, 4, 6 y 8
pines (Figura 2.11), cuyo uso está en dependencia del conector o las necesidades
de la conexión. Para la comunicación con la PC, cuenta además, con un cable de
comunicación serie de 9 pines el cual debe estar conectado entre el conector CON
42 de la sección 12 y el puerto de comunicaciones de la PC.
Figura 2.11. Cables multicolores F-F y cable para comunicación por puerto serie.
El cable multicolor F-F de 2 pines, es práctico para su uso en aplicaciones donde
la conexión entre 2 secciones requiera de uno o dos pines. La sección 14
constituye un ejemplo para el empleo de este cable por poseer un conector de 2
pines (CON 14), los que se utilizan para la transmisión y recepción a través del
puerto serie.
CAPÍTULO II. Kit de desarrollo 8051.
27
El cable multicolor F-F de 4 pines, es práctico para su empleo en aplicaciones que
requieran conectar 2 secciones mediante 4 pines o menos. El conector CON 2 de
la sección 1 es un ejemplo del uso de este cable, ya que la misma solo requiere de
4 pines, los que se emplean para habilitar de forma independiente cada uno de los
4 displays 7-segmentos.
El cable multicolor F-F de 6 pines, a diferencia de los otros cables, tiene la función
de ser el cable de programación, encargado de programar el microcontrolador.
Este debe estar conectado de forma permanente entre los conectores CON 41 de
la sección 12 y CON 27 para el caso en que se quiera trabajar con el 89S51/52.
El cable multicolor F-F de 8 pines, tiene como función fundamental conectar cada
uno de los puertos del microcontrolador a los puertos de datos de cada una de las
secciones que lo contengan.
El cable de comunicación serie de 9 pines es necesario para establecer la
comunicación kit-PC, ya sea para la programación del microcontrolador o para su
uso en la comunicación por puerto serie.
2.4 Trabajo con el kit de desarrollo.
Para el trabajo con el kit de desarrollo hay que tener en cuenta algunos pasos y
consideraciones.
Hacer uso del cable de comunicaciones serie de 9 pines para conectar
el kit a la PC. En la PCB se encuentran 2 interfaces RS-232, verifique
que la conexión la realizó entre el conector CON 42, de la sección 12 y
el puerto de comunicaciones de la PC.
Interconectar las diferentes secciones según las necesidades del
usuario. Para ello utilice los cables multicolores F-F en dependencia de
los pines que requiera la conexión. En caso de que no haya hecho una
correcta conexión o por una nueva necesidad y este ejecutando la
CAPÍTULO II. Kit de desarrollo 8051.
28
aplicación apague el kit y realice los cambios. Este paso no puede
realizarse durante la ejecución de la aplicación.
En el paso anterior, debe tener en cuenta que en cada conexión tienen
que coincidir el LSB y el MSB, del conector de la PCB y del conector del
cable. En ese caso puede auxiliarse de los colores de los cables
tomando el color negro como el MSB.
Energice el equipo. Para esto, debe alimentar el equipo por el conector
CON 20, con 12VDC-500mA. En caso de hacer uso del conector CON
21, es preciso verificar que la polaridad sea la correcta.
Una vez efectuado los pasos anteriores, solo queda por realizar la programación
del microcontrolador. Esto es posible haciendo uso del ejecutable HandyProg
4.0.exe.
2.5 HandyProg 4.0.
Para la programación del microcontrolador el kit de desarrollo se auxilia del IC
HandyProg, un hardware funcional que tiene el objetivo de almacenar el programa.
Esto se logra a través del ejecutable DeccamRobots ISP Programmer HandyProg
4.0 .exe. Este software consta de 3 pasos los cuales se pueden observar en la
Figura 2.12.
Pasos a seguir para la programación del microcontrolador:
1. Oprimir el botón “Open Hex File” y seleccionar el fichero con extensión .hex.
2. Selecciona el microcontrolador con el que desea trabajar. Para el caso que
ocupa este trabajo debe permanecer seleccionado el 89S52.
3. Oprimir el botón “Program”.
Luego de finalizado estos tres pasos el LED rojo que se encuentra en la sección
12 debe parpadear, lo que significa que está programando. Cuando deje de
parpadear se visualizaran los resultados de la programación.
CAPÍTULO II. Kit de desarrollo 8051.
29
Figura 2.12. Interfaz de usuario del HandyProg 4.0.
2.6 Simulación del hardware con el Proteus.
El relevante avance computacional y la carencia de dispositivos y elementos para
el diseño de circuitos, ha propiciado que en la enseñanza de las asignaturas
relacionadas con la electrónica, se empleen software que ayuden a los estudiantes
a comprender y entender de forma simulada la función y comportamientos de
cualquier diseño o aplicación que se quiera realizar.
Poder simular el hardware y con los resultados obtenidos comprobar que el
programa cumple los requerimientos de la aplicación es de gran importancia para
una correcta realización de las prácticas de laboratorios, pues con esto se logra
que:
El número de alumnos que pueda realizar la práctica a la vez, dependa de
las máquinas disponibles en los laboratorios y no de un hardware real.
Los errores cometidos por los estudiantes durante la escritura de los
programas puedan ser erradicados luego de la visualización de los
resultados durante la simulación.
CAPÍTULO II. Kit de desarrollo 8051.
30
No se generen daños en el kit de desarrollo, ya que las componentes
virtuales son indestructibles.
La realización de las prácticas sean más dinámicas e instructivas.
Para la simulación del hardware los estudiantes no tienen que montar los
esquemas de los circuitos. Estos esquemas se encuentran en la carpeta Hardware
dentro de las carpetas correspondientes a cada uno de los laboratorios, en el CD
adjunto.
El diseño del hardware y la posterior simulación de cada una de las secciones del
kit de desarrollo y de las prácticas de laboratorio fueron realizados con el Proteus
7 Professional.
Como estrategia a seguir se montó cada sección en un esquema por separado,
teniendo en cuenta los requisitos para la interconexión de cada uno de los
elementos que conforman el kit. Esto garantiza que el usuario al desarrollar
determinada aplicación emplee solo las secciones que necesite y no tenga que
cargar con un esquema general en el que tenga elementos sobrantes.
Otra consideración para el montaje fue mantener la numeración de cada elemento
en cada sección de forma tal que coincidan con la numeración de los elementos
del kit en su forma real.
En su conjunto el kit de desarrollo cuenta con 14 secciones. Para la simulación se
tiene en cuenta solo 10 (Figura 2.13). Esto se debe a que las secciones 10 y 11,
no corresponden al trabajo con el microcontrolador 8051; la sección 12
corresponde al IC HandyProg, encargada de programar el microcontrolador, pero
en nuestro caso no es necesario debido a que para la simulación, este puede
programarse de forma directa; y la sección 13 que corresponde a la alimentación
del kit lo que se logra de forma directa con el montaje de cada sección.
CAPÍTULO II. Kit de desarrollo 8051.
31
Figura 2.13. Esquema para la simulación de las secciones del kit de desarrollo.
Durante el montaje de cada uno de los esquemas surgieron algunas limitantes
propias del software. Entre estas limitaciones del diseño se encuentra el display 7
segmentos empleado en la sección 1, ya que solo tiene 7 entradas de datos y una
para la habilitación, careciendo entonces del punto o DP. Otra limitación constituye
la no existencia en las librerías de esta herramienta de trabajo del IC 93C46
EEPROM, por lo que se empleó en su lugar el IC 25LC160B. Con estos cambios
la simulación del kit de desarrollo no se ve afectada, pues se logran visualizar los
resultados sin ningún tipo de dificultad.
Pasos a seguir para la programación del microcontrolador de forma simulada:
1. Dar doble click sobre el microcontrolador o click derecho\Edit properties y
en la ventana de diálogo Edit Component en Program File, seleccione el
fichero con extensión .hex.
2. Una vez seleccionado el fichero acepte y corra la simulación.
CAPÍTULO II. Kit de desarrollo 8051.
32
Como metodología de trabajo para el uso del kit en el desarrollo de aplicaciones
se propone:
1. Compilar y simular con el Raisonance cada uno de los programas y obtener
el fichero con extensión .hex.
2. Simular en el Proteus el hardware previamente diseñado. Para ello emplee
el fichero con extensión .hex.
3. Visualizar de forma real en el kit la aplicación desarrollada. Para ello
emplee el mismo fichero que en el paso 2 y siga los pasos descritos en el
epígrafe anterior.
CAPÍTULO III. Prácticas de laboratorios.
CAPÍTULO III.
33
Prácticas de laboratorios.
Este capítulo contiene los laboratorios que demuestren el uso del kit de desarrollo
para la enseñanza de las asignaturas en las que se estudia el microcontrolador
8051. Cada una de estas prácticas de laboratorios contiene un ejemplo que ilustra
el funcionamiento y el manejo con las secciones del kit de desarrollo y proponen
ejercicios con los cuales el estudiante puede ejercitar las habilidades alcanzadas.
3.1
Práctica de Laboratorio Nº 1: Familiarización con el Kit de Desarrollo
8051.
Objetivos:
Familiarizarse con el simulador del 8051 con el uso de un pequeño
programa.
Familiarizarse con el hardware puesto a disposición, de forma real y
simulada.
Ejercitar el trabajo con el repertorio de instrucciones del microcontrolador
8051.
Técnica operatoria:
1. Analice el siguiente programa.
$MOD51
PDATOS EQU P2
ORG 0000H
LJMP INICIO
ORG 50H
INICIO:MOV A,#55H
LAZO:MOV PDATOS,A
LCALL DEMORA_1S
CPL A
JMP LAZO
CAPÍTULO III. Prácticas de laboratorios.
34
ORG 100H
DEMORA_1S:MOV R5,#7
LAZO2:MOV R6,#239
LAZO1:MOV R7,#255
DJNZ R7,$
DJNZ R6,LAZO1
DJNZ R5,LAZO2
RET
END
2. Cargue el Raisonance y simule el programa anterior. El fichero se
encuentra con el nombre Ejemplo_1.asm, en la carpeta Laboratorio_1, la
cual está colocada dentro de la carpeta Laboratorios, en el CD adjunto.
3. Cargue el Proteus y simule el software anterior. El fichero con extensión
.hex y el esquema que contiene el hardware para la simulación de esta
práctica de laboratorio (Figura 3.1), se encuentran en la carpeta
Laboratorio_1 la cual está colocada dentro de la carpeta Laboratorios, en el
CD adjunto.
Figura 3.1. Esquema para la simulación del hardware de la práctica de laboratorio Nº 1.
CAPÍTULO III. Prácticas de laboratorios.
35
4. Conecte y alimente el kit de desarrollo. Realice la conexión de las
secciones como se describe a continuación:
Utilice un cable multicolor F-F de 8 pines para realizar la conexión de los
conectores CON 3 y CON 23, pertenecientes a las secciones 2 y 9
respectivamente. De igual forma emplee otro cable multicolor F-F de 8 pines
para conectar los conectores CON 4 y CON 5, pertenecientes a las secciones
2 y 3 respectivamente (Figura 3.2).
Figura 3.2. Esquema para la conexión de las secciones necesarias para la práctica de
laboratorio Nº 1.
Verifique que el cable multicolor F-F de 6 pines permanezca conectado entre
los conectores CON 27 en la sección 9 y CON 41 en la sección 12. Recuerde
que este cable es imprescindible para la programación del microcontrolador.
5. Cargue el HandyProg y corra el fichero .hex empleado para la simulación
en el ejercicio anterior.
6. Compare los resultados obtenidos en los ejercicios 4 y 5.
7. Escriba un programa que empleando el hardware de la Figura 3.1:
7.1
Barra de izquierda a derecha el encendido de uno de los LEDs
situados a la salida del Puerto 2 (P2) de forma continua cada un
segundo.
CAPÍTULO III. Prácticas de laboratorios.
7.2
36
Barra en ambas direcciones el encendido de uno de los LEDs
situados a la salida del Puerto 2 (P2) de forma continua cada un
segundo.
7.3
Incremente el encendido de los LEDs situados a la salida del Puerto 2
(P2) de forma continua cada un segundo en la dirección que UD
desee.
NOTA: Repita los ejercicios 2, 3 y 4 para cada uno de estos programas.
3.2
Práctica de Laboratorio Nº 2: Interrupciones externas con el 8051.
Objetivos:
Relacionarse con el uso del simulador 8051 usando subrutinas e
interrupciones externas.
Explotar las posibilidades que brinda el kit de desarrollo para el trabajo con
interrupciones externas según los conocimientos adquiridos.
Técnica operatoria:
La Figura 3.3 muestra el esquema que contiene el hardware para la simulación de
esta práctica de laboratorio.
Empleando este hardware:
1. Escriba una subrutina de atención a la interrupción externa INT0, de forma
tal que cuando presione SW1 los LEDs conectados a la salida del Puerto 2
(P2) enciendan cada un segundo.
2. Escriba una subrutina de atención a la interrupción externa INT1, de forma
tal que cuando presione SW2 los LEDs conectados a la salida del Puerto 2
(P2) enciendan de forma alternada cada 3 segundos.
CAPÍTULO III. Prácticas de laboratorios.
37
Figura 3.3. Esquema para la simulación del hardware de la práctica de laboratorio Nº 2.
3. Escriba un programa para que los LEDs conectados a la salida del Puerto 2
(P2) permanezcan apagados mientras no ocurra ninguna interrupción
externa. Si se produce una interrupción y pasados los 30 segundos no
ocurre la otra debe volver al programa principal. Para la realización del
programa emplee las subrutinas escritas en los ejercicios 1 y 2 y ten en
cuenta los siguientes segmentos de programas.
PDATOS EQU P2
INICIO:
.
.
.
EXT_SW1:
.
.
.
RETI
EXT_SW2:
.
.
.
RETI
DEMORA_1S:
.
.
.
DEMORA_3S:
.
.
.
RET
END
CAPÍTULO III. Prácticas de laboratorios.
38
4. Realice los pasos necesarios para visualizar los resultados de forma
simulada y real. Tenga en cuenta los pasos descritos en la Práctica de
Laboratorio Nº 1.
La solución al ejercicio 3 puede verse en el Anexo 2.
Los ficheros correspondientes a la solución de este ejercicio y el esquema que
contiene el hardware para la simulación se encuentran en la carpeta
Laboratorio_2, la cual está colocada dentro de la carpeta Laboratorios, en el CD
adjunto.
Para realizar la conexión de cada una de las secciones del kit de desarrollo que se
emplean en esta práctica:
Utilice un cable multicolor F-F de 8 pines para realizar la conexión de los
conectores CON 3 y CON 23, pertenecientes a las secciones 2 y 9
respectivamente. De igual forma emplee otro cable multicolor F-F de 8 pines para
conectar los conectores CON 4 y CON 5, pertenecientes a las secciones 2 y 3
respectivamente.
Figura 3.4. Esquema para la conexión de las secciones necesarias para la práctica de
laboratorio Nº 2.
CAPÍTULO III. Prácticas de laboratorios.
39
Utilice un cable multicolor F-F de 2 pines para la conexión entre los bits 2 y 3 del
Puerto 3 (P3) correspondientes a los pines 2 y 3 del conector CON 24 en la
sección 9 y los pines 1 y 2 del conector CON 6 en la sección 4 (Figura 3.4).
Verifique que el cable multicolor F-F de 6 pines permanezca conectado entre los
conectores CON 27 en la sección 9 y CON 41 en la sección 12. Recuerde que
este cable es imprescindible para la programación del microcontrolador.
3.3
Práctica de Laboratorio Nº 3: Subsistema de conteo y temporización en
el 8051.
Objetivos:
Relacionarse con el uso del simulador 8051 usando el subsistema de
conteo y temporización del 8051.
Explotar las posibilidades que brinda el kit de desarrollo para el trabajo con
el sistema de conteo y temporización según los conocimientos adquiridos.
Técnica operatoria:
La Figura 3.5 muestra el esquema que contiene el hardware para la simulación de
esta práctica de laboratorio.
Empleando este hardware:
1. Escriba una subrutina para que el encendido de los LEDs conectados a la
salida del Puerto 2 (P2) se incremente de izquierda a derecha de forma
continua cada un segundo. Para el tiempo de encendido de un LED a otro
llame a la subrutina DEMORA_1S.
2. Repita el ejercicio anterior, pero ahora el encendido de los LEDs debe
producirse en el sentido contrario.
CAPÍTULO III. Prácticas de laboratorios.
40
Figura 3.5. Esquema para la simulación del hardware de la práctica de laboratorio Nº 3.
3. Escriba una subrutina de atención a teclado empleando el método de
encuesta, de forma tal que cuando presione SW1 el encendido de los LEDs
sea como se describe en el ejercicio 1. Escriba una segunda subrutina con
las mismas características que la anterior para que cuando presione SW1
el encendido de los LEDs sea como se describe en el ejercicio 2.
4. Escriba una subrutina de demora de un segundo utilizando el timer 0 en el
modo de trabajo 1 por el método de encuesta.
5. Escriba un programa para que los LEDs conectados a la salida del Puerto 2
(P2) permanezcan apagados mientras no se presione la tecla SW1. Al
presionar SW1 el encendido de los LEDs debe producirse como se describe
en el ejercicio 1. A partir de aquí cada vez que se presione SW1 el
encendido de los LEDs se producirá en el sentido contrario al que llevaba.
Para la realización del programa emplee las subrutinas escritas en los
ejercicios anteriores y ten en cuenta los siguientes segmentos de
programas.
CAPÍTULO III. Prácticas de laboratorios.
41
PDATOS EQU P2
SW1 EQU P0.0
INICIO:
.
.
.
DERECHO:
.
.
.
INVERSO:
.
.
.
DEMORA_1S:
.
.
.
TECLA1:
.
.
.
TECLA2:
.
.
.
END
6. Realice los pasos necesarios para visualizar los resultados de forma
simulada y real. Tenga en cuenta los pasos descritos en la Práctica de
Laboratorio Nº 1.
La solución al ejercicio 5 puede verse en el Anexo 3.
Los ficheros correspondientes a la solución de este ejercicio y el esquema que
contiene el hardware para la simulación se encuentran en la carpeta
Laboratorio_3, la cual está colocada dentro de la carpeta Laboratorios, en el CD
adjunto.
Para realizar la conexión de cada una de las secciones del kit de desarrollo que se
emplean en esta práctica:
Utilice un cable multicolor F-F de 8 pines para realizar la conexión de los
conectores CON 3 y CON 23, pertenecientes a las secciones 2 y 9
respectivamente. De igual forma emplee otro cable multicolor F-F de 8 pines para
conectar los conectores CON 4 y CON 5, pertenecientes a las secciones 2 y 3
respectivamente.
Utilice un cable multicolor F-F de 2 pines para la conexión entre los bits del 0 y 1
del Puerto 0 (P0) correspondientes a los pines del 1 y 2 del conector CON 26 en la
sección 9 y los pines 1 y 2 del conector CON 6 en la sección 4 (Figura 3.6).
CAPÍTULO III. Prácticas de laboratorios.
42
Figura 3.6. Esquema para la conexión de las secciones necesarias para la práctica de
laboratorio Nº 3.
Verifique que el cable multicolor F-F de 6 pines permanezca conectado entre los
conectores CON 27 en la sección 9 y CON 41 en la sección 12. Recuerde que
este cable es imprescindible para la programación del microcontrolador.
3.4
Práctica de Laboratorio Nº 4: Atención a display 7 segmentos.
Objetivos:
Relacionarse con el uso del simulador 8051 en la atención a displays 7
segmentos.
Explotar las posibilidades que brinda el kit de desarrollo para la atención a
displays 7 segmentos.
Técnica operatoria:
La Figura 3.7 muestra el esquema que contiene el hardware para la simulación de
esta práctica de laboratorio.
Empleando este hardware:
CAPÍTULO III. Prácticas de laboratorios.
43
Figura 3.7. Esquema para la simulación del hardware de la práctica de laboratorio Nº 4.
1. Escriba una subrutina que visualice en cada uno de los displays 7
segmentos el número 2.
2. Escriba una subrutina que visualice por el digito 4 de los displays 7
segmentos el número 9 cada un segundo.
3. Escriba una subrutina de atención a teclado por el método de encuesta
para detectar la tecla oprimida y devolver un número del 1 al 6 en el
acumulador. Estos números corresponden a la tecla oprimida.
4. Escriba un programa que visualice por el dígito 4 de los displays 7
segmentos el número correspondiente a la tecla oprimida. Este número
debe parpadear cada un segundo mientras no se presione otra tecla. Para
la realización del programa emplee las subrutinas escritas en los ejercicios
2 y 3 y ten en cuenta los siguientes segmentos de programas y
comentarios.
DIGITO1 EQU P3.4
DIGITO4 EQU P3.7
DIGITO2 EQU P3.5
PDATOS
DIGITO3 EQU P3.6
EQU P2
CAPÍTULO III. Prácticas de laboratorios.
44
SW1
EQU P0.0
SW4
EQU P0.3
SW2
EQU P0.1
SW5
EQU P0.4
SW3
EQU P0.2
SW6
EQU P0.5
CERO
EQU 01110111B
CINCO
EQU 01101110B
UNO
EQU 01000001B
SEIS
EQU 01111110B
DOS
EQU 00111011B
SIETE
EQU 01000011B
TRES
EQU 01101011B
OCHO
EQU 01111111B
CUATRO
EQU 01001101B
NUEVE
EQU 01101111B
INICIO:
.
.
.
VISUA:
.
.
.
TECLA_DET:
.
.
.
RET
DEMORA_1S:
.
.
.
RET
END
5. Realice los pasos necesarios para visualizar los resultados de forma
simulada y real. Tenga en cuenta los pasos descritos en la Práctica de
Laboratorio Nº 1.
La solución al ejercicio 4 puede verse en el Anexo 4.
Los ficheros correspondientes a la solución de este ejercicio y el esquema que
contiene el hardware para la simulación se encuentran en la carpeta
Laboratorio_4, la cual está colocada dentro de la carpeta Laboratorios, en el CD
adjunto.
Para realizar la conexión de cada una de las secciones del kit de desarrollo que se
emplean en esta práctica:
Utilice un cable multicolor F-F de 8 pines para realizar la conexión de los
conectores CON 3 y CON 23, pertenecientes a las secciones 2 y 9
respectivamente. De igual forma emplee otro cable multicolor F-F de 8 pines para
CAPÍTULO III. Prácticas de laboratorios.
45
conectar los conectores CON 4 y CON 1, pertenecientes a las secciones 2 y 1
respectivamente.
Utilice un cable multicolor F-F de 4 pines para la conexión entre los bits del 0 al 3
del Puerto 3 (P3) correspondientes a los pines del 0 al 3 del conector CON 24 en
la sección 9 y los pines del conector CON 2 en la sección 2.
Utilice otro cable multicolor F-F de 4 pines para la conexión entre los bits del 0 al 3
del Puerto 0 (P0) correspondientes a los pines del 0 al 3 del conector CON 26 en
la sección 9 y los pines del conector CON 6 en la sección 4. De igual forma
emplee un cable multicolor F-F de 2 pines para la conexión entre los bits 4 y 5 del
Puerto 0 (P0) correspondientes a los pines del 4 y 5 del conector CON 26 en la
sección 9 y los pines del conector CON 7 en la sección 4 (Figura 3.8).
Figura 3.8. Esquema para la conexión de las secciones necesarias para la práctica de
laboratorio Nº 4.
Verifique que el cable multicolor F-F de 6 pines permanezca conectado entre los
conectores CON 27 en la sección 9 y CON 41 en la sección 12. Recuerde que
este cable es imprescindible para la programación del microcontrolador.
CAPÍTULO III. Prácticas de laboratorios.
3.5
46
Práctica de Laboratorio Nº 5: Atención a display LCD.
Objetivos:
Relacionarse con el uso del simulador 8051 en la atención a display LCD.
Explotar las posibilidades que brinda el kit de desarrollo para la atención a
display LCD.
Técnica operatoria:
La Figura 3.9 muestra el esquema que contiene el hardware para la simulación de
esta práctica de laboratorio.
Figura 3.9. Esquema para la simulación del hardware de la práctica de laboratorio Nº 5.
Empleando este hardware:
1. Escriba una subrutina que permita escribir los comandos necesarios para
trabajar con el display LCD.
2. Escriba una subrutina para:
CAPÍTULO III. Prácticas de laboratorios.
47
2.1 Inicializar el display. Para esto tenga en cuenta lo siguiente:
Recibirá datos por las 8 líneas, en el modo de 2 líneas y con el formato
de 5x7.
Al encender la pantalla el cursor estará subrayado y parpadeando.
El próximo carácter se escriba a la derecha del anterior.
2.2 Regresar el cursor al inicio y limpiar el display.
3. Escriba una subrutina que permita escribir un carácter en el display LCD si
el mismo se encuentra en el acumulador.
4. Escriba una subrutina que permita escribir una cadena de caracteres en el
display LCD que termine en 0. La cadena se encuentra en el DPTR.
5. Escriba un programa que visualice en el display LCD dos cadenas de
caracteres que terminen en 0 cada una de ellas. Las mismas deben
aparecer y borrarse continuamente de forma alternadas. Para la realización
del programa emplee las subrutinas escritas en los ejercicios 1, 2 y 4 y ten
en cuenta los siguientes segmentos de programas y comentarios.
$MOD51
;Puertos
RS EQU P3.5
RW EQU P3.6
;Registros
LCD_BUSY_RD EQU 02H
EN EQU P3.7
PDATOS EQU P2
;Comandos
LCD_CLR EQU 01h
LCD_CHAR EQU 06h
;Regresa al inicio y borra todo.
;Forma de entrada de caracteres: se incrementa
;(próximo caracter a la derecha y el display
;shift on esta deshabilitado (al llenarse la
;pantalla esta desplaza la ventana de caracteres
;a la derecha).
LCD_SETVISIBLE EQU 0FH
;Se enciende el display con subrayado del
;cursor, y parpadeo.
LCD_1LINEA EQU 34h
;8 bit interface, 1 line mode, 5X7 pixels
LCD_2LINEA EQU 3Ch
;8 bit interface ,2 line mode, 5X7 pixels
DIR_1 EQU 80h
;pone el cursor en el inicio de la primera línea.
DIR_2 EQU 0C0H
;pone el cursor en el inicio de la segunda línea
;vector RESET.
;programa principal.
;subrutina de inicialización del display LCD.
CAPÍTULO III. Prácticas de laboratorios.
48
;subrutina para escribir comandos.
;subrutina para escribir una cadena de caracteres que termine en 0.
;subrutina de espera. Comprueba si el puerto está listo para Rx
;datos.
WAIT_LCD:MOV A,LCD_BUSY_RD
JB ACC.7,WAIT_LCD
CLR EN
CLR RW
RET
;subrutinas de demora.
6. Realice los pasos necesarios para visualizar los resultados de forma
simulada y real. Tenga en cuenta los pasos descritos en la Práctica de
Laboratorio Nº 1.
La solución al ejercicio 5 puede verse en el Anexo 5.
Los ficheros correspondientes a la solución de este ejercicio y el esquema que
contiene el hardware para la simulación se encuentran en la carpeta
Laboratorio_5, la cual está colocada dentro de la carpeta Laboratorios, en el CD
adjunto.
Para realizar la conexión de cada una de las secciones del kit de desarrollo que se
emplean en esta práctica:
CAPÍTULO III. Prácticas de laboratorios.
49
Figura 3.10. Esquema para la conexión de las secciones necesarias para la práctica de
laboratorio Nº 5.
Utilice un cable multicolor F-F de 8 pines para realizar la conexión de los
conectores CON 9 y CON 23, pertenecientes a las secciones 5 y 9
respectivamente.
Utilice un cable multicolor F-F de 4 pines para la conexión entre los bits del 5 al 7
del Puerto 3 (P3) correspondientes a los pines del 5 al 7 del conector CON 24 en
la sección 9 y los pines del conector CON 8 en la sección 5 (Figura 3.10).
Verifique que el cable multicolor F-F de 6 pines permanezca conectado entre los
conectores CON 27 en la sección 9 y CON 41 en la sección 12. Recuerde que
este cable es imprescindible para la programación del microcontrolador.
3.6
Práctica de Laboratorio Nº 6: Subsistema de comunicación por puerto
serie con el 8051.
Objetivos:
Relacionarse con el uso del simulador 8051 usando el subsistema de
comunicación por puerto serie.
Explotar las posibilidades que brinda el kit de desarrollo para transmitir y
recibir datos por el puerto serie.
Técnica operatoria:
La Figura 3.11 muestra el esquema que contiene el hardware para la simulación
de esta práctica de laboratorio.
Empleando este hardware:
1. Escriba una subrutina para configurar el puerto serie a una velocidad de
2400 baud, en el modo 1 sin duplicar la razón de baudios.
CAPÍTULO III. Prácticas de laboratorios.
50
2. Escriba una subrutina para transmitir un cadena de caracteres que termine
en cero por el puerto serie y sea visualizada en el HyperTerminal de
Windows y en el display LCD del kit desarrollo.
Figura 3.11. Esquema para la simulación del hardware de la práctica de laboratorio Nº 6.
3. Escriba un programa que transmita una cadena de caracteres por puerto
serie al HyperTerminal de Windows y sea visualizada en el display LCD del
kit de desarrollo. Para la realización del programa emplee las subrutinas
escritas en los ejercicios anteriores y ten en cuenta los siguientes
segmentos de programas.
BAUDNUM EQU ##H
;## en decimal se obtiene a partir de
;TH1=256-Xtal/192*Rbaud
; Puertos, registros y comandos para el display LCD.
CAPÍTULO III. Prácticas de laboratorios.
51
ORG 00H
LJMP INICIO
CADENA: DB 'PUERTO SERIE'
DB 0
INICIO:
.
.
.
; subrutina para transmitir una cadena de caracteres por
puerto serie.
END
4. Realice los pasos necesarios para visualizar los resultados de forma
simulada y real. Tenga en cuenta los pasos descritos en la Práctica de
Laboratorio Nº 1.
La solución al ejercicio 3 puede verse en el Anexo 6.
Los ficheros correspondientes a la solución de este ejercicio y el esquema que
contiene el hardware para la simulación se encuentran en la carpeta
Laboratorio_6, la cual está colocada dentro de la carpeta Laboratorios, en el CD
adjunto.
Para realizar la conexión de cada una de las secciones del kit de desarrollo que se
emplean en esta práctica:
Emplee un cable multicolor F-F de 2 pines para establecer la conexión entre el
conector CON 14 en la sección 14 y los dos bits menos significativos del Puerto 3
(P3) correspondientes a los pines 1 y 2 del conector CON 24 en la sección 9.
Utilice un cable multicolor F-F de 8 pines para realizar la conexión de los
conectores CON 9 y CON 23, pertenecientes a las secciones 5 y 9
respectivamente.
Utilice un cable multicolor F-F de 4 pines para la conexión entre los bits del 5 al 7
del Puerto 3 (P3) correspondientes a los pines del 5 al 7 del conector CON 24 en
la sección 9 y los pines del conector CON 8 en la sección 5. Debe tener en cuenta
que este conector solo presenta 3 pines por lo que en el cable multicolor F-F de 4
pines el cable de color rojo queda libre (Figura 3.12).
CAPÍTULO III. Prácticas de laboratorios.
52
Figura 3.12. Esquema para la conexión de las secciones necesarias para la práctica de
laboratorio Nº 6.
Verifique que el cable multicolor F-F de 6 pines permanezca conectado entre los
conectores CON 27 en la sección 9 y CON 41 en la sección 12. Recuerde que
este cable es imprescindible para la programación del microcontrolador.
Figura 3.13. Ventana de inicio de conexión en el HyperTerminal.
CAPÍTULO III. Prácticas de laboratorios.
53
Para la configuración del HyperTerminal:
1. Una vez descargado en placa el programa, desconectar el cable de
comunicación serie de CON 42 en la sección 12 y conectarlo a la interfaz
de comunicación por puerto serie de la sección 14.
2. Iniciar el programa HyperTerminal de Windows, para lo que debe ir a menú
INICIO/Programas/Accesorios/Comunicaciones/HyperTerminal,
donde aparecerá una nueva conexión como se muestra en la Figura 3.13.
3. Se le da un nombre a la conexión y se escoge un icono para que la
represente.
4. Selecciona el puerto de salida teniendo en cuenta la conexión física del
cable. Esta conexión física del cable no necesita usar las líneas de control
del puerto serie por lo que de las 9 vías del mismo solo se usarán los pines
2, 3 y 5 que representan recepción de datos, transmisión y
tierra del
sistema respectivamente. Luego aparecerá en pantalla la ventana de
configuración de la sesión de HyperTerminal como se muestra en la Figura
3.14.
Figura 3.14. Ventana de configuración de la sesión de HyperTerminal.
CAPÍTULO III. Prácticas de laboratorios.
54
5. Configurar el puerto con los mismos parámetros que se tuvo en cuenta para
la programación del microcontrolador.
6. Una vez configurada la sesión se puede comenzar la comunicación con el
microcontrolador con un RESET y obtener resultados como el que muestra
la Figura 3.15. (Pineda, 2009)
Figura 3.15. Ventana de la sesión del HyperTerminal.
3.7
Práctica de Laboratorio Nº 7: Convertidor Análogo Digital (ADC).
Objetivos:
Relacionarse con el uso del simulador 8051 usando un convertidor análogodigital.
Explotar las posibilidades que brinda el kit de desarrollo para visualizar el
valor correspondiente a una señal de voltaje muestreada.
Técnica operatoria:
La Figura 3.16 muestra el esquema que contiene el hardware para la simulación
de esta práctica de laboratorio.
CAPÍTULO III. Prácticas de laboratorios.
55
Empleando este hardware:
1. Escriba una subrutina para leer datos del ADC y devolver en las direcciones
41H, 42H y 43H, el dígito correspondiente a las centenas, decenas y
unidades del número de tres cifras leído desde el ADC.
2. Escriba un programa que visualice en los dígitos 2, 3 y 4 del display 7
segmentos el número de tres cifras correspondiente al dato leído en el
ADC. Emplee una subrutina de demora de un segundo de forma tal que
primero muestre en el dígito 2, el número correspondiente a las centenas,
luego en el dígito 3, el número correspondiente a las decenas y finalmente
en el dígito 4, el número correspondiente a las unidades. Ten en cuenta la
subrutina del ejercicio anterior y los siguientes segmentos de programas.
Figura 3.16. Esquema para la simulación del hardware de la práctica de laboratorio Nº 7.
$MOD51
;ADC
ADC_INPUT EQU P0
ADC_REGISTER EQU 40H
CENT
DECEN
UNID
EQU 41H
EQU 42H
EQU 43H
;Display 7 segmentos
DIGITO1 EQU P3.0
DIGITO2 EQU P3.1
DIGITO3 EQU P3.2
DIGITO4 EQU P3.3
PDATOS_7SEG EQU P2
CAPÍTULO III. Prácticas de laboratorios.
CERO
UNO
DOS
TRES
CUATRO
EQU
EQU
EQU
EQU
EQU
77H
41H
3BH
6BH
4BH
INICIO:
.
.
.
READ_ADC:
.
.
.
VISUA_7SEG:
.
.
.
56
CINCO
SEIS
SIETE
OCHO
NUEVE
EQU
EQU
EQU
EQU
EQU
6EH
7EH
43H
7FH
6FH
CONV:
.
.
.
DEMORA_1S:
.
.
.
3. Realice los pasos necesarios para visualizar los resultados de forma
simulada y real. Tenga en cuenta los pasos descritos en la Práctica de
Laboratorio Nº 1.
La solución al ejercicio 2 puede verse en el Anexo 7.
Los ficheros correspondientes a la solución de este ejercicio y el esquema que
contiene el hardware para la simulación se encuentran en la carpeta
Laboratorio_7, la cual está colocada dentro de la carpeta Laboratorios, en el CD
adjunto.
Para realizar la conexión de cada una de las secciones del kit de desarrollo que se
emplean en esta práctica:
Emplee un cable multicolor F-F de 8 pines para establecer la conexión entre el
conector CON 12, perteneciente a la sección 6 y el conector CON 26 de la sección
9. Además para leer del ADC se deben cortocircuitar los pines 2 y 3 del ADC.
Utilice otro cable multicolor F-F de 8 pines para realizar la conexión de los
conectores CON 3 y CON 23, pertenecientes a las secciones 2 y 9
respectivamente. De igual forma emplee otro cable multicolor F-F de 8 pines para
conectar los conectores CON 4 y CON 1, pertenecientes a las secciones 2 y 1
respectivamente.
CAPÍTULO III. Prácticas de laboratorios.
57
Utilice un cable multicolor F-F de 4 pines para la conexión entre los bits del 4 al 7
del Puerto 3 (P3) correspondientes a los pines del 5 al 8 del conector CON 24 en
la sección 9 y los pines del conector CON 2 en la sección 2 (Figura 3.17).
Figura 3.17. Esquema para la conexión de las secciones necesarias para la práctica de
laboratorio Nº 1.
Verifique que el cable multicolor F-F de 6 pines permanezca conectado entre los
conectores CON 27 en la sección 9 y CON 41 en la sección 12. Recuerde que
este cable es imprescindible para la programación del microcontrolador.
CONCLUSIONES
58
CONCLUSIONES
A partir de los resultados de este trabajo pueden plantearse las siguientes
conclusiones:
Se caracterizó el trabajo con el kit de desarrollo, lo que ofrece al estudiante
toda la información técnica necesaria para el manejo de cada una de las
secciones del mismo.
Se simularon los recursos de hardware. Esto posibilita que el estudiante
tenga una vía más para visualizar los resultados de la aplicación
desarrollada durante la práctica.
Se desarrolló un conjunto de ejercicios docentes en forma de prácticas de
laboratorios que demuestran el trabajo con el kit de desarrollo. Los mismos
sirven de ejemplos para el diseño de aplicaciones docentes con cada una
de las secciones o con la integración de estas.
Se propone una estrategia en la que se integran los recursos elaborados la
que servirá de guía para su uso en las asignaturas que estudien el
microcontrolador 8051.
RECOMENDACIONES
59
RECOMENDACIONES
Continuar el desarrollo de ejercicios de manera que mejoren las prácticas
de laboratorios en función de la enseñanza en otras asignaturas que
estudien el microcontrolador 8051.
Tomar como base la metodología para el trabajo con el kit de desarrollo y
utilizar software de alto nivel para
implementar una interfaz de
comunicación que permita el acceso remoto al mismo.
Integrar las prácticas de laboratorio en herramientas de ayuda a la docencia
como el MOODLE para mejorar la preparación metodológica de las
asignaturas relacionadas con este microcontrolador.
ANEXOS
60
ANEXOS
Anexo 1. Esquemas de los montajes realizados en el Proteus para la
simulación de las secciones del kit de desarrollo.
Figura A.1. Esquema para la simulación de la sección 1.
Figura A.2. Esquema para la simulación de la sección 2.
Figura A.3. Esquema para la simulación de la sección 3.
ANEXOS
61
Figura A.4. Esquema para la simulación de la sección 4.
Figura A.5. Esquema para la simulación de la sección 5.
Figura A.6. Esquema para la simulación de la sección 6.
ANEXOS
62
Figura A.7. Esquema para la simulación de la sección 7.
Figura A.8. Esquema para la simulación de la sección 8.
Figura A.9. Esquema para la simulación de la sección 9.
ANEXOS
63
Figura A.10. Esquema para la simulación de la sección 14.
Anexo 2. Solución al ejercicio 3 de la Práctica de Laboratorio Nº 2.
;*****************************
;** INTERRUPCIONES EXTERNAS **
;*****************************
$MOD51
PDATOS EQU P2
;vector RESET
ORG 00H
LJMP INICIO
; interrupción externa INT0
ORG 03H
LJMP EXT_SW1
; interrupción externa INT1
ORG 13H
LJMP EXT_SW2
; programa
ORG 50H
INICIO:MOV
CLR
MOV
LAZO:JMP
principal
IE,#85H
A
P2,A
LAZO
; subrutina de atención a la interrupción externa provocada por SW1.
ORG 100H
EXT_SW1:MOV R0,#20
CLR A
MOV A,#0FFH
LAZO1:MOV PDATOS,A
LCALL DEMORA_1S
CPL A
DJNZ R0,LAZO1
ANEXOS
64
CLR A
MOV P2,A
RETI
; subrutina de atención a la interrupción externa provocada por SW2.
ORG 150H
EXT_SW2:MOV R1,#20
CLR A
MOV A,#55H
LAZO2:MOV PDATOS,A
LCALL DEMORA_3S
CPL A
DJNZ R1,LAZO2
CLR A
MOV P2,A
RETI
;subrutina de demora de 1 segundo
ORG 200H
DEMORA_1S:MOV R5,#7
SAL2:MOV R6,#239
SAL1:MOV R7,#255
DJNZ R7,$
DJNZ R6,SAL1
DJNZ R5,SAL2
RET
;subrutina de demora de 3 segundos
ORG 250H
DEMORA_3S:MOV R4,#2
SAL3:LCALL DEMORA_1S
DJNZ R4,SAL3
RET
END
Anexo 3. Solución al ejercicio 5 de la Práctica de Laboratorio Nº 3.
;******************************************
;** SUBSISTEMA DE CONTEO Y TEMPORIZACIÓN **
;******************************************
$MOD51
PDATOS EQU P2
SW1 EQU P0.0
; vector RESET
ORG 0000H
LJMP INICIO
; programa principal
ORG 50H
INICIO:MOV TMOD, #01H
MOV PDATOS,#00H
;configuración del timer o en modo 1
ANEXOS
LAZO:JNB SW1,DERECHO
JMP LAZO
65
;si SW1 está presionada salta a DERECHO
; subrutina que muestra el encendido de los leds de izq. a der. de
; forma continua.
ORG 80H
DERECHO:CLR A
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
; verifica el estado de la tecla SW1. Si
; está presionada salta a INVERSO.
MOV A,#01H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#03H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#07H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#0FH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#1FH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#3FH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#7FH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#0FFH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
lJMP DERECHO
; subrutina que muestra el encendido de los leds de der. a izq. de
; forma continua.
ORG 150H
INVERSO:CLR A
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
; verifica el estado de la tecla SW1. Si
; está presionada salta a DERECHO.
MOV A,#80H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
ANEXOS
66
MOV A,#0C0H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
MOV A,#0E0H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
MOV A,#0F0H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
MOV A,#0F8H
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA1
MOV A,#0FCH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
MOV A,#0FEH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
MOV A,#0FFH
MOV PDATOS,A
LCALL DEMORA_1S
LCALL TECLA2
JMP INVERSO
; subrutina de demora de 1 segundo
ORG 230H
DEMORA_1S:MOV R0,#14
; inicializo un contador
INI_TIMER:SETB TR0
; habilito el timer 0
SAL1:JNB TF0,SAL1
; espero por flag activado por desborde
CLR TF0
; limpio el bit activado
CLR TR0
; deshabilito el timer 0
DJNZ R0,INI_TIMER ; repito el procedimiento hasta R0=0
RET
; subrutina para comprobar el estado de SW1 cuando los leds encienden
; en la dirección DERECHO.
ORG 250H
TECLA1:JNB SW1,SAL2
JMP FIN1
SAL2:LCALL INVERSO
FIN1:RET
; subrutina para comprobar el estado de SW1 cuando los leds encienden
; en la dirección INVERSO.
ORG 300H
TECLA2:JNB SW1,SAL3
JMP FIN2
SAL3:LCALL DERECHO
FIN2:RET
END
ANEXOS
67
Anexo 4. Solución al ejercicio 4 de la Práctica de Laboratorio Nº 4.
;*************************
;** DISPLAY 7 SEGMENTOS **
;*************************
$MOD51
DIGITO1
DIGITO2
DIGITO3
DIGITO4
PDATOS
SW1
SW2
SW3
SW4
SW5
SW6
CERO
UNO
DOS
TRES
CUATRO
CINCO
SEIS
SIETE
OCHO
NUEVE
DOT
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
P3.4
P3.5
P3.6
P3.7
P2
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
01110111B
01000001B
00111011B
01101011B
01001101B
01101110B
01111110B
01000011B
01111111B
01101111B
10000000B
ORG 00H
LJMP INICIO
;vector RESET
ORG 50H
INICIO:MOV TMOD,#01H
CLR DIGITO1
CLR DIGITO2
;utiliza el timer 0 en modo de trabajo 1.
;se inhabilitan los dígitos del
;display 7 seg.
CLR DIGITO3
CLR DIGITO4
SETB DIGITO4
MOV A,#CERO
LAZO:MOV PDATOS,A
LCALL TECLA_DET
;se habilita el dígito 4.
;lazo que visualiza un cero mientras no
;hay tecla oprimida.
;llama a la subrutina de control de tecla
;detectada.
JMP LAZO
ORG 100H
TECLA_DET:JNB SW1,TECLA1
JNB SW2,TECLA2
JNB SW3,TECLA3
JNB SW4,TECLA4
JB SW5,TECLA5
;si
;si
;si
;si
;si
presiono
presiono
presiono
presiono
presiono
la
la
la
la
la
tecla
tecla
tecla
tecla
tecla
1
2
3
4
5
visualizo
visualizo
visualizo
visualizo
visualizo
el
el
el
el
el
1.
2.
3.
4.
5.
ANEXOS
68
JB SW6,TECLA6
LJMP FIN
TECLA1:MOV A,#UNO
LCALL VISUA
;si presiono la tecla 6 visualizo el 6.
;llama a subrutina que visualiza el número
;correspondiente a la tecla oprimida.
TECLA2:MOV A,#DOS
LCALL VISUA
TECLA3:MOV A,#TRES
LCALL VISUA
TECLA4:MOV A,#CUATRO
LCALL VISUA
TECLA5:MOV A,#CINCO
LCALL VISUA
TECLA6:MOV A,#SEIS
LCALL VISUA
FIN:RET
ORG 150H
VISUA:MOV PDATOS,A
MOV R1,A
LCALL DEMORA_1S
CLR A
MOV PDATOS,A
CALL DEMORA_1S
MOV A,R1
MOV PDATOS,A
LCALL TECLA_DET
JMP VISUA
;guardo en R1 el contenido de A
;llama a subrutina de demora de 1 seg.
;limpia el contenido de A.
;devuelve a A el contenido guardado en R1.
;comprueba si hay otra tecla oprimida y
;retorna para visualizar la misma.
ORG 200H
DEMORA_1S:MOV R0,#14
;contador
INI_TIMER:SETB TR0
;habilito el timer 0.
SAL4:JNB TF0,SAL4
;lazo de espera por overflow del timer 0.
CLR TF0
;deshabilito el flag.
CLR TR0
;deshabilito el timer 0.
DJNZ R0,INI_TIMER
;repito el ciclo 15 veces para un
;tiempo de 1 seg. (1seg≈15*65535μseg).
RET
END
Anexo 5. Solución al ejercicio 5 de la Práctica de Laboratorio Nº 5.
;*****************
;** DISPLAY LCD **
;*****************
$MOD51
;Puertos
RS EQU P3.5
RW EQU P3.6
EN EQU P3.7
PDATOS EQU P2
;Registros
LCD_BUSY_RD EQU 02H
ANEXOS
69
;Comandos
LCD_CLR EQU 01h
LCD_CHAR EQU 06h
;Regresa al inicio y borra todo.
;Forma de entrada de caracteres: se incrementa
;(próximo caracter a la derecha y el display
;shift on esta deshabilitado (al llenarse la
;pantalla esta desplaza la ventana de caracteres
;a la derecha).
LCD_SETVISIBLE EQU 0FH
;Se enciende el display con subrayado del
;cursor, y parpadeo.
LCD_1LINEA EQU 34h
;8 bit interface, 1 line mode, 5X7 pixels
LCD_2LINEA EQU 3Ch
;8 bit interface ,2 line mode, 5X7 pixels
DIR_1 EQU 80h
;pone el cursor en el inicio de la primera línea.
DIR_2 EQU 0C0H
;pone el cursor en el inicio de la segunda línea
;Vector RESET
ORG 00H
LJMP INICIO
ORG 100H
CADENA_1:DB '
DB 0
LABORATORIO'
CADENA_2:DB 'ATENC A DISP LCD'
DB 0
INICIO:LCALL INIT_LCD
LCALL CLEAR_LCD
LOOP:MOV DPTR,#CADENA_1
LCALL WR_STR
LCALL DEMORA_2S
LCALL CLEAR_LCD
LCALL DEMORA_1S
MOV DPTR,#CADENA_2
LCALL WR_STR
LCALL DEMORA_2S
LCALL CLEAR_LCD
LCALL DEMORA_1S
LJMP LOOP
;subrutina de inicialización del display LCD.
INIT_LCD:MOV PDATOS,#LCD_2LINEA
LCALL WR_CMD
MOV PDATOS,#LCD_SETVISIBLE
LCALL WR_CMD
ANEXOS
70
MOV PDATOS,#LCD_CHAR
LCALL WR_CMD
RET
CLEAR_LCD:MOV PDATOS,#LCD_CLR
;subrutina para escribir comandos.
WR_CMD:CLR RS
SETB EN
CLR EN
LCALL WAIT_LCD
RET
;subrutina para escribir un caracter.
WR_CHAR:MOV PDATOS,A
SETB RS
SETB EN
CLR EN
LCALL WAIT_LCD
RET
;subrutina para escribir una cadena de caracteres que termine en 0.
WR_STR:SETB RS
LAZO:CLR A
MOVC A,@A+DPTR
JZ FIN
MOV PDATOS,A
SETB EN
CLR EN
LCALL WAIT_LCD
INC DPTR
JMP LAZO
FIN:RET
;subrutina para escribir comandos.
WAIT_LCD:MOV A,LCD_BUSY_RD
JB ACC.7,WAIT_LCD
CLR EN
CLR RW
RET
DEMORA_1S:MOV R1,#4
SAL:MOV R0,#14
INI_TIMER:SETB TR0
SAL1:JNB TF0,SAL1
CLR TF0
CLR TR0
DJNZ R0,INI_TIMER
DJNZ R1,SAL
RET
DEMORA_2S:MOV R2,#2
SAL2:CALL DEMORA_1S
DJNZ R2,SAL2
RET
END
ANEXOS
71
Anexo 6. Solución al ejercicio 4 de la Práctica de Laboratorio Nº 6.
;******************
;** PUERTO SERIE **
;******************
$MOD51
;Puertos
RS EQU P3.5
RW EQU P3.6
EN EQU P3.7
PDATOS EQU P2
BAUDNUM EQU 0F4H
;se obtiene a partir de TH1=256-12Mhz/192*2400=244
;Registros
LCD_BUSY_RD EQU 02H
;Comandos
LCD_CLR EQU 01h
LCD_CHAR EQU 06h
LCD_SETVISIBLE
LCD_1LINEA EQU
LCD_2LINEA EQU
DIR_1 EQU 80h
DIR_2 EQU 0C0H
;Regresa al inicio y borra todo.
;Forma de entrada de caracteres: se incrementa
;(próximo caracter a la derecha y el display
;shift on esta deshabilitado (al llenarse la
;pantalla esta desplaza la ventana de caracteres
;a la derecha).
EQU 0FH ;Se enciende el display con subrayado del
;cursor, y parpadeo.
34h
;8 bit interface, 1 line mode, 5X7 pixels
3Ch
;8 bit interface ,2 line mode, 5X7 pixels
;pone el cursor en el inicio de la primera línea.
;pone el cursor en el inicio de la segunda línea
ORG 00H
LJMP INICIO
ORG 100H
CADENA: DB 'PUERTO SERIE'
DB 0
INICIO:MOV PCON,#00H
MOV TMOD,#20H
MOV TH1,#BAUDNUM
SETB TR1
MOV SCON,#40H
LCALL INIT_LCD
LCALL CLEAR_LCD
MOV DPTR,#CADENA
LCALL WR_STR
LCALL WAIT_RX
;subrutina de inicialización del display LCD.
INIT_LCD:MOV PDATOS,#LCD_2LINEA
LCALL WR_CMD
ANEXOS
72
MOV PDATOS,#LCD_SETVISIBLE
LCALL WR_CMD
MOV PDATOS,#LCD_CHAR
LCALL WR_CMD
RET
CLEAR_LCD:MOV PDATOS,#LCD_CLR
;subrutina para escribir comandos.
WR_CMD:CLR RS
SETB EN
CLR EN
LCALL WAIT_LCD
RET
WAIT_LCD:MOV A,LCD_BUSY_RD
JB ACC.7,WAIT_LCD
CLR EN
CLR RW
RET
;subrutina para escribir una cadena de caracteres que termine en 0.
WR_STR:SETB RS
LAZO1:CLR A
MOVC A,@A+DPTR
JZ FIN
LCALL TX_CADENA
MOV PDATOS,A
SETB EN
CLR EN
LCALL WAIT_LCD
INC DPTR
JMP LAZO1
FIN:RET
;subrutina para escribir un caracter.
WR_CHAR:MOV PDATOS,A
SETB RS
SETB EN
CLR EN
LCALL WAIT_LCD
RET
;subrutina para transmitir una cadena de caracteres por puerto serie.
TX_CADENA:MOV SBUF,A
LAZO2:JBC TI,SAL1
SJMP LAZO2
SAL1:RET
;subrutina que espera por dato enviado por puerto serie.
WAIT_RX:JBC RI,RECIBIDO
NOP
SJMP WAIT_RX
RECIBIDO:MOV A,SBUF
ANEXOS
73
CJNE A,#'*',FIN1
MOV PDATOS,A
LCALL WR_CHAR
CLR RI
JMP WAIT_RX
FIN1:LJMP INICIO
END
Anexo 7. Solución al ejercicio 2 de la Práctica de Laboratorio Nº 7.
;*********************************
;** CONVERTIDOR ANALOGO DIGITAL **
;*********************************
$MOD51
;ADC
ADC_INPUT EQU P0
;Puerto de entrada de los datos leídos desde al ADC
ADC_REGISTER EQU 40H ;Espacio de memoria donde se almacena el dato leído
CENT
EQU 41H ;Espacio de memoria donde se almacena el dígito que
;corresponde a las centenas
DECEN EQU 42H ;Espacio de memoria donde se almacena el dígito que
;corresponde a las decenas
UNID
EQU 43H ;Espacio de memoria donde se almacena el dígito que
;corresponde a las unidades
;Display 7 segmentos
DIGITO1 EQU P3.0
DIGITO2 EQU P3.1
DIGITO3 EQU P3.2
DIGITO4 EQU P3.3
PDATOS_7SEG EQU P2
CERO
EQU 77H
UNO
EQU 41H
DOS
EQU 3BH
TRES
EQU 6BH
CUATRO EQU 4BH
CINCO
EQU 6EH
SEIS
EQU 7EH
SIETE
EQU 43H
OCHO
EQU 7FH
NUEVE
EQU 6FH
;vector RESET
ORG 00H
LJMP INICIO
;Subrutina
ORG 50H
INICIO:MOV
CLR
CLR
CLR
CLR
inicio
PDATOS_7SEG,#00H
DIGITO1
DIGITO2
DIGITO3
DIGITO4
ANEXOS
74
LAZO: LCALL READ_ADC
LCALL VISUA_7SEG
JMP LAZO
; Subrutina para leer el ADC y devuelve un numero de 3 cifras en los
; espacios de memoria CENT, DECEN y UNID.
READ_ADC:MOV
MOV
MOV
MOV
CLR
MOV
MOV
DIV
MOV
JZ
CLR
MOV
DIV
MOV
JZ
MOV
FIN1:RET
ADC_REGISTER,ADC_INPUT
CENT,#00D
DECEN,#00D
UNID,#00D
C
A,ADC_REGISTER
B,#10D
AB
UNID,B
FIN1
C
B,#10D
AB
DECEN,B
FIN1
CENT,A
; Subrutina para visualizar el número de 3 cifras obtenido en el display
; 7 segmentos.
VISUA_7SEG:SETB DIGITO1
CLR A
MOV A,CENT
LCALL CONV
MOV PDATOS_7SEG,A
LCALL DEMORA_1S
LCALL DEMORA_1S
LCALL DEMORA_1S
CLR DIGITO1
SETB DIGITO2
CLR A
MOV A,DECEN
LCALL CONV
MOV PDATOS_7SEG,A
LCALL DEMORA_1S
LCALL DEMORA_1S
LCALL DEMORA_1S
CLR DIGITO2
SETB DIGITO4
CLR A
MOV A,UNID
LCALL CONV
MOV PDATOS_7SEG,A
LCALL DEMORA_1S
LCALL DEMORA_1S
LCALL DEMORA_1S
CLR DIGITO4
RET
ANEXOS
75
; Subrutina que compara el dígito correspondiente a las centenas, decenas
; o unidades y devuelve en el ACC el número correspondiente para su
; visualización en el display 7 segmentos.
CONV:CJNE A,#00H,SAL1
MOV A,#CERO
JMP FIN2
SAL1:CJNE A,#01H,SAL2
MOV A,#UNO
JMP FIN2
SAL2:CJNE A,#02H,SAL3
MOV A,#DOS
JMP FIN2
SAL3:CJNE A,#03H,SAL4
MOV A,#TRES
JMP FIN2
SAL4:CJNE A,#04H,SAL5
MOV A,#CUATRO
JMP FIN2
SAL5:CJNE A,#05H,SAL6
MOV A,#CINCO
JMP FIN2
SAL6:CJNE A,#06H,SAL7
MOV A,#SEIS
JMP FIN2
SAL7:CJNE A,#07H,SAL8
MOV A,#SIETE
JMP FIN2
SAL8:CJNE A,#08H,SAL9
MOV A,#OCHO
JMP FIN2
SAL9:CJNE A,#09H,FIN2
MOV A,#NUEVE
FIN2:RET
; subrutina de demora de un segundo
DEMORA_1S:MOV R0,#14D
INIT_TIMER:SETB TR0
LAZO1:JNB TF0,LAZO1
CLR TF0
CLR TR0
DJNZ R0,INIT_TIMER
RET
REFERENCIAS BIBLIOGRÁFICAS
76
REFERENCIAS BIBLIOGRÁFICAS
AYALA, K. J. (1991) The 8051 Microcontroller., Western Carolina University, USA,
West Publishing Company.
BELTRÁN, C. R. (2005) Diseño y evaluación de un modelo de enseñanza
complementario presencial/virtual para la asignatura Electrónica Analógica I
de la Facultad de Ingeniería Eléctrica de la Universidad Central “Marta
Abreu” de Las Villas. Departamento de Ciencias de la Educación. Oviedo,
Universidad de Oviedo.
DECCANCODE (2008) Embedded Engineer's Development Tool For 89S and
AVR Microcontrollers.
DECCANROBOTS (2006) Embedded Engineer´s Development Tool., Pride, India.
ESPINOSA, E. F. M. M. L. (2006) HESEI: Herramientas para Sistemas de
Enseñanza
/
Aprendizaje
Inteligentes.
Santa
Clara,
Facultad
de
Matemática, Física y Computación, Universidad Central Marta Abreu de las
Villas.
GILLISPIE, M. A. J. (2007) The 8051 Microcontroler and Embedded Systems.,
Universidad Nacional de Cheng Kong, Taiwan, Prentice-Hall.
MACKENZIE, I. S. (1995) The 8051 Microcontroller., USA, Prentice-Hall.
NAVARRO.,
S.
C.
Á.
microcontroladores
H.
V.
PICs.
G.
(2007)
Departamento
Aplicaciones
de
avanzadas
Telecomunicaciones
con
y
Electrónica. Santa Clara, Facultad de Ingeniería Eléctrica, Universidad
Central "Martha Abru" de las Villas.
PEREIRA, S. P. (2006) MICROLAB-51, Ambiente de trabajo para la enseñanza de
los microcontroladores.
PINEDA, D. J. V. (2009) Unidad 6: Laboratorios relacionados con el
microcontrolador 8051., Instituto Técnológico de Chihuahua.
QUINTANAL, C. E. C. (2008) Serie AT89 Microcontroladores compatibles con
8XC51.
VÁZQUEZ, J. A. G. (1992) Introducción a los Microcontroladores.
VEGA, D. A. (1999) Manual del Microcontrolador 8051.
Descargar