LẬP TRÌNH NGẮT

Một phần của tài liệu Kỹ thuật vi xử lý - Chương 3 pps (Trang 68 - 69)

CL RA ;Nội dung thanh ghi Ab ằng zero.

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT

3.4.7. LẬP TRÌNH NGẮT

3.4.7.1. Tng quan

Một bộ vi điều khiển có thể phục vụ một số thiết bị, mỗi khi có một thiết bị cần được phục vụ thì thiết bị báo cho bộ vi điều khiển bằng cách gửi một tín hiệu ngắt. Khi nhận được tín hiệu này thì bộ vi điều khiển sẽ ngừng mọi công việc đang thực hiện để chuyển sang phục vụ thiết bị. Chương trình

đi cùng với ngắt được gọi là trình phục vụ ngắt ISR (Interrupt Service Routinei) hay còn gọi là bộ quản ngắt (Interrupt handler). Trình phục vụ ngắt của mỗi ngắt có một vị trí cố định trong bộ nhớ để giữđịa chỉ ISR. Tập hợp các ô nhớ lưu giữ địa chỉ của tất cả các ISR được gọi là bảng véc tơ ngắt (bảng 5.3.3a).

Bng 5.3.3a. Bng véc tơ ngt ca 8051

Ngt Địa ch ROM (Hexa) Chân

RESET 0000 9

Ngắt phần cứng ngoài (INT0) 0003 12 (P3.2) Ngắt bộ Timer 0 (TF0) 000B

Ngắt phần cứng ngoài 1 (INT1) 0013 13 (P3.3) Ngắt bộ Timer 1 (TF1) 001B

Ngắt COM nối tiếp (RI và TI) 0023

Từ bảng trên ta thấy: Chỉ có 3 byte không gian bộ nhớ ROM được giành cho RESET. Đó là địa chỉ 0, 1 và 2. Địa chỉ 3 thuộc về ngắt phần cứng ngoài - ngắt 0. Vì lý do đó, trong chương trình cần đặt lệnh LJMP làm lệnh

đầu tiên để hướng bộ vi xử lý ra ngoài bảng vector ngắt.

ORG 0;dia chi bat dau o ROM khi khoi dong lai

LJMP MAIN ;bo qua bang vector ngat

;--- Bat dau chuong trinh chinh

ORG 30H

MAIN: ... END

Chúng ta cũng cần phân biệt phương pháp ngắt và phương pháp thăm dò. Đối với phương pháp thăm dò bộ vi điều khiển liên tục kiểm tra tình trạng của thiết bị và khi điều kiện được đáp ứng thì tiến hành phục vụ thiết bị. Sau đó bộ vi điều khiển chuyển sang kiểm tra tình trạng làm việc của thiết bị tiếp theo cho đến khi tất cảđều được phục vụ.

Điểm mạnh của phương pháp ngắt là bộ vi điều khiển có thể phục vụ được nhiều thiết bị, tuy nhiên là không phải cùng một thời điểm. Ngoài ra,

phương pháp ngắt cho phép bộ vi điều khiển che hoặc bỏ qua một yêu cầu phục vụ của thiết bị, điều mà phương pháp thăm dò không thực hiện được. Phương pháp thăm dò lãng phí đáng kể thời gian của bộ vi điều khiển do phải hỏi dò từng thiết bị, kể cả khi chúng không cần được phục vụ. Ví dụ

lệnh “JNB TF, đích” trong khi chờ đợi bật cờ TF thì bộ vi điều khiển không thể làm được công việc nào khác, do vậy bị lãng phí thời gian. Cũng với bộ định thời này, nếu dùng phương pháp ngắt, bộ vi điều khiển vẫn có thể thực hiện một số công việc nào đó cho đến khi cờ TF bật lên, bộ vi điều khiển sẽ

bị ngắt cho dù đang làm công việc gì.

Một phần của tài liệu Kỹ thuật vi xử lý - Chương 3 pps (Trang 68 - 69)

Tải bản đầy đủ (PDF)

(82 trang)