1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng môn vi xử lý chương 2

40 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 1,46 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Microsoft PowerPoint VXL Chuong2ReadOnly pptx Read Only CHƯƠNG 2 KIẾN TRÚC PHẦN CỨNG MCU 8051 CẤU HÌNH MCU 8051 MCU 8051 là MCU tiêu biểu của họ MCS51 của hãng Intel 8051 là CPU 8 bit được tối ưu hó.Microsoft PowerPoint VXL Chuong2ReadOnly pptx Read Only CHƯƠNG 2 KIẾN TRÚC PHẦN CỨNG MCU 8051 CẤU HÌNH MCU 8051 MCU 8051 là MCU tiêu biểu của họ MCS51 của hãng Intel 8051 là CPU 8 bit được tối ưu hó.Microsoft PowerPoint VXL Chuong2ReadOnly pptx Read Only CHƯƠNG 2 KIẾN TRÚC PHẦN CỨNG MCU 8051 CẤU HÌNH MCU 8051 MCU 8051 là MCU tiêu biểu của họ MCS51 của hãng Intel 8051 là CPU 8 bit được tối ưu hó.Microsoft PowerPoint VXL Chuong2ReadOnly pptx Read Only CHƯƠNG 2 KIẾN TRÚC PHẦN CỨNG MCU 8051 CẤU HÌNH MCU 8051 MCU 8051 là MCU tiêu biểu của họ MCS51 của hãng Intel 8051 là CPU 8 bit được tối ưu hó.

Trang 1

CHƯƠNG 2

KIẾN TRÚC PHẦN CỨNG

MCU 8051

Trang 2

CẤU HÌNH MCU 8051

MCU 8051 là MCU tiêu biểu của họ MCS51 của hãng Intel

- 8051 là CPU 8 bit được tối ưu hóa cho ứng dụng điều khiển

- Bộ nhớ nội (bộ nhớ on_chip): ROM 4KB và RAM 128 Byte

- 4 cổng xuất/ nhập (I/O Port) 8 bit

- 2 bộ đếm/định thì 16 bit

- Giao tiếp nối tiếp UART

- Bộ điều khiển ngắt với 5 nguồn ngắt.

- Bộ nhớ ngoài: có thể mở rộng 64KB bộ nhớ chương trình (code) và

Bộ nhớ data on-chip

Số Timer

8051 8031

4K ROM 0

128 byte

128 byte

2 2

8052 8032

8K ROM 0

256 byte

256 byte

3 3

So sánh các MCU thuộc họ MCS51

Trang 3

SƠ ĐỒ KHỐI MCU 8051

Trang 4

CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051

MCU 8051 có dạng thông dụng là DIP40

gồm: 32 chân I/0 port, 6 chân điều khiển

và 2 chân nguồn

Port 0: (chân 32 đến 39) có 2 chức năng

* I/0 port: P0.0 – P0.7

* dồn kênh bus địa chỉ thấp và bus dữ

liệu AD0 – AD7

Port 1: (chân 1 đến 8) chỉ là chân I/0

Trang 5

CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051

Port 3: (chân 10 đến 17) có 2 chức năng

* I/0 port: P3.0 – P3.7

* chức năng chuyển đổi

Bit Tên Địa chỉ

Thu dữ liệu cổng nối tiếp Phát dữ liệu cổng nối tiếp Ngắt ngoài 0

Ngắt ngoài 1 Ngõ vào bộ đếm/timer 0 Ngõ vào bộ đếm/timer 1 Điều khiển ghi bộ nhớ dữ liệu ngoài Điều khiển đọc bộ nhớ dữ liệu ngoài Ngõ vào ngoài bộ đếm/timer 2

Ngõ nạp lại/bắt bộ đếm/timer 2

Trang 6

CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051

EA (External Access): (chân 31) là ngõ

vào để chọn thi hành chương trình từ bộ

nhớ trong hay bộ nhớ ngoài

* EA = 1 (nối lên nguồn +5V): 8051 thi

hành chương trình từ bộ nhớ nội 4KB

* EA = 0 (nối đất GND): 8051 thi hành

chương trình từ bộ nhớ ngoài 64KB

PSEN (Program Store Enable): (chân 29) là

ngõ ra dùng làm tín hiệu điểu khiển cho

phép đọc chương trình từ bộ nhớ ngoài.

PSEN nối với chân OE của ROM ngoài.

* Khi ở chu kỳ đọc lệnh thì PSEN = 0

* Khi chỉ sử dụng ROM nội thì PSEN = 1

Trang 7

CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051

ALE (Address Latch Enable) : (chân 30) là ngõ ra, là tín hiệu phân kênh (demux) bus địa chỉ và bus dữ liệu của Port 0 (AD0-AD7) khi

8051 truy xuất bộ nhớ ngoài.

* Nửa đầu chu kỳ truy xuất bộ nhớ, khi port 0 là A0 – A7 thì ALE = 1

* Nửa sau chu kỳ t ruy xuất bộ nhớ, khi port 0 là D0 – D7 thì ALE = 0

1

8051 gửi địa chỉ đến ROM

Trang 8

CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051

ALE (Address Latch Enable) : (chân 30) là ngõ ra, là tín hiệu phân

kênh (demux) bus địa chỉ và bus dữ liệu của Port 0 (AD0-AD7) khi

8051 truy xuất bộ nhớ ngoài.

* Nửa đầu chu kỳ truy xuất bộ nhớ, khi port 0 là A0 – A7 thì ALE = 1

* Nửa sau chu kỳ t ruy xuất bộ nhớ, khi port 0 là D0 – D7 thì ALE = 0

1

74373 chốt địa chỉ đến ROM 0

ROM gửi lệnh về 8051

* Tần số ALE = 1/6 F CK

F CK = 12MHz -> F ALE = 2MHz

Trang 9

a) Dao động trên chip với bộ thạch anh b) Dao động ngoài cấp cho MCU

CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051RST (Reset) : (chân 9) ngõ vào RST

ở mức cao ít nhất 2 chu kỳ máy

(MC) thì 8051 reset; các thanh ghi

bên trong nạp giá trị khởi động lại

hệ thống Sau khi reset để hệ thống

hoạt động bình thường thì RST = 0.

V CC , V SS : (chân 40, 20) nối nguồn V CC = +5V và nối đất V SS = 0V

XTAL 1, XTAL 2: (chân 18 và 19) 2 ngõ vào dao động trên chip, kết hợp với thạch anh Tần số thạch anh thường dùng là 12MHz Có thể dùng nguồn dao động ngoài

Trang 10

CẤU TRÚC CỔNG XUẤT/NHẬP (I/0 PORT)

* Mạch bên trong của chân port: ngoại trừ Port 0 không có điện trở kéo lên bên trong

* 4 I/O port: P0, P1, P2 và P3, mỗi port 8 bit; có thể giao tiếp trực tiếp với ngoại vi chuẩn TTL Các chân port có thể sử dụng riêng lẻ (P1.0 – P1.7)

* Xuất (OUT): dữ liệu từ CPU ghi vào chốt D, ngõ ra Q điều khiển FET.

- ghi 0: Q = 0 làm FET dẫn, chân port nối đất bằng 0.

- ghi 1: Q = 1 làm tắt FET, chân port nối nguồn Vcc bằng 1.

* Nhập (IN): để đọc được chân port thì trước đó cần ghi 1 vào chốt D để khóa FET Vì nếu trước đó chốt có Q = 0 thì FET dẫn, chân port luôn bằng 0.

(Khi reset thì các chân port đều ghi 1)

* Tùy theo lệnh nhập, CPU có thể đọc chân port hoặc đọc chốt

Trang 11

ĐỊNH THÌ & CHU KỲ MÁY (MC Machine Cycle)

* Mạch dao động trên chip kết hợp với thạch anh tạo nguồn xung nhịp cho CPU Xung nhịp có vai trò đồng bộ và định thì

* Thời gian CPU thực hiện lệnh gọi là chu kỳ lệnh (instruction cycle)

* Mỗi chu kỳ lệnh có thể 1 hay nhiều chu kỳ máy (machine cycle)

* Mỗi chu kỳ máy (MC) gồm 6 trạng thái (state); 1 trạng thái (state) có thời gian bằng 2 chu kỳ xung nhịp T clock

1 MC = 12 T clock = 12/F osc Vd: F osc = 12MHz: 1MC = 12 T clock = 12/12MHz = 1µs

Trang 12

Internal Internal

External

External

0000h

0FFFh 1000h

FFFFh

RD WR PSEN

Trang 13

TỔ CHỨC BỘ NHỚ

@ BỘ NHỚ DỮ LIỆU (RAM nội)

* RAM có địa chỉ thấp (00h – 7Fh)

* Thanh ghi chức năng đặc biệt

SFR - Special Function Register

(80h – FFh)

