Está en la página 1de 8

Ejemplo 2: Diseñar un sistema mínimo con un decodificador de direcciones que permita

controlar los siguientes dispositivos:


Dos memorias EPROM2732, una memoria SRAM6264, dos puertos de entrada, tres puertos
de salida. Todos interconectados con un microprocesador de 8 bits de datos y 16 líneas de
direcciones. Las direcciones a partir de las cuales se debe seleccionar cada circuito son
respectivamente: 0000H, 4000H, 8000H, 8001H, 8002H, C000H, C004H, C008H
Solución:
1er. Paso: Determinar la memoria direccionable por el microprocesador y definir el rango de
memoria del sistema.
El procesador de 16 líneas de direcciones, controla 2n – 1 = 216 - 1= 64K – 1 decimal
A0 – A15
2o.Paso: se construye el mapa de memoria. Se utilizara una columna por cada uno de los
bits de dirección del procesador. Y se utilizará una fila por cada uno de los puertos, y 2 filas
para cada una de las memorias. Todas las memorias se colocarán en filas adyacentes, y
todos los puertos serán agrupados en forma adyacente.
Una memoria EPROM2732
Recodar que los ejercicios que vamos a realizar son de 8 bits para el bus de datos.
27C 32 => 32/8=4 se le agrega la K = 4K.
A0 – A11 000 - FFF

20=1, 21 =2, 22 =4, 23 =8, 24=16, 25 =32, 26 =64, 27 =128, 28 =256, 29 =512

210=1024=1K, 211=2048 = 2K, 212 =4096 =4K, 213 =8192 = 8K, 214=16384=16K, 215= 32K
Y para 4K tenemos12 líneas de dirección => A0 – A11 000-FFF

Una memoria SRAM6264,


62C64 => 64/8=8 se le agrega la K = 8K.

Y para 8K tenemos13 líneas de dirección =>

A0 – A12 0000-1FFF

Dos puertos de entrada, tres puertos de salida. Requiero 2 PPI


Las direcciones son respectivamente: 8000H, 8001H, 8002H, C000H, C004H, C008H
Se analizan 2 filas de cada una de las memorias y se marcan como estados irrelevantes,
aquellos bits, que para un mismo dispositivo presentan cambios de 0 a 1, y serán llamados
variables de direccionamiento.
Ahora se analizan los bits más significativos del lado izquierdo de la línea roja en los
diferentes dispositivos, en su respectiva columna uno a uno. Los bits que cambian de 0 a 1
serán llamadas variables de selección.

Dirección en Binario 8+4+2+1 Dirección en Dispositivo


23 22 21 20 23 22 21 20 23 22 21 20 23 22 21 20 Hexadecimal
A15A14A13 A12 A11A10A9A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000 2732 (1)
… … /A15/A14/A13/A12
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0FFF
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1000 2732 (2)
… … /A15/A14/A13 A12
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFF
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000 Sin
… … dispositivo
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3FFF
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4000 6264 (3)
… … /A15A14 /A13
0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 5FFF
0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 6000 Sin
… dispositivo
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 7FFF
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000 Puerto A (4)
1 0 0 0 0 0 0 0 … 0 0 0 1 8001 Puerto B
1 0 0 0 0 0 0 0 0 0 1 0 8002 Puerto C
1 0 0 0 0 0 0 0 0 0 1 1 8003 A15/A14 /A13
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C000 Puerto A (5)
1 1 0 0 0 0 0 0 … 0 1 0 0 C004 Puerto B
1 1 0 0 0 0 0 0 1 0 0 0 C008 Puerto C
1 1 0 0 0 0 0 0 1 1 0 0 C00C A15A14 /A13
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C00C Sin
… dispositivo
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 FFFF

Las variables de selección A15 A14 y la A13 como para los dispositivos de interés permanece
en cero se utiliza para habilitar /G de mi decodificador 74139.
Se construye la tabla de verdad del decodificador de memorias donde las variables de
entrada serán las variables de selección y se usara una salida para cada uno de los
dispositivos.
Tabla del 74139

Entradas - Selectoras Salidas Dispositivo

G - A13 B - A15 A - A14 Y0 Y1 Y2 Y3

0 0 0 0 1 1 1 2732(1) y (2)

