🌱 Bài 10: Tìm hiểu về ngắt ngoài trên 8051

🌱 Bài 10: Tìm hiểu về ngắt ngoài trên 8051

👉 Giới thiệu về ngắt ngoài

    8051 có 2 ngắt ngoài: INT0 & INT1, xảy ra khi có sự thay đổi mức logic hoặc cạnh (sườn lên/xuống) trên 2 chân P3.2P3.3.

👉 Cách kích hoạt ngắt trên 8051

    Ngắt ngoài có 2 cách kích hoạt:

  • Edge triggered: Kích hoạt theo cạnh, xảy ra khi phát hiện cạnh lên hoặc xuống ở chân ngắt.
  • Level triggered: Kích hoạt theo mức, xảy ra khi phát hiện mức cao hoặc thấp ở chân ngắt.

    8051 thường sử dụng 2 cách sau:

  • Low level triggered: Xảy ra khi phát hiện mức thấp tại chân ngắt (P3.2/P3.3).
  • Falling edge triggered: Xảy ra khi phát hiện cạnh xuống (1 → 0) tại chân ngắt.

👉 Thanh ghi setup ngắt ngoài: TCON

  • Bit 3 - IE1: Tự động được set high khi INT1 được kích hoạt và tự động về 0 khi thực hiện xong ISR.
  • Bit 2 - IT1: Chọn loại sự kiện ngắt:
    • IT1 = 1 → Falling Edge
    • IT1 = 0 → Low Level
  • Bit 1 - IE0, Bit 0 - IT0: Tương tự với ngắt ngoài 0.

🧐 Bài tập thực hành

    Thực hành với ngắt ngoài 0, khi phát hiện cạnh xuống, nhảy đến ISR. Trong ISR, đảo trạng thái LED chân P1.0.

  1. void External0_ISR() interrupt 0
  2. {
  3. P1_0 = ~P1_0; // Đảo trạng thái LED
  4. }
  5. void main()
  6. {
  7. IT0 = 1; // Cạnh xuống
  8. EX0 = 1; // Cho phép ngắt ngoài 0
  9. EA = 1; // Kích hoạt ngắt toàn cục
  10. while(1);
  11. }

👉 Kết nối phần cứng trên Proteus

    Đảm bảo kết nối chính xác theo sơ đồ sau:

Proteus 8051 Interrupt Circuit

>>>>>> Follow ngay <<<<<<<

Để nhận được những bài học miễn phí mới nhất nhé 😊

Chúc các bạn học tập tốt 😊

Đăng nhận xét

Mới hơn Cũ hơn