M Microprocesadores 2016-1

67

Click here to load reader

description

practicas

Transcript of M Microprocesadores 2016-1

Page 1: M Microprocesadores 2016-1

Universidad Nacional Autónoma de México Facultad de Estudios Superiores Cuautitlán Departamento: Ingeniería Sección: Electrónica

Laboratorio de Microprocesadores

Asignatura: Microprocesadores Clave Carrera: 130 Clave Asignatura: 0586

Autor: M. en TI. Jorge Buendía Gómez Fecha de Elaboración: 2000

Fecha de modificación: Junio 2015

Page 2: M Microprocesadores 2016-1

Índice I

Laboratorio de Microprocesadores

Índice

Índice I Prólogo II Reglamento VII Práctica 1 Herramientas de prueba para el sistema mínimo 1

1.1 Elementos de un microcomputador Práctica 2 Generador de reloj para microprocesador 6

1.1 Elementos de un microcomputador Práctica 3 Circuito de auto reset para microprocesador 11

2.4 El funcionamiento interno: los diagramas de estado

Práctica 4 Memoria EEPROM o memoria de programa 15 3.2 Estructura de los sistemas de memoria

Práctica 5 Puertos de entrada / salida (input / output) 23

8.3. Interfaces integrados: PIA, PIO, PPI y similares

Práctica 6 Memoria SRAM o memoria de datos 32 3.2 Estructura de los sistemas de memoria

Práctica 7 Conexión de dispositivo periférico de entrada (Teclado) 38 6.1.1. Control de dispositivos con técnicas de programación Práctica 8 Conexión de dispositivo periférico de salida (Display LCD) 45 6.1.1. Control de dispositivos con técnicas de programación Práctica 9 Control de velocidad de motor de CD con PWM 52 6.1.1. Control de dispositivos con técnicas de programación

Page 3: M Microprocesadores 2016-1

Prólogo II

Laboratorio de Microprocesadores

Prólogo

Objetivos generales de la asignatura

Comprender la estructura y funcionamiento de los microprocesadores para aplicarlos en la solución de problemas de ingeniería

Objetivos del curso experimental

Implementar un sistema digital que incluya un microprocesador como elemento central.

Identificar la función que realiza cada uno de los elementos que conforman el esquema de Von Neumann: reloj, microprocesador, memoria ROM, memoria RAM, puertos de entrada, puertos de salida y dispositivos periféricos.

Conocer la señalización característica que se presenta en los sistemas digitales con microprocesador e identificar de forma adecuada la forma en que interactúan los circuitos de apoyo que se emplean para la creación de una computadora.

Diseñar, programar, simular e implementar algoritmos que le permitan al sistema digital con microprocesador interactuar con los dispositivos periféricos y probar la funcionalidad de todas y cada una de las partes que conforman al esquema de Von Neumann.

Introducción Actualmente, los sistemas digitales que integran microprocesadores, se han expandido a la mayoría de los sistemas inteligentes que se emplean para controlar maquinaria industrial, sistemas de cómputo, teléfonos celulares, televisiones, electrodomésticos y en general todo aquel sistema que requiera capacidad de procesamiento automatizada. Este laboratorio proporciona al alumno la teoría y los métodos para diseñar e implementar sistemas electrónicos avanzados que incluyan microprocesadores y además todos los dispositivos periféricos necesarios para realizar las interfaces hombre máquina que permitan controlar a este tipo de sistemas, los cuales están orientados a mejorar la forma de vida de las personas y liberarlas de actividades repetitivas. Uno de los objetivos primordiales del Laboratorio de Microprocesadores es la implementación de un sistema de cómputo que emplee un microprocesador Z80 como elemento central, a este sistema digital se le conoce como “sistema mínimo”, el cual consta de los elementos más significativos para la construcción de una computadora. La implementación se llevará a cabo, armando y probando las diferentes etapas que forman al sistema en cada una de las sesiones del laboratorio avanzando de forma paulatina hasta construir el proyecto en su totalidad. Este circuito denominado sistema mínimo es en realidad una computadora completa que puede realizar todas las funciones asociadas con un sistema de esta naturaleza. El sistema mínimo a implementar se basa en el esquema de Von Neumann, el cual contiene una serie de elementos que permiten la ejecución de programas en lenguaje ensamblador y la interacción con dispositivos periféricos y con el usuario, la figura P.1 nos muestra el esquema general de la arquitectura Von Neumann, el cual consta de un sistema de reloj, un microprocesador, la memoria ROM de programa, la memoria RWM (RAM) de datos, los puertos de entrada, los puertos de salida y los dispositivos periféricos.

En cada una de las prácticas de este laboratorio se implementará una de las partes que conforman al esquema de Von Neumann para que al final del curso se tenga un sistema de cómputo completo y funcional para la ejecución de programas en lenguaje ensamblador y para la conexión de diferentes dispositivos periféricos.

Page 4: M Microprocesadores 2016-1

Prólogo III

Laboratorio de Microprocesadores

Reloj

Memoria

ROM

(Programa)

Bus de Datos

Puertos de

Entrada

Puertos de

Salida

Bus de Direcciones

Bus de Control

Memoria

RAM

(Datos)

Dispositivos Periféricos

Microprocesador

Figura P.1 El sistema armado completo se muestra en la figura P.2.

Figura P.2

En el cual se pueden identificar las siguientes partes:

1

2

3

5 6 7

4

Page 5: M Microprocesadores 2016-1

Prólogo IV

Laboratorio de Microprocesadores

# Elemento del esquema de Von Neumann

1 Circuito de reloj

2 Circuito de reset

3 Microprocesador Z80

4 Lógica de control y decodificación

5 Memoria de programa (EEPROM)

6 Memoria de datos (SRAM)

7 Puertos de entrada / salida

Tabla P.1

Cada uno de estos elementos será armado y probado para asegurar que el sistema funcione de forma adecuada. Debido a que el objetivo es implementar el sistema completo, entonces será necesario conservar la parte del circuito que se haya armado en prácticas anteriores para que poco a poco se complete el sistema mínimo y por lo tanto el alumno deberá contar con al menos 2 tabletas de prueba (protoboard) para armar el sistema como se muestra en la figura P.2. En la implementación de este sistema deben realizarse una serie de consideraciones que de llevarse a cabo traen como consecuencia un circuito sin errores de conexión y falsos contactos facilitando las pruebas y garantizando un funcionamiento correcto. Una de las consideraciones tiene que ver con la forma del alambrado, como se puede observar en la figura P.2, los alambres de conexión deben ser lo más corto posible entre 2 puntos del sistema y no deben elevarse sobre la tableta ni sobre los circuitos integrados puesto que esta acción provoca la interferencia por ruido. Los circuitos deben quedar libres en su parte superior para que puedan ser extraídos en caso de un desperfecto en su funcionamiento o para poder programar a la EEPROM o a la GAL22V10D con los diferentes programas que se diseñarán para probar el sistema. El grosor de los cables debe ser de calibre 24 estañados para que se realice un buen contacto, el cable empleado en las redes de computadoras STP categoría 5 no es recomendable puesto que es muy delgado y no produce un buen contacto en la protoboard. Para realizar la conexión, los cables deben insertarse en los orificios de la tableta de conexiones considerando que la punta descubierta del cable debe ser igual al alto de la tableta y no demasiado corta ni excesivamente larga, tal y como se muestra en la figura P.3.

Figura P.3

Además, para la elaboración del sistema se deberá considerar que algunos de los circuitos empleados son de tecnología CMOS y NMOS, por lo tanto son sensibles a descargas de voltaje por lo que hay que tener las precauciones necesarias con respecto a las descargas electrostáticas para no causarles daño. Para realizar la manipulación de los circuitos el alumno deberá descargarse sobre algún objeto metálico y tomar los circuitos por los extremos y no por las terminales. En ambientes industriales esta operación se realiza con pulseras y tapetes de descarga antiestática.

Conexión correcta Conexión Incorrecta

Tableta de Conexiones

Cable

Page 6: M Microprocesadores 2016-1

Prólogo V

Laboratorio de Microprocesadores

Para la realización de este laboratorio se utilizarán herramientas adicionales a las consideradas en los laboratorios tradicionales de electrónica, tales como computadoras, software de ensamblado y ligado de programas en lenguaje ensamblador, simuladores de microprocesadores y simuladores de circuitos digitales, software para programar memorias EEPROM y dispositivos lógicos programables GAL’s, además de la creación de una punta lógica de prueba para la comprobación del tercer estado presentado por los circuitos del proyecto. El alumno deberá estar familiarizado con estas herramientas para poder realizar los procesos necesarios para las actividades previas y pueda presentar las simulaciones de hardware o software y también los archivos ensamblados que se programarán en la memoria del sistema. Los criterios de evaluación para el laboratorio son los siguientes: C1 (Criterio de evaluación 1): Actividades previas a la práctica (40%) C2 (Criterio de evaluación 2): Habilidad en el armado y funcionalidad de los sistemas (10%) C3 (Criterio de evaluación 3): Habilidad para el manejo de del equipo e interpretación correcta de las lecturas (20%) C4 (Criterio de evaluación 4): Reporte entregado con todos los puntos indicados (30%) También será necesario incluir en cada práctica, una portada (obligatoria) como la mostrada a continuación. Instrucciones para la elaboración del reporte Para la presentación del reporte se deberá cumplir con los requisitos indicados en cada una de las prácticas, incluyendo:

Portada

Introducción.

Procedimiento experimental

Circuito

Tablas de datos

Gráficas

Comentarios

Observaciones

Esquemas

Diagramas

Cuestionario y en general todos los elementos solicitados dentro del desarrollo de la práctica.

U. N. A. M. F. E. S. C. Laboratorio de : ________________________________________ Grupo: ___________ Profesor: ________________________________________________________________ Alumno: _________________________________________________________________ Nombre de Práctica: _________________________________ No. de Práctica:________ Fecha de realización: _______________________ Fecha de entrega:________________ Semestre: ____________

Page 7: M Microprocesadores 2016-1

Prólogo VI

Laboratorio de Microprocesadores

Bibliografía

1. Brey, Barry B (2001), Los microprocesadores Intel : arquitectura, programación e interfaz de los procesadores 8086/8088, 80186/80188, 80286, 80386, 80486 Peintium, Peintium Pro y Pentuim II, México, D.F. : Pearson Educación.

2. E. Mandado, E. Tassis (1996). Diseño de sistemas digitales con microprocesadores. México, D.F. : Alfaomega.

3. Medina E. A. , Marrero M.M. (2008) Diseño de sistemas electrónicos digitales con microprocesadores. España

: Universidad de las Palmas de Gran Canaria.

4. Tokheim, Roger L. (1991). Fundamentos de los microprocesadores. Madrid; México : McGraw-Hill.

5. José Ma. Angulo Usategui. (1990). Microprocesadores 8086, 80286 y 80386. Madrid : Paraninfo.

6. Khambata, A.J. (1987). Microprocesadores-microcomputadores : Arquitectura, software y sistemas. Barcelona ; México : Gustavo Gili.

7. Ciarcia Steve. (1984). Construya una microcomputadora basada en el Z80 : Guía de diseño y funcionamiento.

Madrid ; México : Byte/Mcgraw-Hill.

8. Crisp, John.(2004). Introduction to microprocessors and microcontrollers. (2nd). Amsterdam ; Boston : Elsevier/Newnes.

Page 8: M Microprocesadores 2016-1

Reglamento Interno de los Laboratorios de Comunicaciones, Control, Sistemas Análogicos Y Sistemas Digitales VII

Laboratorio de Microprocesadores

REGLAMENTO INTERNO DE LOS LABORATORIOS DE COMUNICACIONES, CONTROL, SISTEMAS ANÁLOGICOS Y SISTEMAS DIGITALES

1. Dentro del laboratorio queda estrictamente prohibido.

a. Correr, jugar, gritar o hacer cualquier otra clase de desorden. b. Dejar basura en las mesas de trabajo y/o pisos. c. Sentarse sobre las mesas d. Fumar, Introducir alimentos y/o bebidas. e. Utilizar cualquier objeto ajeno a las prácticas de laboratorio, tales como: celulares o equipos de

sonido (aun con audífonos) excepto algún equipo para realizar las prácticas f. La presencia de personas ajenas en los horarios de laboratorio. g. Dejar los bancos en desorden. h. Mover equipos o quitar accesorios de una mesa de trabajo a otra sin el consentimiento previo del

profesor de laboratorio en turno. i. Usar o manipular el equipo sin el conocimiento previo del profesor. j. Rayar las mesas del laboratorio. k. Energizar algún circuito sin antes verificar que las conexiones sean las correctas (polaridad de las

fuentes de voltaje, multímetros, etc.). l. Hacer cambios en las conexiones o desconectar equipo estando éste energizado. m. Hacer trabajos pesados (taladrar, martillar, etc.) en las mesas de las prácticas.

2. El alumno verificará las características de los dispositivos electrónicos con el manual. 3. Es responsabilidad del alumno revisar las condiciones del equipo del laboratorio al inicio de cada práctica y

reportar cualquier anomalía que pudiera existir (prendido, dañado, sin funcionar, maltratado, etc.) al profesor del laboratorio correspondiente.

4. Es requisito indispensable para la realización de las prácticas, que el alumno cuente con su manual

completo y actualizado al semestre en curso, los cuales podrán obtener en:

