chương trình ngắt ngoài cứ 10ms thì ngắt 1 lần.
dem là một biến kiểu interger.
mình dùng thạch anh 8Mhz, timer0 hoạt động ở chế độ 2 là 1Mhz thì 1 lần tăng giá trị của timer0 là 1us, giá trị đặt trước là 50 thì 1 lần ngắt xảy ra sau 50us.như vậy cứ 90*50us thì led sẽ sáng lên.nhưng thực tế thì ko như vậy.ko có led nào sáng hết.giúp mình với.
Code:
interrupt [EXT_INT0] void ext_int0_isr(void)
{
// Place your code here
dem=0;
TCCR0=0x02;//cho timer0 chạy
OCR0=50; // giá trị đặt trước.
}
interrupt [TIM0_COMP] void timer0_comp_isr(void)
{
// Place your code here
if (dem>=90)
{
dem=0;
TCCR0=0x00; // cho timer dừng
PORTC=0x01; // xuất ra led
}
++dem;
}
mình dùng thạch anh 8Mhz, timer0 hoạt động ở chế độ 2 là 1Mhz thì 1 lần tăng giá trị của timer0 là 1us, giá trị đặt trước là 50 thì 1 lần ngắt xảy ra sau 50us.như vậy cứ 90*50us thì led sẽ sáng lên.nhưng thực tế thì ko như vậy.ko có led nào sáng hết.giúp mình với.

Comment