各位大哥,帮我看一下,以下是我的程序的一部分,想用定时器TMR1定时1S来实现每格1s执行某种操作
,设定定时1/4S,通过一个num来计数4次,达到1S。可是不知为什么,每次if(TMR1IF)这个判断都为真,没有达到效果。多谢了
uchar num=0;
T1CON=0x21;
TMR1H=0x0B;
TMR1L=0xDC;
if(TMR1IF)
{num++;
TMR1IF=0;
TMR1H=0x0B;
TMR1L=0xDC;
}
if(num==4)
{执行操作
}
此帖出自
小平头技术问答
void main(void)
{
uchar num=0;
T1CON=0x21;
TMR1H=0x0B;
TMR1L=0xDC;
...
}
void interrupt interr(void)
{
if(TMR1IF)
{
num++;
TMR1IF=0;
TMR1H=0x0B;
TMR1L=0xDC;
if(num==4)
{执行操作
}
}
一周热门 更多>