求助:问什么我用的定时器1不起振呢?

2020-02-08 12:20发布

用PIC16LF1933,定时器1用外部32.768,时钟总是不起振,刚刚用PIC不太熟悉。

int main(void)
{
        OSCCON = 0xdb;
        PORTA = 0xff;
        PORTB = 0xff;
        PORTC = 0xff;
        PORTE = 0xff;

        TRISA = 0;
        TRISB = 0;
        TRISC = 0;
        TRISE = 0;

        ANSELA = 0;
        ANSELB = 0;
       
        T1OSCEN = 1;//使能振荡器
        TMR1CS0 = 0;//
        TMR1CS1 = 1;//
        TMR1ON = 1;//使能定时器
       
        //while(!T1OSCR)

        UartInit();

        while(1)
        {
                put_sdbg("TMR1L= %f ",TMR1L);//串口打印出来的数一直不变。
                delay();
        }
        ;
}

不使能振荡器1的话 T1OSO和T1OSI为高电平,使能后变为0.6v,说明振荡器使能没有问题。Timer1用内部时钟时TMR1L时也能正常工作。

不知道PIC的异步时钟是不是需要其他特殊设置,晶振并联1.5Mohm起振电阻也试过了,失败。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
xiaob135
2020-02-08 21:07
回复【4楼】surf_131
-----------------------------------------------------------------------

我用手分别摸晶振的两引脚定时器TMR1L会有变化,确实是没有起振的原因,晶振也试过不同封装的。

现在等第一批实验板呢,在实验板上直接测试,希望能找到原因。(现在怀疑是洞洞板上那PIC单片机有问题。)

一周热门 更多>