【Cortex-M0】8 通用输入输出口

27 篇文章 0 订阅
27 篇文章 0 订阅

 

 NuMicro M051微控制器共有40个通用I/O口,并可复用为特殊功能引脚,如串行口输入输出接口、外部中断触发、PWM输出等功能。这40个引脚分别分配在P0P1P2P3P4这五个端口上,每个端口最多有8个引脚,且各引脚之间都是相互独立的,可通过相应的寄存器来控制引脚的工作模式和读取当前引脚的数据。

    每个I/O引脚上的I/O类型都能够通过软件独立地配置为输入、输出、开漏或准双向模式。当MCU复位时,端口数据寄存器Px_DOUT[7:0]的值为0x000_00FF。每个I/O引脚配有110K~300K欧的非常弱的上拉电阻到输入电源(VDD)上,输入电源可为5V~2.5V

 

8.1 通用I/O模式的设置

通用I/O工作模式可分为输入模式、输出模式、开漏模式、准双向模式这四种模式,模式的选择需要对I/O模式控制寄存器Px_PMD[1:0]进行编程,当P0/1/2/3/4被设置为推挽模式或准双向模式时,源电流和灌电流的参数如下表8.1-18.1-2

8.1-1 源电流参数

参数

最小值

典型值

最大值

单位

测试条件

P0/1/2/3/4

源电流(推挽模式

-20

-24

-28

mA

VDD = 4.5V, 

VSS = 2.4V 

-4

-6

-8

mA

VDD = 2.7V, 

VSS = 2.2V 

-3

-5

-7

mA

VDD = 2.5V, 

VSS = 2.0V 

 

8.1-2 灌电流参数

参数

最小值

典型值

最大值

单位

测试条件

P0/1/2/3/4

灌电流(准双向模式和推挽模式)

10

16

20

mA

VDD = 4.5V, 

VSS = 0.45V 

7

10

13

mA

VDD = 2.7V, 

VSS = 0.45V 

6

9

12

mA

VDD = 2.5V, 

VSS = 0.45V 

 

注:P0/1/2/3/4管脚被外部由1驱动到0时, 可作来输出电流的源端,在VDD=5.5V当输入电压范围接近2V时,输出电流达到最大值

 

 

l 输入模式

设置 Px_PMD(PMDn[1:0])00bPx[n]为输入模式,I/O引脚为三态(高阻态),没有输出驱动能力。Px_PIN的值反映相应端口引脚的状态。

 

 

l 输出模式

设置Px_PMD(PMDn[1:0])0x01Px[n]为输出模式,I/O引脚支持数字输出功能,有拉电流/灌电流能力。Px_DOUT[0:7]相应位的值被送到相应引脚上。

 

图8.2-1 推挽输出

 

l 开漏模式

设置Px_PMD(PMDn [1:0])为 2’b10Px[n]为开漏模式,I/O支持数字输出功能,但仅有灌电流能力,为了把I/O引脚拉到高电平状态,需要外接一颗上拉电阻。如果Px_DOUT相应位bit [n]的值为“0”,引脚上输出低电平。如果Px_DOUT相应位bit [n]的值为“1”,该引脚输出为高电平,由内部上拉电阻或外部上拉电阻控制。

 

图8.2-2 开漏模式

l 准双向模式

设置Px_PMD(PMDn[1:0]) 为 2’b11Px[n]引脚为准双向模式,I/O同时支持数字输出和输入功能,但拉电流仅达数百uA.。要实现数字输入,需要先将Px_DOUT 相应位置1。准双向输出是80C51及其派生产品所共有的模式。若Px_DOUT相应位bit[n]”0”, 引脚上输出为低电平。若Px_DOUT相应位bit[n]”1”, 该引脚将核对引脚值若引脚值为高,没有任何动作,若引脚值为低,该引脚置为强高2个时钟周期,然后禁用强输出驱动,引脚状态由内部上拉电阻控制。

准双向模式的拉电流能力仅有200uA30uA(相应 VDD的电压从5.0V2.5V)

 

图8.2-3 准双向I/O模式

 

 

…………………………………………………………

 

书籍名称:ARM Cortex-M0原理与应用实践

书籍下载地址:http://download.csdn.net/detail/k125008301/4070709

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

史提芬温

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值