BỘ NHỚ NỘI (Internal Memory)

@ BỘ NHỚ CHƯƠNG TRÌNH (ROM nội)

8051 có 4KB để chứa chương trình,

địa chỉ làm việc 0000h – 0FFFh.

Để chạy chương trình ở ROM nội

thì chân EA = 1

Trang 14

TỔ CHỨC BỘ NHỚRAM NỘI có địa chỉ thấp (00h – 7Fh): có 128 byte Các byte ô nhớ được truy xuất qua địa chỉ trực tiếp

8 bit (byte address) hoặc gián tiếp qua thanh ghi.

1 Vùng RAM đa dụng (30h – 7Fh) có 80 byte

2 Vùng RAM có địa chỉ bit (20h – 2Fh) có 16 byte: các bit trong mỗi byte ô nhớ có thể được truy xuất bằng địa chỉ riêng goi là địa chỉ bit (bit address)

- Có 16 x 8 = 128 bit có địa chỉ bit là 00h – 7Fh

- Công thức xác định địa chỉ bit i của ô nhớ có địa chỉ byte X: (X – 20h) x 8 + i (với i là số thứ tự của bit trong 1 byte ô nhớ, có giá trị từ 0 đến 7)

- Cách biểu diễn khác với địa chỉ bit: địa chỉ byte i

Vd: địa chỉ bit 3 của ô nhớ có địa chỉ 25h:

(25h – 20h) x 8 + 3 = 43 = 2Bh Vd: địa chỉ bit 3 của ô nhớ có địa chỉ 25h: 25h.3

- Có nhóm lệnh xử lý bit truy xuất 1 bit qua địa chỉ bit

Trang 15

3 Vùng Bank thanh ghi (00h – 1Fh) có 32 byte

- Ngoài cách dùng địa chỉ byte, các thanh ghi trong bank thanh ghi có thể truy xuất bằng tên thanh ghi R0 – R7; nhưng mỗi thời điểm chỉ cho phép trên 1 bank thanh ghi hiện hành.

- Có thể thay đổi bank thanh ghi hiện hành bằng phần mềm Mặc định bank 0 là bank thanh ghi hiện hành.

Trang 16

TỔ CHỨC BỘ NHỚSFR – THANH GHI CHỨC NĂNG ĐẶC BIỆT

* gồm 21 ô nhớ làm SFR nằm trong vùng địa chỉ cao của RAM nội (80h – FFh)

* truy xuất SFR thì dùng địa chỉ byte, hay dùng tên của SFR cũng tương đương với địa chỉ byte.

* một số SFR có các bit có địa chỉ bit: là các SFR có số hex thấp của địa chỉ byte là 0 hay 8.

- địa chỉ bit của LSB giống với địa chỉ byte thanh ghi; địa chỉ các bit còn lại thì bằng địa chỉ byte cộng với số thứ tự của bit.

Vd: thanh ghi có địa chỉ byte là 88h có tên là TCON

- có 3 cách biểu diễn cho địa chỉ bit

Vd: địa chỉ bit: 8Ah 88h.2 TCON.2

- cách thứ 4: một số bit có ký hiệu riêng (tên riêng),

có thể dùng ký hiệu này thay cho địa chỉ bit.

Trang 17

- Trong các lệnh thực hiện các phép toán số học – logic, thanh ghi A là toán hạng của phép toán, và sau khi thực hiện xong phép toán kết quả được lưu lại vào A

 Thanh ghi B

F0 được sử dụng mặc định (hiểu ngầm) chung với thanh ghi A ở 2 lệnh:

- MUL AB : A nhân với B, kết quả byte thấp lưu vào A, byte cao lưu vào B

- DIV AB : A chia B, kết quả phần nguyên lưu vào A, phần dư lưu vào B

Trang 18

OV - P

D7H D6H D5H D4H D3H

D2H D1H D0H

Cờ nhớ (Carry)

Cờ nhớ phụ (Auxillary Carry)

Cờ 0 (Flag 0) Bit 1 chọn bank thanh ghi Bit 0 chọn bank thanh ghi

RS1 RS0 = 00 : bank0 RS1 RS0 = 01 : bank1 RS1 RS0 = 10 : bank2 RS1 RS0 = 11 : bank3

có số hex cao là chữ cái thì khi biểu diễn thêm số 0)

* PSW chứa các bit trạng thái (gọi là các cờ - flag)

Trang 19

TỔ CHỨC BỘ NHỚ : SFR

D0

