EA = 1: Tất cả mọi ngắt đều đƣợc phép và sẽđƣợc đáp ứng nếu các bit của trong trong IE có mức cao
EA = 0: Không có ngắt nào sẽđƣợc đáp ứng cho dù bit tƣơng ứng của nó trong IE có giá trị cao
--: Bit IE.6 là bit dựphòng cho tƣơng lai
ET2: Bit IE.5 cho phép hoặc cấm ngắt tràn hoặc ngắt thu của Timer2 ES: Bit IE.4 cho phép hoặc cấm ngắt cổng nối tiếp
ET1: Bit IE.3 cho phép hoặc cấm ngắt tràn của Timer1 EX1: Bit IE.2 cho phép hoặc cấm ngắt ngoài 1
ET0: Bit IE.1 cho phép hoặc cấm ngắt tràn của Timer0 EX0: Bit IE.0 cho phép hoặc cấm ngắt ngoài 0.
Ví dụ: Sử dụng lệnh để
a. Cho phép ngắt nối tiếp, ngắt Timer0 và ngắt phần cứng ngoài 1 b. Che ngắt Timer0 c. Che tất cả mọi ngắt chỉ bằng một lệnh duy nhất Giải: a. MOV IE,#10010110B b. CLR IE.1 c. CLR IE.7 6.2. Lập trình các ngắt của bộđịnh thời
Trong chƣơng 5, cách sử dụng các bộ định thời Timer0 và Timer1 bằng phƣơng pháp thăm dò đã đƣợc đề cập. Trong phần này, ta sẽ sử dụng các ngắt để lập trình cho các bộđịnh thời.
Trong phƣơng pháp thăm dò, lệnh “JNB TF, nhãn” đƣợc sử dụng để chƣơng trình liên tục thăm dò trạng thái của cờ TF. Khi cờTF đƣợc bật lên, chƣơng trình mới thực hiện lệnh tiếp theo. Vấn đề với phƣơng pháp này là bộ vi điều khiển bị trói buộc khi cờ TF chƣa đƣợc bật lên và không thểlàm đƣợc bất kỳ việc gì khác. Sử dụng các ngắt có thể giải quyết vấn đề này. Nếu bit cho phép ngắt định thời trong thanh ghi IE đƣợc bật lên thì mỗi khi cờTF đƣợc bật lên, bộ vi điều khiển bị ngắt tại bất kỳ thời điểm nó đang thực hiện việc nào đó và nhảy tới bảng vector ngắt để phục vụ ISR. Bằng cách này thì bộvi điều khiển có thể làm những công việc khác cho đến khi nào nó nhận đƣợc thông báo bộđịnh thời đã quay về 0.
1 000BH 1 001BH
TF0 Ngắt Timer 0 TF1 Ngắt Timer 1
Nhảy tới địa chỉ ngắt Nhảy tới địa chỉ ngắt