bạn dùng 1MS thì hơi ngắn về thời gian lấy mẫu bạn có thể tăng lên 10MS. rồi tính toán lên 1S or 1 phút dc bao nhiêu xung và tính số vòng... như vậy sẽ chính xác hơn
Nhưng mình có lời khuyên thức tế con số đó chỉ gần đúng và nó lệt trong khoản từ 5% 10%. vì thiết bị, và moi trường dẫn đến sai số... với lại ko tồn tại " giá trị tuyệt đối như tính toán "
mình có ví dù là dùng ngắt và Timer1 108,4MS
#int_ext
void Ngat()
{
xung++;
}
#int_timer1
void timer1()
{
v=(xung*10)*60; // lấy ở 100ms rồi tính lên 1 phút rồi hiển thị
xung=0; // va bat dau chu ky dem moi.
}
void main()
{
setup_timer1(3001)// gia tri bất dầu để dc 100ms.
// hien thi gia tri cua V.
}
}
|