Tải bản đầy đủ (.pdf) (10 trang)

Tài liệu Ứng dụng KIT 8051 dùng để chuyển đổi A/D-D/A, chương 8 ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (318.27 KB, 10 trang )

Chương 8:
BỘ NHỚ NGOÀI
Mở rộng bộ nhớ là một khả năng quan trọng đối với vi
điều khiển nhằm tránh gặp bế tắc trong vấn đề thiết kế. Họ
MCs-51 có thể mở rộng 64Kbs và bộ nhớ mã lệnh 64Kbs dữ
liệu. Các IC giao tiếp ngoại vi cũng có thể thêm vào để tăng
năng xuất nhập. Nó trở thành một phần của bộ dữ liệu ngoại và
được giải mã I/O như bộ nhớ.
Khi bộ nhớ ngoài được sử dụng, port 0 không được dùng
làm cổng xuất nhập. Nó trở thành bus dùng để phân kênh đòa
chỉ và dữ liệu, ALE chốt nó như là bytes thấp của bus đòa chỉ khi
bắt đầu mỗi chu kỳ truy xuất bộ nhớ ngoài. Port 2 thường dùng
làm byte cao của bus đòa chỉ.
Chu kỳ bộ nhớ
A0
 A15 Đòa chỉ
D0
 D7 Dữ liệu
(a) Không phân kênh (24 chân)
Chu kỳ bộ nhớ
AD8
 AD15 Đòa chỉ
AD0  AD7 Đòa chỉ Dữ liệu
(b) Phân kênh (16 chân)
Hình 4.5 Phân kênh bus đòa chỉ và bus dữ liệu
Hình trên mô tả việc phân kênh và không phân kênh bus
đòa chỉ và bus dữ liệu. Nếu không phân kênh, với 16 chân đòa
chỉ và 8 chân dữ liệu ta có 24 chân cho bus đòa chỉ và bus dữ
liệu. Trong khi đó nếu phân kênh, 8 chân dữ liệu được dùng
chung với 8 chân thuộc byte thấp của bus đòa chỉ nên chỉ có 16
chân cho bus đòa chỉ và bus dữ liệu. Điều này có ý nghóa lớn


trong việc chế tạo IC.
Thứ tự phân kênh như sau : ở nữa chu kỳ đầu, byte thấp
của đòa chỉ xuất ra port 0 và được chốt bằng ALE. Byte này được
chốt ở bộ chốt trong suốt chu kỳ bộ nhớ. Trong nữa chu kỳ tiếp
theo port 0 là bus dữ liệu, có thể xuất nhập tùy ý.
Truy xuất bộ nhớ mã lệnh ngoài (External Code memory):
Bộ nhớ mã ngoài được đọc bằng tín hiệu PSEN (hình 4.6).
Trong một chu kỳ máy ALE tác động 2 lần và 2 bytes được đọc
từ bộ nhớ chương trình. Giản đồ thời gian của hoạt động này
được gọi là chu kỳ lấy lệnh (hình 4.7).
Truy xuất bộ nhớ dữ liệu ngoài (External Code memory):
Đây là bộ nhớ chứa dữ liệu, thường là RAM và được truy
xuất bởi tín hiệu RD và WR. Dữ liệu này chỉ được truy xuất
bằng lệnh MOVX thông qua thanh ghi con trỏ dữ liệu DPTR,
hoặc R0, R1.
RAM giao tiếp với 8051 giống như EPROM. Ngoại trừ
chân RD được nối với chân OE và chân WR được nối với chân
W. Còn lại các bus dữ liệu và đòa chỉ nối như EPROM. Với 16
đường đòa chỉ ta có thể có đến 64Kbs cho vùng nhớ dữ liệu.
Giản đồ thời gian của viêc đọc vùng nhó dữ liệu ngoài khi
thi hành lệnh “MOV A,@DPRT” được cho ở hình 4.8. Lưu ý chỉ
có chân RD được dùng cho phép RAM.
Giản đồ thời gian của việc ghi cũng tương tự từ đường WR
xuống mức thấp và dữ liệu xuất ra port 0.
Port 2 có thể không dùng làm byte cao của bus đòa chỉ
trong hệ thống không sử dụng vùng nhớ mã ngoài mà sử dụng
vùng nhớ dữ liệu ngoài nhỏ. Tám bit đòa chỉ có thể truy xuất
được một vùng nhớ 256 bytes, được gọi là một trang bộ nhớ.
Nếu vùng nhớ này lớn hơn 256 bytes ta có thể dùng thêm một
vài chân của port 2 để chọn trang.

Khi truy xuất một trang (256 bytes) của vùng dữ liệu ngoài
ta có thể dùng R0 hoặc R1 để làm con trỏ đòa chỉ trỏ đến byte dữ
liệu cần truy xuất. Ví dụ những lệnh đọc nội dung của RAM
ngoài có đòa chỉ 0050H vào thanh tích lũy.
MOV R0, #50H ;
MOV A, @R0 ;
Giải mã đòa chỉ:
Nếu 8051 sử dụng cả EPROM và RAM ngoài đòi hỏi phải
giải mã đòa chỉ. Việc giải mã đòa chỉ rất quen thuộc đối với hầu
hết vi xử lý. Ví dụ nếu dùng EPROM 8K và RAM 8K, bus đòa
chỉ giải mã để chọn IC giới hạn trong 8Kbytes: 0000H đến
1FFFH, và 2000H đến 3FFFH, v.v…
Thông thường ta dùng IC giải mã 74138 với ngõ vào là 3
bits cao nhất của bus đòa chỉ. Do đó mỗi ngõ tương ứng với
8Kbs. Các ngõ ra này đưa vào các chân CS của các IC nhớ. Lưu
ý sự phân chia tín hiệu cho phép xuất của EPROM và RAM
khác nhau (RD cho RAM và PSEN cho EPROM). 8051 có thể có
đến 64Kbytes cho mỗi vùng ROM và RAM.
Hình 4.8: Giản đồ thời gian khi đọc dữ liệu từ bộ nhớ ngoài

×