Bộ nhớ RAM 8051
Bộ nhớ RAM 8051

8051 có bao nhiêu thanh ghi?

Vi điều khiển 8051 là một trong những vi điều khiển phổ biến nhất được sử dụng trong các hệ thống nhúng. Một trong những yếu tố quan trọng của 8051 là bộ thanh ghi của nó. Vậy 8051 có bao nhiêu thanh ghi? Bài viết này sẽ giải đáp câu hỏi này, đồng thời phân loại và giải thích chức năng của từng loại thanh ghi trong 8051.

Vi điều khiển 8051 có 256 byte RAM, được chia thành hai phần: 128 byte cho mục đích chung128 byte cho các thanh ghi chức năng đặc biệt (SFR). Bộ nhớ dùng cho mục đích chung được gọi là RAM, trong khi bộ nhớ SFR chứa tất cả các thanh ghi liên quan đến ngoại vi như Bộ tích lũy (Accumulator), thanh ghi ‘B’, Bộ định thời/Bộ đếm và các thanh ghi liên quan đến ngắt.

Phân loại thanh ghi trong 8051

8051 có hai loại thanh ghi chính:

  • Thanh ghi đa năng (Byte addressable registers): Có thể truy cập theo byte, mỗi byte có địa chỉ riêng.
  • Thanh ghi chức năng đặc biệt (Bit addressable registers): Có thể truy cập theo bit, mỗi bit có địa chỉ riêng.

Thanh ghi đa năng

RAM của 8051 được chia thành 3 khu vực: ngân hàng (banks), khu vực địa chỉ bit và khu vực scratch-pad. Các ngân hàng chứa các thanh ghi đa năng như R0-R7. Tất cả các thanh ghi này đều có thể định địa chỉ theo byte, tức là chúng có thể lưu trữ hoặc xóa 1 byte dữ liệu.

Ngân hàng và Thanh ghi

Có 4 ngân hàng: B0, B1, B2 và B3. Mỗi ngân hàng chứa 8 thanh ghi đa năng từ R0 đến R7. Việc lựa chọn ngân hàng nào được thực hiện bởi thanh ghi Trạng thái Chương trình (PSW).

Thanh ghi PSW (Program Status Word)

Thanh ghi PSW phản ánh trạng thái của hoạt động được thực hiện trong vi điều khiển. Hai bit RS1 và RS0 trong thanh ghi PSW được sử dụng để chọn ngân hàng. Ngoài ra, PSW còn chứa các cờ trạng thái như:

  • Cờ nhớ (Carry Flag – C): Bị ảnh hưởng khi có bit nhớ từ vị trí thứ 7.
  • Cờ nhớ phụ (Auxiliary Carry Flag – AC): Bị ảnh hưởng khi có bit nhớ từ vị trí thứ 3 sang vị trí thứ 4.
  • Cờ tràn (Overflow Flag – OV): Bị ảnh hưởng khi có bit tràn từ vị trí thứ 6 sang vị trí thứ 7.
  • Cờ chẵn lẻ (Parity Flag – P): Được đặt nếu kết quả của phép toán số học có số bit 1 là lẻ, ngược lại sẽ được xóa.

Thanh ghi chức năng đặc biệt (SFR)

SFR chứa các thanh ghi liên quan đến ngoại vi như P0, P1, P2, P3, bộ định thời/bộ đếm, cổng nối tiếp và các thanh ghi liên quan đến ngắt. Một số SFR quan trọng bao gồm:

  • Bộ tích lũy (Accumulator – A): Được sử dụng để lưu trữ kết quả của hầu hết các phép toán số học và logic.

  • Thanh ghi B: Được sử dụng trong các phép nhân và chia.

  • Thanh ghi cổng (Port Registers P0-P3): Điều khiển các chân vào/ra của vi điều khiển.

  • Thanh ghi Bộ định thời/Bộ đếm: Điều khiển hoạt động của bộ định thời và bộ đếm.

Thanh ghi dịch (Shift Register)

Mặc dù không phải là một phần của bộ nhớ 8051, thanh ghi dịch là một thành phần quan trọng thường được sử dụng với 8051. Chúng được sử dụng để lưu trữ và dịch chuyển dữ liệu bit. Có bốn loại thanh ghi dịch:

  • Serial In Serial Out (SISO)
  • Serial In Parallel Out (SIPO)
  • Parallel In Serial Out (PISO)
  • Parallel In Parallel Out (PIPO)

Kết luận

Vi điều khiển 8051 có một hệ thống thanh ghi đa dạng, phục vụ nhiều mục đích khác nhau. Hiểu rõ chức năng của từng loại thanh ghi là rất quan trọng để lập trình và điều khiển 8051 hiệu quả. Bài viết này đã cung cấp một cái nhìn tổng quan về các thanh ghi trong 8051, hy vọng sẽ giúp bạn hiểu rõ hơn về kiến trúc của vi điều khiển này.

Comments

No comments yet. Why don’t you start the discussion?

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *