tailieunhanh - Tài liệu Lập trình hệ thống Chương 2

Tài liệu Lập trình hệ thống Chương 2 Chương 2 NGẮT VÀ SỰ KIỆN 1. Khái niệm Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiện một chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR – Interrupt Service Routine). ISR hoàn toàn giống với một chương trình bình thường trên máy tính, nghĩa là nó có khả năng truy xuất đến tất cả các lệnh ngôn ngữ máy của µP | Tài liệu Lập trình hệ thống Chương 2 Chương 2 NGẮT VÀ SỰ KIỆN 1. Khái niệm Ngắt interrupt là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiện một chương trình khác chương trình này được gọi là chương trình phục vụ ngắt ISR -Interrupt Service Routine . ISR hoàn toàn giống với một chương trình bình thường trên máy tính nghĩa là nó có khả năng truy xuất đến tất cả các lệnh ngôn ngữ máy của LiP. Tuy nhiên cuối ISR sẽ kết thúc bằng lệnh IRET Interrupt Return để LiP tiếp tục thực hiện lệnh đã kết thúc trước đây. Các nguyên nhân dẫn đến ngắt là - Bản thân chương trình đang thực hiện bị lỗi ví dụ như chia cho 0 . - Do tác động của thiết bị ngoại vi ví dụ như thực hiện lệnh in nhưng máy in lỗi ghi dữ liệu vào đĩa nhưng không có đĩa . - Do lập trình viên chủ động gọi các ngắt có sẵn. Một cách đơn giản chúng ta có thể xem ngắt như là quá trình gọi chương trình con nhưng các chương trình con này được tạo ra sẵn trong máy tính và quá trình gọi này có thể xảy ra tại thời điểm không xác định trước. Sự kiện Event là một tác động lên một đối tượng trong môi trường Windows. Khi có một sự kiện xảy ra Windows sẽ gởi thông điệp message đến đối tượng. Các sự kiện thường xảy ra là - Sự kiện chuột Click Double Click . - Sự kiện bàn phím nhấn phím nhả phím . - Sự kiện cửa sổ Activate Load Unload . 2. Các loại ngắt và bảng vector ngắt Quá trình ngắt có thể mô tả như sau Chương trình chính ISR Lưu trữ các thanh ghi cần thiết Khôi phục các thanh ghi Quay về chương trình chính IRET Hình - Quá trình thực hiện ngắt Phạm Hùng Kim Khánh Trang 34 Tài liệu Lập trình hệ thống Chương 2 Trong các quá trình ngắt ta phân biệt thành 2 loại ngắt cứng và ngắt mềm. Ngắt mềm là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy. Ngắt mềm được thục hiện trên hợp ngữ thông qua lệnh INT. Đối với các ngôn ngữ bậc cao hơn vẫn cho phép thực hiện gọi ngắt nhưng phải được biên dịch thành lệnh INT trong hợp ngữ rồi mời thực hiện. Khác với ngắt mềm ngắt cứng không được khởi động bên trong .

TỪ KHÓA LIÊN QUAN