单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:3872|回复:1
打印上一主题下一主题

2440裸机编程之七 模数转换器ADC

[复制链接]
跳转到指定楼层
楼主
ID:68618发表于 2014-11-12 13:49|只看该作者回帖奖励

S3C2440A 内部具有8 路模拟信号输入的10 位模/数转换器(ADC)。


用到的寄存器有:
ADCCON:用于选择通道、设置频率、开始转换、结束标志
   ADC的频率 = PCLK/(ADCCON[13:6]+1)
ADCDATn:用于读出ADC通道n的转换结果:ADCDATn[9:0]

下面是个ADC通道0的实验程序:
//********************************************************************
#define adc_frequency 2000000
void Main(void)
{    
   int i;
   ……硬件初始化……

Uart_Printf("ADC实验\n\n");

rADCCON = 1<<3 | (PCLK/adc_frequency - 1)<<6 | 1<<14 ;   //选择通道1,设置ADC频率,频率有效

while(1)
{
     rADCCON|=0x1;         //启动ADC
     while(!(rADCCON& 0x8000));       //等待是否转换完毕
   Uart_Printf("AIN1:   %d\n",rADCDAT0&0x3FF);   //输出转换结果
   Delay(1000);         //延时1秒
}
}
//*******************************************************************
运行结果如下:

沙发
ID:45457发表于 2015-9-11 19:09|只看该作者
2440裸机编程之七 模数转换器ADC

手机版|小黑屋|51黑电子论坛|51黑电子论坛6群QQ管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网