0 0 1 1 0 1 1 6264 (3)

0 1 0 1 1 0 1 Puertos (4)

0 1 1 1 1 1 0 Puertos (5)

Las líneas del bus de direcciones A15 y A14 se conectarán a las entradas y cada una de las
salidas se conectarán a los Chip Select (CS) de cada los circuitos integrados

U1
39 21 3 2 10 11 34 4
38 P0.0/AD0 P2.0/A8 22 4 D1 Q1 5 9 A0 D0 12 33 D0 PA0 3
37 P0.1/AD1 P2.1/A9 23 7 D2 Q2 6 8 A1 D1 13 32 D1 PA1 2
36 P0.2/AD2 P2.2/A10 24 8 D3 Q3 9 7 A2 D2 15 31 D2 PA2 1
35 P0.3/AD3 P2.3/A11 25 13 D4 Q4 12 6 A3 D3 16 30 D3 PA3 40
34 P0.4/AD4 P2.4/A12 26 14 D5 Q5 15 5 A4 D4 17 29 D4 PA4 39
33 P0.5/AD5 P2.5/A13 27 17 D6 Q6 16 4 A5 D5 18 28 D5 PA5 38
32 P0.6/AD6 P2.6/A14 28 18 D7 Q7 19 3 A6 D6 19 27 D6 PA6 37
P0.7/AD7 P2.7/A15 D8 Q8 25 A7 D7 D7 PA7
1 10 11 24 A8 5 18
2 P1.0 P3.0/RXD 11 1 LE 74HC373 21 A9 36 RD PB0 19
3 P1.1 P3.1/TXD 12 OE 23 A10 9 WR PB1 20
4 P1.2 P3.2/INT0 13 2 A11 8 A0 PB2 21
5 P1.3 P3.3/INT1 14 A12 35 A1 PB3 22
6 P1.4 P3.4/T0 15 22 6 RESET PB4 23
7 P1.5 P3.5/T1 16 27 OE CS PB5 24
8 P1.6 P3.6/WR 17 20 WE PB6 25
P1.7 P3.7/RD 26 CS1 PB7
HI CS2 6264
19 30 14
18 XTAL1 ALE/PROG 29
A0 PC0 15
A1
XTAL2 PSEN PC1 16
31 PC2 17
9 EA/VPP PC3 13
RST PC4 12
40 PC5 11
VCC 8 9 8255 PC6 10
4 7 A0 O0 10 PC7
AT89LV51 A14 2 Y 0N 5 6 A1 O1 11
A15 3 A1 Y 1N 6 5 A2 O2 13
B1 Y 2N 7 4 A3 O3 14
Y 3N 3 A4 O4 15
A13 1 2 A5 O5 16
G1N 1 A6 O6 17
23 A7 O7
74139
22 A8
19 A9
21 A10 34 4
A11 33 D0 PA0 3
20 32 D1 PA1 2
18 OE/VPP 31 D2 PA2 1
1 CE 2732 30 D3 PA3 40
A12 2
74LS32 3 29
28
D4
D5
PA4
PA5
39
38
27 D6 PA6 37
1

D7 PA7
4 5 18
74LS32 6 36 RD PB0 19
WR PB1
74LS04

5 9 20
8 A0 PB2 21
35 A1 PB3 22
2

8 9 6 RESET PB4 23
7 A0 O0 10 CS PB5 24
6 A1 O1 11 PB6 25
5 A2 O2 13 PB7
4 A3 O3 14 14
3 A4 O4 15 PC0 15
2 A5 O5 16 PC1 16
1 A6 O6 17 PC2 17
23 A7 O7 PC3 13
22 A8 PC4 12
19 A9 PC5 11
21 A10 PC6 10
A11 8255 PC7
20
18 OE/VPP
CE 2732
A2
A3
Destino Fuente
org 0000h ;Inicia Programa
sjmp prog
org 50H
PROG mov A,#55h ;Micro Registro A = 55H
MOV DPTR,#4000h ;Micro Registro DPTR = 4000h
MOVX @DPTR,A ;ESCRITURA a memoria RAM 6264
MOV DPTR,#4002h
MOVX @DPTR,A ;ESCRITURA a memoria RAM 6264
MOV B,A
mov A,#0AAh
MOV DPTR,#4004h
MOVX @DPTR,A ;ESCRITURA
MOV A,B
MOVX A,@DPTR ;LECTURA
MOV DPTR,#4000h
MOVX A,@DPTR ;LECTURA
MOV B,A
MOV P1,B
JMP PROG
END

