Thực tế nếu ko xài ICD2, theo mình với chương trình như trên ngắt RB không bao giờ xảy ra vì bạn cấu hình PORTB<4:7> là output. Do 4 chân này không được pull-up hoặc pull-down nên cho dù cấu hình là input bạn cũng không thể dùng ngắt INT_RB theo đúng ý đồ được.
Chương trình của bạn viết khá rối rắm nên mình mới khuyên dùng thư viện của CCS, ví dụ
Code:
ext_int_edge(H_to_L);
Là cấu hình cho ngắt ngoài, ko phải cho ngắt thay đổi mức trên PORTB.
Để kiểm tra nguyên nhân bạn thử disable INT_RB xem.