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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]// 時(shí)鐘默認(rèn)情況 // FLL時(shí)鐘 FLL選擇 XT1 // 輔助時(shí)鐘 ACLK選擇 XT1 32768Hz // 主系統(tǒng)時(shí)鐘 MCLK選擇 DCOCLKDIV 8000000Hz // 子系統(tǒng)時(shí)鐘 SMCLK選擇 DCOCLKDIV 8000000Hz // TA1選擇ACLK,最大計(jì)數(shù)值為6

// 時(shí)鐘默認(rèn)情況

// FLL時(shí)鐘 FLL選擇 XT1

// 輔助時(shí)鐘 ACLK選擇 XT1 32768Hz

// 主系統(tǒng)時(shí)鐘 MCLK選擇 DCOCLKDIV 8000000Hz

// 子系統(tǒng)時(shí)鐘 SMCLK選擇 DCOCLKDIV 8000000Hz

// TA1選擇ACLK,最大計(jì)數(shù)值為65535

// 比較匹配值為 32768

// 在TIMER1_A0_VECTOR中 CCR0中斷 P4.0 = 0

// 在TIMER1_A1_VECTOR中 OVF中斷 P4.0 = 1

// 實(shí)際效果 P4.0 1s為高電平,1s為低電平,交替進(jìn)行

#include

#include

void clock_config(void);

void select_xt1(void);

void dco_config(void);

int main(void)

{

clock_config(); // 初始化時(shí)鐘

P4DIR |= BIT0; // P4.0輸出

TA1CCTL0 = CCIE; // 使能TA1CCR0,比較匹配中斷

TA1CCR0 = 16384; // 初始化比較匹配值

TA1CTL = TASSEL_1 + MC_2 + TACLR + TAIE; // 選擇ACLK,最大值為65535,清除計(jì)數(shù)值

_EINT(); // 初始化全局中斷

while(1)

{

;

}

}

void clock_config(void)

{

WDTCTL = WDTPW + WDTHOLD; // 停止看門(mén)狗

select_xt1(); // 選擇XT1

dco_config(); // ACLK = XT1 = 32.768K

// MCLK = SMCLK = 8000K

}

void select_xt1(void)

{

// 啟動(dòng)XT1

P7SEL |= 0x03; // P7.0 P7.1 外設(shè)功能

UCSCTL6 &= ~(XT1OFF); // XT1打開(kāi)

UCSCTL6 |= XCAP_3; // 內(nèi)部電容

do

{

UCSCTL7 &= ~XT1LFOFFG; // 清楚XT1錯(cuò)誤標(biāo)記

}while (UCSCTL7&XT1LFOFFG); // 檢測(cè)XT1錯(cuò)誤標(biāo)記

}

void dco_config(void)

{

__bis_SR_register(SCG0); // 禁止FLL功能

UCSCTL0 = 0x0000; // Set lowest possible DCOx, MODx

UCSCTL1 = DCORSEL_5; // DCO最大頻率為16MHz

UCSCTL2 = FLLD_1 + 243; // 設(shè)置DCO頻率為8MHz

// MCLK = SMCLK= Fdcoclkdiv = (N+1)X(Ffllrefclk/n)

// N為唯一需要計(jì)算的值

// Ffllrefclk FLL參考時(shí)鐘,默認(rèn)為XT1

// n取默認(rèn)值,此時(shí)為1

// (243 + 1) * 32768 = 8MHz

__bic_SR_register(SCG0); // 使能FLL功能

// 必要延時(shí)

__delay_cycles(250000);

// 清楚錯(cuò)誤標(biāo)志位

do

{

UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);

// 清除所有振蕩器錯(cuò)誤標(biāo)志位

SFRIFG1 &= ~OFIFG; // 清除振蕩器錯(cuò)誤

}while (SFRIFG1&OFIFG); // 等待清楚完成

}

#pragma vector=TIMER1_A0_VECTOR

__interrupt void TIMER1_A0_ISR(void)

{

P4OUT &= ~BIT0;

}

#pragma vector=TIMER1_A1_VECTOR

__interrupt void TIMER1_A1_ISR(void)

{

switch(__even_in_range(TA1IV,14))

{

case 0: break; // No interrupt

case 2: break; // CCR1中斷

case 4: break; // CCR2中斷

case 6: break; // reserved

case 8: break; // reserved

case 10: break; // reserved

case 12: break; // reserved

case 14: // 溢出中斷

P4OUT |= BIT0;

break;

default: break;

}

}


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