http://olimpia.cuautitlan2.unam.mx/pagina_ingenieria.

5. El alumno deberá traer su circuito armado para poder realizar la práctica, de no ser así no podrá realizar dicha práctica (donde aplique) y tendrá una evaluación de cero.

6. Para desarrollar trabajos, o proyectos en las instalaciones de los laboratorios, es requisito indispensable

que esté presente el profesor responsable, en caso contrario no podrán hacer uso de las instalaciones. 7. Correo electrónico del buzón para quejas y sugerencias para cualquier asunto relacionado con los

Laboratorios ([email protected])

Page 9: M Microprocesadores 2016-1

Reglamento Interno de los Laboratorios de Comunicaciones, Control, Sistemas Análogicos Y Sistemas Digitales VIII

Laboratorio de Microprocesadores

8. La evaluación del laboratorio, será en base a lo siguiente:

A - (Aprobado); Cuando el promedio total de todas las prácticas de laboratorio sea mayor o igual a 6 siempre y cuando tengan el 90% de asistencia y el 80% de prácticas acreditadas en base a los criterios de evaluación.

NA - (No Aprobado); No se cumplió con los requisitos mínimos establecidos en el punto anterior. NP - (No Presentó); con o sin asistencia pero que no haya entregado reporte alguno.

9. Los casos no previstos en el presente reglamento serán resueltos por el Jefe de Sección. NOTA: En caso de incurrir en faltas a las disposiciones anteriores, el alumno será acreedor a las siguientes

sanciones por parte del profesor de laboratorio según sea el caso y la gravedad, baja temporal o baja definitiva del grupo de laboratorio al que está inscrito

Page 10: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 1 Herramientas de prueba para el sistema mínimo 1

Tema

1.1 Elementos de un microcomputador Objetivo

Implementar un módulo de visualización con leds para probar el estado de las salidas de los buses del microprocesador.

Implementar un dispositivo de prueba denominado “punta lógica” para probar los estados digitales de “0” lógico, “1” lógico y tercer estado “Z”.

Comprobar las mediciones de tercer estado sobre un circuito 74LS125. Introducción Para realizar pruebas al sistema en una forma más eficiente es necesario utilizar herramientas de apoyo que permiten visualizar o insertar las señales de los buses del microprocesador. En este tipo de sistemas se hace necesario verificar el estado de varias señales digitales de forma simultánea y debido a que los osciloscopios solo tienen 2 canales es preferible utilizar puntas de prueba con LED´s o barras de LED´s, tal y como se muestra en las figuras 1.1 y 1.2.

Figura 1.1 Figura 1.2 En los sistemas de microprocesadores varios de los circuitos que intervienen en su implementación son capaces de proporcionar salidas de tercer estado necesarias para dar la capacidad de conexión de 2 o más salidas en un mismo punto sin provocar un corto circuito, siempre y cuando exista un control de activación de cada una de las salidas conectadas a dicha unión. El circuito de salida típico empleado en las compuertas TTL es el circuito de Totem Pole mostrado en la figura 1.3 para una compuerta AND, en el cual se logran los estados de “0” lógico y “1” lógico al saturar y cortar a los transistores Q3 y Q4 como se muestra en la tabla 1.1.

X Y Q3 Q4 Salida

0V 0V Saturación Corte 0V

0V 5V Saturación Corte 0V

5V 0V Saturación Corte 0V

5V 5V Corte Saturación 5V

Tabla 1.1 Tabla de estados de salidas Totem Pole

Laboratorio de Microprocesadores Práctica 1

Herramientas de prueba para el sistema mínimo

Page 11: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 1 Herramientas de prueba para el sistema mínimo 2

En este circuito los transistores Q3 y Q4 siempre están en estados contrarios, nunca se establecen los 2 en corte o los 2 en saturación, lo cual produce solo 2 posibles estados “0” y “1”. En la condición de tercer estado mostrada en la figura 1.4, los 2 transistores de la salida Totem Pole Q3 y Q4 de una compuerta NAND TTL se ponen en el estado de corte y por lo tanto presentan una impedancia alta entre la salida y tierra y entre la salida y Vcc, en otras palabras al estar los 2 transistores en corte la terminal de salida es una terminal abierta o flotante que no tiene valor de “0” o de “1”.

Figura 1.3 Figura 1.4 En esta práctica se implementará además un circuito denominado “punta lógica” el cual es capaz de identificar a través del encendido de 3 leds independientes, alguno de los 3 estados posibles de un circuito que presente alta impedancia además de los dos estados lógicos “0” y “1”. Debido a que el estado de alta impedancia es muy similar al estado de desconexión, entonces la punta de prueba al aire mostrará un estado similar al tercer estado. Este circuito debe ser implementado de forma permanente para emplearlo como instrumento de prueba en todas las partes que forman al sistema de microprocesador, una posible forma de implementación es la siguiente.

Figura 1.5 Circuito de punta lógica

Figura 1.6 Punta lógica con puntas de alimentación y prueba

Page 12: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 1 Herramientas de prueba para el sistema mínimo 3

Actividades Previas a la Práctica 1. EI alumno deberá realizar la lectura de la práctica de laboratorio. 2. Realizar la simulación del circuito de la figura 1.7. 3. Realizar la simulación del circuito de la figura 1.9 considerando que en el simulador solo se pueden probar los

estados “0” y “1” lógico de entrada y el estado de alta impedancia no se puede simular. 4. Traer los circuitos armados. 5. Investigar el concepto de tercer estado. Material 10 Resistencias de 0.47 kΩ a ½ W. 8 Diodo LED Rojo ó barra de 10 leds (deberán adicionarse 2 resistencias de 0.47 kΩ a ½ W.) 1 Diodo LED Rojo 1 Diodo LED Verde 1 Diodo LED Amarillo 2 Resistencias de 1kΩ a ½ W. 1 Circuito Integrado 74LS00 1 Circuito Integrado 74LS125 1 Transistor BC547 Cables de conexión Cable plano (30 cm.) 2 Bananas Equipo 1 Multímetro 1 Proto Board Alambres de conexión Procedimiento Experimental 1. Implemente solo uno de los circuitos de las figuras 1.7 ó 1.8. 2. Compruebe el comportamiento correcto del circuito, observando el encendido y apagado de cada uno de los leds,

conectando las terminales de entrada al nivel de 5V ó tierra respectivamente.

Figura 1.7 Figura 1.8

3. Este tipo de herramientas ayudan mucho en la determinación rápida de las fallas en los circuitos que contienen procesadores y por ello es necesario implementar alguna de ellas en forma permanente como se indica en las figuras 1.1 y 1.2.

4. Implemente el circuito de la figura 1.9 considerando las terminales indicadas en cada una de las compuertas. 5. Alimente el circuito con 5V, así como la compuerta 74LS00 (terminal 14 = 5V. y terminal 7 = 0V.)

D9

D1 - D8LED

D7D6D5D4D3D2D1D0

BAR-10UR

Barra de led's

123456789

201918171615141312

10

11

D7

D4D5D6

D2D3

D0D1

R9 - R180.47k

D8

R1 - R80.47k

Page 13: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 1 Herramientas de prueba para el sistema mínimo 4

6. Compruebe el comportamiento del circuito llevando la punta lógica a los 3 posibles estados de un circuito lógico, “0” lógico igual a 0V., “1” lógico igual a 5V. y “Z” alta impedancia o tercer estado igual a punta al aire o desconectada y proceda al llenando de la tabla 1.2.

Figura 1.9 Esquemático de punta lógica

Estado punta lógica

Voltaje de Entrada

Estado Led Rojo

Estado Led Verde

Estado Led Amarillo

0

1

Z

Tabla 1.2 Tabla de valores del circuito de punta lógica

7. Implemente el circuito de la figura 1.10 manteniendo el circuito anterior.

Figura 1.10 Circuito de prueba

8. Alimente el circuito 74LS125 con 5V. en terminal 14 y 0V. en la terminal 7. 9. Compruebe la tabla de verdad del buffer empleando para ello el circuito de punta lógica armado en el punto 1.9.

Figura 1.11 Hoja técnica de circuito 74LS125

5 V

U1B

74LS00

4

56

U1A

74LS00

1

23

U1C

74LS00

9

108

U1D

74LS00

12

1311

D1 Led Rojo

"1" Logico

D2 Led Verde

"0" Logico

D3 Led Amarillo

"Z" Tercer Estado

R1

1k

R2

1k

R3

0.47K

R4

0.47K

Q1

BC547A

Punta de Prueba

U1A

74LS125A

2 3

1

A1

C1

Y1

Page 14: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 1 Herramientas de prueba para el sistema mínimo 5

Cuestionario 1. Explique el comportamiento de la compuerta lógica de tercer estado mostrada en la figura 1.4 considerando la

entrada DIS. 2. Explique el concepto de compuertas con salida de colector abierto incluyendo el diagrama de una compuerta

comercial de este tipo. 3. Explique el concepto de OR alambrada e indique a través de un diagrama de conexiones la forma en que funciona. 4. Explique porque se requiere que los circuitos de memoria y microprocesadores tengan salidas de tercer estado.

Page 15: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 2 Generador de reloj para microprocesador 6

Tema

2.1 Las señales Objetivos

El alumno implementará diferentes circuitos de temporización empleados en la generación de señales digitales de reloj para sistemas basados en microprocesador.

Introducción Uno de los elementos que conforman el esquema de Von Neumann de un sistema digital que incluye un microprocesador, es el circuito de reloj. Este sistema es el encargado de proporcionar una señal digital con una frecuencia característica definida por el microprocesador en cuestión. Las señales de reloj de los microprocesadores tienen otras características importantes, tales como el ciclo de trabajo, definido como la relación entre el tiempo que la señal de reloj se mantiene en estado alto (th) y el periodo de la señal (T ), tal y como se muestra en la figura 2.1.

𝐶𝑖𝑐𝑙𝑜 𝑑𝑒 𝑇𝑟𝑎𝑏𝑎𝑗𝑜 [%] =𝑡ℎ

𝑇∗ 100 =

𝑡ℎ

𝑡ℎ + 𝑡𝑙∗ 100

Figura 2.1

La señal digital generada por el sistema de reloj, actúa como la señal de sincronía del microprocesador, el cual ejecuta las instrucciones del programa e interactúa con los elementos que conforman al sistema tales como las memorias RAM y ROM y los puertos de entrada (I) y salida (O) en función de los cambios que realiza la señal de reloj, en la figura 2.2 se muestra el sistema de reloj dentro del esquema de Von Neumann. Todas las operaciones que realiza un microprocesador para ejecutar una instrucción o para activar un circuito, se ejecutan en sincronía con los pulsos de reloj proporcionados por el oscilador digital. Es por eso que todos los sistemas de microprocesador requieren de una base de tiempo sobre la cual trabajar. El conocimiento de las señales de reloj requeridas permite elaborar diagramas de tiempo bajo los cuales opera el microprocesador, haciendo posible sincronizar las señales del microprocesador con los tiempos de acceso, retardo o de control de sus periféricos. El parámetro más simple en la temporización de la CPU es conocido como ciclo T, y es igual a un ciclo completo del sistema de reloj como el que se muestra en la figura 2.3.

Laboratorio de Microprocesadores Práctica 2

Generador de reloj para microprocesador

T

th tl

Page 16: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 2 Generador de reloj para microprocesador 7

Reloj

Microprocesador

Memoria

ROM

(Programa)

Bus de Datos

Memoria

RAM

(Datos)

Puertos de

Entrada

Puertos de

Salida

Bus de Direcciones

Bus de Control

Dispositivos Periféricos

Figura 2.2 Reloj dentro del esquema de Von Neumann.

Figura 2.3 Ciclo de reloj T

En la figura 2.4 se muestra uno de los diagramas de tiempo empleados por el microprocesador Z80 para la realización del proceso de decodificar una instrucción almacenada en la memoria, como se puede observar, los cambios en todas las señales asociadas con el funcionamiento del microprocesador se llevan a cabo en sincronía con la señal de reloj (CLK).

Figura 2.4 Ciclo fetch del microprocesador Z80.

Page 17: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 2 Generador de reloj para microprocesador 8

Circuito VCC GND

74LS04 U1 14 7

Circuito VCC GND

74LS04 U1 14 7

Una forma de generar la señal de reloj es emplear compuertas lógicas retroalimentadas, usando resistencias y capacitores. La figura 2.5 muestra un circuito que emplea compuertas lógicas inversoras.

Figura 2.5 Oscilador con compuertas Para asegurar más estabilidad en la frecuencia y para acceder a frecuencias más elevadas, es común emplear cristales de cuarzo como elementos de control de la frecuencia de oscilación. La figura 2.6 A muestra el símbolo de un cristal de cuarzo piezoeléctrico y la figura 2.6 B muestra el circuito equivalente.

(A) (B)

Figura 2.6

En la figura 2.7 se observa un circuito que utiliza un cristal de cuarzo de 4 MHz para fijar la frecuencia de la oscilación, este tipo de circuito garantiza oscilaciones estables asociadas con la frecuencia del cristal.

