当前位置:首页 > 单片机 > 单片机
[导读]/*********PIC16F877A TMR0定时器实验2*******使用前置分频器,为实现精确定时,不应对TMR0进行重复写入操作PS2 PS1 PS00 0 0 2 分频0 0 1 4 分频0 1 0 8 分频0 1 1 16 分频1 0 0 32 分频1 0 1 64 分频1 1 0 128分频1

/*********PIC16F877A TMR0定时器实验2*******
使用前置分频器,为实现精确定时,不应对TMR0进行重复写入操作
PS2 PS1 PS0
0 0 0 2 分频
0 0 1 4 分频
0 1 0 8 分频
0 1 1 16 分频
1 0 0 32 分频
1 0 1 64 分频
1 1 0 128分频
1 1 1 256分频
TMR0用作定时器时,定时器时钟=系统时钟/4
前置分频器分配给TMR0,对输入时钟256分频
如果MCU 4MHZ ,TMR0定时频率=1000000/(256*256)
*******************************************/
#include
#include "../head/config.h"

__CONFIG(HS&WDTDIS&LVPDIS&PWRTEN);
//HS振荡,禁止看门狗,低压编程关闭,启动延时定时器

void main(void)
{
PSA = 1;
PS2 = 0;
PS1 = 1;
PS0 = 1;
T0CS = 0;
TMR0 = 0;
GIE = 1;
T0IE = 1;
PORTD = 0x00;
TRISD = 0xfe;
while(1){}
}

void interrupt ISR(void)
{
static uint16 microSec = 0;
if(T0IE && T0IF)
{
T0IF = 0;
if(++microSec > 500)
{
microSec = 0;
PORTD = ~PORTD;
}
}
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