You are on page 1of 4

1.

1 Thiết kế mạch giải mã địa chỉ bộ nhớ gồm 4KB RAM trên cơ sở vi mạch
RAM loại 4KB. Địa chỉ vùng RAM bắt đầu từ 1000h.

+4KB:
2^10 = 1KB
2^12 = 2^2 x 2^10 = 12 đường địa chỉ khác nhau: A0-A11
+ 8051:
16 đường địa chỉ: A0 - A15
+ Địa chỉ RAM: 1000h: Hexa
0001 0000 0000 0000: Binary
A15: 0
A14: 0
A13: 0
A12: 1

A14 A13 A12 Y

0 0 0 0

0 0 1 1

0 1 0 2

0 1 1 3

1 0 0 4

1 0 1 5

1 1 0 6

1 1 1 7

1.2 Thiết kế mạch giải mã địa chỉ bộ nhớ gồm 4KB RAM trên cơ sở vi mạch
RAM loại 4KB. Địa chỉ vùng RAM bắt đầu từ 4000h.

+4KB:
2^10 = 1KB
2^12 = 2^2 x 2^10 = 4 x 1kB <=> 12 đường địa chỉ khác nhau: A0-A11
+ 8051:
16 đường địa chỉ: A0 - A15
+ Địa chỉ RAM: 4000h: Hexa
0100 0000 0000 0000: Binary
0100: A15-A14-A13-A12
A15: 0
A14: 1
A13: 0
A12: 0
1.3 Thiết kế mạch giải mã địa chỉ bộ nhớ gồm 4KB RAM trên cơ sở vi mạch
RAM loại 4KB. Địa chỉ vùng RAM bắt đầu từ A000h.

+4KB:
2^10 = 1KB
2^12 = 2^2 x 2^10 = 4 x 1kB <=> 12 đường địa chỉ khác nhau: A0-A11
+ 8051:
16 đường địa chỉ: A0 - A15
+ Địa chỉ RAM: A000h: Hexa
1010 0000 0000 0000: Binary
1010: A15-A14-A13-A12
A15: 1
A14: 0
A13: 1
A12: 0

1.4 Thiết kế mạch giải mã địa chỉ bộ nhớ gồm 16KB RAM trên cơ sở vi mạch
RAM loại 4KB. Địa chỉ vùng RAM bắt đầu từ 1000h.

+4KB:
2^10 = 1KB
2^12 = 2^2 x 2^10 = 4 x 1kB <=> 12 đường địa chỉ khác nhau: A0-A11

Cần 04 chip RAM để tạo ra bộ nhớ 16KB

+ 8051:
16 đường địa chỉ: A0 - A15

+ Địa chỉ RAM: 1000h: Hexa


0001 0000 0000 0000: Binary

Chip 1: 0001 0000 0000 0000: Binary: 4KB: A15: 0


Chip 2: 0010 0000 0000 0000: Binary: 4KB: A15: 0
Chip 3: 0011 0000 0000 0000: Binary: 4KB: A15: 0
Chip 4: 0100 0000 0000 0000: Binary: 4KB: A15: 0

1.5 Thiết kế mạch giải mã địa chỉ bộ nhớ gồm 16KB RAM trên cơ sở vi mạch
RAM loại 4KB. 16KB ROM trên cơ sở vi mạch ROM loại 16KB Địa chỉ vùng RAM bắt đầu từ
1000h.

+4KB:
2^10 = 1KB
2^12 = 2^2 x 2^10 = 4 x 1kB <=> 12 đường địa chỉ khác nhau: A0-A11

Cần 04 chip RAM để tạo ra bộ nhớ 16KB

+ 8051:
16 đường địa chỉ: A0 - A15
+ Địa chỉ RAM: 1000h: Hexa
0001 0000 0000 0000: Binary

Chip 1: 0001 0000 0000 0000: Binary: 4KB: A15: 0


Chip 2: 0010 0000 0000 0000: Binary: 4KB: A15: 0
Chip 3: 0011 0000 0000 0000: Binary: 4KB: A15: 0
Chip 4: 0100 0000 0000 0000: Binary: 4KB: A15: 0

