PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   hỏi về ngắt RB0 (http://www.picvietnam.com/forum/showthread.php?t=5436)

thinh0612 30-11-2009 07:25 PM

hỏi về ngắt RB0
 
có ai biết về cách khai báo ngắt và sử dụng ngắt tại chân RB0/INT(của pic 16F877A) trong CCS không,chỉ mình với.

vinasheva 30-11-2009 07:37 PM

Khai báo ngắt

enable_interrupts(INT_EXT);
ext_int_edge(0,H_TO_L); //thay đổi tùy thoe người sử dụng
enable_interrupts(GLOBAL);

Chương trình phục vụ ngắt
#int_EXT
void EXT_isr(void)
{
//đoạn chương trình
}

thinh0612 01-12-2009 11:02 AM

thanks ban ma cho minh hoi them:neu trong chuong trinh phuc vu ngat minh thay doi gia tri cua mot bien nao do thi sau khi co ngat xay ra thi bien do co thay doi gia tri theo nhu chuong trinh ngat hay khong.
(Vd:
#int_EXT
void EXT_isr(void)
{
ngat++;
})
thi bien "ngat" co doi gia tri ko.

Cau hoi 2 là :minh co can phai xoa co ngat sau khi co ngat xay ra khong.

vinasheva 01-12-2009 06:49 PM

Nếu bạn khai báo biến "ngat" là biến toàn cục thì sau mỗi lần ngắt biến đó sẽ tăng lên 1 đơn vị.


Múi giờ GMT. Hiện tại là 05:20 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam