PIC16F877A-定時(shí)器0
PIC16F877A_Timer0_定時(shí)器
本文引用地址:http://butianyuan.cn/article/201611/316100.htm********************************************************/
#include "pic.h"
__CONFIG(0X3F71);
/********************************************************
定時(shí)器0初始化函數(shù)
********************************************************/
void Init_T0()
{
T0CS = 0;//內(nèi)部時(shí)鐘源
T0SE = 1;//下降沿增計(jì)數(shù)
PSA = 1;//預(yù)分頻器分配給WDT,TMR0不分頻
TMR0IF = 0;
GIE = 1;//打開總中斷
TMR0IE = 1;//打開定時(shí)器0中斷允許
TMR0 = 238;//加載初值
}
/********************************************************
中斷服務(wù)函數(shù):PIC16F877A只有一個(gè)中斷入口地址,進(jìn)入中斷之后第一件事
就是根據(jù)中斷標(biāo)志位判斷是哪個(gè)模塊產(chǎn)生的中斷,再做相應(yīng)的處理
********************************************************/
void interrupt Timer0()
{
if(TMR0IF)//判斷是否為定時(shí)器0溢出中民
{
TMR0IF = 0;//清除溢出標(biāo)志
TMR0 = 238;//重新加載初值
PORTD = ~PORTD;//輸出指示
}
}
/********************************************************
主函數(shù)
********************************************************/
void main(void)
{
Init_T0();//定時(shí)器0初始化
PORTD = 0xff;
TRISD = 0x00;
while(1)
{
asm("nop");
}
}
評(píng)論