×
单片机 > 单片机程序设计 > 详情

PIC 1508 TIM2的定时器使用

发布时间:2022-01-04 发布时间:
|

使用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;


示波器显示为

39.6K*2= 79.2K


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机基于DS18B20的温度检测并显示在lcd1602上