网站大量收购独家精品文档,联系QQ:2885784924

04 基本输入输出接口(二).ppt

  1. 1、本文档共115页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
04 基本输入输出接口(二).ppt

3. A/D转换器 A/D转换器概述 A/D转换的原理 D/A转换的方法 A/D转换电路 A/D转换接口编程 按结构划分,ADC和DAC可分为3类: 单片集成: 混合集成: 模块结构: S3C2410A包含一个8通道的A/D转换器,内部结构见下图,该电路可以将模拟输入信号转换成10位数字编码(10位分辨率),差分线性误差为1.0 LSB,积分线性误差为2.0 LSB。在A/D转换时钟频率为2.5MHz时,其最大转换率为500KSPS(千采样点每秒),输入电压范围是0-3.3V。A/D转换器支持片上操作、采样保持功能和掉电模式。 使用S3C2410A的A/D转换器进行模拟信号到数字信号的转换,需要配置以下相关的寄存器。 (1)ADC控制寄存器(ADCCON) ADC控制寄存器(ADCCON)是一个16位的可读/写的寄存器,地址为0x5800 0000,复位值为0x3FC4。ADCCON位的功能描述如下表: S3C2410A有ADCDAT0和ADCDAT1两个ADC转换数据寄存器。ADCDAT0和ADCDAT1为只读寄存器,地址分别为0x5800 000C和0x5800 0010。 ADCDAT0的位功能描述如下表: 3. A/D转换器 A/D转换器概述 A/D转换的原理 D/A转换的方法 A/D转换电路 A/D转换接口编程 A/D转换的数据可以通过中断或查询的方式来访问,如果是用中断方式,则全部的转换时间(从A/D转换的开始到数据读出)要更长。如果是查询方式,则要检测ADCCON[15](转换结束标志位)来确定从ADCDAT寄存器读取的数据是否是最新的转换数据。 A/D转换开始的另一种方式是将ADCCON[1]置为1,这时只要有读转换数据的信号A/D转换就会同步开始。 1、初始化函数 void init_ADdevice() { rADCCON=(114)|(496); /* 114=0100 0000 0000 0000 配置ADC[14] 496=0000 0000 3100 0000 配置ADC[13:6] ADC[5:3]默认为0 */ rADCCON+=1; //开始转换 } 2、A/D转换函数 int GetADresult(int channel) { rADCCON=(114)|(496)|(channle 3)|(11); /*ADC转换使能_A/D转换预分频_设置模拟量输入通道_使 能由读操作开始 */ while(!(rADCCON(0x115))); //等待转换结束 return (rADCDAT00x3ff);//取出采样值,值的范围0—0x3ff并返回采样值 } 3、测试函数 void Example(void) { int i=0; int value=0; init_ADdevice(); //初始化ADC Uart_SendByten(0,‘B’);//发送B作为开始标记 while(1) { for(i=0;i=

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档