Tổng quát về vi điều khiển 89C51 [18]:
-Có 40 chân với các chức năng như vào ra I/0, đọc/ghi (RD/WR), địa chỉ, dữ liệu và ngắt -4KB ROM
-128 byte RAM
-4 port xuất nhập (I/0 port) 8-bit -2 bộ định thời 16-bit
-Mạch giao tiếp nối tiếp
-Không gian nhớ chương trình (mã) ngoài 64k -Không gian nhớ dữ liệu ngoài 64k
-Bộ xử lý bit
-210 vị trí nhớ được định địa chỉ,mỗi vị trí 1 bit -Nhân/chia trong 4µs
Hình 4.2: 8051 mô phỏng trong Proteus [18]
Hình trên trình bày cách bố trí chân của 8051.Trong số 40 chân có 32 chân dành cho bốn cổng P0,P1,P2 và P3,mỗi cổng có 8 chân. Các chân còn lại dành cho nguồn Vcc và đất GND, các chân dao động thạch anh XTAL1 và XTAL2, khởi động lại RST, cho phép chốt địa chỉ ALE, truy cập được địa chỉ ngoài EA,cho phép cất chương trình
PSEN .
+ Port 0: Port 0(các chân từ 32 đến 39 trên 8051)có 2 công dụng. 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
+ Port 1 chỉ có công dụng là xuất/nhập (các chân từ 1 đến 8 trên 8051). Các chân của port 1 được ký hiệu là P1.0,P1.1,….,P1.7 và được dung để giao tiếp với thiết bị bên ngoài khi có yêu cầu.
+ Port 2( các chân từ 21 đến 28 trên 8051) có 2 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.
+ Port 3(chân từ 10 đến 17 trên 8051) có 2 công dụng. Khi không hoạt động xuất/nhập,các chân của port 3 có nhiều chức năng riêng
XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 U1 80C51 C1 30nF X1 CRYSTAL C2 30nF 20 40 vcc
+ VCC –Chân số 40,cung cấp điện áp nguồn +5v + GND- Chân số 20 là chân đất.
+ XTAL1 và XTAL2: 8051 có một bộ dao động trên chip nhưng vẫn cần có một bộ đồng hồ bên ngoài để kích hoạt. Bộ dao động thạch anh ngoài thường được nối tới các chân vào XTAL1(chân 19) và XTAL2(chân 18). Khi mắc dao động thạch anh,phải có tụ điện 30pF. Một đầu mỗi tụ nối tới XTAL1 và XTAL2, còn đầu kia nối với đất như hình vẽ.
Hình 4.3: Nối đồng hồ thạch anh [18]
+ RST - Khởi động lại (RESET) đó là chân vào, số 9, mức tích cực cao, bình thường ở mức thấp. Khi có xung cao đặt tới chân này thì bộ vi điều khiển sẽ kết thúc mọi hoạt động hiện tại và tiến hành khởi động lại. Quá trình xảy ra hoàn toàn tương tự như khi bật nguồn. Khi reset, mọi giá trị trên sẽ bị xóa.
+ Chân truy xuất ngoài EA: Ngõ vào này(chân 31) có thể được nối với 5V (logic1) hoặc với GND (logic0). Nếu chân này nối lên 5V, 8051 thực thi chương trình ROM nội. Nếu chân này nối với GND, chương trình cần thực thi chứa ở bộ nhớ ngoài. Nếu chân
EA ở logic 0 đối với 8051, ROM nội bên trong chip được vô hiệu hóa và chương trình cần thực thi ở EPROM ngoài [18].
+ Chân cho phép chốt địa chỉ ALE: sử dụng chân 30, chân xuất tín hiệu cho phép chốt địa chỉ ALE(address latch enable) để giải đa hợp (demultiplexing) bus dữ liệu và bus địa chỉ. 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ỉ (byte thấp của địa chỉ 16-bit) vào một thanh ghi ngoài trong suốt 12 đầu chu kỳ bộ nhớ. Sau khi điều này đã thực hiện, các chân của port 0 sẽ xuất/nhập dữ liệu hợp hệ trong suốt
2
1 thứ hai của chu kỳ bộ nhớ. -Tín hiệu ALE có tần số bằng
6
1 tần số của mạch dao động bên trong chip VĐK và có thể được làm xung clock cho phần còn lại của hệ thống.
+ Chân cho phép bộ nhớ chương trình PSEN chân 29.Đây là tín hiệu điều khiển cho phép ta truy xuất bộ nhớ chương trình ngoài.Chân này thường nối với chân cho phép xuất OE để đọc các lênh.
- Tín hiệu PSEN ở logic 0 trong suốt thời gian tìm-nạp lênh.Các mã nhị phân của chương trình hay opcode được đọc từ EP-ROM,qua bus dữ liệu và được chốt vào thanh ghi lệnh IR của 8051 để được giải mã.
-Khi thực thi một chương trình chứa ở ROM nội. PSEN được duy trì ở logic không tích cực (logic 1). C1 30nF X1 CRYSTAL C2 30nF XTAL2 XTAL1