Práctica No. 3 Decodificación de direcciones y SRAM Objetivo: El alumno implementará un sistema de decodificación de memoria que permita verificar los procesos de lectura y escritura que el procesador realiza en la memoria de datos. Material: Osciloscopio digital a 20 MHz y puntas de prueba. Fuente de alimentación regulada de +5 V 1 A Vóltmetro digital. Componentes del sistema mínimo. Alambre calibre #20 de diferentes colores. Pinzas de punta, pinzas de corte y pinzas para quitar forro a los cables. Procedimiento. 1. Diseñar un decodificador de direcciones que permita establecer el siguiente mapa de memoria combinada en un sistema mínimo basado en un microcontrolador de la familia MCS-51 Memoria Mem_3 Mem_2 Mem_1 Mem_0 Dirección de inicio C000H 8000H 4000H 0000H Implementar el circuito decodicador de direcciones por medio de un circuito integrado 74HC139. 2. En el sistema mínimo se realizará el montaje de las memorias Mem_0 y Mem_2 por medio de circuitos integrados 28C16 y 6116 respectivamente. Contestar los datos faltantes en la siguiente tabla: l Tipo de memoria Ancho de palabra Capacidad (Kby) Ancho del bus de direcciones Rango de direcciones 28C16 6116 3. Completar en el siguiente diagrama las conexiones, de acuerdo al decodificador de direcciones que diseñó en el punto 1. 1 +5V SW1 Reset D3 1N4148 + C1 10uF 9 Y1 11.0592MHz C3 27pF 220 X 8 220 D1 1N4007 R1 8.2K C2 27pF +5V R1 19 18 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 U1 D2 8031 RST X1 X2 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 39 38 37 36 35 34 33 32 2 3 4 5 6 7 8 9 11 1 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 ALE PSEN EA U2 74HC573 D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 19 18 17 16 15 14 13 12 LE OE 20 21 18 21 22 23 24 25 26 27 28 30 29 31 8 7 6 5 4 3 2 1 23 22 19 1 8 7 6 5 4 3 2 1 23 22 19 3 2 20 21 18 2 3 1 U5A 74LS139 A B Y0 Y1 Y2 Y3 G U3 AT28C16 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 OE WE CE U4 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 6116 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 I/O8 9 10 11 13 14 15 16 17 OE WE CS 4 5 6 7 4. Capture y ensamble en el ambiente integrado de desarrollo 8051IDE el siguiente programa: %TITLE "Práctica 3. Decodificación de memoria de datos y programa." ;***************************************************************** ; Descripción: Programa que permite verificar el proceso de ; decodificación de direcciones, así como las operaciones ; de lectura y escritura en la memoria de datos. ; Empresa: IPN- ESIME Zacatenco - ICE - Microprocesadores ; Autor(es): ING. ALEJANDRO V. LUGO SILVA. Fecha: 28/Feb/05 ;***************************************************************** ORG 0000H SALTO: SJMP PROG ORG 0050H PROG: MOV A,#0FEH MOV DPTR,#8000H SIGUE: MOVX @DPTR,A ACALL T1mS MOVX A,@DPTR MOV P1,A ACALL T400mS RL A DJNZ DPL,SIGUE SJMP PROG ;***************************************************************** ; Subrutina de tiempo de aprox. 400 milisegundos. ;***************************************************************** T400mS: MOV R2,#2 E2: MOV R1,#200 E3: ACALL T1mS DJNZ R1,E3 DJNZ R2,E2 RET 2 ;***************************************************************** ; Subrutina de retardo de aprox. un milisegundo. ;***************************************************************** T1mS: MOV R0,#229 E1: NOP NOP DJNZ R0,E1 RET ;***************************************************************** END 5. Programe con el código máquina obtenido la EEPROM y coloque dicha memoria en el sistema mínimo para la ejecución del programa. Observe si se genera de corrimiento de luces en el puerto 1 del microcontrolador 8031, lo cual indicará que su programa se está ejecutando adecuadamente. ¿Cuáles son las señales que el microcontrolador utiliza para leer y escribir datos en la memoria de programas respectivamente? R.______________________________________________________________________________ ¿Cuál es el nivel lógico que deben tomar dichas señales para indicar a la memoria de datos que se efectuará un ciclo de lectura o escritura en ella? R. ______________________________________________________________________________ ¿Pueden tomar ambas señales el mismo estado lógico simultáneamente? Diga en qué casos y porqué. R._______________________________________________________________________________ ¿Cuál es la instrucción que se utiliza en la familia de microcontroladores MCS-51 para efectuar ciclos de lectura o escritura en la memoria de datos externa? R._______________________________________________________________________________ 6. Elimine los llamados a las subrutinas de tiempo en el programa, ensamble y programe nuevamente la EEPROM. A continuación, con el osciloscopio realice las siguiente mediciones: 3 7. Para comprobar el funcionamiento del decodificador de direcciones, conecte el canal 1 del osciloscopio a la terminal CS de la memoria de programa, y el canal 2 a la terminal CE de la memoria de datos. A continuación, dibuje las formas de onda observadas. !" #$ $ $% $ ¿Es posible que ambas señales tomen un nivel lógico bajo simultáneamente? ¿Por qué? R._______________________________________________________________________________________ ¿Por qué es necesario utilizar un decodificador de direcciones en la microcomputadora? R._______________________________________________________________________________________ Explique qué ocurre en las terminales del bus de datos una memoria cuando la terminal de selección o habilitación recibe un estado lógico: a) Alto: _______________________________________________________________________________ b) Bajo:_______________________________________________________________________________ 4 8. Implemente con un dispositivo programable GAL16V8 un circuito decodificador que presente la misma tabla funcional del circuito 74HC139. Sustituya el circuito 74HC139 con el GAL y verifique el funcionamiento del sistema. ¿El sistema mínimo ejecuta correctamente el programa? R. _______ ¿Qué ventajas ofrece el uso de dispositivos lógicos programables respecto al uso de circuitos integrados comerciales? Justifique su respuesta. R.____________________________________________________________________________________ Cuestionario final. 1. Cuando se define un mapa de memoria para una microcomputadora ¿cuáles son las dos condiciones que se deben cumplir en todos los casos? ¿Por qué? 2. ¿Cuánta memoria de programa y de datos se puede conectar a un microcontrolador de la familia MCS51 en modo expandido, bajo la arquitectura de memoria combinada? 3. ¿Es posible omitir la compuerta AND que genera la señal de lectura para las memorias? ¿Qué arquitectura se estaría utilizando en tal caso? 4. Explique las diferencias entre la arquitectura de Harvard y la arquitectura Von Newmman. 5. Explique lo que entiende por “estado de alta impedancia”. Anotar sus conclusiones. 5