Está en la página 1de 57

Universidad Nacional Autnoma de Mxico Facultad de Estudios Superiores Cuautitln Departamento: Ingeniera Seccin: Electrnica

Laboratorio de Microprocesadores
Asignatura: Microprocesadores Clave Carrera: 116 Clave Asignatura: 0586

Autor:

M. en TI. Jorge Buenda Gmez Fecha de Elaboracin: 2000 Fecha de modificacin: Diciembre 2012

ndice

ndice
ndice Prlogo Reglamento Prctica 1 Prctica 2 Prctica 3 Prctica 4 Prctica 5 Prctica 6 Prctica 7 Prctica 8 Prctica 9 Sistema Mnimo de Microprocesador
1.1 Elementos de un microcomputador

I II V 1 6 10 15 19 25 31 38 45

1.1 Elementos de un microcomputador

Punta Lgica Para Pruebas de Tercer Estado Generador de Reloj para Microprocesador Circuito de Autoreset para Microprocesador Memoria EEPROM o Memoria de Programa Memoria SRAM o Memoria de Datos Puertos de Entrada Salida (Input / Output) Conexin de Dispositivo Perifrico de Entrada (Teclado) Conexin de Dispositivo Perifrico de Salida (Display LCD)

2.1 Las seales

2.4 El funcionamiento interno: los diagramas de estado

3.2 Estructura de los sistemas de memoria

3.2 Estructura de los sistemas de memoria

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

6.1.1. Control de dispositivos con tcnicas de programacin

6.1.1. Control de dispositivos con tcnicas de programacin

Laboratorio de Microprocesadores

Prlogo

II

Prlogo
Objetivos generales de la asignatura
Comprender la estructura y funcionamiento de los microprocesadores para aplicarlos en la solucin de problemas de ingeniera

Objetivos del curso experimental


Implementar un sistema digital que incluya un microprocesador como elemento central. Identificar la funcin que realiza cada uno de los elementos que conforman el esquema de Von Neumann, tal como reloj, microprocesador, memoria ROM, memoria RAM, puertos de entrada y salida y dispositivos perifricos. Conocer la sealizacin caracterstica que se presenta en los sistemas digitales con microprocesador e identificar de forma adecuada la forma en que interactan los circuitos de apoyo que se emplean para la creacin de una computadora. Disear, programar, simular e implementar algoritmos que le permitan al sistema digital con microprocesador interactuar con los dispositivos perifricos y probar la funcionalidad de todas y cada una de las partes que conforman al esquema de Von Neumann.

Introduccin
Actualmente, los sistemas digitales que integran microprocesadores, se han expandido a la mayora de los sistemas inteligentes que se emplean para controlar maquinaria industrial, sistemas de cmputo y en general todo aquel sistema que requiera capacidad de procesamiento automatizada. Este laboratorio proporciona al alumno del rea, la teora y los mtodos para disear e implementar sistemas electrnicos avanzados empleando microprocesadores adems de todos los dispositivos perifricos necesarios para realizar las interfaces hombre mquina que permitan controlar a este tipo de dispositivos, los cuales estn orientados a mejorar la forma de vida de las personas y liberarlas de actividades repetitivas. El objetivo del laboratorio es la creacin de un sistema de cmputo que contenga a un microprocesador y a todos los elementos considerados dentro del esquema de Von Neumann. Este sistema se ir implementando de forma paulatina en cada una de las prcticas haciendo nfasis en la comprensin del funcionamiento de cada uno de los dispositivos y su interaccin con los otros elementos. En cada prctica se lograr un avance parcial del sistema y se plantearn las pruebas necesarias para comprobar el funcionamiento correcto de las diferentes etapas. Una de las caractersticas importantes de este laboratorio es que plantea un proyecto integrador donde se pueden comprobar todos los conceptos correspondientes a la materia de Microprocesadores y en el cual se puede ir avanzando por etapas incluyendo los nuevos conceptos cubiertos en la teora. Para la realizacin de este laboratorio se plantea la utilizacin de herramientas adicionales a las consideradas en los laboratorios tradicionales de electrnica, 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 lgicos programables GALs, adems de la creacin de una punta lgica de prueba para la comprobacin del tercer estado presentado por los circuitos del proyecto.

Los criterios de evaluacin para el laboratorio son los siguientes:


C1 (Criterio de evaluacin 1): Reporte entregado con todos los puntos indicados (50%) C2 (Criterio de evaluacin 2): Participacin (20%) C3 (Criterio de evaluacin 3): Habilidades en la toma de mediciones (20%) C4 (Criterio de evaluacin 4): Armado de la prctica (10 %)
Laboratorio de Microprocesadores

Prlogo

Tambin ser necesario incluir en cada prctica, una portada (obligatoria) como la mostrada a continuacin. U. N. A. M. F. E. S. C. Laboratorio de : ________________________________________ Grupo: __________ Profesor: ______________________________________________________________ Alumno: _______________________________________________________________ Nombre de Prctica: _________________________________ No. de Prctica: _______ Fecha de realizacin: _______________________ Fecha de entrega:________________ Semestre: ____________ Instrucciones para la elaboracin del reporte
Para la presentacin del reporte se deber cumplir con los requisitos indicados en cada una de las prcticas, incluyendo: Portada Introduccin. Procedimiento experimental Circuito Tablas de datos Grficas Comentarios Observaciones Esquemas Diagramas Cuestionario

III

y en general todos los elementos solicitados dentro del desarrollo de la prctica. Bibliografa 1. Peatman John Microcomputer Base Design Mc. Graw Hill 1977 Zilog Z80 Programing for Logic Design Osborne & Associates Inc. Crisp, J. (1998). Introduction to microprocessors. Newness. Angulo, Jos Mara (1997). Microprocesadores avanzados 386 y 486 : introduccin al Pentium pro Funke. 3era ed. Madrid Paraninfo, 1997

2.

3.

4.

Laboratorio de Microprocesadores

Prlogo

5.

Brey, Barry B. Los microprocesadores Intel 8086/8088, 80136, 80286, 80386 y 80486 : arquitectura, programacin e interfaces. Mxico Prentice-Hall, 1995. E. mandado. Diseno de sistemas digitales con microprocesadores Mexico, D.F. Alfaomega 1996 Tokheim, Roger L. Fundamentos de los microprocesadores Madrid ; Mxico : McGraw-Hill 1991.

IV

6.

7.

Laboratorio de Microprocesadores

Reglamento Interno del Laboratorio de Comunicaciones, Control y Electrnica

Reglamento Interno del Laboratorio de Comunicaciones, Control y Electrnica


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 e. Introducir alimentos y/o bebidas. f. Introducir cualquier objeto ajeno a las prcticas de laboratorio, tales como: televisiones, equipos de sonido (aun con audfonos) excepto algn equipo para realizar las prcticas g. La presencia de personas ajenas en los horarios de laboratorio. h. Dejar los bancos en desorden. i. Mover equipos o quitar accesorios de una mesa de trabajo a otra sin el consentimiento previo del profesor de laboratorio en turno. j. Usar o manipular el equipo sin el conocimiento previo del profesor. k. Rayar las mesas del laboratorio. l. Energizar algn circuito sin antes verificar que las conexiones sean las correctas (polaridad de las fuentes de voltaje, multmetros, etc.). m. Hacer cambios en las conexiones o desconectar equipo estando est energizado. n. Hacer trabajos pesados (taladrar, martillar, etc.) en las mesas de las prcticas, para ello se cuenta con mesas especiales para este tipo de trabajos. 2. Verifique las caractersticas de los dispositivos electrnicos con el manual o pregunte a su profesor de laboratorio. 3. Es responsabilidad del usuario revisar las condiciones del equipo del laboratorio al inicio de cada prctica y reportar cualquier anomala que pudiera existir (prendido, daado, sin funcionar, maltratado, etc.) al profesor del laboratorio correspondiente. 4. Es requisito indispensable para la realizacin de las prcticas, que el alumno cuente con su manual completo y actualizado al semestre en curso, las cuales podrn obtener en: http://olimpia.cuautitlan2.unam.mx/pagina_ingenieria. 5. El alumno deber traer su circuito armado para poder realizar la prctica, de no ser as no podr realizar dicha prctica (donde aplique) y tendr una evaluacin de cero. 6. Quien requiera hacer uso de las instalaciones de laboratorio para desarrollar trabajos, prcticas o proyectos, es requisito indispensable que est presente el profesor responsable atendiendo a los alumnos, en caso contrario no podrn hacer uso de dichas instalaciones. 7. Correo electrnico del buzn para quejas y sugerencias para cualquier asunto relacionado con los Laboratorios de Electrnica. (electronica@fesc.cuautitlan2.unam.mx) 8. La evaluacin del laboratorio, ser en base a lo siguiente: A - (Acreditado); Cuando el promedio total de todas las prcticas de laboratorio sea mayor o igual a 6 siempre y cuando tengan el 90% de prcticas acreditadas en base a los criterios de evaluacin. NA - (No Acreditado); No se cumpli con los requisitos mnimos establecidos en el punto anterior.
Laboratorio de Microprocesadores

Reglamento Interno del Laboratorio de Comunicaciones, Control y Electrnica

NP - (Nunca se present); con o sin asistencia pero que no haya entregado reporte alguno.

VI

9. Los casos no previstos en el presente reglamento sern resueltos por el Jefe de la Seccin. 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 segn sea el caso y la gravedad. Baja temporal del grupo de laboratorio al que est inscrito. Baja definitiva del grupo de laboratorio al que est inscrito.

Laboratorio de Microprocesadores

Facultad de Estudios Superiores Cuautitln

UNAM

Laboratorio de Microprocesadores
Sistema Mnimo de Microprocesador
Tema
1.1 Elementos de un microcomputador

Prctica 1

Objetivo
Que el alumno conozca las caractersticas del sistema mnimo de microprocesador que se implementar en el transcurso de las prcticas del Laboratorio de Microprocesadores. Que el alumno conozca e identifique las diferentes partes que conforman un sistema mnimo que se apega al esquema de Von Neumann.

Introduccin
Uno de los objetivos primordiales del Laboratorio de Microprocesadores es la implementacin de un sistema de cmputo que emplee un microprocesador Z80 como elemento central, a este sistema digital se le conoce como sistema mnimo, el cual consta de los elementos ms significativos y necesarios para la construccin de una computadora. La implementacin 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 mnimo es en realidad una computadora completa que puede realizar todas las funciones asociadas con un sistema de esta naturaleza.
Reloj

Microprocesador

Bus de Direcciones Bus de Control Bus de Datos

Memoria ROM (Programa)

Memoria RAM (Datos)

Puertos de Entrada

Puertos de Salida

Dispositivos Perifricos

Figura 1.1
Prctica 1 Sistema Mnimo de Microprocesador 1

Facultad de Estudios Superiores Cuautitln

UNAM

