PIC 1508 TIM2的定时器使用

PIC 1508 TIM2的定时器使用_第1张图片PIC 1508 TIM2的定时器使用_第2张图片

使用TIM2的频率计算公式f=FOSC/4/T2CKPS/T2OUTPS/TMR2     (TMR2是TIM2的数据寄存器)

 

void main()
{
    OSCCON = 0x78;//主频率为16M   即FOSC = 16M
    __delay_ms(50);
    ANSC6 = 1;
    TRISC6 = 0;
    RC6 = 1;//RC6接了一盏LED
    
    T2CON = 0x04;

    /*T2OUTPS = 0(Timer2 输出后分频比为1:1) 

    TMR2ON=1(Timer2 使能位使能)

    T2CKPS=0(Timer2 时钟预分频比为1:1);*/

    PR2 = 49;//当TMR2计数到49的时候产生标志位置1

    TMR2IE = 1;、//允许 Timer2 与 PR2 匹配中断

    PEIE = 1;//允许所有有效外设中断

    GIE = 1 ;//允许所有有效中断

    TMR2IF = 0;//标准位清零
    while(1)
    {
    }
}
 

 

 

void interrupt isr(void)
{
    if(TMR2IF == 1)
    {
        GIE = 0;
        TMR2IF = 0;
        if(!flag)
        {
            flag = 1;
            RC6 = 0;
        }
        else
        {
            flag = 0;
            RC6 = 1;
        }
        GIE = 1;
    }
}

 

 

理论频率f=16M/4/1/1/(49+1)=80000;

示波器显示为

PIC 1508 TIM2的定时器使用_第3张图片

39.6K*2= 79.2K

你可能感兴趣的:(PIC)