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

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1.前言這幾天實(shí)踐了MSP430的ADC12功能,雖然片內(nèi)AD功能比較簡(jiǎn)單但是還學(xué)出了點(diǎn)“門(mén)道”來(lái),這個(gè)“門(mén)道”便是MSP430F5438A和MSP430F5438的區(qū)別。這里通過(guò)一個(gè)例子說(shuō)明片內(nèi)ADC的使用,首先實(shí)現(xiàn)UART和定時(shí)器1S溢出的功能

1.前言

這幾天實(shí)踐了MSP430的ADC12功能,雖然片內(nèi)AD功能比較簡(jiǎn)單但是還學(xué)出了點(diǎn)“門(mén)道”來(lái),這個(gè)“門(mén)道”便是MSP430F5438A和MSP430F5438的區(qū)別。這里通過(guò)一個(gè)例子說(shuō)明片內(nèi)ADC的使用,首先實(shí)現(xiàn)UART和定時(shí)器1S溢出的功能,在上述功能的基礎(chǔ)上每1S打印一次AD轉(zhuǎn)換結(jié)果,轉(zhuǎn)換通道定向到通道11,該通道對(duì)應(yīng)AVCC和AVSS插值的一半,由于AVCC和LDO的輸出之間只有一個(gè)電感連接,可以理解轉(zhuǎn)換的結(jié)果為L(zhǎng)DO輸出電壓的一般,若擴(kuò)大兩倍便是LDO的實(shí)際輸出結(jié)果,在本文所用的開(kāi)發(fā)板LDO輸出為3.3V,所有打印的結(jié)果越接近3.3V越好。

2.代碼實(shí)現(xiàn)和輸出結(jié)果

代碼實(shí)現(xiàn)


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

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

//輔助時(shí)鐘ACLK選擇XT132768Hz

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

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

//TA1選擇ACLK,最大計(jì)數(shù)值為32768,中斷頻率為1HZ

#include

#include

#include

voidclock_config(void);

voidselect_xt1(void);

voiddco_config(void);

voidadc12_config(void);

voiduart_config(void);

charsecond_flag=0;//1S標(biāo)志

intmain(void)

{

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

adc12_config();//初始化ADC12

uart_config();

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

TA1CCR0=32768;//初始化最大值,發(fā)生比較匹配中斷頻率32768/32768=1Hz

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

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

while(1)

{

if(second_flag)

{

second_flag=0;//1s時(shí)間到

ADC12CTL0|=ADC12SC;//啟動(dòng)轉(zhuǎn)換

while(!(ADC12IFG&BIT0));//等待轉(zhuǎn)換完成

//被轉(zhuǎn)換的通道為通道11(AVCC-AVSS)/2;

//此時(shí)轉(zhuǎn)換的精度為12位——4096

//AVCC通過(guò)一個(gè)電感和LDO的輸出端連接

//打印LDO輸出電壓,保留3位精度

floatldo_voltage=ADC12MEM0/4096.0*3.3*2;

printf("LDOVoltage%.3frn",ldo_voltage);

}

}

}

voidclock_config(void)

{

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

select_xt1();//選擇XT1

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

//MCLK=SMCLK=8000K

}

voidselect_xt1(void)

{

//啟動(dòng)XT1

P7SEL|=0x03;//P7.0P7.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)記

}

voiddco_config(void)

{

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

UCSCTL0=0x0000;//SetlowestpossibleDCOx,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)為X

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