El sistema mnimo a implementar se basa en el esquema de Von Neumann, el cual contiene una serie de elementos bsicos que permiten la ejecucin de programas en lenguaje ensamblador y la interaccin con dispositivos perifricos y con el usuario, la figura 1.1 nos muestra el esquema general de la arquitectura Von Neumann, la cual consta de un sistema de reloj, un microprocesador, la memoria ROM de programa, la memoria RAM de datos, los puertos de entrada, los puertos de salida y los dispositivos perifricos. En cada una de las prcticas 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 cmputo completo y funcional para la ejecucin de programas en lenguaje ensamblador y para la conexin de diferentes dispositivos perifricos. El sistema armado completo se muestra en la figura 1.2.

Figura 1.2 En el cual se pueden identificar las siguientes partes: # 1 2 3 4 5 6 7 Elemento del Esquema de Von Neumann Circuito de Reloj Circuito de Reset Microprocesador Z80 Lgica de Control y Decodificacin Memoria de Programa (EEPROM) Memoria de Datos (SRAM) Puertos de Entrada / Salida Tabla 1.1 Cada uno de estos elementos ser armado y probado para asegurar que el sistema funcione de forma adecuada.
Prctica 1 Sistema Mnimo de Microprocesador 2

Facultad de Estudios Superiores Cuautitln

UNAM

Debido a que el objetivo es implementar el sistema completo, entonces ser necesario conservar la parte del circuito que se haya armado en prcticas anteriores para que poco a poco se complete el sistema mnimo 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 1.2. En la implementacin de este sistema deben realizarse una serie de consideraciones que de llevarse a cabo traen como consecuencia un circuito sin errores de conexin 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 1.2, los alambres de conexin deben ser lo ms corto posible entre 2 puntos del sistema y no deben elevarse sobre la tableta ni sobre los circuitos integrados puesto que esta accin provoca la interferencia por ruido. Los circuitos deben quedar libres en su parte superior para que puedan ser extrados en caso de un desperfecto en su funcionamiento o para poder programar a la EEPROM con los diferentes programas que se disearn para probar el sistema. El grosor de los cables debe ser de calibre 24 estaados para que se realice un buen contacto, el cable empleado en las redes de computadoras STP categora 5 no es recomendable puesto que es muy delgado y no produce un buen contacto en la protoboard. Para realizar la conexin, 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 1.3.

Conexin correcta

Conexin Incorrecta

Figura 1.3 Adems, para la elaboracin del sistema se deber considerar que algunos de los circuitos empleados son de tecnologa 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 electrostticas para no causarles dao. Para realizar la manipulacin de los circuitos el alumno deber descargarse sobre algn objeto metlico y tomar los circuitos por los extremos y no por las terminales. En ambientes industriales esta operacin se realiza con pulseras y tapetes de descarga antiesttica. Otra consideracin es que en este tipo de sistemas, los circuitos integrados presentan 3 salidas diferentes; 0 lgico, 1 lgico y Z alta impedancia, por lo cual deber plantearse la utilizacin de equipo de prueba adicional al empleado en los laboratorios tradicionales, pues ya que no es posible realizar estas mediciones empleando solo osciloscopio y multmetro. En este tipo de sistemas se hace necesario verificar el estado de varias seales digitales de forma simultnea y debido a que los osciloscopios solo tienen 2 canales es preferible utilizar puntas de prueba con LEDs tal y como la mostrada en la figura 1.4 o switch de entrada como los mostrados en la figura 1.5. Con respecto a la alimentacin del circuito y debido a que este tipo de sistemas solo emplea una fuente de alimentacin fija de 5 V., las seales en las terminales siempre estarn en un rango de voltaje muy cercano a 0 V. o a 5V. y por lo tanto seales del rango menor a 1 V. o milivolts no son tiles y seran por lo tanto un indicador de deficiencias en el armado del circuito.

Prctica 1 Sistema Mnimo de Microprocesador

Facultad de Estudios Superiores Cuautitln

UNAM

Actividades Previas a la Prctica


1. 2. 3. EI alumno deber realizar la lectura de la prctica de laboratorio. Realizar la simulacin de los circuitos de las figuras 1.4 y 1.5. Traer el circuito armado

Material
8 Resistencias de 470 a W. 10 Resistencias de 1 k a W. 8 Leds 2 DIP Switch de 5 switch

Equipo
1 Multmetro 1 Proto Board Alambres de conexin Cable plano

Procedimiento Experimental
1. 2. 3. Implemente los circuitos de la figura 1.4 y 1.5. Compruebe el comportamiento correcto del circuito de la figura 1.4, observando el encendido y apagado de cada uno de los 8 leds, conectando las terminales D0 D7 al nivel de 5V y tierra respectivamente. Compruebe el funcionamiento correcto del circuito de la figura 1.5 , midiendo el voltaje en las terminales de salida D0 D9 cambiando la posicin de cada uno de los switch SW1 SW10.
5V D0 D1 D2 D3 D4 D5 D6 D7 R1 - R8 0.47k

R9 - R18 1k D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 SW1 - SW10 SWITCH

D1 - D8 LED

Figura 1.4 4.

Figura 1.5

Este tipo de herramientas ayudan mucho en la determinacin rpida de las fallas en los circuitos que contienen procesadores y por ello es necesario implementarlas de forma permanente como se indica en las figuras 1.6 y 1.7.

Cuestionario
1. 2. 3. Investigue otros 2 tipos de esquemas bsicos, diferentes de Von Neumann, para la construccin de sistemas digitales con microprocesadores. Describa las funciones de cada una de las partes bsicas del esquema de Von Neumann. Cules son las unidades indispensables en un esquema de Von Neumann.

Prctica 1 Sistema Mnimo de Microprocesador

Facultad de Estudios Superiores Cuautitln

UNAM

Figura 1.6

Figura 1.7

Prctica 1 Sistema Mnimo de Microprocesador

Facultad de Estudios Superiores Cuautitln

UNAM

Laboratorio de Microprocesadores
Punta Lgica Para Pruebas de Tercer Estado
Tema
1.1 Elementos de un microcomputador

Prctica 2

Objetivo
Implementar un dispositivo de prueba denominado punta lgica para probar los estados digitales de 0 lgico, 1 lgico y Z tercer estado. Comprobar las mediciones de tercer estado sobre un circuito 74LS125.

Introduccin
En los sistemas de microprocesadores varios de los circuitos que intervienen en su implementacin son capaces de proporcionar salidas de tercer estado necesarias para dar la capacidad de conexin de 2 o ms salidas en un mismo punto sin provocar un corto circuito, siempre y cuando exista un control de activacin de cada una de las salidas conectadas a dicha unin. El circuito de salida tpico empleado en las compuertas TTL es el circuito de Totem Pole mostrado en la figura 2.1 para una compuerta AND, en el cual se logran los estados de 0 lgico y 1 lgico al saturar y cortar a los transistores Q3 y Q4 como se muestra en la tabla 2.1. X 0V 0V 5V 5V Y 0V 5V 0V 5V Q3 Saturacin Saturacin Saturacin Corte Q4 Corte Corte Corte Saturacin Salida 0V 0V 0V 5V

Tabla 2.1 Tabla de estados de salidas Totem Pole En este circuito los transistores Q3 y Q4 siempre estn en estados contrarios, nunca se establecen los 2 en corte o los 2 en saturacin, lo cual produce solo 2 posibles estados 0 y 1.

Figura 2.1

Figura 2.2

Prctica 2 Punta Lgica Para Pruebas de Tercer Estado

Facultad de Estudios Superiores Cuautitln

UNAM

En la condicin de tercer estado mostrada en la figura 2.2, 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. En esta prctica se implementar un circuito denominado punta lgica el cual es capaz de identificar a travs del encendido de 3 leds independientes, alguno de los 3 estados posibles de un circuito que presente alta impedancia adems de los dos estados lgicos 0 y 1. Debido a que el estado de alta impedancia es muy similar al estado de desconexin, 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 implementacin es la siguiente.

Figura 2.3 Circuito de punta lgica

Figura 2.4 Punta lgica con puntas de alimentacin y prueba

Actividades Previas a la Prctica


1. 2. 3. 4. EI alumno deber realizar la lectura de la prctica de laboratorio. Realizar la simulacin del circuito de la figura 2.5 considerando que en el simulador solo se pueden probar los estados 0 y 1 lgico de entrada y el estado de alta impedancia no se puede simular. Investigar el concepto de tercer estado. Traer el circuito armado

Material
2 2 1 1 1 1 1 1 Resistencias R1 y R2 de 1k a W. Resistencias R3 y R4 de 0.47k a W. Circuito Integrado 74LS00 Circuito Integrado 74LS125 Transistor Q1 BC547 Diodo LED Rojo D1 Diodo LED Verde D2 Diodo LED Amarillo D3 Cable de conexin 2 Bananas
Prctica 2 Punta Lgica Para Pruebas de Tercer Estado 7

Facultad de Estudios Superiores Cuautitln

UNAM

Equipo
1 1 Fuente de Voltaje 5V Multmetro

Procedimiento Experimental
1. 2. 3. Implemente el circuito de la figura 2.5 considerando las terminales indicadas en cada una de las compuertas. Alimente el circuito con 5V y la compuerta 74LS00 (terminal 14 = 5V. y terminal 7 = 0V.) Compruebe el comportamiento del circuito llevando la punta lgica a los 3 posibles estados de un circuito lgico, 0 lgico igual a 0 V., 1 lgico igual a 5V. y Z alta impedancia o tercer estado igual a punta al aire o desconectada y proceda al llenando de la tabla 2.2.
5V R4 0.47K R1 Q1 1k U1A BC547A 1 3 Punta de Prueba 2 R3 0.47K U1B R2 1k 4 6 5 74LS00 10 74LS00 9 8 74LS00 12 11 13 U1C 74LS00 U1D D1 Led Rojo "1" Logico D2 Led Verde "0" Logico D3 Led Amarillo "Z" Tercer Estado

Figura 2.5 Esquemtico de punta lgica Estado punta lgica 0 1 Z Tabla 2.2 Tabla de valores del circuito de punta lgica 4. Implemente el circuito de la figura 2.6 manteniendo el circuito anterior.
C1 A1 1 U1A 2 3 74LS125A Y1

Voltaje de Entrada

Estado Led Rojo

Estado Led Verde

Estado Led Amarillo

Figura 2.6 Circuito de prueba 5. 6. Alimente el circuito 74LS125 con 5V. en terminal 14 y 0V. en terminal 7. Compruebe la tabla de verdad del buffer empleando para ello el circuito de punta lgica armado en el punto 1.

Prctica 2 Punta Lgica Para Pruebas de Tercer Estado

Facultad de Estudios Superiores Cuautitln

UNAM

Figura 2.7 Hoja tcnica de circuito 74LS125

Cuestionario
1. 2. 3. 4. Explique el comportamiento de una compuerta lgica inversora TTL de tercer estado. Investigue el concepto de compuertas con salida de colector abierto. Explique el concepto de OR alambrada. Explique porque se requiere que los circuitos de memoria y microprocesadores tengan salidas de tercer estado.

Prctica 2 Punta Lgica Para Pruebas de Tercer Estado

