S3C2440A 內(nèi)部具有8 路模擬信號(hào)輸入的10 位模/數(shù)轉(zhuǎn)換器(ADC)。
用到的寄存器有:
ADCCON:用于選擇通道、設(shè)置頻率、開始轉(zhuǎn)換、結(jié)束標(biāo)志
ADC的頻率 = PCLK/(ADCCON[13:6]+1)
ADCDATn:用于讀出ADC通道n的轉(zhuǎn)換結(jié)果:ADCDATn[9:0]
下面是個(gè)ADC通道0的實(shí)驗(yàn)程序:
//********************************************************************
#define adc_frequency 2000000
void Main(void)
{
int i;
……硬件初始化……
Uart_Printf("ADC實(shí)驗(yàn)\n\n");
rADCCON = 1<<3 | (PCLK/adc_frequency - 1)<<6 | 1<<14 ; //選擇通道1,設(shè)置ADC頻率,頻率有效
while(1)
{
rADCCON|=0x1; //啟動(dòng)ADC while(!(rADCCON & 0x8000)); //等待是否轉(zhuǎn)換完畢
Uart_Printf("AIN1: %d\n",rADCDAT0&0x3FF); //輸出轉(zhuǎn)換結(jié)果
Delay(1000); //延時(shí)1秒
}
} //******************************************************************* 運(yùn)行結(jié)果如下:

|