|
我們的課程設(shè)計(jì),單片機(jī)采樣程序。
- #include<MSP430G2553.h>
- /*初始化函數(shù),
- * BIT為選擇輸入端口可累加輸入即BIT=BIT0+BIT1...由P1.0到P1.7口可作為AD采樣。
- * SREF_0是電壓選擇基準(zhǔn)。有0——7,七個(gè)基準(zhǔn)。
- * ADC10SSEL_0為ADC10時(shí)鐘源選擇。0為ADC10OSC,1為ACLK,2為MCLK,3為SMCLK
- * CONSEQ_0為轉(zhuǎn)換序列模式選擇。0為單通道單次轉(zhuǎn)換,1為單序列單次轉(zhuǎn)換,2位單通道重復(fù)轉(zhuǎn)換 ,3為單序列重復(fù)轉(zhuǎn)換
- */
- void init_ADC10(unsigned char BIT)
- {
- P1DIR &=~ BIT;
- P1SEL |= BIT;
- ADC10AE0 |= BIT;
- ADC10CTL0 = ADC10ON + MSC + SREF_0 + REFON;
- //開(kāi)AD內(nèi)核,選擇電源為參考電壓
- ADC10CTL1 = ADC10SSEL_0 + CONSEQ_0; //采用單通道次采用分時(shí)復(fù)用
- }
- /*開(kāi)始函數(shù),在開(kāi)始函數(shù)中自行選擇所用通道*/
- unsigned int start_ADC10(unsigned int INCH)
- {
- unsigned int temp;
- ADC10CTL1 |= INCH; //Channal 0
- ADC10CTL0 |= ADC10SC + ENC; // 開(kāi)始轉(zhuǎn)換 開(kāi)轉(zhuǎn)換允許
- while (ADC10CTL1 & ADC10BUSY != 0); //判斷是否轉(zhuǎn)換完畢
- temp = ADC10MEM;
- ADC10CTL0 &= ~(ADC10SC + ENC); //關(guān)轉(zhuǎn)換允許才能選擇通道
- ADC10CTL1 &= ~INCH_0; //通道清0
- return temp;//實(shí)際電壓值=[3.3/(2^10)]*temp
- }
復(fù)制代碼
下載:
ADC10.zip
(1.23 KB, 下載次數(shù): 17)
2017-3-26 20:56 上傳
點(diǎn)擊文件名下載附件
單片機(jī)采樣
|
|