View Single Post
Old 03-06-2013, 10:32 AM   #3
trungsonkmt
Nhập môn đệ tử
 
Tham gia ngày: Jan 2013
Bài gửi: 7
:
Sai khi đếm xung như bạn phamquocgia đã viết thì bạn thiết lập timer để lấy denta T để tính vận tốc như thế này :

#include <16f877a.h>
#FUSES HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20M)

#INT_TIMER0
void ngat_timer()
{
//Khoi dong lai timer
set_timer0(<so nao do>);//số này tùy bạn chọn để có đc denta T như mong muốn
// sau đấy là gì thì làm ở đây
// Ví dụ như : lấy số xung đếm được làm vận tốc thực theo khoảng denta T này
}

void main()
{
//Khai báo vào / ra....
...
//Thiết lập timer0
enable_interrupts(global); //Cho phep ngat toan cuc
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);//chon xung nội và chia tần 256
enable_interrupts(INT_TIMER0);//Cho phep ngat Timer 0
set_timer0(<so nao do>);//số này tùy bạn chọn để có đc denta T như mong muốn
...
//Tiếp tục các việc khác ở đây


}

// Biết thế . HẾT !
trungsonkmt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn