PIC的定时器1可以这样用吗?

2020-02-10 08:42发布

void TMR1_init()
{
          T1CON=0X30;       //8分频
          TMR1IF=0;         //清中断标志
          TMR1IE=1;         //使能定时器1中断
          TMR1L=0XDB;       //初始值
          TMR1H=0X0B;
          TMR1ON=1;         //开定时器1
}

void shanshuo_convert()
{
        static unsigned char timecount=0;
        if(TMR1IF==1)
        {
                TMR1ON=0;
                TMR1IF=0;
                TMR1IE=1;         //使能定时器1中断
                TMR1L=0XDB;     //重新付初值
            TMR1H=0X0B;
            flag++;
            flag=flag%2;    //闪烁标志在0-1间翻转
           }
}

void main()
{
    TMR1_init();
    while(1){
              shanshuo_convert();
            }
}

请教下PIC的定时器1可以这样用吗?为什么我这样写的话用proteus仿真的时候能动,下载到芯片中就不会动呢?
用的是PICC编译器。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
285286997
1楼-- · 2020-02-10 09:36
你这样没有中断产生!
Amaple
2楼-- · 2020-02-10 14:07
 精彩回答 2  元偷偷看……
nieccyyy
3楼-- · 2020-02-10 17:59
感觉用PICC编译挺麻烦的,中断里面是不能嵌套中断外面的函数的。
哪位有这方面的资料能分享下呢?这几天搞那个中断搞到晕死了

一周热门 更多>