L ỜI NÓI ĐẦU
2.3.2.2 Chức năng các chân của AT89S52
* Port 0 (P0.0-P0.7)
Port 0 gồm 8 chân (từ chân 32 đến chân 39), có hai công dụng. Trong các thiết kế có tối thiểu thành phần, Port 0 được sử dụng làm nhiệm vụ xuất nhập.
Trong các thiết kế lớn hơn có bộ nhớ ngoài, Port 0 trở thành bus địa chỉ và bus dữ
liệu đa hợp ( byte thấp của bus địa chỉ ).
Hình 2.18 Cấu trúc của các chân trên Port0
* Khi muốn sử dụng Port 0 cho việc xuất nhập dữ liệu ta cần kéo một hàng điện trở
vào Port 0 và nối lên Vcc.
* Port 1 (P1.0-P1.7)
Đối với 8051, chức năng duy nhất của Port 1 là chức năng xuất nhập cùng Port khác, Port 1 có thể xuất nhập theo bit và theo byte. Port 1 được dùng để giao
tiếp với thiết bị ngoài khi có yêu cầu. Không có chức năng nào khác nữa gán cho
Port 1, ngoài hai việc trên.
* Riêng dòng 89Sxx, ba chân P1.5, P1.6, P1.7 được dùng để nạp Rom theo chuẩn
Hình 2.19 Cấu trúc của các chân trên Port 1 và Port 3
* Port 2 (P2.0-P2.7)
Port 2 (các chân từ 21 đến 28) có hai công dụng hoặc làm nhiệm vụ
xuất/nhập hoặc là byte địa chỉ cao của bus địa chỉ 16 bit cho các thiết kế có bộ nhớ chương trình ngoài hoặc các thiết kế có nhiều hơn 256 byte bộ nhớ dữ liệu ngoài.
Hình 2.20 Cấu trúc của các chân trên Port2
* Port 3 (P3.0-P3.7)
Mỗi chân trên Port 3 ngoài chức năng xuất nhập còn có một số chức năng
Bảng 2.2 Tên chân và chức năng các chân của Port 3
Bit Tên Chức năng
P3.0 RXD Dữ liệu nhận cho port nối tiếp
P3.1 TXD Dữ liệu truyền cho port nối tiếp
P3.2 INT0 Ngắt ngoài 0
P3.3 INT1 Ngắt ngoài 1
P3.4 T0 Ngõ vào của Timer/Counter 0
P3.5 T1 Ngõ vào của Timer/Counter 1
P3.6 /WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 /RD Xung đọc bộ nhớ dữ liệu ngoài
* Chân /PSEN (Program Store Enable)
/Psen là chân điều khiển đọc chương trình ở bộ nhớ ngoài, nó được nối với
chân /OE để cho phép đọc các byte mã lệnh trên Rom ngoài. /Psen sẽ ở mức thấp
trong thời gian đọc mã lệnh. Mã lệnh được đọc từ bộ nhớ ngoài bus dữ liệu (Port 0) thanh ghi lệnh để được giải mã.
Khi thực hiện chương trình trong Rom nội thì /Psen ở mức cao.
* Chân ALE (Address Latch Enable)
ALE là tín hiệu điều khiển chốt địa chỉ có tần số bằng 1/6 tần số dao động
của vi điều khiển. Tín hiệu ALE được dùng để cho phép vi mạch chốt bên ngoài
như 74373 , 74573 chốt byte địa chỉ thấp ra khỏi bus đa hợp địa chỉ/dữ liệu (Port 0).
* Chân /EA (External Access)
Tín hiệu /EA cho phép chọn bộ nhớ chương trình là bộ nhớ trong hay ngoài
vi điều khiển. Nếu /EA ở mức cao (nối Vcc), thì vi điều khiển thi hành chương trình trong Rom nội. Nếu /EA ở mức thấp ( nối GND ) thì vi điều khiển thi hành chương
trình từ bộ nhớ ngoài.
* Chân RST (Reset)
Ngõ vào RST trên chân 9 là ngõ reset của 8051. Khi tín hiệu này được đưa
lên mức cao trong ít nhất 2 chu kì máy, các thanh ghi trong bộ nhớ vi điều khiển được tải những giá trị thích hợp để khởi động lại hệ thống. Quá trình này diễn ra
nhờ nối một tụ điện (có giá trị 1-10 micro fara) và một điện trở khoảng 10kΩ vào chân này.
Hình 2.21 Mạch reset AT89S52
* Chân XTAL1, XTAL2
AT89S52 có một bộ dao động trên chíp, nó thường được nối với bộ dao động
thạch anh có tần số lớn nhất là 33MHz, thông thường là 12MHz. Thường có thêm hai tụ điện loại 33pF được nối với bộ dao động thạch anh.
Hình 2.22 Mạch tạo dao động
Độ lớn của một chu kì máy có thể nhận được bằng cách chia tần số của bộ
cộng hưởng thạch anh cho 12. Như vậy chu kì máy sẽ bằng 2 micro giây nếu tần số
bộ cộng hưởng thạch anh 12MHz. Hầu hết các lệnh được thực hiện trong một chu kì máy.
Hình 2.23 Mạch tạo xung cho Vi điều khiển
* Chân Vcc, GND
AT89S52 dùng nguồn một chiều có dải điện áp từ 4V đến 5,5V được cấp qua
chân 40 và 20.
2.4 IC ghi dịch 74HC595 2.4.1 Giới thiệu