新聞中心

PIC16F877A-定時(shí)器0

作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò) 收藏
/********************************************************

PIC16F877A_Timer0_定時(shí)器

本文引用地址:http://m.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;//打開(kāi)總中斷

TMR0IE = 1;//打開(kāi)定時(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");

}

}



關(guān)鍵詞: PIC16F877A定時(shí)器

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