PIC16F877A:有关定时器的编程,求助

2019-03-25 19:38发布

各位大哥,帮我看一下,以下是我的程序的一部分,想用定时器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) {执行操作 } 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
alont
2019-03-26 15:40
初始化放在main中
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)
{执行操作
}
}

一周热门 更多>