输入与输出设备接口技术概论.pptx

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 输入/输出设备接口技术 3.1 通用I/O端口1、通用I/O端口结构(GPIO)GPIO端口: PORT数据寄存器、DDR数据方向寄存器。DDR方向寄存器:输出:置“1”,输出数据;输入:置“0”,输入数据。117个GPIO端口: 1个23位的Port A; 2个11位的Port B、H; 3个16位的Port C、D、E、G; 1个 8位的Port F。2、接口电路 通过端口D的GPD1、GPD0控制发光二极管轮流闪烁。端口D控制寄存器寄存器地址描述GPDCON0用位[31:0],分别对端口D的16个引脚进行配置。00:输入;01:输出GPDDAT0据寄存器,使用位[15:0]GPDUP0置上拉电阻 1:禁止0:使能GPDCON= GPDCON0xfffffff0 | 0GPDDAT= GPDDAT0xfffffffC | 0例题1,判断D端口的输入/输出状态及高低电平GPDCON= GPDCON0xfff0ffff | 0GPDDAT= GPDDAT0xeff | 0x200;3.2 A/D转换器接口 S3C2410A包含 一个8通道的A/D转换器。 10位分辨率。 采样电压范围是0~3.3V。 讨论1当参考电压为3.3V时,输入电压为2.0V,采集的数字量为多少?1、ADC内部结构及ADC控制器相关寄存器A/D转换器和触摸屏接口电路(1)ADC控制寄存器(ADCCON)A/D转换的转换时间计算。例,PCLK为50MHz,PRESCALER?=?49;所有10位转换时间为 50 MHz?/?(49?+?1)?=?1MHz 转换时间为1/(1M/5 cycles)?=?5us注意:完成一次A/D转换需要5个时钟周期。A/D转换器的最大工作时钟为2.5MHz,所以最大的采样率可以达到500kbit/s。例题21、要使A/D 转换器正常启动,预分频因子取50,应向ADCCON写入什么控制字?01001100010000012、要启动A/D 转换器读第2号通道数据启动(预分频因子取16),应向ADCCON写入什么控制字?0100001111010011(2)ADC触摸屏控制寄存器(ADCTSC) 在正常A/D转换时,AUTO_PST和XY_PST都置成0即可,其他各位与触摸屏有关,不需要进行设置。(3)ADC转换数据寄存器(ADCDAT0和ADCDAT1) 在触摸屏应用中,分别使用ADCDAT0和ADCDAT1保存X位置和Y位置的转换数据。对于正常的A/D转换,使用ADCDAT0来保存转换后的数据。(4)ADC启动延时寄存器(ADCDLY)思考1如何判断ADC转换完成?如何启动ADC转换?A/D转换的数据可以通过中断或查询的方式来访问,如果是中断方式,则全部的转换时间(从A/D转换的开始到数据读出)要更长。 如果是查询方式,则要检测ADCCON[15](转换结束标志位)来确定从ADCDAT寄存器读取的数据是否是最新的转换数据。A/D转换开始的一种方式是将ADCCON[0]置为1, 另一种方式是将ADCCON[1]置为1,这时只要有读转换数据的信号,A/D转换就会同步开始。2、ADC接口编程例题3、ADC转换A/D转换的流程图定义与A/D转换相关的寄存器定义如下:#define rADCCON(*(volatile unsigned*)0 //ADC控制寄存器#define rADCTSC(*(volatile unsigned*)0 //ADC触摸屏控制寄存器#define rADCDLY(*(volatile unsigned*)0 //ADC启动或间隔延时寄存器#define rADCDAT0(*(volatile unsigned*)0x5800000c)//ADC转换数据寄存器0#define rADCDAT1(*(volati1e unsigned*)0//ADC转换数据寄存器 对A/D转换器进行初始化程序中的参数ch表示所选择的通道号,程序如下:void AD_Init(unsigned char ch){ rADCDLY=100; //ADC启动或间隔延时 rADCTSC=0; //选择ADC模式 rADCCON=(114)|(496)|(ch3)|(02)|(01)|(0); //设置ADC控制寄存器}获取A/D的转换值程序中的参数ch表示所选择的通道号,程序如下:int Get_AD(unsigned char ch){ in

文档评论(0)

文档收藏爱好者 + 关注
官方认证
内容提供者

事业编考题需要答案请私聊我发答案

认证主体莲池区卓方网络服务部
IP属地河北
统一社会信用代码/组织机构代码
92130606MA0GFXTU34

1亿VIP精品文档

相关文档