* Cờ nhớ CY (Carry Flag): bit có địa chỉ D7h; có 2 công dụng

- Là bit nhớ trong phép toán cộng 8 bit hay là bit mượn trong phép toán trừ 8 bit

- Là bit được sử dụng hầu hết các lệnh xử lý bit, khi đó được cờ CY dùng mặc định (hiểu ngầm) với ký hiệu là C

1 1 1 1

1100 0101

1001 1110

0110 0011 +

1 1

C 5 h

9 E h

6 3 h +

* Cờ nhớ phụ AC ((((Auxiliary Carry Flag): bit có địa chỉ D6h; giống CY là bit nhớ/mượn nhưng trên 4 bit thấp của toán hạng

* Cờ 0 (F0): bit có địa chỉ D5h, là bit đa dụng có tên riêng

Trang 20

TỔ CHỨC BỘ NHỚ : SFR

D0

* Các bit chọn bank thanh ghi RS1-RS0 (Register Bank Select Bits): bit

có địa chỉ D4h và D3h; dùng để chọn bank thanh ghi hiện hành (mặc định ban đầu RS1 RS0 = 00: bank thanh ghi hiện hành là bank 0)

Trang 21

TỔ CHỨC BỘ NHỚ : SFR

D0

* Cờ báo tràn OV (Overflow Flag): bit có địa chỉ D2h.

- Dùng trong phép toán cộng/trừ trên toán hạng số có dấu 8 bit

- Cờ OV = 1 nếu như kết quả vượt quá phạm vi biểu diễn số có dấu 8 bit (số 8 bit có dấu có giá trị: - 128 ÷ +127)

Cờ OV = 1 vì +161 vượt phạm vi có dấu 8 bit, kết quả A1h (-95) là sai

* Bit kiểm tra parity P (Parity Bit): bit có địa chỉ D0h Là bit kiểm tra chẵn (even parity): tổng số bit 1 có trong thanh ghi ACC và bit P phải là con số chẵn.

Vd: (ACC) = 1001 1110 (P) = 1

Trang 22

TỔ CHỨC BỘ NHỚ : SFR

 Thanh ghi con trỏ ngăn xếp SP (Stack Pointer): thanh ghi có địa chỉ 81h

* Stack nằm trong vùng nhớ RAM nội có địa chỉ thấp (00h-7Fh)

* Truy xuất vùng stack bằng phương pháp định địa chỉ gián tiếp qua thanh ghi SP Nội dung thanh ghi SP chứa địa chỉ của ô nhớ đang là đỉnh ngăn xếp (Top of stack - TOS) Giá trị ban đầu (SP) = 07h

- Cất data vào stack (PUSH): tăng (SP) lên 1, sau đó cất data vào ô nhớ

có địa chỉ là nội dung của thanh ghi SP (TOS tăng 1)

Vd: PUSH: cất data 45H vào STACK

06

07

FB 1D

Khi cất data vào STACK, đỉnh ngăn xếp TOS tăng 1

Trang 23

09

F0 62

18

0A 0B

- Lấy data từ stack (POP): nội dung của ô nhớ có địa chỉ là nội dung của thanh ghi SP là data được lấy, sau đó (SP) giảm bớt 1 (TOS giảm 1)

* Data được cất/lấy từ stack theo kiểu LIFO (Last In First Out)

* Stack được dùng trong các lệnh PUSH/POP, và khi thực thi chương trình con

* Sau khi reset thì mặc định (SP) = 07h, thì vùng stack là ram nội từ 08h ÷ 7Fh.

Ta có thể thay đổi vùng stack bằng lệnh.

Vd: chọn vùng Stack từ 60h ÷ 7Fh bằng lệnh MOV SP, #5Fh

Khi lấy data từ STACK, đỉnh ngăn xếp TOS giảm 1

Trang 24

TỔ CHỨC BỘ NHỚ : SFR

 Thanh ghi con trỏ dữ liệu DPTR (Data Pointer):

* Là thanh ghi 16 bit ghép từ thanh ghi DPH (Data Pointer High) có

địa chỉ 83h và thanh ghi DPL (Data Pointer Low) có địa chỉ 82h

* Dùng để chứa địa chỉ của ô nhớ ngoài cần truy xuất

Vd: MOVX A, @DPTR ; (A) ← ((DPTR))

 Các thanh ghi port P0, P1, P2, P3: có địa chỉ lần lượt 80h, 90h, A0h và B0h

- Xuất data ra ngoại vi: dùng lệnh ghi data vào thanh ghi port

- Nhập data từ ngoại vi: dùng lệnh đọc thanh ghi port

* Các thanh ghi port có địa chỉ mã hóa riêng từng bit, do vậy có thể điều khiển ngoại vi riêng lẻ ở mỗi chân port; bằng cách sử dụng lệnh

xử lý bit trên bit của thanh ghi port (Vd: SETB P1.7)

* I/0 port kết nối trực tiếp với ngoại vi Làm việc với ngoại vi thì dùng thanh ghi port tương ứng I/O port kết nối với ngoại vi.

Vd: MOV P1, #00h ; xuất 8 bit 0 ra ngoại vi nối với Port 1 Vd: MOV A, P2 ; nhập ngoại vi ở Port 2 về thanh ghi A

Trang 25

TỔ CHỨC BỘ NHỚ : SFR

 Các thanh ghi Timer:

- TH0 (8Ch) _ TL0 (8Ah): 16 bit Timer 0

(Timer High 0 – Timer Low 0)

- TH1 (8Dh) _ TL1 (8Bh): 16 bit Timer 1

- TMOD (89h): chế độ hoạt động timer (Timer Mode)

- TCON (88h): điều khiển timer (Timer Control)

 Các thanh ghi cổng nối tiếp (Serial port registers):

- SBUF (99h): bộ đệm data nối tiếp (Serial data Buffer), chứa data để phát nối tiếp và data thu được nối tiếp

- SCON (98h): điều khiển port nối tiếp (Serial port Control) dùng chọn chế độ và điều khiển port nối tiếp

 Các thanh ghi ngắt (Interrupt registers):

- IE (A8h): cho phép ngắt (Interrupt Enable)

- IP (B8h): ưu tiên ngắt (Interrupt Priority)

Trang 26

TỔ CHỨC BỘ NHỚ : SFR

 Thanh ghi điều khiển nguồn PCON (Power Control):

87

7 6 5 4 3 2 1 0

SMOD - - - GF1 GF0 PD IDL

SMOD=1 baudrate x2 mode 1,2,3 cổng nối tiếp Không được định nghĩa

Không được định nghĩa Không được định nghĩa

Cờ đa dụng bit 1

Cờ đa dụng bit 0 PD=1 giảm nguồn, thoát chỉ khi reset IDL=1 nghỉ,thoát chỉ khi ngắt/reset

* Bit SMOD: dùng để tăng gấp đôi tốc độ baud cho port nối tiếp

* Cờ đa dụng GF1, GF0 (General Purpose Flag): 2 cờ tùy ý người sử dụng

* Các bit trong thanh ghi PCON không có địa chỉ bit

Trang 27

TỔ CHỨC BỘ NHỚ : SFR

* Bit chế độ nghỉ IDL (Idle mode): IDL = 1 làm MCU vào chế độ nghỉ (họ CMOS)

- Lệnh làm IDL=1 là lệnh cuối cùng được thực hiện trước khi MCU nghỉ

- Vào chế độ nghỉ: xung nhịp không cung cấp cho CPU, nhưng vẫn có cho các chức năng ngắt, timer và port nối tiếp Trạng thái CPU và nội dung thanh ghi được giữ nguyên Các chân port giữ nguyên mức logic Các tín hiệu ALE và /PSEN ở mức cao.

- Chế độ nghỉ kết thúc khi có ngắt hay reset hệ thống Khi đó bit IDL được xóa

* Bit chế độ giảm nguồn PD (Power down mode): PD = 1 làm MCU vào chế độ giảm nguồn (họ CMOS)

- Lệnh làm PD=1 là lệnh cuối cùng được thực hiện trước khi MCU vào chế độ này

- Vào chế độ giảm nguồn: dao động trên chip và các chức năng bị dừng Nội dung ram trên chip giữ nguyên Các chân port giữ nguyên mức logic Các tín hiệu ALE và /PSEN ở mức thấp.

- Chế độ giảm nguồn chỉ kết thúc khi reset hệ thống.

- Có thể giảm Vcc xuống 2V sau khi vào chế độ này Phải hồi phục Vcc lên 5V ít nhất

10 chu kỳ xung nhịp trước khi chân RST về 0 (reset để thoát chế độ giảm nguồn)

Trang 28

TỔ CHỨC BỘ NHỚ

BỘ NHỚ NGOÀI (External Memory)

- Họ MCS-51 có khả năng mở rộng 64KB bộ nhớ chương trình và 64KB bộ nhớ

dữ liệu bên ngoài.

- Giao tiếp I/0 mở rộng như là 1 phần của không gian bộ nhớ dữ liệu (I/0 ánh xạ

bộ nhớ).

- Khi dùng bộ nhớ ngoài: Port 0 là

AD0 ÷ AD7 và Port 2 là A8 ÷ A15.

- Port 0 là port dồn kênh giữa bus địa

chỉ (A0 ÷ A7) và bus dữ liệu (D0 ÷ D7)

- Dùng mạch chốt 74373 có tín hiệu

điều khiển ALE để chốt 8 bit địa chỉ

thấp ở Port 0

Trang 29

TỔ CHỨC BỘ NHỚ

BỘ NHỚ NGOÀI (External Memory)

 BỘ NHỚ CHƯƠNG TRÌNH NGOÀI(External Code Memory) MCU 8051 truy xuất bộ nhớ chương trình ngoài bởi tín hiệu PSEN

Port 0

Port 2 ALE

G

74373

Trang 30

TỔ CHỨC BỘ NHỚ

BỘ NHỚ NGOÀI (External Memory) Định thì đọc bộ nhớ chương trình: thời gian MCU đọc lệnh từ bộ nhớ chương trình gọi là chu kỳ nhận lệnh (opcode fetch)

Vd: Chu kỳ nhận lệnh của 1 lệnh 2 byte có thời gian thực hiện là 1

chu kỳ máy (MC): có 2 xung ALE và 2 byte lệnh được nhận

Trang 31

TỔ CHỨC BỘ NHỚ

BỘ NHỚ NGOÀI (External Memory)

 BỘ NHỚ DỮ LIỆU NGOÀI (External Data Memory)

MCU 8051 đọc/ghi bộ nhớ chương trình ngoài bởi tín hiệu RD và WR

Port 0

Port 2 ALE

8051

EA

RD WR

G

74373 + 5V

Trang 32

TỔ CHỨC BỘ NHỚ

BỘ NHỚ NGOÀI (External Memory) Lệnh để truy xuất ram ngoài là MOVX với thanh ghi DPTR chứa địa chỉ ram Định thì của lệnh đọc ram ngoài MOVX A, @DPTR: lệnh 1 byte tốn 2 MC

- Chu kỳ máy thứ 1 để đọc byte lệnh MOVX từ bộ nhớ chương trình

- Chu kỳ máy thứ 2 để thực thi lệnh MOVX để đọc data từ bộ nhớ dữ liệu,

có 1 xung ALE bị mất.

Trang 33

TỔ CHỨC BỘ NHỚ

BỘ NHỚ NGOÀI (External Memory) MCU 8051 cho phép làm việc với bộ nhớ dữ liệu ngoài có dung lượng nhỏ là

256 byte, khi đó bus địa chỉ có 8 bit A0 – A7 nên chỉ dùng port 0

Lệnh MOVX dùng thanh ghi R0 hay R1 chứa địa chỉ ram ngoài cần truy xuất

Port 0

Port 2 ALE

8051

EA

RD WR

A0 - A7

D0 - D7

RAM

OE WE CS

G

74373 + 5V

Trang 34

TỔ CHỨC BỘ NHỚ

BỘ NHỚ NGOÀI (External Memory)

 GIẢI MÃ ĐỊA CHỈ (Address Decoding)

Nếu MCU 8051 làm việc với nhiều chip bộ nhớ ROM hay RAM thì cần có mạch giải mã địa chỉ Mạch giải mã địa chỉ có nhiệm vụ phân chia các vùng địa chỉ làm việc khác nhau cho từng chip nhớ.

Vd: Thiết kế mạch giải mã địa chỉ cho các chip ROM 2764 (8KB) và chip RAM

Trang 35

BỘ NHỚ NGOÀI (External Memory)

Mạch giải mã tạo các tín hiệu chọn chip (CS0, CS1, CS7) cho 8 chip nhớ 8KB Bản đồ địa chỉ bộ nhớ cho 8 vùng nhớ mỗi vùng 8KB (CS0, CS1, CS7)

2000h 3FFFh 3FFFh 4000h

4000h 5FFFh 5FFFh 6000h

6000h 7FFFh 7FFFh 8000h

8000h 9FFFh 9FFFh A000h

A000h BFFFh BFFFh C000h

C000h DFFFh DFFFh E000h

E000h FFFFh FFFFh

Ngày đăng: 02/11/2022, 09:52