单片机-04_端口输入输出.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机-04_端口输入输出

位2: IE6CF:外部中断6 边沿配置位 0:外部中断6 由IE6 输入的下降沿触发。 1:外部中断6 由IE6 输入的上升沿触发。 位1-0: 未用。读 = 00b,写=忽略。 P3IF:端口3 中断标志寄存器 当检测到P3.6或P3.7有下降沿或上升沿发生时,P3IF寄存器中对应的外部中断标志(IE6或IE7)将被置‘1’。如果对应的中断被允许,将会产生一个中断,CPU将转向对应的中断向量地址。 3.1.5 弱上拉 每个端口引脚都有一个内部弱上拉部件,在引脚与VDD 之间提供阻性连接(约100 kΩ),在缺省情况下该上拉器件被使能。 弱上拉部件可以被总体禁止,通过向弱上拉禁止位 (WEAKPUD,XBR2.7)写‘1’实现。 当任何引脚被驱动为逻辑‘0’时,弱上拉自动取消; 即输出引脚不能与其自身的上拉部件冲突。 对于端口1 的引脚,将引脚配置为模拟输入时上拉部件也被禁止。 3.1.6 配置端口1 的引脚为模拟输入(AIN.[7:0]) 端口1 的引脚可以用作ADC1 模拟多路开关的模拟输入。通过向P1MDIN 寄存器中的对应位写‘0’即可将端口引脚配置为模拟输入。 缺省情况下端口引脚为数字输入方式。 将一个端口引脚配置为模拟输入的过程如下(硬件自动完成): 1. 禁止引脚的数字输入路径。读端口数据为将返回逻辑 ‘0’,与加在引脚上的电压无关。 2. 禁止引脚的弱上拉部件。 3. 使交叉开关在为数字外设分配引脚时跳过该引脚。 注意: 被配置为模拟输入的引脚的输出驱动器并没有被明确地禁止。因此被配置为模拟输入的引脚所对应的P1MDOUT 位应被设置为逻辑‘0’(漏极开路方式),对应的端口数据位应被设置为逻辑‘1’(高阻态)。 3.1.7 外部存储器接口引脚分配 如果外部存储器接口(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) 3.1.8 交叉开关引脚分配示例 在本例中(图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 和端口3(由图17.6 中的红点表示)。 5. 我们将UART0 的TX 引脚(TX0,P0.0)、UART1 的T

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档