Trước tiên, xin nhắc lại ở bài trước là 8051 có 128 byte RAM trên chip. Đây là bộ nhớ bay hơi (violate) nên khi mất điện thì dữ liệu trên RAM sẽ bị mất.
Bộ nhớ RAM trên 8051 sẽ được định địa chỉ (theo số HEX) từ 00F đến FFH. Do đó, ta có thể truy cập RAM thông qua các địa chỉ này (Việc truy cập RAM xin nói ở các bài sau. Ở bài này, ta chỉ xem xét cách mà 8051 phân vùng RAM)
Cấu trúc RAM nội của 8051:
Từ bộ nhớ chính, các byte của RAM sẽ được phân thành một số vùng nhỏ như sau:
1. Các bank thanh ghi:
Như vậy, trên RAM của 8051, địa chỉ từ 00H đến 1FH được dùng cho 4 băng thanh ghi. Các thanh ghi trên các băng đều được đánh số từ R0 đến R7. Tuy nhiên, tại mỗi thời điểm bạn chỉ được phép sử dụng 1 băng (mặc định là băng 0). Các băng thanh ghi không được sử dụng vẫn có chức năng như các byte bình thường khác trên RAM.
2. Vùng RAM từ 20H đến 2FH là vùng RAM có thể truy cập theo bit (sẽ nói sau) :-D
3. Vùng từ 30H đến 7FH: Vùng RAM có thể dùng để lưu trữ các dữ liệu thường truy cập. Đây cũng là vùng mà 8051 chứa các dữ liệu của stack. Vì vậy, nên cẩn thận khi sử dụng vùng dữ liệu này.
4. Vùng RAM từ 80H đến FFH: Vùng RAM chứa các thanh ghi đặc biệt (SFR). Các thanh ghi này dùng để lưu trữ dữ liệu cũng như điều khiển các hoạt động của 8051 (Sẽ nói rõ hơn trong những bài sau)