0000 804E
0050 7455904000F0904002F0 F5F074AA9040 04F0E5F0E0904000E0F5F085F09080E0

Registro de comando
1 0 0 1 0 0 1 0
9 2 Hexadecimal
Programa en lenguaje ensamblador
PTOA EQU 8000H
PTOB EQU 8001H
PTOC EQU 8002H
REGCOM EQU 8003H
COF EQU 92H
MOV A,#92H ;A=92H, 1001 0010
MOV DPTR,#8003H ;1000 0000 0000 0011= 8003H
MOVX @DPTR,A ; /WR escritura, prog PPI

INICIO: MOV DPTR,#PTOA


MOVX A,@DPTR ; /RD, Lectura PPI
MOV DPTR,#4000H ;Localidad de memoria RAM
MOVX @DPTR,A ;Escritura en memoria RAM
MOV DPTR,#PTOB
MOVX A,@DPTR
MOV DPTR,#PTOC
MOVX @DPTR,A ;/WR Escritura a PPI
MOV DPTR,#4010H
MOVX @DPTR,A ;/WR Escritura a RAM
JMP INICIO
END

Programa en lenguaje ensamblador del ejercicio de 2 PPI- 8255


PTOA4 EQU 8000H
PTOB4 EQU 8001H
PTOC4 EQU 8002H
REGCOM4 EQU 8003H
PTOA5 EQU C000H
PTOB5 EQU C004H
PTOC5 EQU C008H
REGCOM5 EQU C00CH
COF4 EQU 92H ; 1 00 1 0 0 1 0 =92Hex
COF5 EQU 80H ; 1 00 0 0 0 0 0 = 80H

MOV A,#92H ; Reg A del microprocesador=92H


MOV DPTR,#REGCOM4 ; DPTR=1000 0000 0000 0011 = 8003H
MOVX @DPTR,A ; /WR escritura, para prog. PPI(4)

MOV A,#COF5
MOV DPTR,#REGCOM5 ; DPTR=C00CH
MOVX @DPTR,A ; /WR escritura, para prog. PPI(5)

INICIO: MOV DPTR, #PTOB4


MOVX A,@DPTR ;Lectura PPI y lo envió a Microproc
MOV DPTR,#4002H
MOVX @DPTR,A ;Escritura en memoria RAM
MOV B,A ;registros del micro

MOV DPTR#PTOA4
MOVX A,@DPTR ;Lectura PPI y lo envió a Microproc
MOV DPTR,#4000H
MOVX @DPTR,A ;Escritura en memoria RAM

MOV DPTR,#PTOC4
MOVX @DPTR,A ;Escritura

ADD A,B
MOV DPTR,#PTOB5
MOVX @DPTR,A ;Escritura PPI
MOV DPTR,#4004H
MOVX @DPTR,A ;Escritura en memoria RAM

MOV DPTR, #PTOB4


MOVX A,@DPTR ;Lectura PPI y lo envió a Microproc

MOV DPTR,#PTOC5
MOVX @DPTR,A ;Escritura
JMP INICIO
END
Tabla del 74138

Entradas - Selectoras Salidas Dispositivo


G1- G2 C B- A- Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
A13 A13 A15 A15 A14

1 0 0 0 0 1 1 1 1 1 1 1 2732(1) y (2)

1 0 0 1 1 0 1 1 1 1 1 1 6264 (3)

1 0 1 0 1 1 0 1 1 1 1 1 Puertos (4)

1 0 1 1 1 1 1 0 1 1 1 1 Puertos (5)

Ejercicio 2: Diseñar un sistema mínimo con un decodificador de direcciones que permita


controlar los siguientes dispositivos:
1 memorias EEPROM2864, y 6 memorias SRAM6264, 2 puertos de entrada y 1 puerto de
salida. Todos interconectados con un microprocesador de 8 bits de datos y 16 líneas de
direcciones.
74138
74139

También podría gustarte