05_端口输入输出分析.pptVIP

  1. 1、本文档共65页,可阅读全部内容。
  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文档。上传文档
查看更多
05_端口输入输出分析

XBR2 例如,如果UART0EN位(XBR0.2)被设置为逻辑‘1’,则TX0 和RX0 引脚将分别被分配到P0.0 和P0.1。因为UART0有最高优先权,所以当UART0EN 位被设置为逻辑‘1’时其引脚将总是被分配到P0.0 和P0.1。(解释下页图) 如果一个数字外设的使能位(在XBR*中)未被设置为逻辑‘1’,则其端口将不能通过器件的端口引脚被访问。 注意:当选择了串行通信外设(即SMBus、SPI 或UART)时,交叉开关将为所有相关功能分配引脚。 例如,不能为UART0 功能只分配TX0 引脚而不分配RX0 引脚。 注意: 因为交叉开关寄存器影响器件外设的引脚分配,所以 1.设计硬件电路时就已经考虑好引脚如何分配。 2.它们通常在外设被配置前由系统的初试化代码配置。一旦配置完毕,将不再对其重新编程。 端口0 – 3 中所有未被交叉开关分配的引脚都可以作为通用I/O(GPI/O)引脚,通过读或写相应的端口数据寄存器访问 被交叉开关分配的那些端口引脚的输出状态受使用这些引脚的数字外设的控制。向端口数据寄存器(或相应的端口位)写入时对这些引脚的状态没有影响。 当某个引脚被一个数字外设占用,且为数字输出时(比如TX0) 当某个引脚被一个数字外设占用,且为数字输入时(比如RX0) 当某个引脚被一个AD2时 外部数据存储器接口可以使用低端口,也可以使用高端口 如果外部存储器接口(EMIF)被设置在低端口(端口0-3),EMIFLE(XBR2.1)位应被设置为逻辑‘1’,以使交叉开关不将P0.7 (/WR)、P0.6 (/RD)和P0.5 (/ALE)(如果外部存储器接口使用复用方式)分配给外设。 图3.4 给出了EMIFLE=1 并且EMIF 工作在复用方式时的交叉开关译码表的示例。 图3.5 给出了EMIFLE=1 并且EMIF 工作在非复用方式时的交叉开关译码表的示例。 图3.4 优先权交叉开关译码表 EMIFLE = 1;EMIF 工作在复用方式;P1MDIN = 0xFF) 图3.5 优先权交叉开关译码表 (EMIFLE = 1;EMIF 工作在非复用方式;P1MDIN = 0xFF) 原则:不同冲突 当某个引脚被被用作三总线 输出时 当某个引脚被被用作三总线 输入时 交叉开关寄存器被正确配置后,通过将XBARE(XBR2.4)置‘1’来使能交叉开关。 在XBARE 被置‘1’之前,端口0-3 的输出驱动器被明确禁止,以防止对交叉开关寄存器和其它寄存器写入时在端口引脚上产生争用。 被交叉开关分配给数字外设输入信号(例如RX0)的引脚所对应的输出驱动器被自动禁止;因此端口数据寄存器和PnMDOUT 寄存器的值不影响这些引脚的状态。 交叉开关引脚分配示例 在本例中(图3.6),我们将配置交叉开关,为UART0、SMBus、UART1、/INT0 和/INT1分配端口引脚(共8 个引脚)。另外,我们将外部存储器接口配置为复用方式并使用低端口。我们还将P1.2、P1.3 和P1.4 配置为模拟输入,以便用ADC1 测量加在这些引脚上的电压。配置步骤如下: 1. 按UART0EN = 1、UART1E = 1、SMB0EN = 1、INT0E = 1、INT1E = 1 和EMIFLE =1设置XBR0、XBR1 和XBR2,则有:XBR0 = 0x05,XBR1 = 0x14,XBR2 = 0x06。 2. 将外部存储器接口配置为复用方式并使用低端口,有:PRTSEL = 0,EMD2 = 0。 3. 将作为模拟输入的端口1 引脚配置为模拟输入方式:设置P1MDIN 为0xE3(P1.4、P1.3 和P1.2 为模拟输入,所以它们的对应P1MDIN 被设置为逻辑‘0’)。 4. 设置XBARE = 1 以使能交叉开关:XBR2= 0x46。 UART0 有最高优先权,所以P0.0 被分配给TX0,P0.1 被分配给RX0。 SMBus 的优先权次之,所以P0.2 被分配给SDA,P0.3 被分配给SCL。 - 接下来是UART1,所以P0.4 被分配给TX1。由于外部存储器接口选在低端口(EMIFLE = 1),所以交叉开关跳过P0.6(/RD)和P0.7(/WR)。又因为外部存储器接口被配置为复用方式,所以交叉开关也跳过P0.5(ALE)。下一个未被跳过 的引脚P1.0 被分配给RX1。 接下来是/INT0,被分配到引脚P1.1。 将P1MDIN 设置为0xE3,使P1.2、P1.3 和P1.4 被配置为模拟输入,导致交叉开关跳过这些引脚。 下面优先权高的是/INT1,所以下一个未跳过的引脚P1.5 被分配给/INT1。 - 在执行对片外操作的MOVX 指令期间,外部存储器接口将驱动端口2

文档评论(0)

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

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

1亿VIP精品文档

相关文档