久久丫精品无码视频|亚洲成人黄色电影|超碰国产在线观看|亚洲Aⅴ综合免费在线|久久青青草原国产精品|极品美女三级片国产无码a|女人的黄色片子综合AV|日韩成人?毛片

技術熱線: 4007-888-234
設計開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

技術支持

從全面的產(chǎn)品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

DSPIC33F例程之ADC例程

更新時間: 2019-03-25
閱讀量:1063

深圳市英銳恩科技有限公司:臺灣麥肯單片機(Micon MDT單片機)亞太地區(qū)A級代理商

DSPIC33F例程之ADC例程
//母體為DSPIC33FJ64GP206,編譯器為C30測試版,

#include


unsigned int  adc_buf[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};            //存放AD轉(zhuǎn)換結果的數(shù)組  

//====================ADC初始化函數(shù)==========================

void adc_init(void)                 
{
       TRISB = 0XFFFF;             //SET PORTB INPUT
        AD1PCFGL = 0x0000;     //選擇端口的模式,模擬/數(shù)字,0表示選中模擬采樣
        AD1CON1bits.ADSIDL= 0; //AD模塊一直工作,即使在空閑模式
        AD1CON1bits.AD12B = 0; //ADC工作在10BIT模式
        AD1CON1bits.ASAM  = 0; //選擇了手動采樣模式,當SAMP位置1后才開始采樣
        AD1CON2bits.VCFG  = 0; //參考電壓選擇,bit15:13,000選擇電源參考,001表示Vref+
        AD1CON3bits.ADRC  = 1; //1表示使用內(nèi)部RC時鐘,0表示使用系統(tǒng)FOSC時鐘
        AD1CON3bits.ADCS  = 8; //調(diào)節(jié)Tcy與Tad的關系,范圍0~63,63是最慢的       
        AD1CON2bits.CSCNA = 0; //不自動掃描輸入
        AD1CON2bits.CHPS  = 0; //同時掃描的通道數(shù),現(xiàn)在只選擇了一個CH0
        AD1CON1bits.SSRC  = 7; //轉(zhuǎn)換觸發(fā)源選擇位,111表示采樣結束自動轉(zhuǎn)換
        AD1CON3bits.SAMC  = 4; //自動采樣時間為31個Tad,范圍0~31
        AD1CON1bits.FORM  = 0; //數(shù)據(jù)格式,整數(shù)格式,右對齊
        AD1CON2bits.ALTS  = 0; //總是使用多路開關A來作為通道選擇位       
        AD1CHS0bits.CH0NA = 0; //通道0的反向輸入端為-Vref,這里為地。
        AD1CON1bits.ADON  = 1; //打開ADC模塊
}
//=========================讀取一個通道的值==============================
void read_adc(unsigned char ch)
{   AD1CHS0bits.CH0SA = ch;    //0~15分別表示選中16個通道之一
 AD1CON1bits.SAMP  = 1;     //開始采樣,采樣結束后自動開始轉(zhuǎn)換
  while(!AD1CON1bits.DONE)     //此位為0表示正在采樣中
      ;
    AD1CON1bits.DONE = 0;      //也可以不清零,在新的轉(zhuǎn)換開始時,硬件自動清零
    adc_buf[ch]=ADC1BUF0&0x03ff;
}