Lập trình Ngắt ngoài với 8051: Bí quyết cho vi điều khiển

Hãy cùng nhau khám phá tại sao ngắt ngoài (Interrupt) lại là một yếu tố quan trọng trong vi điều khiển 8051 và làm thế nào để cấu hình và sử dụng ngắt ngoài. Bài viết này sẽ giải thích chi tiết về ngắt ngoài trong 8051 và cách cấu hình sử dụng nó.

I. Khám phá ngắt trong 8051

Ngắt là tín hiệu khẩn cấp được gửi đến bộ vi xử lý, yêu cầu bộ vi xử lý tạm dừng các công việc đang thực hiện để nhảy đến một chương trình khác. Chương trình này được gọi là trình phục vụ ngắt (ISR: Interrupt Service Routine).

Trong việc sử dụng ngắt ngoài với vi điều khiển 8051, có sáu nguồn ngắt bao gồm: Reset, hai ngắt dành cho bộ định thời Timer 0 và Timer 1, hai ngắt ngoài và ngắt truyền thông nối tiếp UART.

Trong bài viết này, chúng ta sẽ tập trung vào cấu hình sử dụng ngắt ngoài với vi điều khiển 8051.

II. Cấu hình sử dụng ngắt ngoài với 8051

Để cấu hình và sử dụng ngắt ngoài trong 8051, chúng ta cần hiểu chức năng các bit trong thanh ghi điều khiển ngắt và thanh ghi TCON.

Trong thanh ghi điều khiển ngắt (IE), các bit quan trọng là EA, EX1 và EX0. Bit EA cho phép ngắt/cấm ngắt toàn cục, còn bit EX1 và EX0 điều khiển ngắt ngoài 1 và 0.

Trong thanh ghi TCON, bit IT0 và IT1 điều khiển chế độ ngắt kích phát sườn hoặc kích phát mức cho ngắt ngoài.

III. Các bước cấu hình sử dụng ngắt ngoài trong 8051

Để sử dụng ngắt ngoài trong 8051, chúng ta cần thực hiện các bước sau:

  1. Bật các bit cho phép ngắt ngoài: EX0 và/hoặc EX1.
  2. Cấu hình chế độ ngắt kích phát sườn hoặc kích phát mức cho ngắt ngoài bằng cách thay đổi các bit IT0 và IT1 trong thanh ghi TCON.
  3. Bật bit cho phép ngắt toàn cục (EA).
  4. Viết chương trình phục vụ ngắt để xử lý công việc khi ngắt xảy ra.

IV. Bài toán ví dụ

Hãy cùng giải quyết một bài toán thú vị sử dụng ngắt ngoài trong 8051. Chúng ta sẽ viết một chương trình sử dụng hai nút nhấn để điều khiển hiển thị số trên led 7 thanh.

Bài toán yêu cầu chúng ta sử dụng nút 1 để tăng giá trị hiển thị và nút 2 để giảm giá trị hiển thị trên led 7 thanh.

Trong chương trình, chúng ta sẽ sử dụng ngắt ngoài 0 và 1 để xử lý các công việc tăng/giảm giá trị và kiểm tra giới hạn của biến.

Hãy thử vẽ lại mạch mô phỏng, tạo project mới và code lại theo bài toán trên để xem kết quả nhé.

Cảm ơn bạn đã theo dõi bài viết, chúc bạn thành công trong việc sử dụng ngắt ngoài với vi điều khiển 8051!

FEATURED TOPIC