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

第七章S3C2410的ADamp;DA讲述.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 S3C2410的A/D、D/A转换控制 主要内容 7.1 S3C2410的A/D、D/A转换控制 7.1.1 A/D转换控制寄存器(ADCCON) 7.1.2 A /D转换控制程序的编制步骤 7.2 参考程序 S3C2410的A/D转换器包含一个8通道的模拟输入转换器,可以将模拟输入信号转换成10位数字编码 在A/D转换时钟频率2.5MHz时,其最大转换率为500KSPS 输入电压范围为0~3.3V AD转换接口中的AIN[7]通道和AIN[5]通道为触摸屏的模拟信号输入口 A/D转换器结构 A/D 转换控制寄存器负责对S3C2410内部的A/D转换器进行参数设置以完成需要的功能。A/D转换控制寄存器地址为 0复位值默认0x3FC4。 ADCCON---ADC控制寄存器 ECFLG---转换结束标志(只读) 0:转换操作中 1:转换结束 PRSCEN---转换器预分频器使能 0:停止预分频器; 1:使能预分频器 PRSCVL---转换器预分频器数值N范围:1~255 SEL_MUX ---模拟输入通道选择 000~111:AIN0~AIN7 STDBM---备用模式设置 0:正常工作模式;1:备用模式,不做A/D转换 READ_START---通过读取启动转换 0:停止通过读取启动转换;1:使能通过读取启动转换 ENABLE_START---启动转换(若READ_START为1,则该位无效) 0:无效; 1:启动A/D转换(启动后被清0) ADC控制寄存器(ADCCON)(R/W) A/D采样的时钟频率由A/D采样预分频PRSCVL决定 假设CPU主时钟频率为50MHz,ADCPSR设置值为49,完成一次A/D转换需要至少5个时钟周期,那么采样频率为: f=50MHz/ (49+1)=1MHz 转换时间=1/(1MHz/5cycles)=5μs A/D控制寄存器的bit[0]置1可以启动转换,当启动转换后,该位会被自动清除。同时启动转换时还需要指定转换通道,人们通过设置控制寄存器的bit[5:3]来完成8个通道的选择。 例如,下面的代码完成通道2的选择: rADCCON = 0x1 | (0x23) ; 当A/D转换结束后,可以通过读取A/D数据寄存器(ADCDAT)的值获取转换结果。通过检查A/D控制转换器ECFLG位(bit[15])的值,可以确定A/D转换是否完成,当转换完成后就可以从数据寄存器读出转换结果。 ADC触摸屏控制寄存器(ADCTSC)(R/W) ADC触摸屏控制寄存器(ADCTSC)(R/W) S3C2410A有ADCDAT0和ADCDAT1两个ADC转换数据寄存器。 ADCDAT0和ADCDAT1为只读寄存器,地址分别为0x5800 000C和0x5800 0010。 在触摸屏应用中,分别使用ADCDAT0和ADCDAT1保存X位置和Y位置的转换数据。 对于正常的A/D转换,只用ADCDAT0来保存转换后的数据。 ADCDAT0的位功能 ADCDAT1的位功能描述 S3C2410A A/D接口编程实例 #define rADCCON (* (volatile unsigned*) 0 //控制寄存器 #define rADCTSC (* (volatile unsigned*) 0 //触摸屏控制寄存器 #define rADCDLY (* (volatile unsigned*) 0 //启动或间隔延时寄存器 #define rADCDAT0 (* (volatile unsigned*) 0x5800000c) //转换数据寄存器0 #define rADCDAT1 (* (volati1e unsigned*) 0 //转换数据寄存器 S3C2410A A/D接口编程实例 void AD_Init(unsigned char ch) //参数ch表示所选择的通道号 { rADCDLY=100; //ADC启动或间隔延时 rADCTSC=0; //选择正常ADC模式,非触摸屏 //分频器使能,PRSCVL=49,选通道号,正常模式,禁止读操作启动, //A/D转换器不操作 rADCCON=(114)|(496)|(ch3)| (02)|(01)|(0); } S3C2410A A/D接口编程实例 int Get_AD(unsigned char

文档评论(0)

我是追梦人 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档