Figura 2.7 Oscilador con cristal de cuarzo Dadas las elevadas frecuencias a las que trabajan algunos microprocesadores, se requieren circuitos que generen señales confiables y adecuadas a ciertas características específicas. Esto ha llevado a que algunos microprocesadores tengan, entre su familia de circuitos complementarios un C.I. temporizador construido específicamente para él. Tal es el caso del microprocesador 8080 de Intel, el cual usa como circuito temporizador al 8224, un C.I. que proporciona dos fases de reloj, una señal de READY en combinación con el segundo reloj y la propia señal de READY. Otro circuito es el 8284, también de Intel, el cual proporciona la temporización y dos señales de control para los microprocesadores 8086 y 8088. Un circuito que lo emplea se muestra en la figura 2.8.

74LS04U1A

1 2

74LS04U1B

3 4

1K

R2

1K

R1

0.1uFC1

74LS04U1C

5 6Reloj

74LS04U1A

1 2

74LS04U1B

3 4

1K

R2

1K

R1

74LS04U1C

5 6Reloj

4 MHz

XTAL

Page 18: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 2 Generador de reloj para microprocesador 9

Figura 2.8

Actividades Previas a la Práctica 1. EI alumno deberá realizar la lectura de la práctica de laboratorio. 2. Realizar la simulación del circuito de la figura 2.5. Considere que la oscilación del circuito se basa en el ruido y retrasos

en las señales del circuito y por lo tanto puede requerirse de un tiempo de espera para que la señal aparezca en el osciloscopio del simulador.

3. Traer el circuito armado. Material

2 Resistencias de 1 K, ½ W. 1 Capacitor de 0.01 uF. 2 Capacitor de 0.1 uF 1 Capacitor de 470 uF 1 Circuito integrado 74LS04 o 7404 1 Cristal de cuarzo de 4 MHz. Equipo 1 Fuente de alimentación de C.D. 1 Osciloscopio. 1 Tableta de conexiones 1 Multímetro

Procedimiento Experimental 1. Arme cada uno de los 2 circuitos de las figuras 2.5 y 2.7 polarizando los circuitos integrados a un voltaje de 5 V. 2. El circuito de la figura 2.5 se utilizará como el primer elemento del sistema con microprocesador y por lo tanto deberá

mantenerse armado para las pruebas posteriores, en la figura 2.9 se muestra la conexión sobre la protoboard. 3. Con el osciloscopio observe la señal de salida de cada uno de los circuitos (terminal 6) y mida los valores indicados en la

tabla 2.1 y dibuje las formas de onda obtenidas para cada uno de los dos circuitos.

Circuito Frecuencia (f) Periodo (T) Tiempo en alto (th) Tiempo en bajo (tl)

Fig 3.5

Fig 3.7

Tabla 2.1

Page 19: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 2 Generador de reloj para microprocesador 10

Figura 2.9 Oscilador armado en protoboard

4. Calcule el ciclo de trabajo (duty cycle) de las señales de reloj obtenidas (que porcentaje del ciclo completo se encuentra

la señal activa en alto). 5. Cambie el capacitor de 0.1 µF a los valores de 0.01 µF y 470 µF e identifique las variaciones que se presentan en la señal

de reloj del circuito de la figura 2.5. Cuestionario 1. Qué función realiza la compuerta inversora en la salida del circuito. 2. Mencione otros circuitos temporizadores (integrados o discretos) de uso general no cubiertos en la presente práctica. 3. Complemente la información dada en la introducción sobre cristales, acerca de la determinación de la frecuencia de

oscilación. 4. Que condiciones de funcionamiento tiene el reloj de salida proporcionado por el circuito 8284.

Page 20: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 3 Circuito de auto reset para microprocesador 11

Tema

2.4 El funcionamiento interno: los diagramas de estado Objetivos

Implementar un circuito de auto reset para inicializar el funcionamiento del microprocesador Z80.

Comprobar las condiciones que presenta el µP Z80 al insertar la señal de reset. Introducción En los microprocesadores la señal de reset se utiliza para llevar al microprocesador a un estado conocido. La señal de reset inicializa al µP Z80 de forma interna del siguiente modo:

Limpia el Flip Flop asociado con las interrupciones mascarables

Limpia el registro contador de programa (PC) y los registros de interrupción (I) y de refresco de memoria (R)

Selecciona el modo 0 de interrupción mascarable.

Deshabilita las interrupciones mascarables. De forma externa la señal de reset se refleja en el estado de algunas de sus señales como se indica:

El bus de direcciones y de datos se pone en alta impedancia mientras la señal de reset está activa.

Todas las señales de salida del bus de control se mantienen inactivas. Además para que la inicialización sea exitosa, la señal de reset debe mantenerse activa en bajo por lo menos 3 ciclos completos de reloj. Para la realización de un circuito de reset, se emplea una malla RC que proporciona un “0” lógico al alimentar al sistema

puesto que el capacitor está originalmente descargado y después de 5 (constantes de tiempo), el capacitor es cargado al 99.3% del voltaje de alimentación de 5V, lo que produce que la señal de reset pase a inactiva. Para lograr la especificación de 3 ciclos completos de reloj para una aplicación correcta del reset, se requiere que el voltaje de carga del capacitor se mantenga por debajo del voltaje VIL considerado como “0” lógico por un tiempo lo suficientemente largo para que transcurran 3 ciclos de reloj del microprocesador. 5V VIL = 0.8V

5 Reloj

t=0.174 Figura 3.1 Diagrama de tiempo para el reset del microprocesador.

Laboratorio de Microprocesadores Práctica 3

Circuito de auto reset para microprocesador

Page 21: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 3 Circuito de auto reset para microprocesador 12

La ecuación que describe comportamiento de carga del capacitor esta definida por:

𝑉𝑐(𝑡) = 5 (1 − 𝑒−𝑡𝜏)

y el tiempo necesario para alcanzar el valor de VIL = 0.8 V queda definido por:

𝑡 = − [𝑙𝑛 (1 −0.8

5)] 𝜏

Si se cumplen estas condiciones entonces el microprocesador se auto inicializará al alimentar al circuito completo. Sin embargo al estar el microprocesador en su funcionamiento normal se requiere ocasionalmente resetear al microprocesador y eso se puede lograr introduciendo un switch en paralelo a las terminales del capacitor descargándolo de forma directa y produciendo un estado bajo durante todo el tiempo que el switch permanezca cerrado y la señal de reset regresará al estado de inactividad (5V) al cargarse nuevamente al capacitor después de desconectar el switch. En esta práctica se integrarán el circuito de reloj, reset y microprocesador del esquema de Von Neumann como se muestra en la figura 3.2.

Reloj

Microprocesador

Memoria

ROM

(Programa)

Bus de Datos

Memoria

RAM

(Datos)

Puertos de

Entrada

Puertos de

Salida

Bus de Direcciones

Bus de Control

Dispositivos Periféricos

Figura 3.2 Reloj, microprocesador y reset en el esquema de Von Neumann. Actividades Previas a la Práctica 1. EI alumno deberá realizar la lectura de la práctica de laboratorio. 2. Obtenga el valor de tiempo teórico necesario para alcanzar el valor VIL utilizando la fórmula que describe la carga

del capacitor. 3. Traer el circuito armado Material 1 Capacitor de 0.1 uF 1 Resistencia de 1KΩ a ½ W. 1 Switch Push Button normalmente abierto 1 Diodo 1N4001 1 Microprocesador Z80 Circuito de reloj implementado en la práctica anterior

Page 22: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 3 Circuito de auto reset para microprocesador 13

Equipo 1 Fuente de C.D. 1 Osciloscopio 1 Multímetro 1 Punta lógica para prueba de tercer estado 1 Circuito de leds de prueba Procedimiento Experimental 1. Implemente el circuito de la figura 3.3 considerando que ya se tiene armado el circuito de reloj y adicione

solamente el circuito de reset y el microprocesador Z80.

Figura 3.3

2. Realice la conexión en la protoboard utilizando como referencia la fotografía de la figura 3.4

Figura 3.4 3. Observe la señal de reset en la salida del circuito y compruebe su comportamiento al presionar y liberar el botón de

reset (SW1).

1N4001D1

1kR3

0.1uF

C2

+5V74LS04U1A

1 2

+5V

Circuito VCC GND

74LS04 U1 14 7

Z80 CPU U2 11 2974LS04U1B

3 4

1K

R2

1K

R1

0.1uFC1 U2 Z80 CPU

A030

A131

A232

A333

A434

A535

A636

A737

A838

A939

A1040

A111

A122

A133

A144

A155

WAIT24

INT16

NMI17

RST26

BUSRQ25

BUSAK23

CLK6

IORQ20

HALT18

D014

D115

D212

D38

D47

D59

D610

D713

M127

MREQ19

RD21

REFSH28

WR22

74LS04U1C

5 6

SW1RESET

Page 23: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 3 Circuito de auto reset para microprocesador 14

4. Grafique la señal de reset indicando los parámetros de voltaje y tiempo, para realizar esta operación puede utilizar la función de Stop o captura de imagen que poseen los osciloscopios digitales.

5. Empleando el circuito de punta lógica compruebe que mientras está presionado el botón de reset, ambos buses de direcciones y de datos permanecen en tercer estado.

6. Compruebe el estado de las señales: BUSAK , HALT , M1 , REFRESH , MREQ , IORQ , RD y WR mientras la señal de reset está activa (0V) empleando el circuito de leds.

7. Debido a que este sistema aún no contiene una memoria ROM de programa, una vez que se libera el botón de reset, el microprocesador intenta leer la dirección 0000H, pero al estar las terminales del bus de datos al aire, entonces la lectura es teóricamente FFH o basura de forma real, por lo tanto el microprocesador no puede ejecutar ningún programa lógico.

8. Aun bajo estas condiciones, es posible probar algunas de las señales de salida del bus de control, tales como: M1 ,

REFRESH , MREQ , IORQ , RD y WR empleando el circuito de leds y el osciloscopio. 9. Observe el comportamiento de las señales anteriores, con el circuito de reset en su estado inactivo (5V). Cuestionario 1. Indique el estado de los registros del microprocesador Z80 al insertar la señal de reset activa en 0 V. 2. Investigue las condiciones que se producen al insertar la señal de reset en el microprocesador 8086 de Intel y en el

microprocesador Intel Pentium 4. (Checar en internet “Manual Pentium 4”).

3. Describa el funcionamiento de las señales M1 , REFRESH , MREQ , IORQ , RD y WR del microprocesador Z80. 4. Determine cual sería la frecuencia de reloj mínima para poder realizar correctamente el proceso de auto reset,

calcúlelo en función de la ecuación de carga del capacitor.

Page 24: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 4 Memoria EEPROM o memoria de programa 15

Tema

3.2 Estructura de los sistemas de memoria Objetivos

El alumno realizará la conexión de una memoria EEPROM a un microprocesador Z80.

El alumno programará una GAL para generar el circuito decodificador de direcciones.

El alumno creará y probará un programa de prueba en lenguaje ensamblador que será ejecutado en el microprocesador Z80.

Introducción Los microprocesadores son circuitos de muy alta escala de integración que son capaces de ejecutar una serie de códigos binarios proporcionados en secuencia sobre sus terminales de datos y controlados por las terminales de direcciones y por las señales de control, pero dichos códigos que conforman un programa, no pueden almacenarse dentro del microprocesador y por lo tanto en los sistemas de microprocesadores es necesario añadir un sistema de memoria no volátil que contenga al programa. Esta memoria de programa es típicamente una memoria de solo lectura o memoria ROM (Read Only Memory) que es programada previamente en forma independiente del sistema de microprocesador, dentro de ella y en cada una de sus localidades se almacena un dato binario que representa el código de máquina de una instrucción en lenguaje ensamblador o parte del código de máquina de una instrucción mayor. A esta memoria se le denomina la memoria de programa.

Reloj

Microprocesador

Memoria

ROM

(Programa)

Bus de Datos

Memoria

RAM

(Datos)

Puertos de

Entrada

Puertos de

Salida

Bus de Direcciones

Bus de Control

Dispositivos Periféricos

Figura 4.1 Memoria de programa ROM en el esquema de Von Neumann

Laboratorio de Microprocesadores Práctica 4

Memoria EEPROM o memoria de programa

Page 25: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 4 Memoria EEPROM o memoria de programa 16

Utilizando las señales de sus buses, los microprocesadores leen, trasladan, decodifican y ejecutan cada uno de los códigos contenidos en la memoria ROM y con estas acciones el sistema de microprocesador es capaz de realizar la ejecución lógica de un programa en lenguaje ensamblador. En esta práctica se realizará la conexión de una memoria EEPROM AT28C16, figura 4.2, con una capacidad de (2K x 8) que se utilizará para el almacenamiento de los programas de prueba del sistema de microprocesador.

Figura 4.2 Memoria EEPROM AT28C16 Además se comprobará el funcionamiento de un programa de prueba muy simple que nos permita asegurar que el sistema de microprocesador está decodificando correctamente los códigos de máquina de las instrucciones almacenadas en la EEPROM. El programa de prueba realizará la carga del acumulador (A) del microprocesador Z80 con el valor de 00H en 8 bits y lo trasladará hacia el puerto 05H (el cuál no existe físicamente), posteriormente se incrementará el valor del acumulador y se realizará un ciclo infinito de envió al puerto 05H, este programa producirá un contador binario natural ascendente en el bus de datos del microprocesador, pero debido a que el sistema no cuenta aún con puertos, el dato solo será visible en el bus de datos pero en combinación con los códigos de máquina que son trasladados desde la memoria EPROM hacia el microprocesador.

Figura 4.3 Mapa de memoria y asignación de bits de direccionamiento

16 bits

5 bits 11 bits Posición Localidad

EEPROM

AT28C16

2K x 8

64K

65536 localidades

de memoria

8 bits

0000H

07FFH

SIN USAR

Page 26: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 4 Memoria EEPROM o memoria de programa 17

A11

A12

/RD

/MREQ

/CE_EEPROM1

2345678

A15

A13

A14

En la figura 4.3 se muestra el mapa de memoria del microprocesador Z80 con un tamaño de 64K x 8 y la posición que

ocupará la EEPROM dentro del mapa, desde la dirección 0000H hasta la 07FFH y la asignación de los bits de

direccionamiento.

La memoria se conectará a partir de la dirección 0000H ya que al insertar el pulso de RESET, este microprocesador inicializa el valor del contador de programa (PC) a cero y es en ese lugar donde debe estar el código de máquina de la primera instrucción. Este microprocesador emplea 16 bits para el direccionamiento de la memoria, de los cuales se emplearán los 11 bits menos significativos para selección de la localidad interna de la memoria y los 5 bits más significativos se usarán para la decodificación de la posición de la memoria EEPROM dentro del mapa de memoria.

Para la activación de la memoria en el instante correcto se deberán considerar además de los cinco bits de direcciones (A15 – A11) = 00000, las señales MREQ = 0 y RD = 0, las que en conjunto generarán la señal de activación CE = 0 de la memoria, esto se realizará a través de una compuerta OR de 7 entradas como se muestra en la figura 4.4 e implementada dentro de un dispositivo lógico programable GAL22V10D .

Figura 4.4 Circuito de activación de la memoria EEPROM El sistema consta de un dispositivo GAL22V10D como el mostrado en la figura 4.5 que se empleará para implementar el sistema de decodificación de direcciones y permitir así realizar la activación de la memoria EEPROM en la posición y localidad correcta.

Figura 4.5 Circuito para la implementación del decodificador de direcciones.

Actividades Previas 1. EI alumno deberá realizar la lectura de la práctica de laboratorio. 2. El alumno programará la memoria AT28C16 con el código de máquina mostrado en la figura 4.11, considerando

que en cada localidad debe grabarse un byte. 3. El alumno programará el dispositivo lógico programable (PLD) GAL22V10D con la función de la compuerta OR de 7

entradas mostrada en la figura 4.12. 4. Traer el circuito armado. Material 1 Sistema mínimo con microprocesador, circuito de reloj y circuito de reset

Page 27: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 4 Memoria EEPROM o memoria de programa 18

1 Memoria AT28C16 EEPROM de 2K x 8 1 Circuito integrado GAL22V10D 1 Capacitor de 470 uF. Procedimiento experimental 1. Implemente el circuito mostrado en la figura 4.6 considerando que ya se tienen armados los circuitos de reloj y

reset y solo deberán adicionarse las memorias EEPROM AT28C16 y el dispositivo lógico programable GAL22V10D.

Figura 4.6

1N

400

1D

11k

R3

0.1

uF

C2

Un

ive

rsid

ad

Na

cio

na

l A

utó

no

ma

de

xic

o

Fa

cu

lta

d d

e E

stu

dio

s S

up

eri

ore

s C

ua

uti

tlá

n

Sis

tem

a d

e M

icro

pro

ce

sa

do

r Z

80

M. e

n T

I. J

org

e B

ue

nd

ía G

óm

ez

+5

V

U4

AT2

8C

16

A0

8

A1

7

A2

6

A3

5

A4

4

A5

3

A6

2

A7

1

A8

23

A9

22

A10

19

D0

9

D1

10

D2

11

D3

13

D4

14

D5

15

D6

16

D7

17

CE

18

OE

20

WE

21

+5

V

U3

GA

L22V

10

I/C

LK

1

I2

I3

I4

I5

I6

I/O

14

I/O

15

I/O

16

I/O

17

I/O

19

I/O

20

I/O

21

I/O

22

I/O

18

I/O

23

I7

I8

I9

I10

I11

I13

74LS

04

U1

A

12

+5

V

C

irc

uit

o V

CC

G

ND

74

LS

04

U

1 1

4 7

Z8

0 C

PU

U

2 1

1 2

9

GA

L2

2V

10

D U

3 2

4 1

2

AT

28

C1

6 U

4 2

4 1

2

74LS

04

U1

B

34

1K

R2

1K

R1

0.1

uF

C1

U2

Z8

0 C

PU

A0

30

A1

31

A2

32

A3

33

A4

34

A5

35

A6

36

A7

37

A8

38

A9

39

A10

40

A11

1

A12

2

A13

3

A14

4

A15

5

WA

IT24

INT

16

NM

I17

RS

T26

BU

SR

Q25

BU

SA

K23

CL

K6

IOR

Q20

HA

LT

18

D0

14

D1

15

D2

12

D3

8

D4

7

D5

9

D6

10

D7

13

M1

27

MR

EQ

19

RD

21

RE

FS

H28

WR

22

74LS

04

U1

C

56

SW

1R

ES

ET

Page 28: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 4 Memoria EEPROM o memoria de programa 19

2. La figura 4.7 muestra el circuito armado en 2 protoboard.

Figura 4.7 Circuito implementado en 2 Protoboard

3. Utilizando el software Z80 Simulator IDE, cuyo icono se muestra a continuación, seleccione la pestaña

Tools/Assembler para abrir la ventana de edición según se muestra en la figura 4.8.

Figura 4.8 Icono y pantallas del software Z80 Simulator IDE.

4. Edite el programa en lenguaje ensamblador mostrado en la figura 4.9 y sálvelo con el nombre prac04.asm

Figura 4.9 Programa de conteo empleando el acumulador y el puerto 05H 5. Active la opción para generar el código hexadecimal del programa y proceda a ensamblarlo para obtener el código

de máquina, tal y como se muestra en la figura 4.10, con esta opción se generarán 3 archivos adicionales: prac04.lst

Page 29: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 4 Memoria EEPROM o memoria de programa 20

que contiene un listado de códigos e instrucciones, prac04.obj código objeto que sirve para hacer la simulación y prac04.hex que se utiliza para hacer la programación de la memoria EEPROM.

Figura 4.10 Ensamblado del programa 6. El código de máquina generado se muestra en la figura 4.11, indicándose a través del recuadro en rojo la localidad

de memoria, el código de máquina y la instrucción correspondiente.

Figura 4.11 Localidad de memoria y código de máquina del programa

7. Programe la memoria EEPROM en el programador universal empleando el archivo prac04.hex que se generó en el paso anterior y se almacenó en el mismo subdirectorio.

8. Escriba la función decodificadora de dirección para la habilitación de la memoria EEPROM en un proyecto de ISPLEVER tal y como se muestra en las figuras 4.12, 4.13 y 4.14

Figura 4.12 Pasos para crear un proyecto en ISPLEVER 9. Adicione un archivo fuente del tipo VHDL Module y defina todas las terminales de entrada y salida de la GAL tal

como se muestra en la figura 4.13

Page 30: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 4 Memoria EEPROM o memoria de programa 21

Figura 4.13 Pasos para adicionar una archivo fuente en un proyecto en ISPLEVER

Figura 4.14 Archivo vhd para el proyecto del decodificador de dirección

10. Programe la GAL con el archivo P04_Contador.jed generado con ISPLEVER y pruebe el sistema completo para

comprobar la presencia de los datos y las instrucciones en el bus de datos del microprocesador, para ello deberá conectar el circuito de leds y cambiar el capacitor del reloj por un capacitor de 470 uF, lo cual reducirá la velocidad del reloj y permitirá observar los cambios del bus de datos.

11. Genere una tabla con los valores que se presentan en el bus de datos y compruebe que son los códigos de las instrucciones del programa. Deberá notar que después del código de la instrucción OUT (05H),A con código de máquina D3, 05, aparecerá el valor enviado al puerto intercalado con los códigos de las instrucciones, el cuál se irá incrementando cada vez que se haga un ciclo.

12. Observe la señal de activación de la memoria EEPROM y dibújela.

Page 31: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 4 Memoria EEPROM o memoria de programa 22

Cuestionario 1. Calcule el tiempo de ejecución de un ciclo completo del programa de la figura 4.9 considerando un reloj de 4MHz. y

la duración de cada una de las instrucciones que intervienen, especificada en las tablas de instrucciones del microprocesador Z80.

2. Diseñe un programa en lenguaje ensamblador que genere un conteo ascendente - descendente en 8 bits y compruébelo empleando el simulador, entregue los resultados de la simulación a su profesor de laboratorio.

Page 32: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 5 Puertos de entrada / salida (Input / Output) 23

Tema 8.3. Interfaces integrados: PIA, PIO, PPI y similares Objetivos

El alumno realizará la conexión de un circuito de interfaz periférica programable (PPI 8255) a un microprocesador Z80.

El alumno programará una GAL22V10D para generar el decodificador de direcciones para el circuito de puertos 8255 y para generar la señal de RESET.

El alumno ensamblará y probará un programa que genera dos patrones de corrimiento de 8 leds conectados en el puerto A del circuito PPI 8255, seleccionando que patrón se emplea en función de un bit de entrada del puerto B.

Introducción Otro elemento en el esquema de Von Neumann son los puertos de entrada /salida o (input / output) los cuales le permiten al microprocesador conectarse con los dispositivos periféricos y de esta manera trasladar información hacia el microprocesador o del microprocesador hacia los dispositivos periféricos. La figura 5.1 nos muestra estos elementos.

Reloj

Microprocesador

Memoria

ROM

(Programa)

Bus de Datos

Memoria

RAM

(Datos)

Puertos de

Entrada

Puertos de

Salida

Bus de Direcciones

Bus de Control

Dispositivos Periféricos

Figura 5.1 Puertos de entrada /salida (I / O) en el esquema de Von Neumann

Laboratorio de Microprocesadores Práctica 5

Puertos de entrada / salida (Input / Output)

Page 33: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 5 Puertos de entrada / salida (Input / Output) 24

Los puertos pueden ser implementados con registros de flip- flops o con circuitos integrados programables que contienen todos los elementos necesarios para interfazar de forma correcta a los dispositivos periféricos, ahorrando espacio y complejidad a las conexiones. En esta práctica emplearemos el circuito integrado 8255 que contiene 3 puertos programables de 8 bits cada uno, denominados puerto A, puerto B y puerto C y un puerto de control de 8 bits con el cual se configura el funcionamiento del circuito. Este circuito es un integrado PPI 8255 como el mostrado en la figura 5.2

8

8

8

A

B

CH

Puerto de

Control

4

D0-7

A1

A0

RESET

Port A

PA0-7

Port B

PB0-7

Port C

PC4-7

PC0-3

/RD

/WR

/CS

Vcc (+5V)

GND (0V)

CL4

Figura 5.2 Circuito PPI 8255

Este circuito pertenece a la familia de circuitos desarrollados por INTEL para el soporte de sus microprocesadores 80XXX y por lo tanto ya incluye las señales para el control de lectura y escritura, así como para realizar una inicialización externa y solo requieren la activación correcta para las direcciones de los 3 puertos de usuario y el puerto de control. La figura 5.3 muestra la asignación de terminales del PPI 8255.

Figura 5.3 Asignación de terminales del PPI 8255 Este dispositivo contiene 4 puertos; 3 de usuario y uno de control y por lo tanto solo necesita de 2 líneas de direcciones (A1 y A0) para definir el puerto al que deberá tener acceso según la tabla 5.1.

Page 34: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 5 Puertos de entrada / salida (Input / Output) 25

A1 A0 Puerto Dirección

0 0 Puerto A 00H

0 1 Puerto B 01H

1 0 Puerto C 02H

1 1 Puerto de Control 03H

Tabla 5.1 Asignación de puertos

En la figura 5.4 se muestra el mapa de puertos correspondiente al sistema de microprocesador, donde se observa que la posición del circuito PPI 8255 será en las primeras cuatro posiciones del mapa (puertos 00H, 01H, 02H y 03H) puesto que no hay ningún otro puerto conectado y no se producirán conflictos.

Figura 5.4 Mapa de Puertos

Para realizar la conexión se deberá implementar una función que active la señal de CE del PPI y además genere la señal de RESET del circuito de puertos como se muestra en la figura 5.5.

Figura 5.5 Circuitos decodificador de direcciones e inversor para la señal de reset.

Para realizar la prueba de funcionamiento de todo el sistema se utilizará un programa que generará dos patrones de corrimiento de 8 bits en el puerto A como se muestra en la figura 5.6.

Figura 5.6 Patrones de corrimiento en 8 leds del puerto A

WR

RD

IORQ

/CE_PPI

A4

A3

A2

U?

OR5

1

23456

RST

U?A

74LS04

1 2RESET

U?

XNOR2

12

3

4 x 8

PPI 8255

256 puertos

8 bits

00H

03H

SIN USAR

Page 35: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 5 Puertos de entrada / salida (Input / Output) 26

La selección de que patrón se visualizará se determinará a través del bit PB0 del PPI, insertándole 0V ó 5V. Para reducir la velocidad de encendido de los leds, se deberá incrementar el valor del capacitor C1 del oscilador de señal cuadrada a 1uF o a 10 uF. Este programa no permite la utilización de subrutinas debido a que no se cuenta aún con memoria SRAM y no se puede establecer la localidad donde se localizará la pila y por lo tanto el programa repite 8 veces una serie de instrucciones de consumo de tiempo debido a que el programa debe ser solo secuencial. Para configurar el PPI 8255 con el puerto A de salida en modo 0, el puerto B de entrada en modo 0 y el puerto C de salida en modo 0, se deberá escribir la palabra de control (82H) de 8 bits en el puerto 03H de acuerdo a la siguiente asignación mostrada en la figura 5.7.

Figura 5.7 Asignación de bits para la configuración del PPI 8255

Actividades Previas 1. EI alumno deberá realizar la lectura de la práctica de laboratorio. 2. El alumno programará la memoria AT28C16 con el código de máquina generado por el programa mostrado en la

figura 5.9, considerando que en cada localidad debe grabarse un byte. 3. El alumno programará el dispositivo lógico programable (PLD) GAL22V10D con la función mostrada en la figura

5.10. 4. Traer el circuito armado Material 1 Sistema mínimo con Microprocesador Z80, circuito de reloj, circuito de reset, memoria EEPROM AT28C16 y

decodificador de direcciones con la GAL22V10D. 1 Circuito Integrado PPI 8255. 1 Capacitor de 1uF. 1 Capacitor de 10 uF. Equipo 1 Fuente de C.D. 1 Osciloscopio 1 Multímetro 1 Punta lógica para prueba de tercer estado 1 Circuito de Leds de prueba

D7 D6 D5 D4 D3 D2 D1 D0

1 0 0 0 0 0 1 0

Page 36: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 5 Puertos de entrada / salida (Input / Output) 27

Procedimiento Experimental 1. Implemente el circuito mostrado en la figura 5.11 considerando que ya se tiene armado el sistema mínimo de

microprocesador con la memoria EEPROM y solo deberá adicionarse el circuito integrado PPI 8255. 2. Utilice la figura 5.8 para guiarse en la implementación física.

Figura 5.8 Sistema mínimo con puertos de entrada – salida

3. Edite el programa en lenguaje ensamblador que se muestra en la figura 5.9 y obtenga el código de máquina.

Figura 5.9 Programa para los corrimientos en el puerto A. (Parte 1).

Page 37: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 5 Puertos de entrada / salida (Input / Output) 28

Figura 5.9 Programa para los corrimientos en el puerto A. (Parte 2).

Page 38: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 5 Puertos de entrada / salida (Input / Output) 29

Figura 5.9 Programa para los corrimientos en el puerto A. (Parte 3). 4. Programe la memoria EEPROM en el programador universal con el archivo P05 Registro de Luces.hex. 5. Escriba la función habilitadora de la señal CE para el circuito PPI 8255 y un inversor para la señal de RESET en un

proyecto de ISPLEVER tal y como se muestra en la figura 5.10.

Figura 5.10 Programa de decodificación del sistema mínimo

Page 39: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 5 Puertos de entrada / salida (Input / Output) 30

6. Programe la GAL con el archivo con terminación .JED generado en el programa ISPLEVER y pruebe el sistema completo.

7. Conecte el circuito probador de 8 leds en el puerto A del PPI 8255 y la señal que controla que secuencia de leds que encenderá en el bit PB0 y compruebe el funcionamiento de ambos corrimientos.

Cuestionario 1. Calcule el tiempo requerido por el programa para ejecutarse, tomando en cuenta el número de ciclos de reloj

necesarios para cada una de las instrucciones. 2. Determine la palabra de control necesaria para configurar el PPI con puerto A bidireccional en modo 2 , puerto B de

salida en modo 0 y los bits restantes del puerto C como salida. 3. Explique el funcionamiento del programa empleado en este sistema. 4. Justifique la utilización de las ecuaciones de decodificación del sistema empleadas en la GAL.

Page 40: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 5 Puertos de entrada / salida (Input / Output) 31

Figura 5.11 Sistema mínimo con puertos de entrada

U2

Z80 C

PU

A0

30

A1

31

A2

32

A3

33

A4

34

A5

35

A6

36

A7

37

A8

38

A9

39

A10

40

A11

1

A12

2

A13

3

A14

4

A15

5

WA

IT24

INT

16

NM

I17

RS

T26

BU

SR

Q25

BU

SA

K23

CLK

6

IOR

Q20

HA

LT

18

D0

14

D1

15

D2

12

D3

8

D4

7

D5

9

D6

10

D7

13

M1

27

MR

EQ

19

RD

21

RE

FS

H28

WR

22

74LS

04

U1C

56

SW

1

RE

SE

T C

irc

uit

o V

CC

G

ND

74

LS

04

U

1 1

4 7

Z8

0 C

PU

U

2 1

1 2

9

GA

L2

2V

10

D U

3 2

4 1

2

AT

28

C1

6 U

4 2

4 1

2

61

16

SR

AM

U

5 2

4 1

2

PP

I 8

25

5 U

6 2

6 7

1N

4001

D1

1k

R3

0.1

uF

C2

Un

ive

rsid

ad

Na

cio

na

l A

utó

no

ma

de

xic

o

Fa

cu

lta

d d

e E

stu

dio

s S

up

eri

ore

s C

ua

uti

tlá

n

Sis

tem

a d

e M

icro

pro

ce

sa

do

r Z

80

M. e

n T

I. J

org

e B

ue

nd

ía G

óm

ez

+5v

U4

AT28C

16

A0

8

A1

7

A2

6

A3

5

A4

4

A5

3

A6

2

A7

1

A8

23

A9

22

A10

19

D0

9

D1

10

D2

11

D3

13

D4

14

D5

15

D6

16

D7

17

CE

18

OE

20

WE

21

+5V

U3

GA

L22V

10

I/C

LK

1

I2

I3

I4

I5

I6

I/O

14

I/O

15

I/O

16

I/O

17

I/O

19

I/O

20

I/O

21

I/O

22

I/O

18

I/O

23

I7

I8

I9

I10

I11

I13

74LS

04

U1A

12

+5v

U6

8255

D0

34

D1

33

D2

32

D3

31

D4

30

D5

29

D6

28

D7

27

RD

5

WR

36

A0

9

A1

8

RE

SE

T35

CS

6

PA

04

PA

13

PA

22

PA

31

PA

440

PA

539

PA

638

PA

737

PB

018

PB

119

PB

220

PB

321

PB

422

PB

523

PB

624

PB

725

PC

014

PC

115

PC

216

PC

317

PC

413

PC

512

PC

611

PC

710

74LS

04

U1B

34

1K

R2

1K

R1

0.1

uF

C1

Page 41: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 6 Memoria SRAM o memoria de datos 32

Tema

3.2 Estructura de los sistemas de memoria Objetivos

El alumno realizará la conexión de un circuito de memoria SRAM 6116 al sistema de microprocesador Z80

El alumno programará una GAL22V10D para generar el decodificador de direcciones para la memoria SRAM.

El alumno creará un programa que utilice subrutinas y el almacenamiento de datos en la memoria SRAM. Introducción El siguiente elemento en el esquema de Von Neumann es la memoria SRAM o memoria de datos, la cual se emplea dentro del sistema mínimo para poder almacenar datos binarios que pueden ser empleados por el procesador para realizar sus operaciones o simplemente como almacenamiento de información en forma de tablas. Esta memoria debe realizar las funciones de lectura y escritura, es decir que debe ser memoria RWM (Read Write Memory), aunque típicamente se le conoce como memoria RAM, aun cuando el concepto RAM se refiere al método de acceso y no al tipo de operaciones posibles, la figura 6.1 nos muestra este elemento.

Reloj

Microprocesador

Memoria

ROM

(Programa)

Bus de Datos

Memoria

RAM

(Datos)

Puertos de

Entrada

Puertos de

Salida

Bus de Direcciones

Bus de Control

Dispositivos Periféricos

Figura 6.1 Memoria RAM en el esquema de Von Neumann

Laboratorio de Microprocesadores Práctica 6

Memoria SRAM o memoria de datos

Page 42: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 6 Memoria SRAM o memoria de datos 33

La memoria de datos se empleará para el almacenamiento de la información del usuario (variables, tablas, caracteres, etc.) y para el establecimiento de la pila o Stack necesaria para la ejecución de las subrutinas que se puedan incluir en los programas en lenguaje ensamblador. La SRAM tiene la característica de ser una memoria volátil y estática y por lo tanto mantiene su información mientras el circuito esté alimentado eléctricamente sin requerir de refresco de memoria. La DRAM es volátil y dinámica, por lo tanto si requiere de refresco de memoria periódico. Para la implementación de este sistema emplearemos memoria SRAM debido a que no requiere del circuito de refresco y reduce el tamaño del sistema. Para la implementación de este elemento utilizaremos una memoria SRAM 6116 con capacidad de 2k x 8 como la que se muestra en la figura 6.2.

Figura 6.2 Memoria SRAM 6116 de 2k x 8

Esta conexión requiere la modificación de las funciones de Boole establecidas dentro de la GAL para incluir la característica de activación de la memoria SRAM.

Figura 6.3 Posición de la memoria SRAM dentro del mapa de memoria

EEPROM

AT28C16

2K x 8

64K

65536 localidades

de memoria

8 bits

0000H

07FFH

SRAM

6116

2K x 8

3000H

37FFH

SIN USAR

SIN USAR

Page 43: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 6 Memoria SRAM o memoria de datos 34

La dirección de memoria donde se localizará la SRAM debe seleccionarse por encima del espacio ocupado por la memoria EEPROM que fue conectada a partir de la localidad 0000H y hasta la dirección 07FFH (2K x 8), la ubicación de la memoria SRAM se establecerá en el valor 3000H, el cual, como podemos observar no es consecutivo a la memoria EEPROM, dejando un espacio libre desde la posición 0800H hasta la 2FFFH, esto es una práctica común en sistemas de microprocesadores ya que previene el espacio suficiente para futuras ampliaciones de la memoria. En la figura 6.3 se muestra el mapa de memoria. La señal de activación de la memoria SRAM se hará a través de una función OR con las señales mostradas en la figura 6.4 y la cuál se implementará dentro del circuito GAL22V10D.

Figura 6.4 Activación de la memoria SRAM Para realizar la prueba de funcionamiento de todo el sistema se utilizará un programa que generará un registro de corrimiento de 8 bits en el puerto A con espaciamiento de 1 seg entre cambio y cambio y una duración de encendido de cada led de 100 ms. Para poder ajustar la duración de los cambios será necesario cambiar el capacitor del circuito de reloj, por un cristal de cuarzo de 4 MHz. Este programa permite la utilización de subrutinas debido a la conexión de la memoria SRAM y sobre este circuito ya se puede implementar la pila (stack), la pila se establecerá a partir de la localidad 37FFH que es la última posición de la memoria SRAM. Para configurar el PPI 8255 con todos sus puertos de salida en modo 0 se deberá escribir la palabra de control (80H) de 8 bits en el puerto 03H. Actividades Previas 1. EI alumno deberá realizar la lectura de la práctica de laboratorio. 2. El alumno programará la memoria AT28C16 con el código de máquina generado por el programa en lenguaje

ensamblador mostrado en la figura 6.6, considerando que en cada localidad debe grabarse un byte. 3. El alumno programará el dispositivo lógico programable (PLD) GAL22V10D con la función mostrada en la figura 6.7. 4. Traer el circuito armado Material 1 Sistema mínimo con Microprocesador, circuito de reloj, circuito de reset, memoria EEPROM, PPI 8255 y decodificador

de direcciones con GAL22V10D. 1 Circuito Integrado SRAM 6116. Equipo 1 Fuente de C.D. 1 Osciloscopio 1 Multímetro 1 Punta lógica para prueba de tercer estado 1 Circuito de Leds de prueba

A12

/RD

/MREQ

A11

/CE_SRAM

A15

1

2345678

A13

A14

1 2

1 2

/WR

U?

XNOR2

12

3

Page 44: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 6 Memoria SRAM o memoria de datos 35

Procedimiento Experimental 1. Implemente el circuito mostrado en la figura 6.8 considerando que ya se tiene armado el sistema mínimo de

microprocesador incluyendo la memoria EEPROM y el PPI 8255 y solo deberá adicionarse el circuito integrado 6116 que integra la memoria SRAM.

2. Utilice la figura 6.5 para guiarse en la implementación física.

Figura 6.5 Implementación de memoria SRAM.

3. Edite el siguiente programa en lenguaje ensamblador, tal y como se muestra en la figura 6.6 y obtenga el código de máquina.

Figura 6.6 Programa de registro de corrimiento.

Page 45: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 6 Memoria SRAM o memoria de datos 36

4. Programe la memoria EEPROM en el programador universal con el archivo P06 Registro de corrimiento.hex. 5. Escriba la función decodificadora de dirección en un proyecto de ISPLEVER tal y como se muestra en la figura 6.7. 6. Programe la GAL con el archivo con terminación .jed y pruebe el sistema completo para comprobar el

funcionamiento del sistema. 7. Mida el tiempo de encendido del led y el tiempo entre cambios producido por el sistema, comprobando que se

cumplan los tiempos de diseño.

Figura 6.7 Habilitación de la memoria SRAM con la GAL22V10D.

Cuestionario 1. ¿Es posible llamar una y otra vez en forma recursiva a las subrutinas con la estructura de la pila de este

microprocesador ? 2. Porque se establece la dirección inicial de la pila en la dirección final de la SRAM y no en la posición inicial. 3. Justifique la expresión de Boole empleada para la activación de la SRAM. 4. Explique el concepto LIFO empleado en la pila del microprocesador Z80. 5. Como identifica el microprocesador a cuál de las 2 memorias del circuito se está accediendo.

Page 46: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 6 Memoria SRAM o memoria de datos 37

Figura 6.8 Diagrama de conexiones del sistema mínimo

U2

Z80 C

PU

A0

30

A1

31

A2

32

A3

33

A4

34

A5

35

A6

36

A7

37

A8

38

A9

39

A10

40

A11

1

A12

2

A13

3

A14

4

A15

5

WA

IT24

INT

16

NM

I17

RS

T26

BU

SR

Q25

BU

SA

K23

CLK

6

IOR

Q20

HA

LT

18

D0

14

D1

15

D2

12

D3

8

D4

7

D5

9

D6

10

D7

13

M1

27

MR

EQ

19

RD

21

RE

FS

H28

WR

22

74LS

04

U1C

56

C

ircuito

V

CC

G

ND

74LS

04 U

1 1

4 7

Z80 C

PU

U

2 1

1 29

GA

L22V

10D

U

3 24 12

AT28C

16 U

4 2

4 1

2

PPI 8

255 U

5 2

6 7

6116 S

RA

M U

6 2

4 12

MM

C74C

922 U

7 1

8 9

SW

1

RE

SE

T

1N

4001

D1

1k

R3

0.1

uF

C2

Un

ive

rsid

ad

Na

cio

na

l A

utó

no

ma

de

xic

o

Fa

cu

lta

d d

e E

stu

dio

s S

up

eri

ore

s C

ua

uti

tlá

n

Sis

tem

a d

e M

icro

pro

ce

sa

do

r Z

80

M. e

n T

I. J

org

e B

ue

nd

ía G

óm

ez

+5V

U4

AT28C

16

A0

8

A1

7

A2

6

A3

5

A4

4

A5

3

A6

2

A7

1

A8

23

A9

22

A10

19

D0

9

D1

10

D2

11

D3

13

D4

14

D5

15

D6

16

D7

17

CE

18

OE

20

WE

21

+5V

U3

GA

L22V

10

I/C

LK

1

I2

I3

I4

I5

I6

I/O

14

I/O

15

I/O

16

I/O

17

I/O

19

I/O

20

I/O

21

I/O

22

I/O

18

I/O

23

I7

I8

I9

I10

I11

I13

74LS

04

U1A

12

+5V

U5

8255

D0

34

D1

33

D2

32

D3

31

D4

30

D5

29

D6

28

D7

27

RD

5

WR

36

A0

9

A1

8

RE

SE

T35

CS

6

PA

04

PA

13

PA

22

PA

31

PA

440

PA

539

PA

638

PA

737

PB

018

PB

119

PB

220

PB

321

PB

422

PB

523

PB

624

PB

725

PC

014

PC

115

PC

216

PC

317

PC

413

PC

512

PC

611

PC

710

U6

6116

A0

8

A1

7

A2

6

A3

5

A4

4

A5

3

A6

2

A7

1

A8

23

A9

22

A10

19

CE

18

OE

20

WE

21

D0

9

D1

10

D2

11

D3

13

D4

14

D5

15

D6

16

D7

17

74LS

04

U1B

34

1K

R2

1K

R1

0.1

uF

C1

Page 47: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Practica 7 Conexión de dispositivo periférico de entrada (Teclado) 38

Tema 6.1.1. Control de dispositivos con técnicas de programación Objetivos

El alumno realizará la conexión de un teclado matricial telefónico de 12 teclas al sistema de microprocesador.

El alumno integrará un decodificador de teclado matricial MM74C922.

El alumno programará una GAL para apoyar el funcionamiento del decodificador MM74C922.

El alumno creará y probará un programa en lenguaje ensamblador para obtener el código binario de la tecla presionada.

Introducción El circuito desarrollado hasta la práctica 6 ya conforma el esquema de Von Neumann con todos los elementos necesarios para la creación de una computadora, pero aún no proporciona interacción adecuada con el usuario externo. Para que el sistema tenga mayor utilidad es necesario conectarle dispositivos periféricos de entrada y salida para facilitar la interacción con la electrónica del microprocesador tal como se muestra en la figura 7.1.

Reloj

Microprocesador

Memoria

ROM

(Programa)

Bus de Datos

Memoria

RAM

(Datos)

Puertos de

Entrada

Puertos de

Salida

Bus de Direcciones

Bus de Control

Dispositivos Periféricos

Figura 7.1 Dispositivo periférico de entrada en Esquema de Von Neumann

Los dispositivos periféricos de entrada se emplean para que el usuario externo pueda interactuar con el sistema de microprocesador y facilitar la inserción de datos externos, entre estos dispositivos se encuentran los teclados, los

Laboratorio de Microprocesadores Práctica 7

Conexión de dispositivo periférico de entrada (Teclado)

Page 48: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Practica 7 Conexión de dispositivo periférico de entrada (Teclado) 39

dispositivos apuntadores como Mouse, Track Ball, Touch Screen, tarjetas de red, audio o video, discos duros, CD, o DVD y en general cualquier dispositivo que permita enviar datos hacia el microprocesador. Es por eso que en esta práctica se propone adicionar un teclado matricial de 12 teclas como el mostrado en la figura 7.2, que nos permitirá insertar datos numéricos o aún alfanuméricos si seleccionamos otro tipo de teclado.

Figura 7.2 Teclado telefónico matricial de 12 teclas

Para conectar este teclado se empleará un decodificador de teclado integrado MM74C922 que puede decodificar teclados de 12 o 16 teclas como se muestra en la figura 7.3.

Figura 7.3 Circuito decodificador MM74C922

El proceso lo realiza a través del envío de 4 señales de un registro de corrimiento a las terminales de los renglones, las cuales los activan en forma secuencial uno a uno, tal y como se muestra en la tabla 7.1.

Tabla 7.1 Señales del registro de corrimiento de los renglones

Posteriormente el decodificador reconoce cual de las columnas ha sido presionada y en conjunto con los códigos de los renglones, determina cual de las teclas ha sido presionada, de acuerdo a la tabla 7.2.

Y1,X1 Y1,X2 Y1,X3 Y1,X4 Y2,X1 Y2,X2 Y2,X3 Y2,X4 Y3,X1 Y3,X2 Y3,X3 Y3,X4 Y4,X1 Y4,X2 Y4,X3 Y4,X4

A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

C 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Tecla 0 1 2 3 4 5 6 7 8 9 A B C D E F

Tabla 7.2 Decodificación renglón – columna de teclado de 16 teclas

ROW Y1 ROW Y2 ROW Y3 ROW Y4

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Page 49: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Practica 7 Conexión de dispositivo periférico de entrada (Teclado) 40

Adicionalmente, cada que una tecla es presionada, se genera una señal de dato disponible (DATA AVAILABLE), activa en alto, que se empleará para producir una interrupción al microprocesador Z80 en su terminal /INT y así poder leer el dato en las terminales del puerto C (02H). Debido a que el decodificador reconoce 16 teclas y nuestro teclado solo tiene 12, se omitirá la conexión de la cuarta columna (X4), lo cual eliminará a los códigos correspondientes a las teclas 3, 7, B Y F y esto hace que los códigos binarios para cada tecla no correspondan con las posiciones del teclado telefónico, en la figura 7.4 se muestra la equivalencia.

Figura 7.4 Códigos para teclados de 16 teclas y su correspondencia con teclado telefónico de 12 teclas

Este problema deberá ser resuelto vía software a través de una tabla de asignación del código correcto; 0 a 1, 1 a 2, 2 a 3, 3 sin asignación y así consecutivamente de acuerdo a la tabla 7.3

Código 74C922

0 1 2 3 4 5 6 7 8 9 A B C D E F

Tecla 1 2 3 X 4 5 6 X 7 8 9 X A 0 B X

Tabla 7.3 Códigos asignados por software

El decodificador posee la característica de salidas en tercer estado controladas por la señal de habilitación de salida (OUTPUT ENABLE) activa en nivel bajo, la cual será proporcionada por la inversión de la señal dato disponible (DATA AVAILABLE) y generada a través de la GAL. El decodificador MM74C922 también tiene la funcionalidad de generación de la frecuencia de oscilación para proporcionar la velocidad de escaneo de las teclas y también tiene implementado un sistema anti rebotes para evitar la detección de teclas repetidas debidas a los rebotes mecánicos. Estas funcionalidades se obtienen a través de 2 capacitores que se seleccionan de acuerdo a las gráficas de la figura 7.5. Se recomienda que el capacitor de anti rebotes sea 10 veces mayor que el capacitor de oscilación. La captura del dato de 4 bits se realizará a través de los 4 bits menos significativos del puerto C (02H) y solo se capturarán a través de una subrutina de interrupción activada al momento de presionar una de las teclas. El programa solo considera la activación de una tecla y no de 2 juntas pues se tomaría la primera en detectarse.

Figura 7.5 Gráficas para selección de los capacitores de oscilación y anti rebotes

0 1 2 3

4 5 6 7

8 9 A B

C D E F

Page 50: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Practica 7 Conexión de dispositivo periférico de entrada (Teclado) 41

Actividades Previas 1. EI alumno deberá realizar la lectura de la práctica de laboratorio. 2. El alumno programará la memoria AT28C16 con el código de máquina generado por el programa en lenguaje

ensamblador mostrado en la figura 7.8, considerando que en cada localidad debe grabarse un byte. 3. El alumno programará el dispositivo lógico programable (PLD) GAL22V10D con la función mostrada en el proyecto

de ISPLEVER de la figura 7.9. 4. Traer el circuito armado Material 1 Sistema mínimo con microprocesador Z80, circuito de reloj, circuito de reset, memoria EEPROM AT28C16, memoria

SRAM 6116, decodificador de direcciones con GAL y circuito de puertos PPI 8255. 1 Teclado telefónico matricial de 12 teclas. 1 Circuito MM74C922 decodificador de teclado 1 Capacitor de 0.1µF 1 Capacitor de 0.01µF Equipo 1 Fuente de C.D. 1 Osciloscopio 1 Multímetro 1 Punta lógica para prueba de tercer estado 1 Circuito de Leds de prueba Procedimiento Experimental 1. Implemente el circuito mostrado en la figura 7.7 considerando que ya se tiene armado el sistema mínimo de Von

Neumann y solo deberá adicionarse el circuito de decodificación de teclado MM74C922 y el teclado telefónico de 12 teclas, además de las conexiones adicionales hacia el microprocesador Z80 que habilitarán el empleo de las interrupciones y hacia la GAL para realizar la inversión de la señal de control.

2. Utilice la figura 7.6 para establecer la posición de los circuitos y sus conexiones.

Figura 7.6 Sistema mínimo con decodificador de teclado

Page 51: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Practica 7 Conexión de dispositivo periférico de entrada (Teclado) 42

Figura 7.7 Sistema mínimo con teclado

C?

0.0

1u

F

0

C? 0.1

uF

0

21

54

3

7

6

*

98

Gri

s

#0

Azu

l

Vio

leta

Nara

nja

Am

ari

llo

Ro

joV

erd

e

U7

MM

74C

922

RO

WY

11

RO

WY

22

RO

WY

33

RO

WY

44

OS

C5

KB

ON

SM

SK

6

CL

MX2

10

CL

MX1

11

DA

VB

L12

OE

13

OD

14

OC

15

OB

16

OA

17

CL

MX3

8

CL

MX4

7

U2

Z8

0 C

PU

A0

30

A1

31

A2

32

A3

33

A4

34

A5

35

A6

36

A7

37

A8

38

A9

39

A10

40

A11

1

A12

2

A13

3

A14

4

A15

5

WA

IT24

INT

16

NM

I17

RS

T26

BU

SR

Q25

BU

SA

K23

CL

K6

IOR

Q20

HA

LT

18

D0

14

D1

15

D2

12

D3

8

D4

7

D5

9

D6

10

D7

13

M1

27

MR

EQ

19

RD

21

RE

FS

H28

WR

22

74LS

04

U1

C

56

SW

1

RE

SE

T

C

irc

uit

o V

CC

G

ND

74

LS

04

U

1 1

4 7

Z8

0 C

PU

U

2 1

1 2

9

GA

L2

2V

10

D U

3 2

4 1

2

AT

28

C1

6 U

4 2

4 1

2

PP

I 8

25

5 U

5 2

6 7

61

16

SR

AM

U

6 2

4 1

2

MM

C7

4C

92

2 U

7 1

8 9

1N

400

1D

11k

R3

0.1

uF

C2

Un

ive

rsid

ad

Na

cio

na

l A

utó

no

ma

de

xic

o

Fa

cu

lta

d d

e E

stu

dio

s S

up

eri

ore

s C

ua

uti

tlá

n

Sis

tem

a d

e M

icro

pro

ce

sa

do

r Z

80

M. e

n T

I. J

org

e B

ue

nd

ía G

óm

ez

+5

V

U4

AT2

8C

16

A0

8

A1

7

A2

6

A3

5

A4

4

A5

3

A6

2

A7

1

A8

23

A9

22

A10

19

D0

9

D1

10

D2

11

D3

13

D4

14

D5

15

D6

16

D7

17

CE

18

OE

20

WE

21

+5

V

U3

GA

L22V

10

I/C

LK

1

I2

I3

I4

I5

I6

I/O

