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

當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀]1.關(guān)于MSP430F4250:2.關(guān)于MSP430F4250 AD:參考MSP430X4XXFamily User’s Guide:關(guān)于16位AD采樣有兩種:2.1 MSP430F4250選的是哪種

1.關(guān)于MSP430F4250:


2.關(guān)于MSP430F4250 AD:

參考MSP430X4XXFamily User’s Guide:

關(guān)于16位AD采樣有兩種:


2.1 MSP430F4250選的是哪種?





其實(shí)并不是軟件設(shè)置哪種,而是型號決定,由上述可知,MSP430F4250使用的是SD16_A


2.2 MSP430F4250 AD的輸入電壓范圍是多少?

此時參考的手冊需要更換為MSP430F42X0手冊:


2.3 MSP430F4250 AD的轉(zhuǎn)換結(jié)果在哪?數(shù)據(jù)格式是什么?

繼續(xù)參考MSP430X4XX Family User’s Guide手冊:



AD的轉(zhuǎn)換結(jié)果就在SD16MEMx這個寄存器里保存,數(shù)據(jù)格式和設(shè)置有關(guān):


其中SD16UNI和SD16DF都是SD16CCTLx(其中x是用戶選擇的通道編號)寄存器中的兩位。

另外補(bǔ)充,關(guān)于FSR:

MSP430F4250 AD有內(nèi)部參考電壓1.2V,如果設(shè)置了選取內(nèi)部參考電壓,那么FSR = 1.2V/2/GAIN= 0.6V(當(dāng)GAIN = 1時)。

如果沒有選取內(nèi)部參考電壓,那么FSR = Vref/2/GAIN(想得到最大的輸入范圍,就把AVcc[3.3v]接到單片機(jī)的Vref引腳上)。(純屬個人理解和設(shè)置,最高只試過1.6V的,但是手冊上的意思應(yīng)該可以0-3.3V,暫時沒有嘗試)。

是否選擇內(nèi)部參考電壓,在SD16CTL寄存器中的:



2.4 MSP430F4250 AD的轉(zhuǎn)換速率?

參考MSP430X4XX Family User’s Guide手冊,AD轉(zhuǎn)換速率和單片機(jī)時鐘配置有關(guān):


可知如果使用32768-Hz的外部晶振,則CPU主時鐘MCLK=外設(shè)時鐘SMCLK=1MHz左右(默認(rèn)值,如果想要改變則可以通過設(shè)置SCFQCTL和SCFI0進(jìn)行倍頻)。AD設(shè)置時鐘源可以選擇是ACLK(32768Hz)和SMCLK(1MHz),AD時鐘選擇上選擇SMCLK(SMCLK=MCLK為最快)即可得到最快的轉(zhuǎn)換速率,下面是一種設(shè)置下的轉(zhuǎn)換速率的說明:


256的過采樣率,并且每四次采樣觸發(fā)一次中斷,那么約244us進(jìn)行一次AD轉(zhuǎn)換。

AD代碼如下:


#include??


#define???Num_of_Results???80

/*?Arrays?to?store?SD16_A?conversion?results?*/
/*?NOTE:?arrays?need?to?be?global?to???????*/
/*???????prevent?removal?by?compiler???????*/
static?unsigned?int?results[Num_of_Results];

void?main(void)
{
??volatile?unsigned?int?i;??????????????????//?Use?volatile?to?prevent?removal
????????????????????????????????????????????//?by?compiler?optimization

??WDTCTL?=?WDTPW?+?WDTHOLD;?????????????????//?Stop?WDT
??FLL_CTL0?|=?XCAP14PF;?????????????????????//?Configure?load?caps
??for?(i?=?0;?i?<?10000;?i++);??????????????//?Delay?for?32?kHz?crystal?to
????????????????????????????????????????????//?stabilize
??P1SEL?=?0;????????????????????????????????//GPIO
??P1DIR?=?0xff;?????????????????????????????//out
??
??SD16CTL?=?SD16REFON+SD16SSEL0;????????????//?1.2V?ref,?SMCLK
??SD16INCTL0?|=?SD16INTDLY_0;???????????????//?Interrupt?on?4th?sample
??SD16CCTL0?|=?SD16IE?;?????????????????????//?Enable?interrupt
??for?(i?=?0;?i?<?0x3600;?i++);?????????????//?Delay?for?1.2V?ref?startup

??_EINT();??????????????????????????????????//?Enable?general?interrupts

??SD16CCTL0?|=?SD16SC;??????????????????????//?Set?bit?to?start?conversion
??_BIS_SR(LPM0_bits);???????????????????????//?Enter?LPM0
??
}

#pragma?vector=SD16_VECTOR
__interrupt?void?SD16ISR(void)
{
??static?unsigned?int?index?=?0;

??switch?(SD16IV)
??{
??case?2:???????????????????????????????????//?SD16MEM?Overflow
????break;
??case?4:???????????????????????????????????//?SD16MEM0?IFG
????results[index]?=?SD16MEM0;??????????????//?Save?CH0?results?(clears?IFG)
????P1OUT?=?0x03;???????????????????????????//Pin?0,1?out?1
????if?(++index?==?Num_of_Results)
????{
??????index?=?0;????????????????????????????//?SET?BREAKPOINT?HERE
??????//SD16CCTL0?&=~?SD16SC;
??????P1OUT?=?0x00;?????????????????????????//Pin?0,1?out?0???
????}
????break;
??}
}



AD代碼的示波器測試:(通過觀察P1.0輸出)



連續(xù)轉(zhuǎn)換的每次轉(zhuǎn)換時間為224us,轉(zhuǎn)換80次為19.6ms。



以上純屬個人見解,初學(xué)者可以參考但一切以官方手冊為準(zhǔn)。


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