Mình cũng đang học về PIC, viết một ứng dụng đơn giản có sử dụng keypad + tính năng
ngắt. Nhưng vẫn chưa chạy tốt được. Vì lí do gì thì vẫn chưa hiểu được. Mặc
dù không có ngắt thay đổi điện áp bởi nhất nút keypad nhưng mà vẫn vào hàm ngắt.
Anh chị nào có kinh nghiệm, xin chỉ giáo. Cảm ơn.
Thông tin trên mạch như sau:
+ PB0-PB3 là Output, giá trị 0
+ PB4-PB7 là Input, được kéo Pullup lên Vcc
+ Khi nhấn nút thì PB0 -> PB4, or PB1 -> PB5, or PB2 -> PB6, or PB3 -> PB7. Làm cho
tín hiệu ở PB4-PB7 thay đổi từ H->L
==> khi đổ xuống PIC, thấy xuất ra ký tự "C" liên tục :-(. Xin được giúp đỡ.
Code:
#include <18F4550.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000,crystal)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#int_rb
void detect_rb_change() {
putc('c');
}
void main() {
set_tris_b(0xF0);
enable_interrupts(INT_RB);
enable_interrupts(GLOBAL);
ext_int_edge(H_to_L);
while (TRUE)
{
}
}