Facultad de Estudios Superiores Cuautitln

UNAM

Laboratorio de Microprocesadores
Generador de Reloj para Microprocesador
Tema
2.1 Las seales

Prctica 3

Objetivos
El alumno implementar diferentes circuitos de temporizacin empleados en la generacin de seales digitales de reloj para sistemas basados en microprocesador.

Introduccin
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 seal digital con una frecuencia caracterstica definida por el microprocesador en cuestin. Las seales de reloj de los microprocesadores tienen otras caractersticas importantes, tales como el ciclo de trabajo, definido como la relacin entre el tiempo que la seal de reloj se mantiene en estado alto (th) y el periodo de la seal (T), tal y como se muestra en la figura 3.1. T

th

tl 100 = 100 +

[%] =

Figura 3.1

La seal digital generada por el sistema de reloj, acta como la seal de sincrona del microprocesador, el cual ejecuta las instrucciones del programa e interacta con los elementos que conforman al sistema tales como las memorias RAM y ROM y los puertos de entrada (I) y salida (O) en funcin de los cambios que realiza la seal de reloj, en la figura 3.2 se muestra el sistema de reloj dentro del esquema de Von Neumann. Todas las operaciones que realiza un microprocesador para ejecutar una instruccin o para activar un circuito, se ejecutan en sincrona 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 seales de reloj requeridas permiten elaborar diagramas de tiempo bajo los cuales opera el microprocesador, haciendo posible sincronizar las seales del microprocesador con los tiempos de acceso, retardo o de control de sus perifricos. El parmetro ms elemental en la temporizacin 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 3.3.

Prctica 3 Generador de Reloj para Microprocesador

10

Facultad de Estudios Superiores Cuautitln


Reloj

UNAM

Microprocesador

Bus de Direcciones Bus de Control Bus de Datos

Memoria ROM (Programa)

Memoria RAM (Datos)

Puertos de Entrada

Puertos de Salida

Dispositivos Perifricos

Figura 3.2

Figura 3.3 En la figura 3.4 se muestra uno de los diagramas de tiempo empleados por el microprocesador Z80 para la realizacin del proceso de decodificar una instruccin almacenada en la memoria ROM, como se puede observar, los cambios en todas las seales asociadas con el funcionamiento del microprocesador se llevan a cabo en sincrona con la seal de reloj (CLK).

Figura 3.4 Una forma de generar la seal de reloj es emplear compuertas lgicas retroalimentadas, usando resistencias y capacitores. La figura 3.5 muestra un circuito que emplea compuertas lgicas inversoras.
Prctica 3 Generador de Reloj para Microprocesador 11

Facultad de Estudios Superiores Cuautitln


C1 0.1uF 5 R1 1K 1 2 U1A 74LS04 3 R2 1K 4 U1B 74LS04 U1C 74LS04 6

UNAM

Reloj

Figura 3.5 Para asegurar ms estabilidad en la frecuencia y para acceder a frecuencias ms elevadas, es comn emplear cristales de cuarzo como elementos de control de la frecuencia de oscilacin. La figura 3.6 A muestra el smbolo de un cristal de cuarzo piezoelctrico y la figura 3.6 B muestra el circuito equivalente.

(A)

Figura 3.6

(B)

En la figura 3.7 se observa un circuito que utiliza un cristal de cuarzo de 4 MHz para fijar la frecuencia de la oscilacin, este tipo de circuito garantiza oscilaciones estables asociadas con la frecuencia del cristal.
XTAL 4 MHz U1C 74LS04 6 5 R2 1K 2 U1A 74LS04 3 4 U1B 74LS04

Reloj

R1 1K 1

Figura 3.7 Dadas las elevadas frecuencias a las que trabajan algunos microprocesadores, se requieren circuitos que generen seales confiables y adecuadas a ciertas caractersticas especficas. Esto ha llevado a que algunos microprocesadores tengan, entre su familia de circuitos complementarios un C.I. temporizador construido especficamente 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 seal de READY en combinacin con el segundo reloj y la propia seal de READY. Otro circuito es el 8284, tambin de Intel, el cual proporciona la temporizacin y dos seales de control para los microprocesadores 8086 y 8088. Un circuito que lo emplea se muestra en la figura 3.8.

Figura 3.8
Prctica 3 Generador de Reloj para Microprocesador 12

Facultad de Estudios Superiores Cuautitln

UNAM

Actividades Previas a la Prctica


1. EI alumno deber realizar la lectura de la prctica de laboratorio. 2. Realizar la simulacin del circuito de la figura 3.5. Considere que la oscilacin del circuito se basa en el ruido y retrasos en las seales del circuito y por lo tanto puede requerirse de un tiempo de espera para que la seal aparezca en el osciloscopio del simulador. 3. Traer el circuito armado

Material
2 1 1 1 1 1 Resistencias de 1 K, W. Capacitor de 0.01 uF. Capacitor de 0.1 uF Capacitor de 1 uF Circuito integrado 74LS04. Cristal de 4 Mhz.

Equipo
1 1 1 1 Fuente de alimentacin de C.D. Osciloscopio. Tableta de conexiones Multmetro

Procedimiento Experimental
1. Arme cada uno de los circuitos de las figuras 3.5 y 3.7 polarizando los circuitos integrados a un voltaje de 5 V. 2. El circuito de la figura 3.5 se utilizar como el primer elemento del sistema con microprocesador y por lo tanto deber mantenerse armado para las pruebas posteriores.

Figura 3.9

3. Con el osciloscopio observe la seal de salida de cada uno de los circuitos (terminal 6) y mida los valores indicados en la tabla 3.1 y dibuje las formas de onda obtenidas para cada uno de los dos circuitos. Circuito Fig 3.5 Fig 3.7 Tabla 3.1 4. Indique cual es el ciclo de trabajo de las seales de reloj obtenidas (que porcentaje del ciclo completo se encuentra la seal activa en alto). 5. Observe las seales de las terminales 5 de cada uno de los circuitos y dibjelas.
Prctica 3 Generador de Reloj para Microprocesador 13

Frecuencia (f)

Periodo (T)

Tiempo en alto (th)

Tiempo en bajo (tl)

Facultad de Estudios Superiores Cuautitln

UNAM

6. Explique las diferencias existentes entre las seales de las terminales 5 y 6. 7. Cambie el capacitor de 0.1 F a los valores de 0.01 F y 1 F e identifique las variaciones que se presentan en la seal de reloj del circuito de la figura 3.5.

Cuestionario
1. 2. 3. 4. Qu funcin realiza la compuerta inversora en la salida del circuito. Investigue el circuito 8284 dando la configuracin de pines y dando una breve anotacin funcional de sus terminales. Mencione otros circuitos temporizadores (integrados o discretos) de uso general no cubiertos en la presente prctica. Complemente la informacin dada en la introduccin sobre cristales, acerca de la determinacin de la frecuencia de oscilacin. 5. Que condiciones de funcionamiento tiene el reloj de salida proporcionado por el circuito 8284.

Prctica 3 Generador de Reloj para Microprocesador

14

Facultad de Estudios Superiores Cuautitln

UNAM

Laboratorio de Microprocesadores
Circuito de Autoreset para Microprocesador
Tema
2.4 El funcionamiento interno: los diagramas de estado

Prctica 4

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 seal de reset.

Introduccin
En los microprocesadores la seal de reset se utiliza para llevar al microprocesador a un estado conocido. La seal 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 interrupcin (I) y de refresco de memoria (R) Selecciona el modo 0 de interrupcin mascarable

De forma externa la seal de reset se refleja en el estado de algunas de sus seales como se indica: El bus de direcciones y de datos se pone en alta impedancia mientras la seal de reset est activa. Todas las seales de salida del bus de control se mantienen inactivas.

Adems para que la inicializacin sea exitosa, la seal de reset debe mantenerse activa en bajo por lo menos 3 ciclos completos de reloj. puesto que el capacitor est originalmente descargado y despus de 5 (constantes de tiempo), el capacitor es cargado al 99.3% del voltaje de alimentacin de 5V, lo que produce que la seal de reset pase a inactiva. Para lograr la especificacin de 3 ciclos completos de reloj para una aplicacin correcta del reset, se requiere que el voltaje de carga del capacitor se mantenga por debajo del voltaje VIL considerado como 0 lgico por un tiempo lo suficientemente largo para que transcurran 3 ciclos de reloj del microprocesador. 5V VIL = 0.8V Para la realizacin de un circuito de reset, se emplea una malla RC que proporciona un 0 lgico al alimentar al sistema

Reloj t=0.174 Figura 4.1


Prctica 4 Circuito de Autoreset para Microprocesador

15

Facultad de Estudios Superiores Cuautitln

UNAM

La ecuacin 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 descargndolo de forma directa y produciendo un estado bajo durante todo el tiempo que el switch permanezca cerrado y la seal de reset regresar al estado de inactividad (5V) al cargarse nuevamente al capacitor despus de desconectar el switch. En esta prctica se integrarn el circuito de reloj, reset y microprocesador del esquema de Von Neumann como se muestra en la figura 4.2.
Reloj

Microprocesador

Bus de Direcciones Bus de Control Bus de Datos

Memoria ROM (Programa)

Memoria RAM (Datos)

Puertos de Entrada

Puertos de Salida

Dispositivos Perifricos

Figura 4.2

Actividades Previas a la Prctica


1. 2. 3. EI alumno deber realizar la lectura de la prctica de laboratorio. Obtenga el valor de tiempo terico necesario para alcanzar el valor VIL. Traer el circuito armado

Material
1 Capacitor de 10 uF a 16V o mayor voltaje 1 Resistencia de 1K a W. 1 Switch Push Button normalmente abierto 1 Diodo 1N4001 1 Microprocesador Z80 Circuito de reloj implementado en la prctica anterior

Prctica 4 Circuito de Autoreset para Microprocesador

16

Facultad de Estudios Superiores Cuautitln

UNAM

Equipo
1 Fuente de C.D. 1 Osciloscopio 1 Multmetro 1 Punta lgica para prueba de tercer estado 1 Circuito de Leds de prueba

Procedimiento Experimental
1. Implemente el circuito de la figura 4.3 considerando que ya se tiene armado el circuito de reloj y adicione solamente el circuito de reset y el microprocesador Z80.
C1 0.1uF 5 R1 1K 1 2 U1A 74LS04 VCC 26 20 R3 10k D1 1N4001 19 22 21 C2 1uF SW1 RESET RST IORQ MREQ WR RD D0 D1 D2 D3 D4 D5 D6 D7 3 R2 1K 4 U1B 74LS04 VCC 16 17 24 25 U1C 74LS04 6 U2 6 18 23 27 28 CLK HALT BUSAK M1 REFSH Z80 CPU A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 30 31 32 33 34 35 36 37 38 39 40 1 2 3 4 5 14 15 12 8 7 9 10 13

INT NMI WAIT BUSRQ

Figura 4.3 2. Realiza la conexin en la protoboard utilizando como referencia la fotografa de la figura 4.4

