Lập Trình Vi điều Khiển 8051 – Phần 5 – Lập Trình I/O
Có thể bạn quan tâm
Vi điều khiển 8051 có tất cả 40 chân – tương ứng với 4 cổng, mỗi cổng 10 chân. Các phép toán đọc/ghi dữ liệu được thực hiện thông qua 32 chân trên 4 cổng.8 chân còn lại là các chân: Vcc, GND, XTAL1, XTAL2, RST, EA(bar), ALE/PROG(bar), PSEN(bar).
8051 được thiết kế kiểu PDIP – Plastic Dual Inline Package – 2 hàng chân cắm.

Có một vệt lõm ở đầu vi điều khiển giúp ta phân biệt các chân.
#1 Chức năng của 4 port I/O
4 cổng từ P0 đến P3 sử dụng 8 chân I/O, đồng nghĩa với việc chúng là các cổng 8-bit. Sau khi thiết bị reset, tất cả các cổng được config mặc định là input.
Nếu muốn một port bất kì trở thành input, ta gán 1 cho port đó. Nếu muốn chuyển sang output, hãy gán 0 cho nó
#1.1 Cổng 0 – port 0:
Phạm vi chân cắm: từ chân 32 đến 39.
Thông thường ta nối P0 với điện trở pull-up 10k.
Pull-up/down resistor còn gọi là điện trở kéo lên/kéo xuống. Trong mạch điện tử, nó giữ vai trò duy trì mức logic đầu vào và bảo vệ vi điều khiển.
Nếu điện trở mắ c vào cực dương rồi với đến chân của vđk thì nó là pull-up resistor. Nếu mắc cực âm thì là pull-down resistor
Port 0 cũng được thiết kế tương ứng với AD0 đến AD7, thiết kế này cho phép Port 0 vừa được dùng cho dữ liệu, vừa được dùng cho địa chỉ. Với người anh em 8031 không có ROM, khi kết nối tới ROM ngoài, ta có thể dùng Port 0 để làm bus địa chỉ và bus dữ liệu.
Để điều chỉnh giữa 2 chế độ dữ liệu và địa chỉ, ta thay đổi giá trị chân ALE – chân số 31. ALE = 0 tức Port 0 đang ở chế độ dữ liệu, ALE = 1 thì Port 0 ở chế độ địa chỉ.
Trong trường hợp không kết nối với bộ nhớ ngoài, Port 0 cần được nối với pull-up resistor 10k.

Để set port 1 thành output, ta có thể thử đoạn mã assembly sau:
MOV A,#0FFH ;A = 1111 1111 MOV P0,A ; gán giá trị A cho P0
#1.2 Port 1 – chân 1 đến 8
8 chân từ 1 đến 8 của port 1 vừa làm input, vừa làm output. Không cần gắn trở kéo cho 8 chân này bởi trở kéo đã được tích hợp sẵn cho chúng.
Config mặc định của Port1 là input.
#1.3 Port 2 – Chân 21-28
Tương tự port 1, 8 chân của port 2 là 8 GPIO được tích hợp pull-up resistor.
Port 2 cần được kết hợp với Port 0 để cung cấp các giá trị địa chỉ 16-bit cho bộ nhớ ngoài. Do đó, 8 chân I/O của Port2 cũng tương ứng với A8-A15 (xem sơ đồpinout ở đầu bài). Khi 8051 được kết nối với bộ nhps ngoài, nó tạo một kệnh địa chỉ cho các địa chỉ 8 bit và 16 bit, do đó, trong trường hợp này, port 2 không được dùng cho chức năng I/O. Mặc định sau khi reset, hệ thống sẽ config port 2 là input port.
Đoạn code sau sẽ lần lượt gửi 2 giá tị 55h Và AAh đến port 2:
;Toggle all bits of continuously MOV A,#55 BACK: MOV P2,A ACALL DELAY CPL A ; complement(invert) reg. A SJMP BACK
#1.4 Port 3 – chân 10-17
Port 3 cũng dùng làm ngõ I/O cho 8051. Bên cạnh đó, nó đóng vai trò quan trọng trong quá trình gửi – nhận tín hiệu. P3.0 và 3.1 là 2 chân RxD và TxD của kết nối serial. P3.2 và P3.3 dùng cho external interrupt. P3.4 và 3.5 dành cho 2 bộ định thời T0, T1. P3.6, 3.7 là 2 chân WR – ghi và RD-đọc. 2 phép toán ghi và đọc này tác động lên ROM gắn ngoài (đối với chip 8031).

