5.AD转换以及触摸屏实验.pptVIP

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.AD转换以及触摸屏实验

ARM实验 AD转换以及触摸屏实验 AD转换: 又称为模数转换,是将模拟信号转换为计算机能够处理的数字信号。 s3c2440集成了8通道10位CMOS A/D转换器。 ADCCON 第15位:用于标识A/D转换是否结束。 第14位:用于使能是否进行预分频。 13--6:则存储的是预分频数值,因为A/D转换的速度不能太快,所以要通过预分频处理才可以得到正确的A/D转换速度,如我们想要得到A/D转换频率为1MHz,则预分频的值应为49。 5--3:表示的是A/D转换的通道选择。 第2位:可以实现A/D转换的待机模式。 第1位:用于是否通过读取操作来使能A/D转换的开始。第0位:则是在第1位被清零的情况下用于开启A/D转换。 1. A/D 转换的数据可以通过中断或查询方式访问。中断方式的总体转换时间为从A/D 转换器开始到转换数据的读取,可能由于中断服务程序的返回时间和数据访问时间而延迟。查询方式是通过检查转换结束标志位的ADCCON[15],可以确 定读取ADCDAT 寄存器的时间。 2. 还提供了其它启动A/D 转换的方法。在转换的读启动模式ADCCON[1]设置为1 后,A/D 转换启动同时读取数据。 寄存器ADCDAT0的低10位用于存储A/D转换后的数据。寄存器ADCCON的第15位用于标识A/D转换是否结束。 int readADC(void) { rADCCON = (114)|(496); //设置预分频器和 rADCCON = ~( (73) | ( 12) ); // A/D通道0, 正常模式 rADCCON|=0x1; //启动A/D转换 while(rADCCON 0x1) ; //确认A/D转换是否开始 while(!(rADCCON 0x8000)) ; //等待A/D转换的结束 return ( (int)rADCDAT0 0x3ff ); //读取A/D转换的数据 } 练习: 用中断的方式,来进行AD转换,旋转滑动变阻器,在超级终端上显示数字。 触摸屏接口 MINI2440原理图 触摸屏接口模式 触摸屏有四种接口模式: (1)普通转换模式 与通用AD转换的使用方式很相似。通过设置ADCCON来初始化,并以一个读和写ADCDAT0的操作完成。 (2)X/Y位置分别转换模式 又可以分成两种模式:X位置转换模式和Y位置转换模式。这两种模式下,触摸屏分别把X、Y位置转换数据写入到ADCDAT0和ADCDAT1中之后,向中断控制器发起中断请求。 (3)自动(顺序)X/Y位置转换模式 触摸屏控制器依次转换X和Y位置,把转换结果分别写入到ADCDAT0和ADCDAT1中,然后向中断控制器发起中断请求。 (4)等待中断模式 设置ADCTSC为0xD3,当触摸笔按下时,控制器发起中断请求。 中断类型 最终向处理器发起的中断请求类型是 总中断INT_ADC,它分为两种子中断类型, 1. INT_SUB_ADC表示AD采样完成(触摸屏X、Y位置采样完成); 2. INT_SUB_TC表示触摸屏中断,即笔在屏幕上按下或者离开屏幕。 触摸屏实验 思考: 要实现X、Y位置判断,当然是用自动采样模式最好;而要判断触摸笔的按下与离开,则应使用等待中断模式。 问题是怎么把二者结合起来? 方法: 采用等待中断模式来判断笔的按下与离开; 另外设置一个采样定时器,每隔一定时间(10ms)对X、Y位置进行采样。 注意问题: (1)只有在笔按下状态时才进行位置采样,笔不在屏幕上时,采样是没有意义的。 (2)位置采样采用轮询模式实现,即等待采样完成;采样完成后要恢复ADCTSC,重置为等待中断模式。 (3)在普通转换模式,分别采样模式和自动采样模式下,ADCDAT0的最高位无效,不能用它来判断笔的状态。只有在触摸屏中断(INT_SUB_TC)中才可以用ADCDAT0来判断触摸笔状态。 (4)位置采样完成后要屏蔽BIT_SUB_ADC。否则,ADC持续进行采样,会以很高的频率(因为采样频率很高)发起INT_SUB_ADC中断请求,最终向处理器发起INT_ADC请求,这会严重影响处理器的工作。这也是不采用自动采样,而要用定时器定时采样的原因。 typedef struct { volatile int b

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档