+ Rom 16KB:
2^10 = 1KB
2^14 = 2^4 x 2^10 = 16 x 1kB ⇔ 14 đường địa chỉ khác nhau: A0-A13
+ Địa chỉ ROM: 0101 0000 0000 0000: Binary
Do A13, A12 nằm trong dải A0-A13: nên địa chỉ ROM bắt buộc từ
1000 0000 0000 0000B <=> 8000H: Địa chỉ đầu tiên
A15: 1
A14: 0
Địa chỉ cuối cùng là 1011 1111 1111 1111 Binary <=> BFFF Hexa
Dải địa chỉ là dải thay đổi sao cho các chân địa chỉ thay đổi trạng thái mà vẫn nằm trong dải.

1.6 Thiết kế mạch giải mã địa chỉ bộ nhớ gồm 16KB RAM trên cơ sở vi mạch
RAM loại 4KB. 32KB ROM trên cơ sở vi mạch ROM loại 16KB Địa chỉ vùng RAM bắt đầu từ
0000h.
8051 có 16 đường đường địa chỉ: A0-A15
RAM: 4KB: 12 đường địa chỉ A0-A11
+ Sử dụng 04 chip RAM khác nhau:
Dải địa chỉ bắt đầu từ 0000H: 0000 0000 0000 0000 Binary
RAM1: U1: 0000H - 0FFFH
RAM2: U2: 1000H - 1FFFH
RAM3: U3: 2000H-2FFFH
RAM4: U4: 3000H-3FFFH

ROM: 16KB: 14 đường địa chỉ: A0-A13


+ Sử dụng 02 chip ROM khác nhau
+ Dải địa chỉ bắt đầu từ 4000H
+ 0100 0000 0000 0000 Binary
+ ROM1: 0100 0000 0000 0000 đến 0111 1111 1111 1111 ⇔ 4000 - 7FFF H
+ ROM2: 1000 0000 0000 0000 đến 1011 1111 1111 1111 ⇔ 8000 - BFFF H

RAM1: U1: 0000H - 0FFFH


0H: A15-A14-A13-A12 = 0-0-0-0
RAM2: U2: 1000H - 1FFFH
1H: A15-A14-A13-A12 = 0-0-0-1
RAM3: U3: 2000H-2FFFH
2H: A15-A14-A13-A12 = 0-0-1-0
RAM4: U4: 3000H-3FFFH
3H: A15-A14-A13-A12 = 0-0-1-1
+ ROM1: 0100 0000 0000 0000 đến 0111 1111 1111 1111 ⇔ 4000 - 7FFF H
+ ROM2: 1000 0000 0000 0000 đến 1011 1111 1111 1111 ⇔ 8000 - BFFF H

74138
CBA: 000 ⇔ Y0
001 ⇔ Y1: ROM1: U5
010 ⇔ Y2: ROM2: U6

2.1
RAM1: U1: A0-A10: 2kB
xxxx x000 0000 0000 - xxxx x111 1111 111
Y0 của 74138: A13-A12-A11: 000
A14: G2A: 0
A15: G2B: 0
xxxx x ⇔ 0000 0
Dải địa chỉ của U1: 0000 0000 0000 0000 - 0000 0111 1111 1111 ⇔ 0000H - 07FFH

RAM2: U2: A0-A10: 2kB


xxxx x000 0000 0000 - xxxx x111 1111 111
Y6 của 74138: A13-A12-A11: 110
A14: G2A: 0
A15: G2B: 0
xxxx x ⇔ 0011 0
Dải địa chỉ của U1: 0011 0000 0000 0000 - 0011 0111 1111 1111 ⇔ 3000H - 37FFH
2.2
Viết lệnh Assembly:
Địa chỉ đầu của RAM1: U1: 0000H
Địa chỉ cuối của RAM2: U2: 37FFH
MOV DPTR, #0000H
MOVX A, @DPTR
MOV DPTR, #37FFH
MOVX @DPTR, A

You might also like