Figura 4.4

Prctica 4 Circuito de Autoreset para Microprocesador

17

Facultad de Estudios Superiores Cuautitln

UNAM

3. 4.

El circuito de microprocesador deber alimentarse con 5V. en la terminal 11 y con 0V. en la terminal 29. Observe la seal de reset en la salida del circuito y compruebe su comportamiento al presionar y liberar el botn de reset (SW1). 5. Grafique la seal de reset indicando los parmetros de voltaje y tiempo, para realizar esta operacin puede utilizar la funcin de Stop o captura de imagen que poseen los osciloscopios digitales. 6. Empleando el circuito de punta lgica compruebe que mientras est presionado el botn de reset, ambos buses de direcciones y de datos permanecen en tercer estado. , , , RD y 7. Compruebe el estado de las seales: BUSAK HALT, M1, REFRESH MREQ, IORQ WR mientras la seal de reset est activa (0V) empleando el circuito de leds. 8. Debido a que este sistema an no contiene una memoria ROM de programa, una vez que se libera el botn de reset, el microprocesador intenta leer la direccin 0000H, pero al estar las terminales del bus de datos al aire, entonces la lectura es tericamente FFH o basura de forma real, por lo tanto el microprocesador no puede ejecutar ningn programa lgico. 9. Aun bajo estas condiciones, es posible probar algunas de las seales de salida del bus de control, tales como: empleando el circuito de leds. IORQ, RD y WR M1, REFRESH, MREQ, 10. Observe el comportamiento de las seales anteriores, con el circuito de reset en su estado inactivo (5V).

Cuestionario
1. 2. 3. Investigue las condiciones que se producen al insertar la seal de reset en el microprocesador 8086 de Intel y en el microprocesador Intel Pentium 4. (Checar en internet Manual Pentium 4). , Describa el funcionamiento de las seales IORQ, RD y M1, REFRESH MREQ, WR. Determine cual sera la frecuencia de reloj mnima para poder realizar correctamente el proceso de auto reset, calclelo en funcin de la ecuacin de carga del capacitor.

Prctica 4 Circuito de Autoreset para Microprocesador

18

Facultad de Estudios Superiores Cuautitln

UNAM

Laboratorio de Microprocesadores
Memoria EEPROM o Memoria de Programa
Tema
3.2 Estructura de los sistemas de memoria

Prctica 5

Objetivos
El alumno realizar la conexin de una memoria EEPROM a un microprocesador Z80. El alumno programar una GAL para generar el decodificador de direcciones. El alumno crear y probar un programa de prueba en lenguaje ensamblador que ser ejecutado en el microprocesador Z80.

Introduccin
Los microprocesadores son circuitos de muy alta escala de integracin que son capaces de ejecutar una serie de cdigos binarios proporcionados en secuencia sobre sus terminales de datos y controlados por las terminales de direcciones y por las seales de control, pero dichos cdigos que conforman un programa, no pueden almacenarse dentro del microprocesador y por lo tanto en los sistemas de microprocesadores es necesario aadir un sistema de memoria no voltil que contenga al programa. Esta memoria de programa es tpicamente 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 cdigo de mquina de una instruccin en lenguaje ensamblador o parte del cdigo de mquina de una instruccin mayor. A esta memoria se le denomina la memoria de programa.
Reloj

Microprocesador

Bus de Direcciones Bus de Control Bus de Datos

Memoria ROM (Programa)

Memoria RAM (Datos)

Puertos de Entrada

Puertos de Salida

Dispositivos Perifricos

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

Prctica # 5 Memoria EPROM o Memoria de Programa

19

Facultad de Estudios Superiores Cuautitln

UNAM

Utilizando las seales de sus buses, los microprocesadores leen, trasladan, decodifican y ejecutan cada uno de los cdigos contenidos en la memoria ROM y con estas acciones el sistema de microprocesador es capaz de realizar la ejecucin lgica de un programa en lenguaje ensamblador. En esta prctica se realizar la conexin de una memoria EEPROM AT28C16, figura 5.2, con una capacidad de (2K x 8) que se utilizar para el almacenamiento de los programas de prueba del sistema de microprocesador.

Figura 5.2 Memoria EEPROM AT28C16 Adems se comprobar el funcionamiento de un programa de prueba muy simple que nos permita asegurar que el sistema de microprocesador est decodificando correctamente los cdigos de mquina 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, 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 an con puertos, el dato solo ser visible en el bus de datos pero en combinacin con los cdigos de mquina que son trasladados desde la memoria EPROM hacia el microprocesador. En la figura 5.3 se muestra el mapa de memoria del microprocesador Z80 con un tamao de 64K x 8 y la posicin que ocupar la EEPROM dentro del mapa, desde la direccin 0000H hasta la 07FFH y la asignacin de los bits de direccionamiento. 8 bits
EEPROM AT28C16 2K x 8 0000H 07FFH

16 bits
64K 65536 localidades de memoria

SIN USAR

5 bits Posicin

11 bits Localidad

Figura 5.3 Mapa de memoria y Asignacin de bits de direccionamiento

Prctica # 5 Memoria EPROM o Memoria de Programa

20

Facultad de Estudios Superiores Cuautitln

UNAM

La memoria se conectar a partir de la direccin 0000H ya que al insertar el pulso de RESET, este microprocesador inicializa el valor del PC a cero y es en ese lugar donde debe estar el cdigo de mquina de la primera instruccin. Este microprocesador emplea 16 bits para el direccionamiento de la memoria, de los cuales se emplearn los 11 bits menos significativos para seleccin de la localidad interna de la memoria y los 5 bits ms significativos se usarn para la decodificacin de la posicin de la memoria EEPROM dentro del mapa de memoria. Para la activacin de la memoria en el instante correcto se debern considerar adems de los cinco bits de direcciones (A11 A15) = 00000, las seales MREQ = 0 y RD = 0, las que en conjunto generarn la seal de activacin CE = 0 de la memoria, esto se realizar a travs de una compuerta OR de 7 entradas como se muestra en la figura 5.4 e implementada dentro de la GAL22V10 programable.

Figura 5.4 Circuito de activacin de la memoria EEPROM El sistema consta de un dispositivo GAL22V10D como el mostrado en la figura 5.5 que se emplear para implementar el sistema de decodificacin de direcciones y permitir as realizar la activacin de la memoria EEPROM en la posicin y localidad correcta.

Figura 5.5 Circuito para la implementacin del decodificador de direcciones.

Actividades Previas
1. 2. 3. 4. EI alumno deber realizar la lectura de la prctica de laboratorio. El alumno programar la memoria AT28C16 con el cdigo de mquina mostrado en la figura 5.9, considerando que en cada localidad debe grabarse un byte. El alumno programar el dispositivo lgico programable (PLD) GAL22V10 con la funcin de la compuerta OR de 7 entradas mostrada en la figura 5.10. Traer el circuito armado

Material
1 Sistema mnimo con Microprocesador, Circuito de reloj y Circuito de Reset 1 Memoria AT28C16 EEPROM de 2K x 8 1 Circuito integrado GAL22V10 1 Capacitor de 10 uF.

Prctica # 5 Memoria EPROM o Memoria de Programa

21

1.

C1 0.1uF U4 AT28C16 5 CLK HALT BUSAK M1 REFSH R2 1K 4 U1B 74LS04 VCC OE CE WE 20 18 21 VCC 26 RST IORQ MREQ WR RD 20 D1 1N4001 22 21 SW1 RESET I/O I/O I/O I/O I/O I/O I/O I/O I/O 23 22 21 20 19 18 17 16 15 19 INT NMI WAIT BUSRQ 16 17 24 25 18 23 27 28 6

U1C 74LS04 6 U2 Z80 CPU

R1

Procedimiento experimental

Facultad de Estudios Superiores Cuautitln

1K

D0 D1 D2 D3 D4 D5 D6 D7

9 10 11 13 14 15 16 17

8 7 6 5 4 3 2 1 23 22 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10

Prctica # 5 Memoria EPROM o Memoria de Programa


A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 30 31 32 33 34 35 36 37 38 39 40 1 2 3 4 5 D0 D1 D2 D3 D4 D5 D6 D7 14 15 12 8 7 9 10 13

U1A 74LS04

VCC

R3 10k

Figura 5.6
1 2 3 4 5 6 7 8 9 10 11 13 14 I/CLK I I I I I I I I I I I I/O U3 GAL22V10

C2 1uF

Circuito 74LS04 Z80 CPU GAL22V10D AT28C16 U1 U2 U3 U4

VCC 14 11 24 24

GND 7 29 12 12

Universidad Nacional Autnoma de Mxico Facultad de Estudios Superiores Cuautitln

Sistema de Microprocesador Z80

M. en TI. Jorge Buenda Gmez

UNAM

Implemente el circuito mostrado en la figura 5.6 considerando que ya se tienen armados los circuitos de reloj y reset y solo debern adicionarse las memorias EEPROM AT28C16 y el dispositivo lgico programable GAL22V10D.

22

Facultad de Estudios Superiores Cuautitln

UNAM

2.

La figura 5.7 muestra el circuito armado en 2 protoboard.

Figura 5.7 Circuito implementado en 2 Protoboard 3. Realice el siguiente programa en lenguaje ensamblador y obtenga el cdigo de mquina, tal y como se muestra en las figuras 5.8 y 5.9. Emplee para ello el simulador de lenguaje ensamblador proporcionado en la pgina: http://jbuendiag.unlugar.com
INICIO: CICLO: LD OUT INC JP END A,00H (05H),A A CICLO ;Carga el acumulador con cero ;Saca el valor del acumulador por el puerto 05H ;Incrementa el valor del acumulador en 1 ;Salta a la etiqueta CICLO

Figura 5.8 Programa de conteo empleando el acumulador y el puerto 05H


0000 3E00 0002 D305 0004 3C 0005 C30200 0008 INICIO: CICLO: LD OUT INC JP END A,00H (05H),A A CICLO

Figura 5.9 Localidad de memoria y cdigo de mquina del programa 4. 5. 6. 7. Programe la memoria EEPROM en el programador universal empleando el archivo con terminacin HEX. Escriba la funcin decodificadora de direccin en un proyecto de WINCUPL tal y como se muestra en la figura 5.10. Programe la GAL 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 10 uF, lo cual reducir la velocidad del reloj y permitir observar los cambios del bus de datos. Obtenga la grfica de la seal de activacin de la memoria EEPROM.

Prctica # 5 Memoria EPROM o Memoria de Programa

23

Facultad de Estudios Superiores Cuautitln

UNAM

Name deco_EEprom ; PartNo 00 ; Date 18/02/2012 ; Revision 01 ; Designer Jorge Buendia ; Company FESC ; Assembly None ; Location ; Device g22v10 ; /* *************** INPUT PINS *********************/ PIN 1 = A11 ; /* */ PIN 2 = A12 ; /* */ PIN 3 = A13 ; /* */ PIN 4 = A14 ; /* */ PIN 5 = A15 ; /* */ PIN 6 = RD ; /* */ PIN 8 = MREQ ; /* */ /* *************** OUTPUT PINS *********************/ PIN 22 = CE ; /* */ CE = A11 # A12 # A13 # A14 # A15 # MREQ # RD ;

