文章图片
文章图片
使用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的定时器使用】39.6K*2= 79.2K
推荐阅读
- pic
- PIC定时器中断
- 浅析PIC单片机定时器
- PIC 1508 TIM1的定时器门控的理解
- PIC 1508 WDT使用
- PIC 1508 EEPROM
- PIC 1508 TIM0的定时器使用
- PIC 1508 DAC使用
- PIC 1508 TIM1的定时器中断使用