Sử Dụng INT External Interrupt Để Phát Hiện Cạnh Lên Ở PORTB.F0, Từ Đó Thực Hiện Chương Trình Ngắt.
Trong ví dụ ở project này ta sử dụng INT External interrupt để phát hiện sự thay đổi trạng thái ở portb.f0 (cạnh lên) từ đó thực hiện chương trình ngắt (chương trình ngắt thực hiện đảo trạng thái portc), sau đây là sơ đồ của project:

INT External interrupt
Code như sau:
Code:
/*Using an external interrupt to detect the status of RB0 to control leds in portC
Cmu: Pic 16f877A
Author: Minh Trung
Site: http:dientudieukhien.net
*/
void interrupt(){
PORTC =~ PORTC;
delay_ms(1000);
INTF_bit = 0; //Clear External interrupt flag
}
void main() {
TRISC=0x00; //PortC at output.
GIE_bit = 1; //Enable Global interrupt
INTEDG_bit = 1; //Interrupt on rising edge of INT pin
INTE_bit = 1; // Enable External interrupt
INTF_bit = 0; //Clear External interrupt flag
while(1){
PORTC=0x00; // clear portc
}
}
Xem thêm PORTB interrupt trên vi điều khiển 16f887
Xem thêm project đếm xung, liên quan đến ngắt portb external