- 1、本文档共156页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8第四章结构设计2
* SEL_MUX ---模拟输入通道选择 000:AIN0; 001:AIN1 010:AIN2 011:AIN3 …… 111:AIN7 STDBM---备用模式设置 0:正常工作模式; 1:备用模式,不做A/D转换 READ_START---通过读取启动转换 0:停止通过读取启动转换;1:使能通过读取启动转换 ENABLE_START---通过设置该位启动转换 0:无效; 1:启动A/D转换(启动后被清0) 注意:如果READ_START为1,则该位无效 5 4 3 2 1 0 SEL_MUX STDBM READ_START ENABLE_START * YM_SEN---选择YMON的输出值 0:输出0(YM=高阻); 1: 输出1(YM=GND) YP_SEN---选择nYPON的输出值 0:输出0(YP=外部电压); 1:输出1(YP连接AIN[5]) XM_SEN---选择XMON的输出值 0:输出0( XM=高阻); 1: 输出1(XM=GND) XP_SEN---选择nXP的输出值 0:输出0(XP=外部电压); 1:输出1(XP连接AIN[7]) (2)ADCTSC---ADC触摸屏控制寄存器 8 7 6 5 4 3 2 1 0 保留0 YM_SEN YP_SEN XM_SEN XP_SEN PULL_UP AUTO_PST XY_PST * PULL---上拉切换使能 0:XP上拉使能; 1: XP上拉禁止 AUTO_PST---自动连续转换X轴和Y轴坐标模式选择 0:普通A/D转换; 1:连续X/Y轴转换模式 XY_PST---手动测量X轴和Y轴坐标模式选择 00:无操作模式; 01:对X坐标测量; 10:对X坐标测量; 11:等待中断模式 8 7 6 5 4 3 2 1 0 保留0 YM_SEN YP_SEN XM_SEN XP_SEN PULL_UP AUTO_PST XY_PST * 31 …… 16 15 14 13 12 11 10 9 8 8 7 6 5 4 3 2 1 0 保留为0 起始延迟数值---分两种情况 第一情况: 对普通转换模式、分离的X/Y轴坐标转换模式、连续的X/Y轴坐标转换模式,为转换延时数值。 第二种情况: 对中断转换模式,为按压触摸屏后到产生中断请求的延迟时间数值,其时间单位为ms。 (3)ADCDLY---ADC起始延迟寄存器 * UPDOWN---等待中断模式的按压状态 0:触笔点击; 1:触笔提起 AUTO_PST---自动X/Y轴转换模式指示 0:普通转换模式; 1:X/Y轴坐标连续转换 XY_PST---手动X/Y轴转换模式指示 00:无操作; 01:为X轴坐标转换 10:为Y轴坐标转换 11:为等待中断转换 XPDATA[9:0]:为X轴坐标转换数值、或普通ADC转换数值 具体意义由其它位指示。其值为:0---0x3FF (4)ADCDAT0---ADC转换数据0寄存器 15 14 13 12 11 10 9 …… 0 UPDOWN AUTO_PST XY_PST 保留(0) XPDATA或普通ADC值 第11次到此 * UPDOWN---等待中断模式的按压状态 0:触笔点击; 1:触笔提起 AUTO_PST---自动X/Y轴转换模式指示 0:普通转换模式; 1:X/Y轴坐标连续转换 XY_PST---手动X/Y轴转换模式指示 00:无操作; 01:为X轴坐标转换 11:为Y轴坐标转换 11:为等待中断转换 YPDATA[9:0]:为10位Y轴坐标转换结果 其值为:0---0x3FF (5)ADCDAT1---ADC转换数据1寄存器 15 14 13 12 11 10 9 …… 0 UPDOWN AUTO_PST XY_PST 保留(0) YPDATA 编写程序,对3通道的模拟量连续做10次转换,用查询方式读取转换结果,其数据存于0x400000开始的区域。 * 例题: * #define rADCCON (*(volatile unsigned *)0 #define rADCDAT0 (*(volatile unsigned *)0x5800000c) #define pref 49 #define ch 3 void adc(void) { int adc_data[10], i; rADCCON=(114)|(pref6)|(ch3)|1 /
文档评论(0)