新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 浅析PIC单片机定时器

浅析PIC单片机定时器

作者: 时间:2013-05-08 来源:网络 收藏

OPTION_REG中我们一般需要设置三处。

PS2:0>设置用来设置预分频预分频范围从2 ~256

PSA设置成0 讲预分频器分配给Timer0模块

TMR0CS设置成0 内部指令周期时钟。

浅析PIC单片机定时器

实例程序:

/*开发环境 MPLAB X IDE 型号PIC16LF1823*/

#include

__CONFIG(FOSC_INTOSCWDTE_OFFPWRTE_ONMCLRE_

OFFCP_ONCPD_OFFBOREN_ONCLKOUTEN_OFFIESO_ONFCMEN_ON);

__CONFIG(PLLEN_OFFLVP_OFF) ;

#define LED LATA5/*也可用 #define LED RA5,只是PIC16LF1823 输出电平的时候,直接控制LATA5执行速度更快,因为传给RA5的数据最终也是传给LATA5才执行的*/

void init_fosc(void)

{

OSCCON= 0x68;//时钟设置为4MHz

}

void init_gpio(void)

{

PORTA = 0;

LATA = 0;

ANSELA = 0;

TRISAbits.TRISA5=0; //RA5口设置成输出 用来控制LED

}

void init_timer0(void)

{

OPTION_REG=0x87; //预分频为256

}

int main(int argc, char** argv)

{

init_fosc();

init_gpio();

init_timer0();

TMR0IF=0;//清除TMR0中断标志位

TMR0=61;//设置中断初始值61

while(1)

{

if(TMR0IF==1)//定时时间到了吗??

{

LED = ~LED;//改变LED的状态

TMR0IF=0;//清除TMR0中断标志位

TMR0=61;//设置中断初始值61为下次50ms定时做准备

}

}

}

分频器相关文章:分频器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