找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3511|回复: 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 单片机教程网

快速回复 返回顶部 返回列表