S3C2440 測試程序(三) ADC實(shí)驗(yàn)
該實(shí)驗(yàn)比較簡單,就是使用了S3C2440上的ADC硬件接口AIN2。
下面看下設(shè)置。
根據(jù)Datasheet,A/D轉(zhuǎn)換的頻率為50MHz/(prescaler+1)
eg. A/Dconverter freq. = 50MHz/(49+1) = 1MHz
Conversion time = 1/(1MHz / 5cycles) = 1/200KHz = 5 us
看下程序,我們使用了2.5MHz,所有prescaler=19
代碼如下:
prescaler=19;
ADCCON=(1<<14)|(prescaler<<6)|(2<<3);
注: bit[15]:Read only, 0--A/D conversion in process 1--End of A/D conversion
bit[14]:0--Disable prescaler 1--Enable prescaler(1<<14)
bit[13:6]:the value of prescaler(prescaler<<6)
bit[5:3]:AIN channel select(2<<3)
bit[0]:1--A/D conversion starts,and cleared after the startup
rADCCON |= 0x01; 注:使能A/D轉(zhuǎn)換 while(rADCCON & 0x01); 注:確認(rèn)已開始轉(zhuǎn)換 while(!(rADCCON & 0x8000)); 注:等待轉(zhuǎn)換結(jié)束 return ( (int)rADCDAT0 & 0x3ff ); 注:取AD值