日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]>>定時器比較值、計數(shù)值比較緩存寄存器TCMPBn、TCNTBn,這兩個寄存器用于存儲定時器的比較值和計數(shù)初始值。>>定時器比較值、計數(shù)值比較寄存器TCMPn、TCNTn,這兩個寄存器是定時器的內(nèi)部寄存器,用戶無需進行操作。1.

>>定時器比較值、計數(shù)值比較緩存寄存器TCMPBn、TCNTBn,這兩個寄存器用于存儲定時器的比較值和計數(shù)初始值。

>>定時器比較值、計數(shù)值比較寄存器TCMPn、TCNTn,這兩個寄存器是定時器的內(nèi)部寄存器,用戶無需進行操作。


1. 需要配置成定時器模式時使用以下的初始化函數(shù),并且計數(shù)值到0時產(chǎn)生中斷。

//****************定時器中斷服務函數(shù)*****************

void __irq Timer0_isr()

{

//send_str((unsigned char *)"Timer0 interrupt is started!rn");

Led_on(0);Led_off(1);Led_off(2);Led_off(3);

dely(350);

Led_off(0);Led_on(1);Led_off(2);Led_off(3);

dely(350);

Led_off(0);Led_off(1);Led_on(2);Led_off(3);

dely(350);

Led_off(0);Led_off(1);Led_off(2);Led_on(3);

dely(350);

rSRCPND |= 1<<10;

rINTPND |= 1<<10;

//send_str((unsigned char *)"Timer0 interrupt is end!rn");

}

void Init_timer0()

{

rTCFG0 &= ~(0xff);

rTCFG0 |= 99;

rTCFG1 &= ~(0xf);

rTCFG1 |= 0x02;

rTCNTB0 =62500;//1s中斷一次

rTCON |= 1<<1;

rTCON = 0x09;

//使能定時器中斷

rINTMSK = ~(1<<10);

pISR_TIMER0= (unsigned int)Timer0_isr;

}

2. 若需要配置成PWM使用如下的初始化函數(shù),不需要中斷處理函數(shù),并且有外部引腳提供輸出。此情況下,輸出電平變化兩次,一次是比較值相等時,另一次是計數(shù)器減到0時,所以一下初始化程序產(chǎn)生的PWM方波的頻率是62500Hz。

void Init_PWM0()

{

rGPBCON &= ~(0x03); //GPB0進行清零

rGPBCON |= 1<<1; //設置為TOUT0輸出

rTCFG0 &= ~(0xff);

rTCFG0 |= 99; //第一級分頻器的分頻系數(shù)是100

rTCFG1 &= ~(0xf);

rTCFG1 |= 0x02;//第二級分頻器的分頻系數(shù)是8

rTCNTB0 =62;//0.001s中斷一次

rTCMPB0 = rTCNTB0/2; //占空比為50%

rTCON |= 1<<1; //加載計數(shù)值和比較值分別到各自的緩存寄存器

rTCON = 0x0d;//0位開啟定時器,2位當TCNT0和TCMP0相等時翻轉(zhuǎn)電平,3位當TCNT0中的值減到0時,TCNTB0的值自動加載到TCNT0中計數(shù)。

}


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