chào các bạn.mình mới test thử TIMER0 của pic16f88 nhưng thấy nó sai nhiều quá mà mình cũng ko tìm ra nguyên nhân.
mình port code nên mong các bạn xem dùm
cám ơn nhiều!
Trích:
#include <htc.h>
__CONFIG(INTIO & PWRTDIS & BORDIS & WDTDIS & MCLRDIS & LVPDIS);
#define _XTAL_FREQ 20000000
void TIMER0_Init()
{
T0CS = 0;
PSA = 0;
OPTION = 0x00; // tỉ lệ 1:2
GIE = 1;
TMR0IE = 1;
TMR0IF = 0;
TMR0 =6;
}
void interrupt inter0(void)
{
count++;
TMR0IF=0;
TMR0 = 6;
}
void HienThi()
{
if(count==10000) //tính 1s thì nhảy 1 số (nhưng mình bấm đông hồ thì 7s)
{
PORTB=LED_7SEG[code];
code++;
if(code==10)
{
code=0;
}
}
}
|
tái sao khi mình thay
if(count==10000) bằng if(count==400)
mà vẫn sau 7s mới thấy nhảy 1 số
mình làm mạch và nạp chíp thật chứ ko phải mô phổng sao lại sai nhiều thế nhỉ
mong các bạn giải thích dùm