14

I/O

15

I/O

16

I/O

17

I/O

19

I/O

20

I/O

21

I/O

22

I/O

18

I/O

23

I7

I8

I9

I10

I11

I13

74LS

04

U1

A

12

+5

V

U5

8255

D0

34

D1

33

D2

32

D3

31

D4

30

D5

29

D6

28

D7

27

RD

5

WR

36

A0

9

A1

8

RE

SE

T35

CS

6

PA

04

PA

13

PA

22

PA

31

PA

440

PA

539

PA

638

PA

737

PB

018

PB

119

PB

220

PB

321

PB

422

PB

523

PB

624

PB

725

PC

014

PC

115

PC

216

PC

317

PC

413

PC

512

PC

611

PC

710

U6

6116

A0

8

A1

7

A2

6

A3

5

A4

4

A5

3

A6

2

A7

1

A8

23

A9

22

A10

19

CE

18

OE

20

WE

21

D0

9

D1

10

D2

11

D3

13

D4

14

D5

15

D6

16

D7

17

74LS

04

U1

B

34

1K

R2

1K

R1

0.1

uF

C1

D1

- D

8LE

D

R1

- R

80

.47k

Page 52: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Practica 7 Conexión de dispositivo periférico de entrada (Teclado) 43

3. Edite el programa en lenguaje ensamblador de la figura 7.8 y obtenga el código de máquina. Este programa decodificará el número de tecla presionado y lo mostrará en los 4 bits menos significativos del puerto A (00H).

Figura 7.8 Programa para control de teclado

4. Programe la memoria EEPROM en el programador universal con el archivo P07 Teclado.hex. 5. Escriba la función decodificadora para la EEPROM, la SRAM, el PPI y la inversión de la señal DAV del teclado en un

proyecto ISPLEVER tal y como se muestra en la figura 7.9

Figura 7.9 Archivo vhd para control del teclado (parte 1)

Page 53: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Practica 7 Conexión de dispositivo periférico de entrada (Teclado) 44

Figura 7.9 Archivo vhd para control del teclado (parte 2)

6. Programe la GAL con el archivo .jed y pruebe el sistema completo para comprobar el funcionamiento del teclado. 7. Compruebe que el código binario mostrado en las terminales de los 4 bits menos significativos del puerto A son los

correspondientes a cada una de las teclas presionadas. Cuestionario 1. Diseñe un sistema de decodificación de 32 teclas si se emplea para esa función a circuitos MM74C922. 2. Justifique el valor del byte de configuración enviado al PPI en su puerto 03H. 3. Porque es necesario deshabilitar las interrupciones cuando se ejecuta la subrutina de interrupción. 4. Describa cual es el proceso de interrupción empleado en este programa, justificando la configuración y la dirección

de la subrutina.

Page 54: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 8 Conexión de dispositivo periférico de salida (Display LCD) 45

Tema 6.1.1. Control de dispositivos con técnicas de programación

Objetivos

El alumno realizará la conexión de una pantalla LCD de 16 caracteres por 2 líneas al sistema de microprocesador.

El alumno creará y probará un programa en lenguaje ensamblador para desplegar y controlar un mensaje sobre la pantalla.

Introducción A través de esta práctica el alumno le proporcionará al sistema mínimo la capacidad de desplegar mensajes hacia el usuario e incrementará la interacción entre el microprocesador y el mundo exterior.

Reloj

Microprocesador

Memoria

ROM

(Programa)

Bus de Datos

Memoria

RAM

(Datos)

Puertos de

Entrada

Puertos de

Salida

Bus de Direcciones

Bus de Control

Dispositivos Periféricos

Figura 8.1 Dispositivo periférico de salida en esquema de Von Neumann

Los dispositivos periféricos de salida se emplean para que el microprocesador pueda enviar información hacia el usuario externo. Entre los dispositivos que se emplean como salidas están: los monitores, las impresoras, los discos duros, los CD, los DVD, las tarjetas de audio, video o redes y en general cualquier dispositivo que pueda ser utilizado para visualizar o manipular la información del sistema mínimo.

Laboratorio de Microprocesadores Práctica 8

Conexión de dispositivo periférico de salida (Display LCD)

Page 55: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 8 Conexión de dispositivo periférico de salida (Display LCD) 46

Es por eso que en esta práctica se propone adicionar una pantalla inteligente de cristal líquido (LCD) de 16 caracteres x 2 líneas que recibe códigos en caracteres ASCII y que convierte el código a un mapa de pixeles que se puede desplegar sobre cada uno de los 16 caracteres de la pantalla o almacenarlo en la memoria interna del display (DDRAM).

Figura 8.2 Pantalla LCD de 16 x 2 Esta pantalla puede recibir ya sea comandos de configuración para controlar el funcionamiento de la pantalla o datos de 8 bits que representan los caracteres ASCII a desplegar. Estos comandos se muestran en la tabla 8.1.

Instrucción RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 Descripción Tiempo de Ejecución

Limpia Display 0 0 0 0 0 0 0 0 0 1 Limpia el display completamente y pone la dirección 0 en el contador de dirección

1.28 ms

Regreso al Origen 0 0 0 0 0 0 0 0 1 -

Pone a 0 el contador de dirección de la DDRAM, también regresa al principio corriéndolo a su posición original. La DDRAM mantiene su contenido sin cambio

1.28 ms

Modo de inserción de datos 0 0 0 0 0 0 0 1 I/D S

Establece la dirección de movimiento del cursor y especifica el corrimiento del display. Esta operación se realiza durante la lectura o escritura de datos.

31us

Control de Encendido / Apagado del Display

0 0 0 0 0 0 1 D C B Enciende o apagaga el display (D), el cursor (C) o el parpadeo.

31us

Corrimiento del display o del cursor

0 0 0 0 0 1 S/C R/L - - Mueve el cursor o corre el display sin cambios en el contenido de la DDRAM

31us

Formato de datos 0 0 0 0 1 DL N F - - Establece la longitud de los datos (DL), el número de líneas a desplegar (L) y el formato del carácter (F)

31us

Dirección de la CGRAM 0 0 0 1 ACG ACG ACG ACG ACG ACG Establece la dirección de CGRAM, los datos son enviados y recibidos después de este comando

31us

Dirección de la DDRAM 0 0 1 ADD ADD ADD ADD ADD ADD ADD Establece la dirección de CGRAM, los datos son enviados y recibidos después de este comando

31us

Bandera de ocupado en lectura y dirección

0 1 BF AC AC AC AC AC AC AC Lee la bandera de ocupado (BF) que indica que una operación interna se está realizando y también lee la dirección del contador

0us

Escribir un dato a la DDRAM o a la CGRAM

1 0 Dato a cargar en la memoria Escribe un dato dentro de la DDRAM o de la CGRAM

31us

Leer un dato de la DDRAM o de la CGRAM

1 1 Dato leído de la memoria Leer un dato de la DDRAM o de la CGRAM 31us

Tabla 8.1 Comandos del display LCD 16 x 2

Page 56: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 8 Conexión de dispositivo periférico de salida (Display LCD) 47

Para la conexión de esta pantalla LCD se utilizarán 2 puertos del circuito PPI 8255:

El puerto A de 8 bits para enviar al display el código ASCII a mostrar en la pantalla o el comando de configuración del display.

2 bits del puerto B para enviar las señales de control; habilitación del display (E) y selección de comando o dato (RS).

Se requieren estas señales de datos y control debido a que el display a emplear tiene 16 terminales como se muestra en la figura 8.3.

Vss Vcc Vee RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 LD+ LD-

Figura 8.3 Puertos para el control de la pantalla

La figura 8.3 muestra la asignación de señales para el display LCD 16 x 2.

Terminal Señal Descripción

1 Vss Tierra

2 Vcc + 5 V.c.d.

3 Vee Voltaje de control de contraste 0 V. = Contraste mínimo

4 RS Señal de Comando RS =0 ó Dato RS = 1

5 R/W Señal de Lectura R/W = 1 ó Escritura R/W =0

6 E Señal de habilitación del display E = 1

7 - 14 D0 – D7 Bus de datos

15 LD+ Positivo del led de iluminación trasera

16 LD- Negativo del led de iluminación trasera

Tabla 8.2 Asignación de terminales del display

Debido a que el display se empleará siempre en modo de escritura, el bit de R/W se conectará directamente a tierra. La asignación de los puertos de los bits se hará como se muestra en la tabla 8.3.

Terminal Señal Puerto - bit

4 RS PB1

5 R/W Tierra

6 E PB0

7 D0 PA0

8 D1 PA1

9 D2 PA2

10 D3 PA3

11 D4 PA4

12 D5 PA5

13 D6 PA6

14 D7 PA7

Tabla 8.3 Asignación de terminales del display a los puertos del PPI

Señales de control Señales de datos

Page 57: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 8 Conexión de dispositivo periférico de salida (Display LCD) 48

Actividades Previas 1. EI alumno deberá realizar la lectura de la práctica de laboratorio. 2. El alumno programará la memoria AT28C16 con el código de máquina generado a partir del programa en lenguaje

ensamblador mostrado en la figura 8.4, considerando que en cada localidad debe grabarse un byte. 3. Traer el circuito armado

Material 1 Sistema mínimo con microprocesador Z80, circuito de reloj, circuito de reset, memoria EEPROM AT28C16,

decodificador de direcciones con GAL22V10, circuito de puertos PPI 8255, decodificador de teclado MM74C922 y teclado telefónico de 12 teclas.

1 Display LCD 16 x 2

Equipo 1 Fuente de C.D. 1 Osciloscopio 1 Multímetro 1 Punta lógica para prueba de tercer estado 1 Circuito de Leds de prueba

Procedimiento Experimental 1. Implemente el circuito mostrado en la figura 8.7 considerando que ya se tiene armado el sistema mínimo de Von

Neumann y el teclado y solo deberá adicionarse la pantalla LCD con sus conexiones de alimentaciones, bus de datos y señales de control.

2. Edite el programa en lenguaje ensamblador de la figura 8.4, obtenga el código de máquina. 3. Programe la memoria EEPROM.

Figura 8.4 Programa para control y despliegue de mensaje ( Parte 1)

Page 58: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 8 Conexión de dispositivo periférico de salida (Display LCD) 49

Figura 8.4 Programa para control y despliegue de mensaje ( Parte 2) 4. Para esta práctica no es necesario modificar la programación de la GAL22V10D. 5. Este programa escribirá el mensaje “Laboratorio de” en la primera línea y “Microprocesadores 2014-2” en la

segunda línea, considere que el mensaje de la segunda línea es más grande que el tamaño del display que es de 16 caracteres y por lo tanto eso indica que los caracteres restantes se escriben en la memoria del display y no se pueden ver de forma directa tal y como se muestra en las figuras 8.5 y 8.6.

Figura 8.5 Mensaje Parte 1 Figura 8.6 Mensaje Parte 2

Page 59: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 8 Conexión de dispositivo periférico de salida (Display LCD) 50

6. Compruebe que se despliega correctamente el mensaje en el display de acuerdo a la figura 8.5 y que después se desplaza el mensaje sobre el display como en la figura 8.6. Modifique la programación de la memoria para que la fecha del semestre debe sea la correcta para el semestre actual (2015-2).

7. Describa las modificaciones que deben hacerse al programa para realizar un desplazamiento a la derecha del mensaje.

Cuestionario 1. Describa el procedimiento para programar el display usando datos de 4 bits en lugar de datos de 8 bits. 2. Porque es necesario correr una subrutina de consumo de tiempo después del envío de cada comando o dato. 3. Existe alguna otra forma de checar que el display está libre para ejecutar el siguiente comando ?

Page 60: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 8 Conexión de dispositivo periférico de salida (Display LCD) 51

Figura 8.7 Sistema Mínimo con Display LCD

C?

0.0

1uF

0

C? 0.1

uF

0

21

54

3

87

6

*

9

Gri

s

#0

Azu

l

Vio

leta

Nara

nja

Am

ari

llo

Ro

joV

erd

e

U7

MM

74C

922

RO

WY

11

RO

WY

22

RO

WY

33

RO

WY

44

OS

C5

KB

ON

SM

SK

6

CLM

X2

10

CLM

X1

11

DA

VB

L12

OE

13

OD

14

OC

15

OB

16

OA

17

CLM

X3

8

CLM

X4

7

U2

Z80 C

PU

A0

30

A1

31

A2

32

A3

33

A4

34

A5

35

A6

36

A7

37

A8

38

A9

39

A10

40

A11

1

A12

2

A13

3

A14

4

A15

5

WA

IT24

INT

16

NM

I17

RS

T26

BU

SR

Q25

BU

SA

K23

CLK

6

IOR

Q20

HA

LT

18

D0

14

D1

15

D2

12

D3

8

D4

7

D5

9

D6

10

D7

13

M1

27

MR

EQ

19

RD

21

RE

FS

H28

WR

22

74LS

04

U1C

56

C

irc

uit

o V

CC

G

ND

74

LS

04

U

1 1

4 7

Z8

0 C

PU

U

2 1

1 2

9

GA

L2

2V

10

D U

3 2

4 1

2

AT

28

C1

6 U

4 2

4 1

2

PP

I 8

25

5 U

5 2

6 7

61

16

SR

AM

U

6 2

4 1

2

MM

C7

4C

92

2 U

7 1

8 9

SW

1

RE

SE

T

1N

4001

D1

1k

R3

0.1

uF

C2

Un

ive

rsid

ad

Na

cio

na

l A

utó

no

ma

de

xic

o

Fa

cu

lta

d d

e E

stu

dio

s S

up

eri

ore

s C

ua

uti

tlá

n

Sis

tem

a d

e M

icro

pro

ce

sa

do

r Z

80

M. e

n T

I. J

org

e B

ue

nd

ía G

óm

ez

+5V

U4

AT28C

16

A0

8

A1

7

A2

6

A3

5

A4

4

A5

3

A6

2

A7

1

A8

23

A9

22

A10

19

D0

9

D1

10

D2

11

D3

13

D4

14

D5

15

D6

16

D7

17

CE

18

OE

20

WE

21

+5V

U3

GA

L22V

10

I/C

LK

1

I2

I3

I4

I5

I6

I/O

14

I/O

15

I/O

16

I/O

17

I/O

19

I/O

20

I/O

21

I/O

22

I/O

18

I/O

23

I7

I8

I9

I10

I11

I13

74LS

04

U1A

12

+5V

U5

8255

D0

34

D1

33

D2

32

D3

31

D4

30

D5

29

D6

28

D7

27

RD

5

WR

36

A0

9

A1

8

RE

SE

T35

CS

6

PA

04

PA

13

PA

22

PA

31

PA

440

PA

539

PA

638

PA

737

PB

018

PB

119

PB

220

PB

321

PB

422

PB

523

PB

624

PB

725

PC

014

PC

115

PC

216

PC

317

PC

413

PC

512

PC

611

PC

710

U6

6116

A0

8

A1

7

A2

6

A3

5

A4

4

A5

3

A6

2

A7

1

A8

23

A9

22

A10

19

CE

18

OE

20

WE

21

D0

9

D1

10

D2

11

D3

13

D4

14

D5

15

D6

16

D7

17

74LS

04

U1B

34

1K

R2

1K

R1

0.1

uF

C1

+5V

Dis

pla

y 1

6 x

2

Page 61: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 9 Control de velocidad de motor de CD con PWM 52

Tema 6.1.1. Control de dispositivos con técnicas de programación Objetivos

El alumno realizará la integración de todos los elementos del sistema mínimo para realizar un control de velocidad de un motor de CD empleando el método de modulación por ancho de pulso (PWM).

El alumno creará y probará un programa en lenguaje ensamblador para controlar a través del teclado el incremento o decremento del ciclo de trabajo de la señal PWM.

Introducción A través de esta práctica el alumno implementará un sistema de control de velocidad de un motor de corriente directa empleando el método de modulación por ancho de pulso (PWM) y utilizará el teclado para seleccionar a través de las teclas ‘*’ y ‘#’, el incremento y decremento de la velocidad respectivamente. El display se utilizará para mostrar el letrero que identifica al sistema “Motor de CD” y para mostrar a través del signo ‘+’ ó ‘-‘ si se está incrementando o decrementando la velocidad.

Laboratorio de Microprocesadores Práctica 9

Control de velocidad de motor de CD con PWM

Reloj

Microprocesador

Memoria

ROM

(Programa)

Bus de Datos

Memoria

RAM

(Datos)

Puertos de

Entrada

Puertos de

Salida

Bus de Direcciones

Bus de Control

Dispositivos Periféricos

Teclado Display LCD

Motor de CD

Figura 9.1 Sistema mínimo integrado con dispositivos periféricos y motor de CD

Page 62: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 9 Control de velocidad de motor de CD con PWM 53

+5V

Q1TIP31

Motor CD

12

Bit 6 puerto B

El método denominado modulación por ancho de pulso (PWM) se lleva a cabo generando una señal cuadrada con un periodo fijo, lo que define la frecuencia de la señal y controlando el tiempo que dura en estado alto lo cual define el ciclo de trabajo, o sea el porcentaje de tiempo que la señal dura en estado alto con respecto al periodo de tiempo. La figura 9.2 muestra las relaciones entre los parámetros periodo (T ), el tiempo en estado alto (th) y el tiempo en estado bajo (tl ), así como la definición matemática del ciclo de trabajo (DC ). Donde: T = Periodo th = Tiempo en estado alto tl = Tiempo en estado bajo

DC (duty cycle) = Ciclo de trabajo = 𝑡ℎ

𝑡ℎ+𝑡𝑙 =

𝑡ℎ

𝑇

Figura 9.2 Señal PWM

En este tipo de señal PWM es posible notar que mientras menor sea el ciclo de trabajo, menor será el voltaje medio de la señal ( ) y por lo tanto el nivel de corriente directa (CD) proporcionado por la señal cuadrada tal y como se muestra en la figura 9.3, lo cual se representa por la intensidad luminosa del foco.

Figura 9.3 Señal PWM con ciclos de trabajo y voltajes medios crecientes

Por lo tanto el programa controlará la anchura del tiempo en estado alto pero manteniendo el valor del periodo de trabajo, dicho cambio se hará incrementando o disminuyendo el valor a través de las teclas ‘*’ y ‘#’. La señal generada por el microprocesador en el bit 6 del puerto B se aplicará a través de un transistor de potencia en la configuración de seguidor de emisor, tal y como se muestra en la figura 9.4. En este diagrama la alimentación del motor es de +5V, pero si el motor es de +12V entonces la alimentación del colector del transistor deberá adecuarse a estas condiciones.

Figura 9.4 Seguidor de emisor para control del motor de CD con señal PWM.

T

th tl

𝑉= 2.3V

𝑉= 1.0V

𝑉= 4.8V

𝑉

DC = 20%

DC = 50%

DC = 95%

Page 63: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 9 Control de velocidad de motor de CD con PWM 54

Actividades Previas 1. EI alumno deberá realizar la lectura de la práctica de laboratorio. 2. El alumno programará la memoria AT28C16 con el código de máquina obtenido a partir del programa en lenguaje

ensamblador mostrado en la figura 9.7, considerando que en cada localidad debe grabarse un byte. 3. El alumno realizará la simulación del circuito de potencia controlado por señal PWM empleando el circuito

mostrado en la figura 9.5. modificando los porcentajes de la señal PWM en el parámetro mostrado en la figura 9.6 y anotando los voltajes del vóltmetro de AC.

4. Realizar la simulación para los porcentajes de 10% a 90% con incrementos de 10%. 5. Traer el circuito armado.

Figura 9.5 Circuito para simulación.

Figura 9.6 Parámetros de la señal de pulso

Material 1 Sistema mínimo con microprocesador Z80, circuito de reloj, circuito de reset, memoria EEPROM AT28C16,

decodificador de direcciones con GAL22V10, circuito de puertos PPI 8255, decodificador de teclado MM74C922, teclado telefónico de 12 teclas y display LCD.

1 Transistor TIP31 1 Motor de CD. De 5V ó de 12V

Ancho de pulso

Page 64: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 9 Control de velocidad de motor de CD con PWM 55

Equipo 1 Fuente de C.D. 1 Osciloscopio 1 Multímetro 1 Punta lógica para prueba de tercer estado 1 Circuito de Leds de prueba Procedimiento Experimental 1. Implemente el circuito mostrado en la figura 9.9 considerando que ya se tiene armado el sistema mínimo de Von

Neumann, el teclado, la pantalla LCD con sus conexiones de alimentaciones, bus de datos y señales de control. 2. Considere que deberá adecuar la alimentación del colector del transistor en función del voltaje nominal del motor

de CD. que vaya a usar. 3. Edite el programa en lenguaje ensamblador de la figura 9.7, y obtenga el código de máquina.

Figura 9.7 Programa para control de velocidad del motor de CD. (Parte 1)

Page 65: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 9 Control de velocidad de motor de CD con PWM 56

Figura 9.7 Programa para control de velocidad del motor de CD. (Parte 2) 4. Programe la memoria AT28C16 con el programa P09 Motor CD.hex. 5. La función decodificadora de la GAL22V10D permanecerá sin cambio y por lo tanto no debe realizarse ninguna

acción sobre dicho circuito. 6. Compruebe que se despliega correctamente el mensaje “ Motor de CD” en el display de acuerdo a la figura 9.8. y

que en la segunda línea aparece el símbolo ‘+’ o ‘-‘ de acuerdo a la tecla presionada. 7. Observe en el osciloscopio la señal de salida en el emisor del transistor, midiendo los valores del periodo y los

tiempos en estado bajo y en estado alto, calcule el valor del ciclo de trabajo.

Page 66: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 9 Control de velocidad de motor de CD con PWM 57

Figura 9.8 Programa de control de velocidad de motor de CD con reducción de velocidad

8. Reduzca la velocidad al valor mínimo posible presionando y liberando la tecla ‘#’ y anote el voltaje medio en CD, medido en la terminal del emisor del transistor, que es el mismo que se aplica al motor de CD.

9. Haga una tabla de 5 valores del periodo, tiempo en estado alto, tiempo en estado bajo y ciclo de trabajo. 10. Aumente la velocidad al valor máximo posible presionando y liberando la tecla ‘*’ y anote el voltaje medio en CD,

medido en la terminal del emisor del transistor, que es el mismo que se aplica al motor de CD. 11. Haga una tabla de 5 valores del periodo, tiempo en estado alto, tiempo en estado bajo y ciclo de trabajo. Cuestionario 1. Indique en qué forma se comporta el voltaje medio de la señal de alimentación del motor en función del ciclo de

trabajo de la señal PWM. 2. Qué ventajas tiene controlar sistemas de CD empleando señales PWM.

Page 67: M Microprocesadores 2016-1

Facultad de Estudios Superiores Cuautitlán UNAM

Práctica 9 Control de velocidad de motor de CD con PWM 58

Figura 9.9 Sistema Mínimo con Display LCD

0C?

0.0

1u

FC

? 0.1

uF

0

13

2

65

4

98

7

0*

Gri

s

#

Azu

l

Vio

leta

Nara

nja

Am

ari

llo

Ro

joV

erd

e

U7

MM

74C

922

RO

WY

11

RO

WY

22

RO

WY

33

RO

WY

44

OS

C5

KB

ON

SM

SK

6

CL

MX2

10

CL

MX1

11

DA

VB

L12

OE

13

OD

14

OC

15

OB

16

OA

17

CL

MX3

8

CL

MX4

7

U2

Z8

0 C

PU

A0

30

A1

31

A2

32

A3

33

A4

34

A5

35

A6

36

A7

37

A8

38

A9

39

A10

40

A11

1

A12

2

A13

3

A14

4

A15

5

WA

IT24

INT

16

NM

I17

RS

T26

BU

SR

Q25

BU

SA

K23

CL

K6

IOR

Q20

HA

LT

18

D0

14

D1

15

D2

12

D3

8

D4

7

D5

9

D6

10

D7

13

M1

27

MR

EQ

19

RD

21

RE

FS

H28

WR

22

C

irc

uit

o V

CC

G

ND

74

LS

04

U

1 1

4 7

Z8

0 C

PU

U

2 1

1 2

9

GA

L2

2V

10

D U

3 2

4 1

2

AT

28

C1

6 U

4 2

4 1

2

PP

I 8

25

5 U

5 2

6 7

61

16

SR

AM

U

6 2

4 1

2

MM

C7

4C

92

2 U

7 1

8 9

74LS

04

U1

C

56

SW

1

RE

SE

T

1N

400

1D

11k

R3

0.1

uF

C2

Un

ive

rsid

ad

Na

cio

na

l A

utó

no

ma

de

xic

o

Fa

cu

lta

d d

e E

stu

dio

s S

up

eri

ore

s C

ua

uti

tlá

n

Sis

tem

a d

e M

icro

pro

ce

sa

do

r Z

80

M. e

n T

I. J

org

e B

ue

nd

ía G

óm

ez

+5

V

U4

AT2

8C

16

A0

8

A1

7

A2

6

A3

5

A4

4

A5

3

A6

2

A7

1

A8

23

A9

22

A10

19

D0

9

D1

10

D2

11

D3

13

D4

14

D5

15

D6

16

D7

17

CE

18

OE

20

WE

21

+5

V

U3

GA

L22V

10

I/C

LK

1

I2

I3

I4

I5

I6

I/O

14

I/O

15

I/O

16

I/O

17

I/O

19

I/O

20

I/O

21

I/O

22

I/O

18

I/O

23

I7

I8

I9

I10

I11

I13

74LS

04

U1

A

12

+5

V

+5

V

U5

8255

D0

34

D1

33

D2

32

D3

31

D4

30

D5

29

D6

28

D7

27

RD

5

WR

36

A0

9

A1

8

RE

SE

T35

CS

6

PA

04

PA

13

PA

22

PA

31

PA

440

PA

539

PA

638

PA

737

PB

018

PB

119

PB

220

PB

321

PB

422

PB

523

PB

624

PB

725

PC

014

PC

115

PC

216

PC

317

PC

413

PC

512

PC

611

PC

710

U6

6116

A0

8

A1

7

A2

6

A3

5

A4

4

A5

3

A6

2

A7

1

A8

23

A9

22

A10

19

CE

18

OE

20

WE

21

D0

9

D1

10

D2

11

D3

13

D4

14

D5

15

D6

16

D7

17

74LS

04

U1

B

34

1K

R2

1K

R1

0.1

uF

C1

+5

V

Dis

pla

y 1

6 x

2

Q1

TIP

31

Mo

tor

CD

1 2