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

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

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

Thông tin tài liệu

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 RAM W OE Sự chồng lắp của vùng mã lệnh và dữ liệu ngoài: Vì bộ nhớ mã lệnh chỉ được đọc nên sẽ bất tiện trong việc phát triển phần mềm. Làm thế nào để sửa lỗi của chương trình nằm trong kit khi bộ nhớ mã lệnh chỉ có thể đọc. Biện pháp thường được sử dụng ở đây là chồng lắp hai vùng mã lệnh và dữ liệu lên nhau. Tín hiệu PSEN dùng để đọc mã lệnh và tín hiệu RD dùng để đọc dữ liệu trong cùng một bộ nhớ. RAM chứa cả chương trình và dữ liệu. Hai tín hiệu RD và PSEN được đưa vào cổng AND. Ngõ ra của cổng AND nối với chân OE của RAM. Mạch ở hình 4.9 cho phép ghi dữ liệu vào RAM. Vì vậy chương trình có thể được load vào RAM (bằng cách ghi dữ liệu vào RAM) và thi hành (bằng cách truy xuất như bộ nhớ mã lệnh). WR RD PSEN Hình 4.9 Mạch tạo nên sự chồng lắp hai vùng nhớ VII – HOẠT ĐỘNG RESET 8051 được reset khi giữ chân RST ở mức cao ít nhất trong hai chu kỳ máy và sau đó trả về mức thấp. RST có thể được nối với switch hoặc mạng tụ, trở để tạo tính reset. Trạng thái của tất cả thanh ghi sau khi reset hệ thống tóm tắt trong bảng 4.5. Thanh ghi đếm chương trình được nạp giá trò 0000H sau khi reset. Khi RST xuống mức thấp chương trình luôn bắt đầu tại điểm 0000H. Nội dung các thanh ghi trong RAM nội không bò ảnh hưởng bởi hoạt động reset. Thanh ghi Noọi dung PC ACC B PSW SP DPTR PORT 0 3 IP IE Timer registers SCON SBUF PCON (HMOS) PCON (CMOS) 0000H 00H 00H 00H 07H 0000H FFH XXX00000B 0XX00000B 00H 00H 00H 0XXXXXXXB 0XXX0000B Baỷng 4.5 Giaự trũ caực thanh sau khi reset heọ thoỏng . 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. 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

Ngày đăng: 24/12/2013, 14:15

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan