TỔNG QUAN VỀ VI ĐIỀU KHIỂN DSPIC30F
6.3.3 Ngắt và cơ chế ngắt
Vi điều khiển dsPic30F4011 có tới 30 nguồn ngắt và 4 bộ xử lý loại trừ (bẫy lỗi), bộ xử lý này sẽ cho phép các ngắt theo mức ưu tiên được sắp đặt trước.
CPU có thể đọc bảng vector ngắt và truyền địa chỉ được chứa trong vector ngắt tới bộ đếm chương trình. Vector ngắt được truyền từ bus dữ liệu chương trình vào trong bộ đếm chương trình thông qua bộ hợp kênh 24-bit, lối vào của bộ đếm chương trình.
- Các thanh ghi 16-bit IFS0<15:0>, IFS1<15:0>, IFS2<15:0>
Tất cả các cờ ngắt được lưu trong 3 thanh ghi này. Các cờ được đặt tương ứng bởi của ngoại vi hoặc tín hiệu bên ngoài và có thể xoá bằng phần mềm.
- Các thanh ghi 16-bit: IEC0<15:0>, IEC1<15:0>, IEC2<15:0>: Tất cả các bit điều khiển cho phép ngắt đều nằm trong 3 thanh ghi này. Các bit này được sử dụng để cho phép ngắt độc lập ngoại vi và tín hiệu ngoài
- Các thanh ghi ưu tiên ngắt: IPC0<15:0> ... IPC10<7:0>: Người sử dụng có thể chuyển đổi mức ưu tiên ngắt kết hợp với mỗi ngắt được giữ trong các thanh ghi này
- Nhóm bit IPL<3:0>: Mức độ ưu tiên của CPU hiện hành được lưu rõ ràng trong các bit này. Bit IPL<3> nằm trong thanh ghi CORCON, trong khi đó các bit IPL<2:0> nằm trong thanh ghi trạng thái (SR)
- Hai thanh ghi 16-bit INTCON1<15:0>, INTCON2<15:0>: Chức năng điều khiển ngắt toàn cục được xuất phát từ hai thanh ghi này. INTCON1 chứa các cờ điều khiển và trạng thái của bộ xử lý loại trừ. INTCON2 điều khiển tín hiệu yêu cầu ngắt và việc bảng vector ngắt thay thế.
Các nguồn ngắt có thể được người sử dụng sắp xếp mức ưu tiên từ 1 đến 7 thông qua thanh ghi IPCx. Mỗi nguồn ngắt được kết hợp với một vector ngắt.