Ðề tài: timer
View Single Post
Old 13-12-2009, 07:03 AM   #2
dung h
Đệ 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++;
dung h vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn