Nghiên cứu và thiết kế một chiếc xe được điều khiển bởi chip vi điều khiển 8051

1.1. GIỚI THIỆU: Ngày nay với sự phát triển của khoa học kỹ thuật, đặc biệt trong ngành điện tử với những bước tiến vượt bậc về lĩnh vực vi xử lý và các vi mạch số. đã thực sự mang lại những hiệu qủa chính xác và gọn nhẹ trong quá trình điều khiển, sản xuất. Do đó việc chế tạo robot để phục vụ cho con người trong lĩnh vực sản xuất đối với chúng ta không còn là vấn đề quá xa vời. Tập đồ án này trình bày những nghiên cứu và thiết kế một chiếc xe được điều khiển bởi chip vi điều khiển 8051 để có thể di chuyển trong các nhà xưởng, xí nghiệp và thực hiện một công việc nào đó thay cho con người. 1.2. GIỚI HẠN ĐỀ TÀI : Với thời gian thực hiện đề tài, cũng như trình độ chuyên môn có hạn, em đã cố gắng hết sức để hoàn thành tập luận văn này, nhưng chỉ giải quyết được những vấn đề sau : - Xe di chuyển theo những lộ trình định trước bằng cách kẽ sẵn những đường vạch sáng dưới sàn có màu tối. - Xe hoạt động trong khoảng thời gian từ 0 đến 99 phút. - Tại mỗi điểm dừng xe chỉ bật đèn báo hiệu thay vì phải làm một công việc tương ứng.

