View Single Post
Old 06-05-2009, 03:08 PM   #15
hopeman
Đệ tử 6 túi
 
hopeman's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Trích:
Nguyên văn bởi lequocbao View Post
#int_timer1
void timer1_ext_isr(void)
{
count++;
rpm++;
}

void main()
{
set_tris_a(0x00);
set_tris_b(0x01);
set_tris_c(0x8f);
set_tris_e(0xff);
set_tris_d(0x00);

set_timer1(65335);//200xung=65535-65335
setup_timer_1(T1_EXTERNAL);
enable_interrupts(int_timer1);
ENABLE_INTERRUPTS(GLOBAL);

count=0;
rpm=0;
while(TRUE)
{
led_scan(count/100,led5);
led_scan((count/10)%10,led6);
led_scan(count%10,led7);

led_scan(rpm/1000,led1);
led_scan((rpm/100)%10,led2);
led_scan((rpm%100)/10,led3);
led_scan((rpm%100)%10,led4);
}
}


Encoder nối RC0 :200xung/vòng nhưng sao mình thấy động cơ quay cả chục vòng thì 2 biến count,rpm mới tăng lên 1 đơn vị.Có bác nào biết tại sao không?
Bạn có thể cho biết bạn dùng loại Encoder nào ko? có một số em encoder bạn phải dùng trở kéo ở mức 1 (5V) . bạn có thể thử đo lại xem em của bạn có thể tự lên mức 1 được chưa?
__________________
mạch nạp - kit phát triển - linh kiện điện tử www.PNLabvn.com
hopeman vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn