Práctica No. 3 Decodificación de direcciones y SRAM

Anuncio
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
Descargar