Figura 5.10 Programacin de la GAL para decodificacin de direcciones

Cuestionario
1. 2. Calcule el tiempo de ejecucin del programa de las figura 5.8 considerando un reloj de 4MHz. y la duracin de cada una de las instrucciones que intervienen, especificada en las tablas de instrucciones del microprocesador Z80. Disee un programa en lenguaje ensamblador que genere un conteo ascendente descendente en 8 bits y comprubelo empleando el simulador, entregue los resultados de la simulacin a su profesor de laboratorio.

Prctica # 5 Memoria EPROM o Memoria de Programa

24

Facultad de Estudios Superiores Cuautitln

UNAM

Laboratorio de Microprocesadores
Memoria SRAM o Memoria de Datos
Tema
3.2 Estructura de los sistemas de memoria

Prctica 6

Objetivos
El alumno realizar la conexin de un circuito de memoria SRAM 6116 al sistema de microprocesador Z80 El alumno programar una GAL 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.

Introduccin
El siguiente elemento en el esquema de Von Neumann es la memoria SRAM o memoria de datos, la cual se emplea dentro del sistema mnimo para poder almacenar datos binarios que pueden ser empleados por el procesador para realizar sus operaciones o simplemente como almacenamiento de informacin en forma de tablas. La figura 6.1 nos muestra este elemento.
Reloj

Microprocesador

Bus de Direcciones Bus de Control Bus de Datos

Memoria ROM (Programa)

Memoria RAM (Datos)

Puertos de Entrada

Puertos de Salida

Dispositivos Perifricos

Figura 6.1 Memoria RAM en el esquema de Von Neumann La memoria de datos se emplear para el almacenamiento de la informacin del usuario (variables, tablas, caracteres, etc.) y para el establecimiento de la pila o Stack necesaria para la ejecucin de las subrutinas que se puedan incluir en los programas en lenguaje ensamblador.

Prctica # 6 Memoria SRAM o Memoria de Datos

25

Facultad de Estudios Superiores Cuautitln

UNAM

La SRAM tiene la caracterstica de ser una memoria voltil y esttica y por lo tanto mantiene su informacin mientras el circuito est alimentado elctricamente sin requerir de refresco de memoria. La DRAM es voltil y dinmica, por lo tanto si requiere de refresco de memoria peridico. Para la implementacin de este sistema emplearemos memoria SRAM debido a que no requiere del circuito de refresco y reduce el tamao del sistema. Para la implementacin 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 conexin requiere la modificacin de las funciones de Boole establecidas dentro de la GAL para incluir la caracterstica de activacin de la memoria SRAM. La direccin 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 direccin 07FFH (2K x 8), la ubicacin 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 posicin 0800H hasta la 2FFFH, esto es una prctica comn 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.
8 bits

EEPROM AT28C16 2K x 8

0000H

07FFH

SIN USAR

SRAM 6116 2K x 8

3000H 37FFH

64K 65536 localidades de memoria

SIN USAR

Figura 6.3 Posicin de la memoria SRAM dentro del mapa de memoria.

Prctica # 6 Memoria SRAM o Memoria de Datos

26

Facultad de Estudios Superiores Cuautitln

UNAM

Para realizar la prueba de funcionamiento de todo el sistema se realizar un programa que compruebe la lectura y escritura de la memoria SRAM para almacenamiento y su utilizacin como Stack o Pila. El programa de prueba realizar el almacenamiento de 5 datos en la memoria SRAM a partir de la localidad 3000H, tomados desde la instrucciones del programa y despus retomar los valores almacenados sumndolos y almacenando el resultado en la localidad 3010H, para despus enviar el dato al puerto 04H. La posicin de la Pila se establecer en la ltima localidad del circuito de SRAM y por lo tanto el valor del registro SP ser 37FFH.

Actividades Previas
1. 2. 3. 4. EI alumno deber realizar la lectura de la prctica de laboratorio. El alumno programar la memoria AT28C16 con el cdigo de mquina mostrado en la figura 6.5, considerando que en cada localidad debe grabarse un byte. El alumno programar el dispositivo lgico programable (PLD) GAL22V10 con la funcin mostrada en la figura 6.6. Traer el circuito armado

Material
1 Sistema mnimo con Microprocesador, Circuito de reloj, Circuito de Reset, Memoria EEPROM y decodificador de direcciones con GAL. 1 Circuito Integrado SRAM 6116.

Equipo
1 Fuente de C.D. 1 Osciloscopio 1 Multmetro 1 Punta lgica para prueba de tercer estado 1 Circuito de Leds de prueba

Procedimiento Experimental
1. 2. Implemente el circuito mostrado en la figura 6.7 considerando que ya se tiene armado el sistema mnimo de microprocesador incluyendo hasta la memoria EEPROM y solo deber adicionarse el circuito integrado 6116 que integra la memoria SRAM. Utilice la figura 6.4 para guiarse en la implementacin fsica.

Figura 6.4 Implementacin de memoria SRAM.


Prctica # 6 Memoria SRAM o Memoria de Datos 27

Facultad de Estudios Superiores Cuautitln

UNAM

3.

Realice el siguiente programa en lenguaje ensamblador, tal y como se muestra en la figura 6.5 y obtenga el cdigo de mquina.
INICIO: LD SP,37FFH LD A,05H LD (3000H),A LD A,09H LD (3001H),A LD A,23H LD (3002H),A LD A,06H LD (3003H),A LD A,0DH LD (3004H),A LD A,00H LD (3010H),A LD B,05H LD HL,3000H CALL SUMA DJNZ CICLO OUT (04H),A JP FIN ADD A,(HL) INC HL LD (3010H),A RET END

CICLO: FIN: SUMA:

Figura 6.5 Programa de prueba 4. 5. Programe la memoria EEPROM en el programador universal con el archivo con terminacin HEX. Escriba la funcin decodificadora de direccin en un proyecto de WINCUPL tal y como se muestra en la figura 6.6.
Name deco_EEprom_SRAM ; PartNo 00 ; Date 18/02/2012 ; Revision 01 ; Designer Jorge Buendia ; Company FESC; Assembly None ; Location ; Device g22v10 ; /* *************** INPUT PINS *********************/ PIN 1 = A11 ; /* */ PIN 2 = A12 ; /* */ PIN 3 = A13 ; /* */ PIN 4 = A14 ; /* */ PIN 5 = A15 ; /* */ PIN 6 = RD ; /* */ PIN 7 = WR ; /* */ PIN 8 = MREQ ; /* */ /* *************** OUTPUT PINS ******************/ PIN 23 = CE_SRAM ; /* */ PIN 22 = CE ; CE = A15 # A14 # A13 # A12 # A11 # RD # MREQ ; CE_SRAM = A15 # A14 # !A13 # !A12 # A11 # MREQ # !(RD $ WR);

Figura 6.6 Habilitacin de EEPROM y SRAM con la GAL


Prctica # 6 Memoria SRAM o Memoria de Datos 28

Facultad de Estudios Superiores Cuautitln

UNAM

6. 7.

Programe la GAL y pruebe el sistema completo para comprobar el funcionamiento del sistema. Compruebe que el cdigo se identifica en forma correcta.

Cuestionario
1. 2. 3. 4. 5. Es posible llamar una y otra vez en forma recursiva a las subrutinas con la estructura de la pila de este microprocesador ? Porque se establece la direccin inicial de la pila en la direccin final de la SRAM y no al principio. Justifique la expresin de Boole empleada para la activacin de la SRAM. Explique el concepto LIFO empleado en la pila del microprocesador Z80. Como identifica el microprocesador a que memoria se est accediendo.

Prctica # 6 Memoria SRAM o Memoria de Datos

29

U5

6116

Universidad Nacional Autnoma de Mxico Facultad de Estudios Superiores Cuautitln

Sistema de Microprocesador Z80

Facultad de Estudios Superiores Cuautitln

M. en TI. Jorge Buenda Gmez


18 20 21 CE OE WE U2 6 CLK HALT BUSAK M1 REFSH 18 23 27 28 Z80 CPU

Prctica # 6 Memoria SRAM o Memoria de Datos


8 7 6 5 4 3 2 1 23 22 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 D0 D1 D2 D3 D4 D5 D6 D7 9 10 11 13 14 15 16 17 5 U1C 74LS04 6 4 VCC 16 17 24 25 INT NMI WAIT BUSRQ RST IORQ MREQ WR RD 26 20 19 22 21 8 7 6 5 4 3 2 1 23 22 19 20 18 21 VCC D0 D1 D2 D3 D4 D5 D6 D7 9 10 11 13 14 15 16 17 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 OE CE WE U4 AT28C16 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 30 31 32 33 34 35 36 37 38 39 40 1 2 3 4 5 D0 D1 D2 D3 D4 D5 D6 D7 14 15 12 8 7 9 10 13

C1 0.1uF

R1

R2

1k

1k

U1A 74LS04

U1B 74LS04

Figura 6.7 Diagrama de conexiones del sistema mnimo


1 2 3 4 5 6 7 8 9 10 11 13 14 I/CLK I I I I I I I I I I I I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O 23 22 21 20 19 18 17 16 15 U3 GAL22V10

VCC

R3 10k

D1 1N4001

Circuito

VCC

GND

C2 1uF

SW1

RESET

74LS04 Z80 CPU GAL22V10D AT28C16 6116 SRAM

U1 U2 U3 U4 U5

14 11 24 24 24

7 29 12 12 12

UNAM

30

Facultad de Estudios Superiores Cuautitln

UNAM

Laboratorio de Microprocesadores
Puertos de Entrada Salida (Input / Output)
Tema
8.3. Interfaces integrados: PIA, PIO, PPI y similares

Prctica 7

Objetivos
El alumno realizar la conexin de un circuito de interfaz perifrica programable (PPI 8255) a un microprocesador Z80. El alumno programar una GAL para generar el decodificador de direcciones para el circuito de puertos 8255. El alumno ensamblar y probar un programa que genera un patrn de corrimiento en 8 leds conectado en el puerto A del circuito PPI 8255.

Introduccin
Los siguientes elementos 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 perifricos y de esta manera trasladar informacin hacia el microprocesador o del microprocesador hacia los dispositivos perifricos. La figura 7.1 nos muestra estos elementos.
Reloj

Microprocesador

Bus de Direcciones Bus de Control Bus de Datos

Memoria ROM (Programa)

Memoria RAM (Datos)

Puertos de Entrada

Puertos de Salida

Dispositivos Perifricos

Figura 7.1 Puertos de entrada /salida (I / O) en el esquema de Von Neumann 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 perifricos, ahorrando espacio y complejidad a las conexiones.

Prctica # 7 Puertos de Entrada Salida (Input / Output)

31

Facultad de Estudios Superiores Cuautitln

UNAM

