用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起振电阻也试过了,失败。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
手册很重要,pic的手册也很详细。
选择T1OSI、T1OSO引脚上的晶振。
使能Timer1振荡电路
使能Timer1
按说没有错啊……
(原文件名:未命名.jpg)
-----------------------------------------------------------------------
我用手分别摸晶振的两引脚定时器TMR1L会有变化,确实是没有起振的原因,晶振也试过不同封装的。
现在等第一批实验板呢,在实验板上直接测试,希望能找到原因。(现在怀疑是洞洞板上那PIC单片机有问题。)
一周热门 更多>