HOẠT ĐỘNG CỦA BỘ NGẮT (INTERRUPT)

Một phần của tài liệu 212892 (Trang 29 - 30)

I. GIỚI THIỆU:

Một interrupt (ngắt) là sự xảy ra một điều kiện – một sự kiện, mà nĩ gây treo tạm thời chương trình trong điều kiện cĩ được phục vụ bởi một chương trình khác.

Các Interrupt đĩng vai trị quan trọng trong việc thiết kế và cài đặt các ứng dụng vi điều khiển. Chúng cho phép hệ thống bất đồng bộ với một sự kiện và giải quyết một sự kiện trong khi đĩ một chương trình khác đang thực thi.

Một hệ thống được điều khiển bằng interrupt cho ta ảo giác là làm nhiều việc đồng thời. Dĩ nhiên là CPU đồng thời khơng thể thực thi hơn một lệnh. Nhưng nĩ cĩ thể tạm treo việc thực thi một chương trình để thực thi một chương trình

khác, rồi quay về chương trình thứ nhất. Theo cách này, interrupt giống như một chương trình con, nhưng cĩ một khác biệt trong hệ thống được điều khiển là sự ngắt quảng khơng xảy ra như kết quả của một lệnh, mà đáp ứng một sự kiện xảy ra bất đồng bộ với chương trình chính. Người ta khơng biết lúc nào và ở đâu chương trình chính bị ngắt quảng.

Chương trình giải quyết ngắt gọi là chương trình phục vụ ngắt (ISR: Iterrupt Service Routine) hoặc bộ xử lý ngắt. ISR thực thi đáp ứng ngắt và thơng thường thực hiện tác vụ nhập hay xuất với một thiết bị. Khi ngắt xảy ra, chương trình chính tạm thời bị treo và rẽ nhánh đến ISR: ISR thi hành và kết thúc bằng lệnh trở về ngắt. Chương trình tiếp tục thực thi tại chỗ mà nĩ tạm dừng. Thường người ta xem chương trình chính thực thi ở mức nền (cơ sở) và các ISR thực thi ngắt (Interrupt Level). Người ta dùng thuật ngữ Foreground (phía trước) (Base – Level) chỉ mức nền và Background (phía sau)(Interrupt – level) chỉ mức ngắt. Hình ảnh các ngắt được mơ tả trong hình sau:

Thực thi chương trình khơng cĩ ngắt

Thực thi chương trình cĩ ngắt * : gọi ngắt

** : quay về từ ngắt

Một phần của tài liệu 212892 (Trang 29 - 30)

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

(136 trang)