En esta prctica 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 7.2
D0-7 A1 A0 RESET /RD /WR CH /CS CL 4 PC0-3 4 Puerto de Control
8

Port A PA0-7

Port B PB0-7 Port C PC4-7

Vcc (+5V) GND (0V)

Figura 7.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 seales para el control de lectura y escritura, as como para realizar una inicializacin externa y solo requieren la activacin correcta para las direcciones de los 3 puertos de usuario y el puerto de control. La figura 7.3 muestra la asignacin de terminales del PPI 8255.

Figura 7.3 Asignacin 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 lneas de direcciones (A0 y A1) para definir el puerto al que deber tener acceso segn la tabla 7.1. A0 0 0 1 1 A1 0 1 0 1 Puerto Puerto A Puerto B Puerto C Puerto de Control

Tabla 7.1 Asignacin de puertos En la figura 7.4 se muestra el mapa de puertos correspondiente al sistema de microprocesador, donde se observa que la posicin del circuito PPI 8255 ser en las primeras cuatro posiciones del mapa (puertos 00H, 01H, 02H y 03H) puesto que no hay ningn otro puerto conectado y no se producirn conflictos.

Prctica # 7 Puertos de Entrada Salida (Input / Output)

32

Facultad de Estudios Superiores Cuautitln

UNAM

Figura 7.4 Mapa de Puertos 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 duracin de encendido de cada led de 100 ms. Para poder ajustar la duracin de los cambios ser necesario cambiar el capacitor del circuito de reloj, por un cristal de cuarzo de 4 MHz. Este programa permite la utilizacin de subrutinas debido a que ya se cuenta con memoria SRAM y ya se puede establecer la localidad donde se localizar la pila, que es la 30FFH. 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 03 de acuerdo a la siguiente asignacin mostrada en la figura 7.5.

Figura 7.5 Asignacin de bits para la configuracin del PPI 8255 La inclusin de este circuito requiere la modificacin de las funciones de Boole establecidas dentro de la GAL para incluir la caracterstica de activacin del circuito 8255.

Actividades Previas
1. 2. 3. 4. EI alumno deber realizar la lectura de la prctica de laboratorio. El alumno programar la memoria AT28C16 con el cdigo de mquina mostrado en la figura 7.7, considerando que en cada localidad debe grabarse un byte. El alumno programar el dispositivo lgico programable (PLD) GAL22V10 con la funcin mostrada en la figura 7.8. Traer el circuito armado

Prctica # 7 Puertos de Entrada Salida (Input / Output)

33

Facultad de Estudios Superiores Cuautitln

UNAM

Material
1 Sistema mnimo con Microprocesador Z80, Circuito de reloj, Circuito de Reset, Memoria EEPROM AT28C16, memoria SRAM 6116 y decodificador de direcciones con la GAL22V10. 1 Circuito Integrado PPI 8255. 1 Cristal de cuarzo de 4 MHz.

Equipo
1 Fuente de C.D. 1 Osciloscopio 1 Multmetro 1 Punta lgica para prueba de tercer estado 1 Circuito de Leds de prueba

Procedimiento Experimental
1. 2. Implemente el circuito mostrado en la figura 7.9 considerando que ya se tiene armado el sistema mnimo de microprocesador incluyendo las 2 memorias: EEPROM y SRAM y solo deber adicionarse el circuito integrado PPI 8255. Utilice la figura 7.6 para guiarse en la implementacin fsica.

Figura 7.6 Sistema mnimo con puertos de entrada - salida 3. 4. 5. 6. 7. 8. Realice el programa en lenguaje ensamblador que se muestra en la figura 7.7 y obtenga el cdigo de mquina. Programe la memoria EEPROM en el programador universal con el archivo con terminacin HEX. Escriba la funcin decodificadora de direccin en un proyecto de WINCUPL tal y como se muestra en la figura 7.8. Programe la GAL con el archivo con terminacin .JED generado en el programa Wincupl y pruebe el sistema completo. Conecte el circuito probador de 8 leds en el puerto A del PPI 8255 y compruebe el funcionamiento del registro de corrimiento. Conecte el osciloscopio en el bit 0 del puerto A y mida los tiempos de encendido y apagado para comprobar que se cumplen los tiempos del diseo.

Prctica # 7 Puertos de Entrada Salida (Input / Output)

34

Facultad de Estudios Superiores Cuautitln

UNAM

INICIO:

CICLO:

CIEN_MS: TIEMPOA: TIEMPOB:

SEGUNDO: SEG2:

LD LD OUT LD LD LD LD OUT CALL LD OUT CALL RLC JP LD LD DEC JP DEC JP RET LD CALL DEC JP RET END

SP,30FFH A,80H (03H),A A,01H HL,3000H (HL),A A,(HL) (00H),A CIEN_MS A,00H (00H),A SEGUNDO (HL) CICLO B,6FH D,0FFH D NZ,TIEMPOB B NZ,TIEMPOA C,0AH CIEN_MS C NZ,SEG2

Figura 7.7 Programa de Registro de corrimiento sobre el puerto A


Name UNAMZ80 ; PartNo 00 ; Date 24/04/2012 ; Revision 01 ; Designer Jorge Buendia Gomez ; Company UNAM ; Assembly None ; Location ; Device g22v10 ; /****** INPUT PINS *****/ PIN 1 = A11 ; PIN 2 = A12 ; PIN 3 = A13 ; PIN 4 = A14 ; PIN 5 = A15 ; PIN 6 = RD ; PIN 7 = WR ; PIN 8 = MREQ ; PIN 9 = IORQ ; PIN 10 = RST ; PIN 11 = A2 ; PIN 13 = A3 ; PIN 14 = A4 ; /**** OUTPUT PINS ******/ PIN 23 = CE_SRAM ; PIN 22 = CE_EEPROM ; PIN 21 = CE_PPI ; PIN 20 = RESET ; CE_SRAM = A15 # A14 # !A13 # !A12 # A11 # MREQ # !(RD $ WR); CE_EEPROM = A15 # A14 # A13 # A12 # A11 # MREQ # RD; CE_PPI = A4 # A3 # A2 # IORQ # !(RD $ WR); RESET = !RST;

Figura 7.8 Programa de Decodificacin del sistema mnimo


Prctica # 7 Puertos de Entrada Salida (Input / Output) 35

U5

6116

Universidad Nacional Autnoma de Mxico Facultad de Estudios Superiores Cuautitln

Sistema de Microprocesador Z80

M. en TI. Jorge Buenda Gmez


18 20 21 CE OE WE U2 6 CLK HALT BUSAK M1 REFSH 18 23 27 28 Z80 CPU

8 7 6 5 4 3 2 1 23 22 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 D0 D1 D2 D3 D4 D5 D6 D7 9 10 11 13 14 15 16 17

Facultad de Estudios Superiores Cuautitln

C1 0.1uF 5

U1C 74LS04 6

Prctica # 7 Puertos de Entrada Salida (Input / Output)


4 VCC INT NMI WAIT BUSRQ RST IORQ MREQ WR RD 16 17 24 25 26 20 19 22 21 8 7 6 5 4 3 2 1 23 22 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 20 18 21 VCC OE CE WE U4 AT28C16 D0 D1 D2 D3 D4 D5 D6 D7 9 10 11 13 14 15 16 17 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 30 31 32 33 34 35 36 37 38 39 40 1 2 3 4 5 D0 D1 D2 D3 D4 D5 D6 D7 14 15 12 8 7 9 10 13 34 33 32 31 30 29 28 27 I/O I/O I/O I/O I/O I/O I/O I/O I/O 23 22 21 20 19 18 17 16 15 9 8 5 36 6 35 U3 GAL22V10 U6 8255 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RD WR CS RESET PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 1 2 3 4 5 6 7 8 9 10 11 13 14 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 4 3 2 1 40 39 38 37

R1

R2

1k

1k

U1A 74LS04

U1B 74LS04

VCC

R3 10k

D1 1N4001

Figura 7.9 Sistema mnimo con puertos de entrada y salida


Circuito U1 U2 U3 U4 U5 U6 14 11 24 24 24 26 7 29 12 12 12 7 VCC GND
I/CLK I I I I I I I I I I I I/O

C2 1uF

SW1

RESET

PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7

18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10

74LS04 Z80 CPU GAL22V10D AT28C16 6116 SRAM PPI 8255

UNAM

36

Facultad de Estudios Superiores Cuautitln

UNAM

Cuestionario
1. 2. 3. 4. Calcule el tiempo requerido por el programa para ejecutarse, tomando en cuenta el nmero de ciclos de reloj necesarios para cada una de las instrucciones. 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. Explique el funcionamiento del programa empleado en este sistema. Justifique la utilizacin de las ecuaciones de decodificacin del sistema empleadas en la GAL.

Prctica # 7 Puertos de Entrada Salida (Input / Output)

37

Prcticas de Microprocesadores

Laboratorio de Microprocesadores
Conexin de Dispositivo Perifrico de Entrada (Teclado)
Tema
6.1.1. Control de dispositivos con tcnicas de programacin

Prctica 8

Objetivos
El alumno realizar la conexin de un teclado matricial telefnico 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 cdigo binario de la tecla presionada.

Introduccin
El circuito desarrollado hasta la prctica 7 ya conforma el esquema de Von Neumann con todos los elementos necesarios para la creacin de una computadora, pero an no proporciona interaccin adecuada con el usuario externo. Para que el sistema tenga mayor utilidad es necesario conectarle dispositivos perifricos de entrada y salida para facilitar la interaccin con la electrnica del microprocesador.
Reloj

Microprocesador

Bus de Direcciones Bus de Control Bus de Datos

Memoria ROM (Programa)

Memoria RAM (Datos)

Puertos de Entrada

Puertos de Salida

Dispositivos Perifricos

Figura 8.1 Dispositivo perifrico de entrada en Esquema de Von Neumann Los dispositivos perifricos de entrada se emplean para que el usuario externo pueda interactuar con el sistema de microprocesador y facilitar la insercin de datos externos, entre estos dispositivos se encuentran los teclados, los dispositivos apuntadores como Mouse, Track Ball, Touch Screen, tarjetas de red, audio o video, discos duros, CD, o DVD y en conjunto cualquier dispositivo que permita enviar datos hacia el microprocesador.
Prctica #8 Conexin de Dispositivo Perifrico de Entrada (Teclado) 38

Prcticas de Microprocesadores

Es por eso que en esta prctica se propone adicionar un teclado matricial de 12 teclas que nos permitir insertar datos numricos o an alfanumricos si seleccionamos otro tipo de teclado.

Figura 8.2 Teclado telefnico matricial de 12 teclas Para conectar este teclado se emplear un decodificador de teclado integrado MM74C922 que puede reconocer teclados de 20 teclas como se muestra en la figura 8.3.

