|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
20-08-2011, 04:43 PM | #7 |
Đệ tử 7 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
: |
Thấy lạ lạ!!!!!!!!. Lúc đầu i=1 thì thực hiện lệnh if và led sáng, rồi cho i=0, vòng chương trình tiếp theo thực hiện lệnh else và tắt led, và set i=1, lặp lại mãi như vậy. Theo tui nghĩ led sẽ chớp tắt liên tục tốc độ quá nhanh và bạn thấy led luôn sáng!!!!!!!!.
Thử sửa: #include <16f877a.h> #use delay(clock = 20Mhz) //#device *=16 #FUSES NOWDT, XT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT #use fast_io (b) #use fast_io (D) boolean i = 1; #int_ext void ext_int_isr(){ i=input(PIN_b1); if(i == 1){ output_high(pin_d1); } else{ output_low(pin_d1); } } void main(){ set_tris_b(0xff); set_tris_D(0x00); port_b_pullups(true); enable_interrupts(INT_EXT_H2L); // Cho phep ngat ngoai enable_interrupts(global); // Cho phep ngat toan cuc while(1); } Tui thì khai báo nút nhấn trong chương trình chính luôn, và việc nhấn phím thì rất đơn giản. Chúc vui!!!!!!!! |
|
|