Я использовал TIMER1 в PIC12F675 с прерыванием по переполнению и временем для переполнения около 0,5 с, а при моделировании это правда
код прерывания переполнения ФУНКЦИЯ:
void interrupt int_tmr1(void) {
if((PIE1&(1<<0))&&(PIR1&(1<<0))) //TMR1 OVERFLOW CONDITION
{
GPIO^=(1<<0); //TOGGLE LED
PIR1&=~(1<<0); //CLEAR TMR1 INTERRUPT OVER FLOW FLAG
}
}
но если я хочу увеличить продолжительность, отредактировав функцию прерывания следующим образом:
void interrupt int_tmr1(void)
{
if((PIE1&(1<<0))&&(PIR1&(1<<0))) //TMR1 OVERFLOW CONDITION
{
static unsigned char count=0;
if(count>10)
{
GPIO^=(1<<0); //TOGGLE LED
count=0;
}
else
{
count++;
}
PIR1&=~(1<<0); //CLEAR TMR1 INTERRUPT OVER FLOW FLAG
}
}
требуемое время составляет 5 секунд, но при моделировании время составляет 6 секунд
что это значит?