找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 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秒
}
}
//*******************************************************************
运行结果如下:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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