MSP430 MSP430单片机输入/输出模块 通用I/O端口GPIO

 DO OR DIE
在这里插入图片描述




在这里插入图片描述



一、MSP430单片机端口概述

 ●MSP430F5XX系列单片机最多可以提供12个通用I/O端口(P1~P11和PJ),大部分端口有8个引脚。
 ●MSP430F5529一共80个引脚,63个通用I/O端口。P1~P7共56个 + P8.0,P8.1,P8.2 + PJ.0,PJ.1,PJ.2,PJ.3。
 ●P1和P2引脚具有中断能力。

 ●端口配对:可以将端口P1/P2,P3/P4,P5/P6,P7/P8结合起来称为PA,PB,PC,PD。
  ○可以对每个独立的端口进行字节访问,或者将两个结合起来(PA)进行字访问
  ○可以对PA口进行字操作,一次性写入16位数据。
  ○当写入的数据长度小于端口的最大长度时,那些没有用到的位保持不变。

在这里插入图片描述

字节


二、通用I/O端口的输出特性

灌电流:外部电源输入单片机引脚的电流,外部是源,形象地称为灌入。
拉电流:单片机引脚输出的电流,单片机内部是源,形象地称为拉出。

1、端口输出模式

 ●MSP430单片机端口具有两种输出模式,可以通过PxDS.y进行设置。
  ○当PxDS.y控制位被配置为0时,即PxDS.y = 0为欠驱动模式。(默认模式)
  ○PxDS.y = 1为全驱动模式。

2、欠驱动模式输出特性

低电平

 此时,单片机内部接地(IO置0),外部接可变电源。此时为灌电流。
 ●常温下,MSP430单个引脚最大输入电流约为19mA。(VCC = 3.0V)
 ●MSP430单片机外部所有器件总体输入电流不得超过100mA。(VCC = 3.0V)
 ●在输出低电平时,单引脚输入电流越大,内部分压将越大,因此会相应抬高低电平时的输出电压。

高电平

 此时,单片机内部接VCC(IO置1),外部接可变电源。此时为拉电流。
 ●常温下,MSP430单个引脚最大输出电流约为19mA。(VCC = 3.0V)
 ●MSP430单片机外部所有器件总体输出电流不得超过100mA。(VCC = 3.0V)
 ●在输出高电平时,单引脚输入电流越大,内部分压将越大,因此会相应降低高电平时的输出电压。

3、全驱动模式输出特性

常温下,MSP430单个引脚强驱动模式输出最大输出/输入电流约为55mA。(VCC = 3.0V)
 ●但是,MSP430单片机外部所有器件总体输出/输入电流不得超过100mA。(VCC = 3.0V)

在这里插入图片描述
在这里插入图片描述


三、端口P1和P2

 ●端口P1和P2具有输入/输出、中断和外部模块功能。
 ●P1和P2每个端口由9个控制寄存器进行设置。

1、方向寄存器PxDIR

 ●方向寄存器PxDIR相互独立的8位分别定义了8个引脚的输入/输出方向。
 ●方向寄存器在PUC之后都被复位。
 ●应该先定义端口的方向,再使用输入或输出功能。
 ●默认为0,端口被设置为输入模式;1为输出模式。

在这里插入图片描述

MSP430的复位信号有2种:上电复位信号(POR)、上电清除信号(PUC)
MSP430复位信号POR与PUC

2、输入寄存器PxIN

 ●输入寄存器是CPU扫描I/O引脚信号只读寄存器,用户不能对其写入,只能通过读取该寄存器的内容来获取I/O端口的输入信号,此时引脚的方向必须选定为输入
 ●输入寄存器中的某一位为0,表示该位输入为低;某一位为1,表示该位输入为高。
 ●默认为undefined未定义

在这里插入图片描述

3、输出寄存器PxOUT

 ●该寄存器为I/O端口的输出缓冲寄存器。
 ●可以通过改变寄存器的内容来改变I/O口输出状态。

 ●在读取时,寄存器的内容与引脚方向无关。
 ●改变方向寄存器的内容,输出缓存的内容不受影响 。
 ●默认为undefined未定义

在这里插入图片描述

4、上拉/下拉电阻使能寄存器PxREN

Pullup or Pulldown Resistor Enable Registers

 ●每个PxREN寄存器中的每个位都启用或禁用相应I/O引脚的上拉或下拉电阻。 PxOUT寄存器中的相应位选择引脚是上拉还是下拉。
 ●
  Bit = 0: 上拉或下拉电阻禁用
  Bit = 1: 上拉或下拉电阻使能

 ●MSP430单片机引脚配置为内部电阻上拉/下拉

PxDIRPxRENPxOUTI/O Configuration
00xInput
010Input with pulldown resistor
011Input with pullup resistor
1xxOutput

在这里插入图片描述

5、输出驱动强度寄存器PxDS

Output Drive Strength Registers

每个PxDS寄存器中的每个位选择完全驱动还是降低驱动强度。 默认设置为降低驱动强度。
  Bit = 0: 欠驱动模式
  Bit = 1: 全驱动模式

在这里插入图片描述

6、功能选择寄存器PxSEL

Function Select Registers

 ●P1和P2端口还有其他片内外设功能。端口引脚通常与其他外围模块功能复用。 每个PxSEL位用于选择引脚功能– I / O端口或外围模块功能。
 ●
  Bit = 0: 选择引脚为普通I/O功能
  Bit = 1: 选择引脚为外围模块功能

 ●设置PxSEL = 1不会自动设置引脚方向。 其他外围模块功能可能需要根据模块功能所需的方向来配置PxDIR位。

在这里插入图片描述

7、中断使能寄存器PxIE

Interrupt Enable Registers
 ●寄存器的每一位用以控制相应引脚的中断允许。
 ●寄存器的8位与端口的8个引脚一一对应。

76543210
PxIE.7PxIE.6PxIE.5PxIE.4PxIE.3PxIE.2PxIE.1PxIE.0

 ●
  Bit = 0: 该位禁止中断(默认)
  Bit = 1: 该位允许中断

8、中断触发边沿选择寄存器PxIES

Interrupt Edge Select Registers

 ●每个PxIES位选择相应I/O引脚的中断触发沿。
  Bit = 0: 上升沿触发
  Bit = 1: 下降沿触发

 ●默认为undefined未定义

 ● NOTE: Writing to PxIES
 Writing to P1IES or P2IES for each corresponding I/O can result in setting the corresponding interrupt flags.
在这里插入图片描述

9、中断标志寄存器PxIFG

76543210
PxIFG.7PxIFG.6PxIFG.5PxIFG.4PxIFG.3PxIFG.2PxIFG.1PxIFG.0

 ●
  Bit = 0: 无中断请求
  Bit = 1: 有中断请求

 ●需要软件清除


四、端口P3~P11

 ●端口P3~P11没有中断功能,其他与P1,P2一样。
 ●由6个寄存器配置。


五、端口的应用

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

#法外狂徒张三

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

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

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

打赏作者

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

抵扣说明:

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

余额充值