欧美午夜在线影院_女同另类_99久久99久久_欧美xxxxx性另类 - 亚洲成一区二区

 

關于我們
技術文章
產品開發 芯片銷售 技術顧問 PCBA加工
消費類 民用類 工控類 汽車類 醫療類
欄目導航
內容搜索
聯系我們

聯系電話: 138O2559739劉生

電子郵件: lmserver@163.com

辦公地址: 深圳市寶安區寶民二路25號


技術文章

dsPIC33系列的ADC初始化方法

信息來源:lmserver   瀏覽次數:1571   更新時間:2013-3-31 13:07:40

//母體為DSPIC33FJ64GP206

#include <p33FJ64GP206.h>


unsigned int  adc_buf[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};            //存放AD轉換結果的數組  

//====================ADC初始化函數==========================

void adc_init(void)                  
{
       TRISB = 0XFFFF;             //SET PORTB INPUT
        AD1PCFGL = 0x0000;     //選擇端口的模式,模擬/數字,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表示使用內部RC時鐘,0表示使用系統FOSC時鐘
        AD1CON3bits.ADCS  = 8; //調節Tcy與Tad的關系,范圍0~63,63是最慢的       
        AD1CON2bits.CSCNA = 0; //不自動掃描輸入
        AD1CON2bits.CHPS  = 0; //同時掃描的通道數,現在只選擇了一個CH0
        AD1CON1bits.SSRC  = 7; //轉換觸發源選擇位,111表示采樣結束自動轉換
        AD1CON3bits.SAMC  = 4; //自動采樣時間為31個Tad,范圍0~31
        AD1CON1bits.FORM  = 0; //數據格式,整數格式,右對齊
        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;     //開始采樣,采樣結束后自動開始轉換
  while(!AD1CON1bits.DONE)     //此位為0表示正在采樣中
      ;
    AD1CON1bits.DONE = 0;      //也可以不清零,在新的轉換開始時,硬件自動清零
    adc_buf[ch]=ADC1BUF0&0x03ff;
}


最新評論
 
請禮貌用語,文明留言!
昵稱:   驗證碼:
郵箱:   QQ/MSN:
內容:
   

Copyright ? 2007-2018 All Rights Reserved
粵ICP備18039308號
Powered By McuDesign