Figura 8.3 Circuito decodificador 74C922 El proceso lo realiza a travs del envo de 4 seales 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 8.1. ROW Y1 ROW Y2 ROW Y3 ROW Y4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Tabla 8.1 Seales del registro de corrimiento de los renglones Posteriormente el decodificador reconoce cual de las columnas ha sido presionada y en conjunto con los cdigos de los renglones, determina cual de las teclas ha sido presionada, de acuerdo a la tabla 8.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 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Tabla 8.2 Decodificacin rengln columna de teclado de 16 teclas Adicionalmente, cada que una tecla es presionada, se genera una seal de dato disponible (DATA AVAILABLE), activa en alto, que se emplear para producir una interrupcin 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 conexin de la cuarta columna, lo cual eliminar a los cdigos correspondientes a las teclas 3, 7, B Y F y esto hace que los cdigos binarios para cada tecla no correspondan con las posiciones del teclado telefnico, en la figura 8.4 se muestra la equivalencia.
Prctica #8 Conexin de Dispositivo Perifrico de Entrada (Teclado) 39

A B C D Tecla

Prcticas de Microprocesadores

0 4 8 C

1 5 9 D

2 6 A E

3 7 B F

Figura 8.4 Cdigos para teclados de 16 teclas y su correspondencia con teclado telefnico de 12 teclas Este problema deber ser resuelto va software a travs de una tabla de asignacin del cdigo correcto; 0 a 1, 1 a 2, 2 a 3, 3 sin asignacin y as consecutivamente de acuerdo a la tabla 8.3 Cdigo 74C922 Tecla 0 1 1 2 2 3 3 X 4 4 5 5 6 6 7 X 8 7 9 8 A 9 B X C A D 0 E B F X

Tabla 8.3 Cdigos asignados por software El decodificador posee la caracterstica de salidas en tercer estado controladas por la seal de habilitacin de salida (OUTPUT ENABLE) activa en nivel bajo, la cual ser proporcionada por la inversin de la seal dato disponible (DATA AVAILABLE) y generada a travs de la GAL. El decodificador MM74C922 tambin tiene la funcionalidad de generacin de la frecuencia de oscilacin para proporcionar la velocidad de escaneo de las teclas y tambin tiene implementado un sistema anti rebotes para evitar la deteccin de teclas repetidas debidas a los rebotes mecnicos. Estas funcionalidades se obtienen a travs de 2 capacitores que se seleccionan de acuerdo a las grficas de la figura 8.5. Se recomienda que el capacitor de anti rebotes sea 10 veces mayor que el capacitor de oscilacin. La captura del dato de 4 bits se realizar a travs de los 4 bits menos significativos del puerto C (02H) y solo se capturarn a travs de una subrutina de interrupcin activada al momento de presionar una de las teclas. El programa solo considera la activacin de una tecla y no de 2 juntas pues se tomara la primera en detectarse.

Figura 8.5 Grficas para seleccin de los capacitores de oscilacin y anti rebotes

Actividades Previas
1. 2. 3. 4. EI alumno deber realizar la lectura de la prctica de laboratorio. El alumno programar la memoria AT28C16 con el cdigo de mquina mostrado en la figura 8.8, considerando que en cada localidad debe grabarse un byte. El alumno programar el dispositivo lgico programable (PLD) GAL22V10 con la funcin mostrada en la figura 8.9. Traer el circuito armado

Prctica #8 Conexin de Dispositivo Perifrico de Entrada (Teclado)

40

Prcticas de Microprocesadores

Material
1 Sistema mnimo 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 telefnico matricial de 12 teclas. 1 Circuito MM74C922 decodificador de teclado 1 Capacitor de 0.1F 1 Capacitor de 0.01F

Equipo
1 Fuente de C.D. 1 Osciloscopio 1 Multmetro 1 Punta lgica 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 mnimo de Von Neumann y solo deber adicionarse el circuito de decodificacin de teclado MM74C922 y el teclado telefnico de 12 teclas, adems de las conexiones adicionales hacia el microprocesador Z80 que habilitarn el empleo de las interrupciones y hacia la GAL para realizar la inversin de la seal de control. Utilice la figura 8.6 para establecer la posicin de los circuitos y sus conexiones.

2.

Figura 8.6 Sistema mnimo con decodificador de teclado 3. 4. 5. 6. 7. Realice el programa en lenguaje ensamblador de la figura 8.8 y obtenga el cdigo de mquina. Este programa decodificar el nmero de tecla presionado y lo mostrar en los 4 bits menos significativos del puerto A (00H). Programe la memoria EEPROM en el programador universal con el archivo con terminacin HEX. Escriba la funcin decodificadora para la EEPROM, la SRAM, el PPI y la inversin de la seal DA del teclado en un proyecto de WINCUPL tal y como se muestra en la figura 8.9 Programe la GAL y pruebe el sistema completo para comprobar el funcionamiento del teclado. Compruebe que el cdigo mostrado en las terminales de los 4 bits menos significativos del puerto A son los correspondientes a cada una de las teclas presionadas.

Prctica #8 Conexin de Dispositivo Perifrico de Entrada (Teclado)

41

U5

6116

Universidad Nacional Autnoma de Mxico Facultad de Estudios Superiores Cuautitln

Sistema de Microprocesador Z80

M. en TI. Jorge Buenda Gmez


18 20 21 CE OE WE U2 6 CLK HALT BUSAK M1 REFSH 18 23 27 28 Z80 CPU

Prcticas de Microprocesadores

8 7 6 5 4 3 2 1 23 22 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 D0 D1 D2 D3 D4 D5 D6 D7 9 10 11 13 14 15 16 17

C1 0.1uF 5

U1C 74LS04 6 9 10 11 13 14 15 16 17

R1

R2

1k 4 VCC OE CE WE U4 AT28C16 INT NMI WAIT BUSRQ 20 18 21 VCC RST IORQ MREQ WR RD 16 17 24 25 26 20 19 22 21

1k

8 7 6 5 4 3 2 1 23 22 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 D0 D1 D2 D3 D4 D5 D6 D7

Circuito

VCC

GND

Prctica #8 Conexin de Dispositivo Perifrico de Entrada (Teclado)


A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 30 31 32 33 34 35 36 37 38 39 40 1 2 3 4 5

U1A 74LS04

U1B 74LS04

74LS04 Z80 CPU GAL22V10D AT28C16 6116 SRAM PPI 8255 MMC74C922

U1 U2 U3 U4 U5 U6 U7

14 11 24 24 24 26 18

7 29 12 12 12 7 9

VCC

D0 D1 D2 D3 D4 D5 D6 D7

14 15 12 8 7 9 10 13

R3 10k

D1 1N4001

C2 1uF

SW1

34 33 32 31 30 29 28 27 9 8 5 36 6 35

D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RD WR CS RESET

PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7

4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25

Figura 8.7 Sistema mnimo con teclado


1 2 3 4 5 6 7 8 9 10 11 13 14 I/CLK I I I I I I I I I I I I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O 23 22 21 20 19 18 17 16 15 U3 GAL22V10 1 2 3 4 ROWY 1 DAVBL ROWY 2 OE ROWY 3 ROWY 4 U7 MM74C922 2 3 11 10 8 7 CLMX1 CLMX2 CLMX3 CLMX4 5 6 8 9 12 13 U6 8255 5 6 OD OSC OC KBONSMSK OB OA 14 15 16 17 * 0 # C3 0.01uF C4 0.1uF

RESET

PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7

14 15 16 17 13 12 11 10

Gris

Violeta

Azul

Am arillo 0 Rojo Verde 0

Naranja

42

Prcticas de Microprocesadores

INTERR:

INICIO:

CICLO:

TABLA:

DEFSEG segabs, ABSOLUTE SEG segabs ORG 0000H JP 0100H ORG 0038H DI IN A,(02H) AND A,0FH LD HL,0120H LD E,A LD D,00H ADD HL,DE LD A,(HL) LD (3000H),A EI RET ORG 0100H IM 1 EI LD SP,30FFH LD A,089H OUT (03H),A LD A,00H LD (3000H),A LD A,(3000H) OUT (00H),A JP CICLO ORG 0120H DB 01H DB 02H DB 03H DB 00H DB 04H DB 05H DB 06H DB 00H DB 07H DB 08H DB 09H DB 00H DB 0AH DB 00H DB 0BH DB 00H END

;Estas 2 primeras lneas slo se incluirn si se ensambla ;el programa con AVMACZ80

Figura 8.8 Programa para control de teclado

Cuestionario
1. 2. 3. 4. Describa el diseo de un sistema de decodificacin de 32 teclas si se emplea para esa funcin a circuitos MM74C922. Justifique el valor del byte de configuracin enviado al PPI en su puerto 03H. Porque es necesario deshabilitar las interrupciones cuando se ejecuta la subrutina de interrupcin. Describa cual es el proceso de interrupcin empleado en este programa, justificando la configuracin y la direccin de la subrutina.

Prctica #8 Conexin de Dispositivo Perifrico de Entrada (Teclado)

43

Prcticas de Microprocesadores

Name UNAMZ80 ; PartNo 00 ; Date 06/04/2011 ; Revision 01 ; Designer Jorge Buendia Gomez ; Company UNAM ; Assembly None ; Location ; Device g22v10 ; /* *************** INPUT PINS *********************/ PIN 1 = A11 ; /* */ PIN 2 = A12 ; /* */ PIN 3 = A13 ; /* */ PIN 4 = A14 ; /* */ PIN 5 = A15 ; /* */ PIN 6 = RD ; /* */ PIN 7 = WR ; /* */ PIN 8 = MREQ ; /* */ PIN 9 = IORQ ; /* */ PIN 10 = RST ; /* */ PIN 11 = A2 ; /* */ PIN 13 = A3 ; /* */ PIN 14 = A4 ; /* */ PIN 15 = DAVBL ; /* *************** OUTPUT PINS *********************/ PIN 23 = CE_SRAM ; /* */ PIN 22 = CE_EEPROM ; /* */ PIN 21 = CE_PPI ; /* */ PIN 20 = RESET ; /* */ PIN 19 = OUTEN ; CE_SRAM = A15 # A14 # !A13 # !A12 # A11 # MREQ # !(RD $ WR); CE_EEPROM = A15 # A14 # A13 # A12 # A11 # MREQ # RD; CE_PPI = A4 # A3 # A2 # IORQ # !(RD $ WR); RESET = !RST; OUTEN = !DAVBL ;

Figura 8.9 Habilitacin de EEPROM, SRAM, PPI y teclado con la GAL

Prctica #8 Conexin de Dispositivo Perifrico de Entrada (Teclado)

44

Prcticas de Microprocesadores

Laboratorio de Microprocesadores
Conexin de Dispositivo Perifrico de Salida (Display LCD)
Tema
6.1.1. Control de dispositivos con tcnicas de programacin

Prctica 9

Objetivos
El alumno realizar la conexin de una pantalla LCD de 2 lneas de 16 caracteres al sistema de microprocesador. El alumno crear y probar un programa en lenguaje ensamblador para desplegar y controlar un mensaje sobre la pantalla.

Introduccin
A travs de esta prctica el alumno le proporcionar al sistema mnimo la capacidad de desplegar mensajes hacia el usuario e incrementar la interaccin entre el microprocesador y el mundo exterior.
Reloj

