Cấu trúc của vi điều khiển AT89S52

Một phần của tài liệu ĐỒ ÁN THIẾT kế và THI CÔNG hệ THỐNG ĐỊNH HƯỚNG PIN NĂNG LƯỢNG mặt TRỜI (Trang 55 - 60)

V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN : ThS NGUYỄN ĐÌNH PHÚ

3.2Cấu trúc của vi điều khiển AT89S52

Mặc dù các thành viên của họ AT89S52 (ví dụ 7851, 89S51, 89C51,DS5000) đều có các kiểu đóng vỏ khác nhau, chẳng hạn như hai hàng chân DIP (Dual In- Line Pakage), dạng vỏ dẹt vuông QPF (Quad Flat Pakage) và dạng chip không có chân đỡ LLC ( Leadless Chip Carrier) thì chúng đều có 40 chân cho các chức năng khác nhau như vào ra I/O, đọc, ghi, địa chỉ, dữ liệu và ngắt. Cần phải lưu ý một số hãng cung cấp một phiên bản 8051 có 20 chân với số cổng vào ra ít hơn cho các ứng dụng yêu cầu ít hơn. Tuy nhiên vì hầu hết các nhà phát triển sử dụng chip đóng vỏ 40 chân với hai hàng chân DIP nên ta chỉ tập trung mô tả phiên bản này.

Chức năng của các chân AT89S52

Port 0: từ chân 32 đến chân 39 (P0.0_P0.7). Port 0 có hai chức năng: 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ế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu.

Port 1: từ chân 1 đến chân 9 (P1.0_P1.7). Port 1 là Port I/O dùng cho giao tiếp với các thiết bị bên ngoài nếu cần.

Port 2: từ chân 21 đến chân 28 (P2.0_P2.7). Port 2 là một port có tác dụng kép dùng như các đường xuất/nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng. Port 3: từ chân 10 đến chân 17 (P3.0_P3.7).

Port 3: là Port có tác dụng kép. Các chân của Port này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến các đặc tính đặc biệt của AT89S52 như ở bảng sau:

Bảng 3.1: Chức năng chuyển đổi đặc biệt

Bit Tên Chức năng chuyển đổi

P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD TXD INT0 INT1 T0 T1 WR RD

− Ngõ vào dữ liệu nối tiếp.

− Ngõ xuất dữ liệu nối tiêp.

− Ngắt ngoài Timer0.

− Ngắt ngoài T1.

− Ngõ vào TIMER/COUNTER thứ 0.

− Ngõ vào TIMER/COUNTER thứ 1.

− Tín hiệu ghi dữ liệu lên bộ nhớ ngoài.

− Tín hiệu đọc bộ nhớ dữ liệu ngoài.

PSEN (Program store enable):

PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình mở rộng và thường được nối đến chân OE của EPROM cho phép đọc các byte mã lệnh.

PSEN ở mức thấp trong thới gian AT89S52 lấy mã lệnh. Các mã lệnh của chương trình được đọc từ EPROM qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong AT89S52 để giải mã lệnh. Khi AT89S52 thi hành xong chương trình trong ROM nội, PSEN ở mức cao.

ALE (Address Latch Enable):

Khi AT89S52 truy xuất bộ nhớ ngoài, Port 0 có chức năng là bus địa chỉ và dữ liệu do đó phải tách các đường địa chỉ và dữ liệu. 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 kết nối chúng với IC chốt. Tín hiệu ALE là một xung trong khoảng thời gian Port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ thấp hoàn toàn tự động.

EA (External Access):

Tín hiệu vào chân EA ( chân 31) thường được nối lên mức 1 hoặc mức 0. Nếu ở mức 1, thì AT89S52 thi hành chương trình từ ROM nội. Nếu ở mức 0, AT89S52 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 AT89S52.

RST (Reset):

Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 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 phải tự động reset.

Các ngõ vào bộ dao động X1,X2:

Bộ tạo dao động được tích hợp bên trong AT89S52. Khi sử dụng AT89S52, người ta chỉ cần nối thêm thạch anh và các tụ. Tần số thạch anh tùy thuộc vào mục đích của người sử dụng, giá trị tụ thường được chọn là 33p

Thanh ghi TIMER

Vi Điều Khiển AT89S52 có 3 timer 16 bit, mỗi timer có bốn cách làm việc. Người ta sử dụng các timer để:

− Định khoảng thời gian. (adsbygoogle = window.adsbygoogle || []).push({});

− Đếm sự kiện

− Tạo tốc độ baud cho port nối tiếp trong AT89S52.Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở nhữngkhoảng đều đặn và đặt cờ tràn timer. Cờ được dùng để đồng bộ hóa chương trình đểthực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện racác ngõ ra. Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều đặn của timer để đo thời gian trôi qua giữa hai sự kiện (ví dụ đo độ rộng xung).

Tổ chức ngắt của AT89S52

Có 5 nguồn ngắt ở AT89S52: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port nối tiếp. Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và đượccho phép từng cái một bằng phần mềm

Nếu 2 ngắt xảy ra đồng thời thì ngắt nào có nào có mức ưu tiên cao hơn sẽ được phục vụ trước.

Nếu 2 ngắt xảy ra đồng thời có cùng mức ưu tiên thì thứ tự ưu tiên đượcthực hiện từ cao đến thấp như sau: ngắt ngoài 0 – timer 0 – ngắt ngoài 1 – timer 1 – cổng nối tiếp – timer 2.

Nếu chương trình của một ngắt có mức ưu tiên thấp đang chạy mà có một ngắt xảy ra với mức ưu tiên cao hơn thì chương trình này tạm dừng để chạy một chương trình khác có mức ưu tiên cao hơn.

Các cờ ngắt:

Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được đặtlên mức cao để xác nhận ngắt

Bảng 3.2: Các cờ ngắt

Ngắt Cờ Thanh ghi SFR và vị trí bit

Bên ngoài 0 IE0 TCON.1

Bên ngoài 1 IE1 TCON.2

Timer 0 TF0 TCON.5

Timer 1 TF1 TCON.7

Port nối tiếp TI SCON.1

Port nối tiếp RI SCON.0

Các địa chỉ ngắt:

Khi chấp nhận ngắt, giá trị được nạp vào PC gọi là địa chỉ ngắt. Nó là địa chỉ bắt đầu của ISR cho nguồn tạo ngắt, các vector ngắt được cho ở bảng sau :

Bảng 3.3: Các địa chỉ ngắt

Ngắt Cờ Địa chỉ

Bên ngoài 0 IE0 0003H

Bên ngoài 1 IE1 0013H

Timer 0 TF0 000BH

Timer 1 TF1 001BH

Một phần của tài liệu ĐỒ ÁN THIẾT kế và THI CÔNG hệ THỐNG ĐỊNH HƯỚNG PIN NĂNG LƯỢNG mặt TRỜI (Trang 55 - 60)