Bộ nhớ dữ liệu nội trỳ

Một phần của tài liệu Đề cương bài giảng vi xử lý (Trang 26 - 29)

Hỡnh 2.4. Bộ nhớ dữ liệu nội trỳ

AT89C51 cú bộ nhớ dữ liệu chiếm một khoảng khụng gian bộ nhớ độc lập với bộ nhớ chương trỡnh. Dung lượng của RAM nội trỳ ở họ VĐK này là 128 Byte, được định địa chỉ từ 00h đến 7Fh. Phạm vi địa chỉ từ 80h đến FFh dành cho SFR. Tuy nhiờn bộ VĐK cũng cú thể làm việc với RAM ngoại trỳ cú dung lượng cực đại là 64 Kbyte được định địa chỉ từ 0000h đến FFFFh.

Vựng nhớ 128 Byte thấp

Vựng nhớ 128 Byte thấp được định địa chỉ từ 00h đến 7Fh, được chia thành 3 vựng con như thể hiện ở hỡnh 7.10.

Vựng thứ nhất cú độ lớn 32 Byte được định địa chỉ từ 00h đến 1Fh bao gồm 4 băng thanh ghi ( băng 0...băng 3), mỗi băng cú 8 thanh ghi 8 bit. Cỏc thanh ghi trong mỗi băng cú tờn gọi từ R0 đến R7. Vựng RAM này được truy cập bằng địa chỉ trực tiếp mức Byte, và quỏ trỡnh chọn để sử dung băng thanh ghi nào là tựy thuộc vào việc lựa chon giỏ trị cho RS1 và RS0 trong PSW.

Vựng thứ 2 cú độ lớn 16 Byte được định địa chỉ từ 20h đến 2Fh, cho phộp truy cập trực tiếp bằng địa chỉ mức bit. Bộ VĐK cung cấp cỏc lệnh cú khả năng truy cập tới vựng nhớ 128 bit này (nếu truy cập ở dạng mức bit thỡ vựng này cú địa chỉ được định từ 00h đến 7Fh) ở mức bit. Ở vựng nhớ này, địa chỉ được truy xuất dưới dạng Byte hay Bit tuỳ vào lệnh cụ thể. Chẳng hạn, để đặt bit tại địa chỉ 5Fh cú mức logic 1, ta thực hiện lệnh: SETB 5Fh . Sau khi thực hiện lệnh này, mặc dầu 5Fh là địa chỉ bit cao nhất trong Byte cú địa chỉ 2Bh, nhưng nú khụng làm ảnh hưởng tới cỏc bit khỏc trong Byte này. Trong khi đú, ở cỏc bộ VXL để thực hiện chức năng như trờn cần dựng những lệnh sau:

MOV A,2Bh

ORL A,#10000000b MOV 2Bh,A

Đõy là ưu điểm rừ nột của cỏc bộ VĐK khi thực hiện việc truy xuất cỏc bit riờng rẽ thụng qua phần mềm. Cỏc bit cú thể đựơc đặt, xoỏ, hay thực hiện chức năng AND, OR...chỉ thụng qua 1 lệnh. Ngoài ra cỏc cổng xuất/nhập cũng cú thể được định địa chỉ dạng bit, điều này làm đơn giản việc giao tiếp bằng phần mềm với cỏc thiết bị xuất/nhập đơn bit.

Vựng nhớ cũn lại gồm 80 Byte cú địa chỉ từ 30h đến 7Fh được dành riờng cho người sử dụng để lưu trữ dữ liệu. Đõy cú thể xem là vựng RAM đa mục đớch. Cú thể truy cập vựng nhớ này bằng địa chỉ trực tiếp hoặc giỏn tiếp thụng qua cỏc thanh ghi (R0 hoặc R1) ở dạng mức Byte.

Vựng nhớ 128 Byte cao

Vựng này được định địa chỉ từ 80h đến FFh dựng để chứa địa chỉ của cỏc thanh ghi cú chức năng đặc biệt và được truy cập bằng địa chỉ trực tiếp.

Cỏc lệnh truy cập bộ nhớ dữ liệu nội trỳ

- MOV A, <src>: Chuyển dữ liệu từ toỏn hạng nguồn (cỏc ụ nhớ, thanh ghi cú địa chỉ trực tiếp hoặc giỏn tiếp trong on chip, cỏc giỏ trị trực hằng chứa trong cõu lệnh) vào thanh ghi tớch luỹ.

- MOV <dest>, <src>: Chuyển dữ liệu từ toỏn hạng nguồn vào toỏn hạng đớch (cỏc ụ nhớ, thanh ghi cú địa chỉ trực tiếp hoặc giỏn tiếp trong on chip).

- MOV <dest>, A : Chuyển dữ liệu từ A vào toỏn hạng đớch.

- MOV DPTR, #data16: Chuyển giỏ trị hằng 16 bit vào thanh ghi con trỏ dữ liệu. - PUSH <src>: Chuyển giỏ trị từ toỏn hạng nguồn vào ngăn xếp.

- POP <dest>: Chuyển giỏ trị từ ngăn xếp vào toỏn hạng đớch.

- XCH A, <byte>: Chuyển đổi dữ liệu giữa toỏn hạng nguồn dạng byte vớiA.

- XCHD A, @Ri: Chuyển đổi nửa thấp của A với nội dung trong RAM tại địa chỉ là nội dung của Ri.

Hỡnh 2.6. 128 byte của RAM trong

Một phần của tài liệu Đề cương bài giảng vi xử lý (Trang 26 - 29)