![]() |
|
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 |
|
![]() |
#1 |
Đệ tử 4 túi
Tham gia ngày: May 2009
Bài gửi: 74
: |
muốn sử dụng ngắt timer bạn cần thiết lập như sau: mình giả sử dùng ngắt timer 0
setup_timer_0 (RTCC_INTERNAL|RTCC_DIV_4); // TIMER0 sử dụng dao động nội // xung cho timer0 = osc/4 enable_interrrupts(INT_TIMER0) ; // cho phep ngắt timer0 enable_interrupts(GLOBAL) ; // cho phep ngat toàn cục set_timer0( timer) ; // giả sử sử dung osc 20MHz ,timer0 8bit // timer = (256-value)*div*(4/20000000)= xx us khi đó cứ mỗi khi có cờ timer tràn thì chương trình nhảy đến ngắt timer #int_timer0 void ngat_timer0() { // công việc } còn bạn muốn ngắt 1s hay 1 phút thì cho 1 biến tăng dần số lần tràn counter++; |
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Nov 2009
Bài gửi: 8
: |
#fuses LP, HS, RC, WDT, NOWDT
#int_timer0 void ngat_timer0() { output_high(PIN_B0); ////khai bao timer ra sao o day ; output_low(PIN_B0); } void main() { /////con conter ++ thi minh phai khai bao ra sao minh chua hieu ve 1s hay 1 phut la phai lam sao setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); enable_interrupts(INT_TIMER0); enable_interrupts(GLOBAL); set_timer0(100);////minh ko hieu nen khai gia tri bao nhieu ca. while(1) { ngat_timer0(); } } minh viet chuong trinh sang va tat trong vong 1 phut nhung chua biet phai lam timer ra sao ca |
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|