Microprocesador

Bus de Direcciones Bus de Control Bus de Datos

Memoria ROM (Programa)

Memoria RAM (Datos)

Puertos de Entrada

Puertos de Salida

Dispositivos Perifricos

Figura 9.1 Dispositivo perifrico de salida en esquema de Von Neumann Los dispositivos perifricos de salida se emplean para que el microprocesador pueda enviar informacin hacia el usuario externo. Entre los dispositivos que se emplean como salidas estn: 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 sacar informacin del sistema mnimo. Es por eso que en esta prctica se propone adicionar una pantalla inteligente de cristal lquido (LCD) de 16 caracteres x 2 lneas que recibe caracteres ASCII y que convierte el cdigo a un mapa de pixeles que se puede desplegar sobre cada uno de los 16 caracteres o almacenarlo en la memoria interna del display (DDRAM).
Prctica #9 Conexin de Dispositivo Perifrico de Salida (Display LCD) 45

Prcticas de Microprocesadores

Figura 9.2 Pantalla LCD de 16 x 2 Esta pantalla puede recibir ya sea comandos de configuracin 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 9.1.
Instruccin RS R/ DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 W 0 0 0 0 0 0 0 0 1 Descripcin Limpia el display completamente y pone la direccin 0 en el contador de direccin Pone a 0 el contador de direccin de la DDRAM, tambin regresa al principio corrindolo a su posicin original. La DDRAM mantiene su contenido sin cambio Establece la direccin de movimiento del cursor y especifica el corrimiento del display. Esta operacin se realiza durante la lectura o escritura de datos. Enciende o apagaga el display (D), el cursor (C) o el parpadeo. Mueve el cursor o corre el display sin cambios en el contenido de la DDRAM Establece la longitud de los datos (DL), el nmero de lneas a desplegar (L) y el formato del carcter (F) Tiempo de Ejecucin 1.28 ms

Limpia Display

Regreso al Origen

1.28 ms

Modo de insercin de datos

I/D

31us

Control de Encendido / Apagado del Display Corrimiento del display o del cursor Formato de datos

31us

S/C R/L

31us

DL

31us

Direccin de la CGRAM

Establece la direccin de CGRAM, los ACG ACG ACG ACG ACG ACG datos son enviados y recibidos despus de este comando Establece la direccin de CGRAM, los datos son enviados y recibidos despus de este comando Lee la bandera de ocupado (BF) que indica que una operacin interna se est realizando y tambin lee la direccin del contador Escribe un dato dentro de la DDRAM o de la CGRAM Leer un dato de la DDRAM o de la CGRAM

31us

Direccin de la DDRAM

AD AD AD AD AD AD AD D D D D D D D

31us

Bandera de ocupado en lectura y direccin Escribir un dato a la DDRAM o a la CGRAM Leer un dato de la DDRAM o de la CGRAM

BF

AC

AC

AC

AC

AC

AC

AC

0us

Dato a cargar en la memoria

31us

Dato ledo de la memoria

31us

Tabla 9.1 Comandos del display LCD 16 x 2 Para la conexin de esta pantalla LCD se utilizarn 2 puertos del circuito PPI 8255:

Prctica #9 Conexin de Dispositivo Perifrico de Salida (Display LCD)

46

Prcticas de Microprocesadores

El puerto A de 8 bits para enviar al display el cdigo ASCII a mostrar en la pantalla o el comando de configuracin del display. 2 bits del puerto B para enviar las seales de control; habilitacin del display y seleccin de comando o dato.

En este tipo de sistemas la adicin de puertos es costosa debido a que por cada 3 puertos de usuario se requiere un circuito PPI 8155 o un circuito PPI 8255. Vcc Vss Vee RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 LD+ LD-

Seales de control

Seales de datos

Figura 9.3 Puertos para el control de la pantalla La figura 9.3 muestra la asignacin de seales para el display LCD 16 x 2.
Terminal 1 2 3 4 5 6 7 - 14 15 16 Seal Vcc Vss Vee RS R/W E D0 D7 LD+ LDDescripcin + 5 V.c.d. Tierra Voltaje de control de contraste 0 V. = Contraste mnimo Seal de Comando RS =0 Dato RS = 1 Seal de Lectura R/W = 1 Escritura R/W =0 Seal de habilitacin del display E = 1 Bus de datos Positivo del led de iluminacin trasera Negativo del led de iluminacin trasera

Tabla 9.2 Asignacin de terminales del display Debido a que el display se emplear siempre en modo de lectura, el bit de R/W se conectar directamente a tierra. Los bits de control RS y E se asignarn a los bits PB1 y PB0 respectivamente y se activarn a travs de una secuencia lgica definida por el diagrama de tiempo para escritura del display.

Actividades Previas
1. 2. 3. EI alumno deber realizar la lectura de la prctica de laboratorio. El alumno programar la memoria AT28C16 con el cdigo de mquina mostrado en las figuras 9.4 y 9.5, considerando que en cada localidad debe grabarse un byte. Traer el circuito armado

Material
1 Sistema mnimo 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 telefnico de 12 teclas. 1 Display LCD 16 x 2

Equipo
1 Fuente de C.D. 1 Osciloscopio 1 Multmetro 1 Punta lgica para prueba de tercer estado 1 Circuito de Leds de prueba

Prctica #9 Conexin de Dispositivo Perifrico de Salida (Display LCD)

47

Prcticas de Microprocesadores

Procedimiento Experimental
1. 2. Implemente el circuito mostrado en la figura 9.8 considerando que ya se tiene armado el sistema mnimo de Von Neumann y el teclado y solo deber adicionarse la pantalla LCD con sus conexiones de alimentaciones, bus de datos y seales de control. Realice el programa en lenguaje ensamblador de la figura 9.4 y 9.5, y obtenga el cdigo de mquina. Este programa escribir el mensaje Laboratorio de en la primera lnea y Microprocesadores 2013-2 en la segunda lnea, considere que el mensaje de la segunda lnea es ms grande que el tamao 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.
DEFSEG segabs, ABSOLUTE SEG segabs ORG 0000H JP 0100H INICIO: ORG LD LD OUT LD LD CP JP OUT CALL INC JP LD CALL LD OUT CALL LD CALL LD OUT CALL JP A,(HL) CP RET OUT CALL INC JP LD OUT LD OUT LD OUT CALL RET LD OUT LD OUT LD OUT CALL RET LD LD DEC JP DEC JP RET 0100H SP,30FFH A,089H (03H),A HL,0200H A,(HL) '$' Z,LINEA1 (00H),A COMANDO HL OTROCOM HL,0250H OTRALET A,0C0H (00H),A COMANDO HL,0260H OTRALET A,18H (00H),A COMANDO FIN '$' Z (00H),A DATO HL OTRALET A,00H (01H),A A,01H (01H),A A,00H (01H),A TIEMPO A,02H (01H),A A,03H (01H),A A,02H (01H),A TIEMPO A,0FFH B,0FFH B NZ,CICLO A NZ,CICLO2 ;Estas lneas solo se incluirn si se ensambla ;el programa con AVMACZ80

CONFIG: OTROCOM:

LINEA1: LINEA2:

FIN:

OTRALET: LD

COMANDO:

DATO:

TIEMPO: CICLO2: CICLO:

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


Prctica #9 Conexin de Dispositivo Perifrico de Salida (Display LCD) 48

Prcticas de Microprocesadores

ORG DB DB DB DB DB DB DB ORG DB ORG DB ORG DB END

0200H 01H 02H 06H 0FH 38H 080H '$' 0250H "Laboratorio de$" 0260H "Microprocesadore" 0270H "s 2013-2$"

Figura 9.5 Programa para control y despliegue de mensaje (2 Parte) 3. 4. 5. Programe la memoria EEPROM en el programador universal con el archivo con terminacin HEX. La funcin decodificadora de la GAL22V10D permanecer sin cambio y por lo tanto no debe realizarse ninguna accin sobre dicho circuito. Compruebe que se despliega correctamente el mensaje en el display de acuerdo a la figura 9.6 y que despus se desplaza el mensaje sobre el display como en la figura 9.7.

Figura 9.6 Desplegado inicial

Figura 9.7 Desplegado con corrimiento a la izquierda 6. Describa las modificaciones que deben hacerse al programa para realizar un desplazamiento a la derecha del mensaje.

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

Prctica #9 Conexin de Dispositivo Perifrico de Salida (Display LCD)

U5

6116

Universidad Nacional Autnoma de Mxico Facultad de Estudios Superiores Cuautitln

Sistema de Microprocesador Z80

M. en TI. Jorge Buenda Gmez


18 20 21 CE OE WE U2 6 CLK HALT BUSAK M1 REFSH 18 23 27 28 Z80 CPU

Prcticas de Microprocesadores

8 7 6 5 4 3 2 1 23 22 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 D0 D1 D2 D3 D4 D5 D6 D7

9 10 11 13 14 15 16 17

C1 0.1uF 5 U1C 74LS04 6 9 10 11 13 14 15 16 17

Circuito

VCC

GND

R1

R2

1k

1k

1 VCC OE CE WE U4 AT28C16 16 17 24 25 INT NMI WAIT BUSRQ 20 18 21 VCC RST IORQ MREQ WR RD 26 20 19 22 21

8 7 6 5 4 3 2 1 23 22 19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 D0 D1 D2 D3 D4 D5 D6 D7

74LS04 Z80 CPU GAL22V10D AT28C16 6116 SRAM PPI 8255 MMC74C922

U1 U2 U3 U4 U5 U6 U7

14 11 24 24 24 26 18

7 29 12 12 12 7 9

Prctica #9 Conexin de Dispositivo Perifrico de Salida (Display LCD)


A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 30 31 32 33 34 35 36 37 38 39 40 1 2 3 4 5 D0 D1 D2 D3 D4 D5 D6 D7 14 15 12 8 7 9 10 13 34 33 32 31 30 29 28 27 9 8 5 36 6 35 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 RD WR CS RESET PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 4 3 2 1 40 39 38 37 I/O I/O I/O I/O I/O I/O I/O I/O I/O 23 22 21 20 19 18 17 16 15 1 2 3 4 5 6 7 8 9 10 11 13 14 I/CLK I I I I I I I I I I I I/O U3 GAL22V10 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 18 19 20 21 22 23 24 25 +5V 1 2 3 4 ROWY 1 DAVBL OE ROWY 2 ROWY 3 ROWY 4 U7 MM74C922 2 3 11 10 8 7 CLMX1 CLMX2 CLMX3 CLMX4 5 6 8 9 12 13 U6 8255 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 14 15 16 17 13 12 11 10

U1A 74LS04

U1B 74LS04

VCC

R3 10k

D1 1N4001

C2 1uF

SW1

Figura 9.8 Circuito Mnimo con Display LCD


5 6 OD OC OSC KBONSMSK OB OA 14 15 16 17 0 # C? 0.01uF C? 0.1uF

RESET

Display 16 x 2

Gris

Violeta

Azul

Am arillo 0 0

Naranja Verde

Rojo

50