#2 Hai vai trò của Port 0 và Port 2:
- Port 0: Như đã đề cập trên, port 0 cũng được thiết kế để xử lý các địa chỉ (AD0-AD7)
- Port 2: Ngoài việc tham gia vào quá trình xuất/nhập, Port 2 sẽ kết hợp với Port 1 để cung cấp kênh bus địa chỉ 16-bit cho bộ nhớ ngoài. Port 2 cung cấp 8 bit cao từ 8 đến 15. Port 1 cung cấp 8 bit thấp tứ 0 đến 7.
#3 Các chân khác:
- Vcc: chân thứ 40, nối với cực dương nguồn điện nuôi chip, điện thế quy chuẩn: 5V
- Gnd: chân thứ 20, nói với cực âm nguồn
- XTAL1, XTAL2: chân 18-19: Là nơi gắn thêm tinh thể quarzt để chạy đồng hồ cho 8051. 8051 có mạch dao động tích hợp nhưng nó cần đồng hồ gắn ngoài để vẫn hành.

- RST – chân 9: dùng để reset 8051. Cụ thể, khi truyền điện áp mức cao, 8051 sẽ reset. Quá trình này gọi là POR – Power On Reset. Kích hoạt quá trình này dẫn đến dữ liệu trên tất cả thanh ghi sẽ “bay hơi”. Thanh PC được set về 0.
- EA – External Access – chân 31: đây là chân input. Chân này thuộc loại active low, tức là khi đưa mức điện áp thấp vào EA thì nó nhận giá trị 1 (điện áp thấp ~ 0v). Đối với 8051, EA được nối với Vcc do 8051 có ROM tích hợp trên chip. Nếu bạn dùng 8031, hãy nối EA với GND. Khi nối EA với GND, nó nhận điện áp mức thấp và do đó sẽ enable kết nối tới bộ nhớ ngoài.

- PSEN – Program Store Enable – chân 29: Chân này cũng thuộc kiểu active low. Sử dụng kết hợp với EA
- ALE – Address Latch Enable: Đây là chân output, kiểu active high. Dịch nôm na từ chính tên ủa nó thì chân này đóng vai trò chuyển đổi giữa chế độ I/O và chế độ địa chỉ cho Port 0. Nếu ALE = 1, Port 0 là cổng I/o, nếu ALE = 0, Port 0 là cổng địa chỉ.
#4 Cổng I/O và địa chỉ bit
8051 cho phép truy cập riêng lẻ từng bit một.
Câu lệnh SETB X.Y dùng để set giá trị cho từng bit riêng lẻ với X là số hiệu cổng và Y là số hiệu chân trong cổng đó.
Ví dụ sau là đoạn code giúp ta chuyển giá trị luân phiên cho P1.2:
#5 Các lệnh áp dụng cho 1 bit riêng lẻ:
SETB bit ; sau lệnh này, bit=1
CLR bit ; sau lệnh này, bit=0
CPL bit ; đảo bit (tương đương phép NOT)
JB bit,target ;nhảy đến target nếu bit=1
JNB bit,target ;nhảy đến target nếu bit=0
JBC bit,target ; nhảy đến target nếu bit=1, sau đó clear bit
Share this:
- X
Related
Từ khóa » Chân Rst Của Vi điều Khiển 8051 Có Chức Năng Gì
-
CHỨC NĂNG CÁC CHÂN 8051
-
Sơ đồ Chân Vi điều Khiển 8051 Và Quy Trình Làm Việc Của Nó
-
Sơ đồ Chân Và Chức Năng Các Chân Của Chip 8051: - Tài Liệu Text
-
Chân Vi điều Khiển 8051 - 123doc
-
Tổng Quan Vi điều Khiển - Chức Năng Các Chân 8951 - SlideShare
-
[PDF] Chương 1: GIỚI THIỆU VI ĐIỀU KHIỂN 8051
-
Bài 1 - Phần 3 - Sơ Lược Phần Cứng Vi điều Khiển
-
Cấu Trúc Bên Trong Của Vi điều Khiển 8051-Nguyễn Công Trình
-
Hướng Dẫn Sử Dụng Vi điều Khiển 8051 - Mecsu Blog
-
[PDF] GIỚI THIỆU VỀ VI ĐIỀU KHIỂN AT89C51
-
[PDF] Giáo Trình Vi Xử Lý - Vi điều Khiển
-
Vi Xử Lý - Chương 2: Phần Cứng Họ Mcs-51 - Tài Liệu, Luận Văn
-
Phần Cứng Của Vi điều Khiển 8051 - Tài Liệu, Luận Văn