当前位置: 首页 > news >正文

嵌入式s3c2240: ADC

ADC :模数转换

10 CMOS ADC (模 / 数转换器)是一个 8 通道模拟输入的再循环类型设备。其转换模拟输入信号为 10 位二进制数字编码,最大转换率为 2.5MHz A/D 转换器时钟下的 500 KSPS
模拟:连续信号
数字:离散信号

原理 

当采样到信号后, 与各个比较器相比较

假设采样到2.5

2.5>0 比较器1输出0

2.5>1 比较器2输出0

2.5>2 比较器3输出0

2.5<3 比较器4输出1

四位数字可以用2位二进制代码存储

比3小自然比后面4,5...都小

所以置位第四个比较器为11

而开发板共10位二进制数编码,精度为0~3.3V(开发板最高供电3.3V),量程为1024(0~1023)

最高频率为2.5MHz

PCLK为50M,设置预分频值为49(49+1=50)分频后转换器频率50/50=1MHz

ADC控制寄存器(ADCCON)

ADC控制器初始化 

void adc_init(void)
{ADCCON = (1<<14) |(49<<6)|(1<<1);//因为是直接赋值,所以为0的地方直接就是0
}

设置预分频值49

通道选择0

正常工作模式

使能读启动操作

这里设置为使能读启动(要先读一次启动读操作) ,读取一次后自动读取下一次

若是手动启动A/D转换

 

ADC转换数据寄存器(ADCDAT0)

 

读取adc信号 

unsigned short adc_read(void)
{unsigned short data = ADCDAT0;//读取一次ADCDAT数据才能启动转换while(!(ADCCON & (1<<15)));	//正在转换时(ADCCON第15位为0)等候data = ADCDAT0 & 0x3ff;		//转换完读取数据return data;
}


http://www.mrgr.cn/news/21130.html

相关文章:

  • Flutter集成Firebase中的Realtime Analytics
  • C#读写锁与并发控制
  • 电脑桌面整理怎么弄?分享8款桌面整理软件,轻松拿捏桌面美化!
  • 【脚手架 第一篇章】介绍一下若依微服务版框架
  • 超级兔子与这三款恢复工具:性能对比与用户体验分析
  • 数学基础 -- 线性代数之矩阵正定性
  • 10款古方突破1800亿元,康缘药业发力,市场迎井喷式增长……
  • 2024.9.6 作业
  • 【简历】25届南京某一本JAVA简历:简历通过率还好,但是拿不到OFFER
  • Qt-布局管理
  • 太极八卦图时钟屏保 这个电脑屏保很有个性哦 你喜欢吗?
  • timm从本地加载预训练模型
  • Jmeter模拟用户登录时获取token如何跨线程使用?
  • leetcode:516 最长回文字序列 动态规划
  • 夫妻离婚对债务的约定是否对第三人有效?
  • [Android] [SnapdragonCamera] 单摄(横屏)阶段总结
  • GitHub每日最火火火项目(9.6)
  • Git 撤回commit
  • 主流的3D模型格式有什么区别?
  • <数据集>二维码识别数据集<目标检测>