![]() |
|
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 |
![]() |
#8 |
Đệ tử 4 túi
Tham gia ngày: Aug 2008
Bài gửi: 89
: |
Code:
// INTEXT.C MPB 10-4-07 // Demo external interrupt // RB0 low interrupts // foregroundoutput count #include "16F877a.h" #fuses HS,NOWDT #use delay(clock=12000000) int x=10; #int_ext void isrext() { output_c(x); //muc dich là xuat ra portC giá tri. cu?a x hie^.n tho+`i trong ct chính delay_ms(1000); } void main() { enable_interrupts(global); set_tris_b(get_tris_b()|0x01); enable_interrupts(int_ext); ext_int_edge(H_TO_L); while(1) { output_d(x); x++; delay_ms(100); } } Chú ý: Tầm cực biến x để isrext() có thể truy cập. Giá trị trên Port D sẽ thường nhỏ hơn 1 so với Port C vì lệnh x++ thực thi sau lệnh gán output_d(x) (chỉ trừ khi interrupt xảy ra ngay sau lệnh output_d(x) và trước lệnh x++, khả năng ~ 0) nên nếu muốn 2 Port xuất giá trị bằng nhau khi nhấn phím thì chuyển lệnh x++ lên trước.
__________________
Quang báo RG/RGB 6/8/12/16 bits màu Phone No: 0905.034.086 Email: lmquyen@gmail.com |
![]() |
![]() |
|
|