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.