pdf71 trang | Chia sẻ: superlens | Lượt xem: 1843 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Nghiên cứu và thiết kế một chiếc xe được điều khiển bởi chip vi điều khiển 8051, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 1 CHƯƠNG 1: TỔNG QUAN. 1.1. GIỚI THIỆU: Ngày nay với sự phát triển của khoa học kỹ thuật, đặc biệt trong ngành điện tử với những bước tiến vượt bậc về lĩnh vực vi xử lý và các vi mạch số... đã thực sự mang lại những hiệu qủa chính xác và gọn nhẹ trong quá trình điều khiển, sản xuất. Do đó việc chế tạo robot để phục vụ cho con người trong lĩnh vực sản xuất đối với chúng ta không còn là vấn đề quá xa vời. Tập đồ án này trình bày những nghiên cứu và thiết kế một chiếc xe được điều khiển bởi chip vi điều khiển 8051 để có thể di chuyển trong các nhà xưởng, xí nghiệp và thực hiện một công việc nào đó thay cho con người. 1.2. GIỚI HẠN ĐỀ TÀI : Với thời gian thực hiện đề tài, cũng như trình độ chuyên môn có hạn, em đã cố gắng hết sức để hoàn thành tập luận văn này, nhưng chỉ giải quyết được những vấn đề sau : - Xe di chuyển theo những lộ trình định trước bằng cách kẽ sẵn những đường vạch sáng dưới sàn có màu tối. - Xe hoạt động trong khoảng thời gian từ 0 đến 99 phút. - Tại mỗi điểm dừng xe chỉ bật đèn báo hiệu thay vì phải làm một công việc tương ứng. 1.3. MỤC ĐÍCH NGHIÊN CỨU : Mục đích trước hết khi thực hiện đề tài này là để hoàn tất chương trình môn học để đủ điều kiện ra trường . Cụ thể khi nghiên cứu thực hiện đề tài là chúng em muốn phát huy những thành quả ứng dụng của vi điều khiển nhằm tạo ra những sản phẩm, thiết bị tiên tiến và đạt hiệu quả cao trong sản xuất. Ngoài ra quá trình nghiên cứu thực hiện đề tài là một cơ hội để chúng em tự kiểm tra lại những kiến thức đã được học ở trường, đồng thời phát huy tính sáng tạo, khả năng giải quyết một vấn đề theo yêu cầu đặt ra. Và đây cũng là dịp để chúng em tự khẳng định mình trước khi ra trường để tham gia vào các hoạt động sản xuất của xã hội. Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 2 1.4. KHÁI QUÁT VỀ ĐỀ TÀI: 1.4.1. Bàn phím và bộ phận hiển thị: Hình 1.1: Mô tả bàn phím và bộ phận hiển thị. Bộ phận hiển thị gồm hai led 7 đoạn, hiển thị tín hiệu stop/sẵn sàng nhận dữ liệu và thời gian mà xe phải vận hành trong suốt quá trình vận hành của nó. Bàn phím gồm có ba phím: phím 1 và 2 dùng để nhập thời gian vận hành của xe, thời gian được nhập bằng cách ấn phím 1 để nhập chữ số hàng chục, phím 2 để nhập chữ số hàng đơn vị, tương ứng với mỗi lần ấn phím 1 (hoặc 2) chữ số hàng chục (hoặc hàng đơn vị) sẽ tăng lên 1; phím Go/Stop được dùng để kích khởi xe hoạt động hoặc ngừng hoạt động của xe khi nó đang chuyển động. 1.4.2. Quá trình vận hành của xe: Xe sẽ di chuyển theo lộ trình định sẵn trong khoảng thời gian nhất định bằng cách dò những đường vạch trắng được kẻ sẵn trên sàn có màu tối nhờ bộ phận cảm biến đặt dưới xe, thời gian vận hành của xe được nhập vào từ bàn phím và được lưu vào một byte dữ liệu. Quá trình hoạt độâng của xe được mô tả như hình sau: 1 : Xe. 2 : Bánh xe được kéo bởi motor 2. 3 : Bánh xe được kéo bởi motor 3. 4,5 : Bộ phận cảm biến đặt dưới xe. 6 : Vạch màu trắng được kẻ sẵn dưới sàn có màu tối. 7 : Tín hiệu dừng xe trên đường di chuyển. 5 4 3 2 1 6 7 LED 1 LED 2 Go/Stop 1 2 Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 3 Hình 1.2: Mô tả quá trình chuyển động của xe. Nguyên lý hoạt động của xe: Sau khi thời gian vận hành (tính bằng phút) được nhập vào từ bàn phím, để kích khởi cho xe hoạt động ta ấn phím Go/Stop. Lúc này, bit trạng thái “R un” được thiết lập, 8051 sẽ đọc byte dữ liệu có chứa thời gian vận hành để biết thời gian hoạt động của xe, sau đó điều khiển hai motor kéo hai bánh xe (2) và (3) ở hai bên thành xe quay, xe sẽ di chuyển về phía trước. Đồng thời bộ phận cảm biến (4) và (5) ở dưới xe cũng hoạt động. Giả sử xe chạy lệch khỏi vạch trắng và bộ phận cảm biến (4) đang ở phía trên vạch trắng thì bộ phận cảm biến này sẽ gởi tín hiệu thông báo về cho chip 8051, để từ đó điều khiển cho motor kéo bánh xe (3) quay vói tốc độ nhanh hơn đồng thời giảm tốc độ quay của bánh xe (2) nhằm làm cho xe tiếp tục chuyển động đúng hướng dọc theo vạch trắng đã kẻ dưới sàn. Nhờ đặc tính này mà ta có thể cho xe chuyển động thẳng, quay phải hay trái tuỳ ý bằng cách kẻ lên sàn những đường vạch trắng theo lộ trình định trước. Đồng thời trong quá trình chuyển động của xe, bộ hiển thị led 7 đoạn sẽ hiển thị thời gian còn lại mà xe phải hoạt động theo từng phút cho đến khi hết thời gian thì hiển thị tín hiệu stop và sẵn sàng để nhận dữ liệu cho quá trình vân hành tiếp theo. Trong quá trình vận hành của xe, nếu gặp phải tín hiệu dừng trên đường đi, tín hiệu này là một vạch trắng được kẽ dưới sàn, thì xe sẽ dừng lại trong một khoảng thời gian đồng thời bật đèn báo hiệu, ứng với công việc mà xe phải làm tại mỗi điểm dừng, sau đó vượt qua tín hiệu dừng này và tiếp tục di chuyển như trên. Ngoài ra, nếu xe đang hoạt động mà ta ấn nút Go/Stop thì xe sẽ dừng lại và bộ hiển thị tín hiệu stop. Trong quá trình thiết kế và thi công mạch có sử dụng một số vi mạch như: chip vi điều khiển 8051, 8255A, EPROM 2764, RAM 6264, 74LS138, MAX232 ... Các vi mạch này sẽ được khảo sát rõ trong các chương kế tiếp. Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 4 CHƯƠNG 2: TỔNG QUAN VỀ HỌ VI ĐIỀU KHIỂN MCS-51. 2.1. CẤU TẠO VI ĐIỀU KHIỂN 8051: 2.1.1. Giới thiệu họ MSC-51: MCS-51 là họ vi điều khiển của hãng Intel. Các IC tiêu biểu cho họ MSC- 51 là chip 8051, là mạch tích hợp trên một chip có thể lập trình được, dùng để điều khiển hoạt động của hệ thống. Theo các lệnh của người lập trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xử lý thông tin, đo thời gian và tiến hành đóng mở một cơ cấu nào đó. Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tương tự như nhau. Ở đây giới thiệu chip 8051 có các đặc trưng được tóm tắt như sau: - 4 kbyte ROM. - 128 byte RAM. - 4 port xuất nhập (I/0 port) 8-bit. - Hai bộ định thời 16 bit. - Mạch giao tiếp nối tiếp. - 64KB không gian bộ nhớ chương trình mở rộng - 64 KB không gian bộ nhớ dữ liệu mở rộng - Một bộ xử lí bit (thao tác trên các bit đơn) - 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit. - Nhân / chia trong 4s. Cùng họ với 8051 có một số vi điều khiển khác. Về cơ bản chúng đều giống nhau, chúng chỉ khác nhau ở vùng nhớ nội bao gồm vùng nhớ mã lệnh, vùng nhớ dữ liệu và số bộ định thời. Sự khác nhau đó được mô tả bằng bảng sau đây: Vi điều khiển Vùng mã lệnh nội Vùng dữ liệu nội Số bộ định thời 8051 8031 8751 8052 8032 8732 8752 4K ROM 0K 4K EPROM 8K ROM 0K 4K EPROM 8K EPROM 128 bytes 128 bytes 128 bytes 256 bytes 256 bytes 256 bytes 256 bytes 2 2 2 3 3 3 3 Bảng 2.1: So sánh các IC của họ Msc-51. Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 5 2.1.1. Cấu trúc bên trong và sơ đồ chân của 8051: a. Cấu trúc bên trong: Hình 2.1 : Sơ đồ khối của chip 8051. TXD* RXD* T1* T0* P0 P1 P2 P3 EA ALE RST PSEN Các thanh ghi khác 128 byte RAM ROM 0K-8031/8032 4K-8051 8K-8052 Timer 1 Timer 0 Điều khiển ngắt Điều khiển bus CPU Port nối tiếp Các port I/O Mạch dao động INT1* INT0* TIMER 2 TIMER 1 TIMER 0 PORT nối tiếp Timer 2 8032/ 8052 128 bytes RAM 8032/ 8052 T2E X* T2* } Địa chỉ/dữ liệu *Alternate pin assignmentsfor P1 and P3 Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 6 b. Sơ đồ chân 8051: Hình 2.2 : Sơ đồ chân của 8051. Chức năng các chân của 8051: 8051 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong đó có 24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus dữ liệu và bus địa chỉ. - Port 0: Port 0 là port có 2 chức năng ở các chân từ 32 đến 39 trên 8051. Trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng như các đường I/O. Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó trở thành bus địa chỉ và bus dữ liệu đa hợp (byte thấp của bus địa chỉ nếu là địa chỉ). - Port 1: 18 19 12MHz 40 29 30 31 9 17 16 15 14 13 12 11 10 RD\ WR\ T1 T0 INT1 INT0 TXD RXD A15 A14 A13 A12 A11 A10 A9 A8 28 27 26 25 24 23 22 21 8 7 6 5 4 3 2 1 32 33 34 35 36 37 38 39 Po.7 Po.6 Po.5 Po.4 Po.3 Po.2 Po.1 Po.0 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 PSEN ALE EA RST 20 Vss 30p 30p Vcc XTAL1 XTAL2 8051 Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 7 Port 1 là port I/O trên các chân từ 1 đến 8 trên 8051. Các chân được ký hiệu P1.0, P1.1, P1.2, ... P1.7 có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài. - Port 2: Port 2 là 1 port có tác dụng kép trên các chân từ 21 đến 28 trên 8051, được dùng như các đường xuất/nhập hoặc là byte cao của bus địa chỉ 16-bit đối với các thiết kế dùng bộ nhớ chương trình ngoài hoặc các thiết kế có nhiều hơn 256 bytes bộ nhớ dữ liệu ngoài. - Port 3: Port 3 là port có tác dụng kép trên các chân từ 10 đến 17 trên 8051. Khi không hoạt động xuất/nhập, các chân của port này có nhiều chức năng riêng, mỗi chân có chức năng riêng liên quan đến các đặc trưng cụ thể của 8051 như ở bảng sau: Bit Tên Chức năng chuyển đổi P3.0 RxD Ngõ vào dữ liệu nối tiếp. P3.1 TxD Ngõ xuất dữ liệu nối tiếp. P3.2 INT0\ Ngõ vào ngắt cứng thứ 0 P3.3 INT1\ Ngõ vào ngắt cứng thứ 1 P3.4 T0 Ngõ vào củaTIMER/COUNTER thứ 0. P3.5 T1 Ngõ vào củaTIMER/COUNTER thứ 1. P3.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngoài P3.7 RD\ Tín hiệu đọc bộ nhớ dữ liệu ngoài. Bảng 1.2: Chức năng của các chân của port 3. - Chân cho phép bộ nhớ chương trình PSEN\ (Program store enable): Tín hiệu PSEN\ là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép truy xuất bộ nhớ chương trình mở rộng thường được nối đến chân OE\ (output enable) của EPROM cho phép đọc các byte mã lệnh. Tín hiệu PSEN\ ở mức thấp trong thời gian Microcontroller 8051 tìm nạp lệnh. Các mã lệnh của chương trình được đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghi lệnh IR bên trong 8051 để giải mã lệnh. Khi 8051 thi hành chương trình trong EPROM nội PSEN\ sẽ ở mức logic 1. - Chân cho phép chốt địa chỉ ALE (Address Latch Enable): Khi 8051 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus dữ liệu đa hợp do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu. Khi port 0 được sử dụng làm bus địa chỉ/dữ liệu đa hợp, chân ALE xuất tín hiệu để chốt địa chỉ vào một thanh ghi ngoài trong suốt ½ đầu của chu Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 8 kỳ bộ nhớ. Sau khi điều này đã được thực hiện, các chân của port 0 sẽ xuất nhập dữ liệu hợp lệ trong suốt ½ thứ 2 của chu kỳ bộ nhớ. Tín hiệu ALE có tần số bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống. Ngoại lệ duy nhất là trong thời gian thực thi lệnh MOVX, một xung ALE sẽ bị bỏ qua. Chân ALE được dùng làm ngõ vào xung lập trình cho EPROM trên chip đối với các phiên bản của 8051 có EPROM này. - Chân truy xuất ngoài EA\(External Access): Tín hiệu vào EA\ ở chân 31 có thể ở mức logic1 (5v) hoặc mức logic 0 (GND). Nếu ở mức 1, 8051 thi hành chương trình trong ROM nội (chương trình nhỏ hơn 4 K). Nếu ở mức 0 (và chân PSEN\ cũng ở logic 0), 8051 sẽ thi hành chương trình từ bộ nhớ mở rộng. Chân EA\ được lấy làm chân cấp nguồn 21V khi lập trình cho EPROM trong 8051. - Ngõ tín hiệu RST (Reset) : Ngõ vào RST ở chân 9 là ngõ vào Reset của 8051. Khi ngõ vào tín hiệu này đưa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống. Khi cấp điện mạch tự động Reset. - Các ngõ vào bộ dao động XTAL1, XTAL2: Mạch dao động bên trong chip 8051 được kết nối với thạch anh bên ngoài ở hai chân XTAL1 và XTAL2 (chân 18 và 19). Các tụ ổn định cũng được yêu cầu như trên hình vẽ trong sơ đồ. Tần số thạch anh thường sử dụng cho 8051 là 12Mhz. - Nguồn cung cấp Chip 8051 vận hành với nguồn đơn +5V. Chân 40 của chip 8051 được nối lên nguồn 5V (VCC) và chân 20 được nối với mass (VSS). c. Cấu trúc cổng xuất nhập: Mạch bên trong của một chân port mô tả ngắn gọn trong hình 1.3. Việc ghi đến một chân của cổng sẽ nạp dữ liệu vào bộ chốt của port. Ngõ ra Q của bộ chốt điều khiển một transitor trường và transistor này nối với chân của cổng. Khả năng fanout của các port 1, 2 và 3 là 4 tải vi mạchTTL loại Schottky công suất thấp (LS), còn của port 0 là 8 tải loại LS. Lưu ý là điện trở kéo lên sẽ không có ở port 0 (trừ khi port này làm nhiệm vụ của bus địa chỉ/dữ liệu đa hợp), do vậy một điện trở kéo lên bên ngoài phải được cần đến. Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 9 Hình 2.3 Sơ đồ mạch bên trong của các port xuất nhập. Việc đọc chốt được phân biệt làm hai, đó là đọc bộ chốt và đọc chân port. Sự phân biệt này nhằm chống trường hợp chập mạch do quá tải gây nên. Lệnh đọc một bit cổng sẽ đọc chân của cổng. Trong trường hợp này, chốt phải được giữ ở mức cao, nếu không FET sẽ được kích bảo hoà và ngõ ra xuống mức thấp. Tất cả các chốt của port đều được set khi reset hệ thống. Như vậy các chân chốt đều được dùng như ngõ vào mà không cần phải set chốt. Tuy nhiên, nếu đã xóa chốt không thể đọc dữ liệu đúng từ chân port trừ khi set chốt trở lại. d. Tổ chức bộ nhớ: 8051 có những vùng bộ nhớ riêng biệt cho chương trình và dữ liệu. Cả hai bộ nhớ chương trình và dữ liệu có thể chứa bên trong 8051,tuy nhiên ta có thể mở rộng bộ nhớ chương trình và bộ nhớ dữ liệu bằng cách sử dụng các chip nhớ bên ngoài với dung lượng tối đa là 64K cho bộ nhớ chương trình và 64K cho bộ nhớ dữ liệu. Bộ nhớ nội trong chip 8051 bao gồm EPROM và RAM. RAM trong 8051 bao gồm vùng RAM đa chức năng, vùng RAM với từng bit được định địa chỉ, các dãy thanh ghi và các thanh ghi chức năng đặc biệt SFR. Hai đặc tính cần lưu ý là: - Các thanh ghi và các port xuất/nhập đã được định địa chỉ theo kiểu ánh xạ bộ nhớ và được truy xuất như một vị trí nhớ trong bộ nhớ. - Ngăn xếp thường trú trong Ram trên chip thay vì ở trong Ram ngoài như đối với các bộ vi xử lý khác. Chân Port Ghi chốt Đọc chốt Đọc chân Bus nội của 8051 D Q Chốt Port Vcc Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 10 Hình 2.4: Tóm tắt các vùng nhớ của chip 8031(không có ROM nội). Như ta đã thấy ở hình vẽ trên RAM bên trong 8051 được phân chia như sau: - Các bank thanh ghi có địa chỉ từ 00H đến 1FH. - RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH. - RAM đa dụng từ 30H đến 7FH. - Các thanh ghi chức năng đặc biệt từ 80H đến FFH. d.1. Vùng RAM đa mục đích: Địa chỉ địa chỉ byte địa chỉ bit byte địa chỉ bit 7F FF F0 F7 F6 F5 F4 F3 F2 F1 F0 B RAM đa dụng E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D5 D4 D 3 D2 D1 D0 PSW 30 B8 - - - BC BB BA B9 B8 IP 2F 7F 7E 7D 7C 7B 7A 79 78 2E 77 76 75 74 73 72 71 70 B0 B7 B6 B5 B4 B3 B2 B1 B0 P.3 2D 6F 6E 6D 6C 6B 6A 69 68 2C 67 66 65 64 63 62 61 60 A8 AF AC AB AA A9 A8 IE 2B 5F 5E 5D 5C 5B 5A 59 58 2A 57 56 55 54 53 52 51 50 A0 A7 A6 A5 A4 A3 A2 A1 A0 P2 29 4F 4E 4D 4C 4B 4A 49 48 28 47 46 45 44 43 42 41 40 99 không được địa chỉ hoá bit SBUF FF 00 Bộ nhớ trên chip FFFF 0000 Bộ nhớ chương trình Được cho phép bởi PSEN FFFF 0000 Bộ nhớ dữ liệu Được cho phép bởi RD & WR Bộ nhớ ngoài Âäư ạn täút nghiãûp Trang G.v.h.d : tháưy Lã Xỉïng S.v.t.h : Tráưn Âçnh Khoa 11 27 3F 3E 3D 3C 3B 3A 39 38 98 9F 9E 9D 9C 9B 9A 99 98 SCON 26 37 36 35 34 33 32 31 30 25 2F 2E 2D 2C 2B 2A 29 28 90 97 96 95 94 93 92 91 90 P1 24 27 26 25 24 23 22 21 20 23 1F 1E 1D 1C 1B 1A 19 18 8D không được địa chỉ hoá bit TH1 22 17 16 15 14 13 12 11 10 8C không được địa chỉ hoá bit TH0 21 0F 0E 0D 0C 0B 0A 09 08 8B không được địa chỉ hoá bit TL1 20 07 06 05 04 03 02 01 00 8A không được địa chỉ hoá bit TL0 1F Bank 3 89 không được địa chỉ hoá bit TMOD 18 88 8F 8E 8D 8C 8B 8A 89 88 TCON 17 Bank 2 87 không được địa chỉ hoá bit PCON 10 0F Bank 1 83 không được địa chỉ hoá bit DPH 08 82 không được địa chỉ hoá bit DPL 07 Bank thanh ghi 0 81 không được địa chỉ hoá bit SP 00 (mặc định cho R0 -R7) 88 87 86 85 84 83 82 81 80 P0 RAM THANH GHI CHỨC NĂNG ĐẶC BIỆT Hình 2.5: Bộ nhớ dữ liệu trên chip 8051. Mặc dù trên hình vẽ cho thấy 80 byte đa dụng chiếm các địa chỉ từ 30H đến 7FH, 32 byte dưới từ 00H đến 2FH cũng có thể dùng với mục đích tương tự (mặc dù các địa chỉ này đã có mục đích khác). Mọi địa chỉ trong vùng RAM đa dụng đều có thể truy xuất tự do dùng kiểu địa chỉ trực tiếp hoặc gián tiếp. RAM nội cũng có thể được truy xuất bằng địa chỉ gián tiếp thông qua R0 và R1 (chỉ hai thanh ghi này mà thôi). d.2. Vùng RAM định địa chỉ bit : 8051 chứa 210 bit được định địa chỉ, trong đó 128 bit chứa trong các byte ở địa chỉ từ 20H đến 2FH và các bit còn lại chứa trong nhóm thanh ghi chức năng đặc biệt. Ý tưởng truy xuất từng bit bằng phần mềm là các đăëc tính mạnh của hầu hết các bộ vi điều khiển. Các bit có thể được đặt, xóa, A N D , O R , bằng m ột lệnh đơn. Đa so