2290|0

6593

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

单片机GPIO编程入门教程 [复制链接]

本文也适用于Launchpad开发板上使用的MSP430x2xx器件,如MSP430G2553、MSP430G2231等。MSP430单片机上的大多数引脚被分组为最多8个端口, P1到P8。每个端口都是8位宽,并有8个相关的I / O引脚。这些引脚直接映射到相应的端口寄存器,因此可以独立操作I / O引脚。只有端口P1和P2中的引脚支持中断。 此外,每个I / O引脚还具有可配置的上拉和下拉电阻。 每个端口都有一组相关的寄存器,用来操作各个引脚。 位映射和端口分组如下所示:



注意:在编程指南/数据手册中使用的引脚的命令约定是'Px.y',其中'x'对应的是端口号(1到8),'y'对应的是引脚号(0到7) X'。例如:P1.1是指端口1的第1引脚,P2.4是指端口2的第4引脚。您将看到与在MSP430 Launchpad开发板上标记引脚相同的约定。



当前版本的MSP430G2 Launchpad使用的是MSP430G2553和MSP430G2452。旧版本(Rev1.4)使用的是MSP430G2231和MSP430G2211。但是,除非另有说明,对于所有支持的器件,编程方法都是一样的。


MSP430单片机的GPIO寄存器

GPIO模块有许多寄存器。我们只会介绍本教程涉及的一些数字I / O寄存器。我将在其他的教程中介绍与中断相关的寄存器(即PxIFG,PxIES,PxIE)。

1. PxDIR:GPIO方向控制寄存器。将此寄存器中的任何位设置为0将会将相应的引脚[0至7]配置为输入,而将其设置为1将配置为输出。   

2. PxIN(只读):用于读取配置为输入的数字I / O引脚的值。 0 =输入为低电平,1 =输入为高电平。

3. PxOUT:当上拉/下拉电阻被禁用时,用于直接将值写入引脚。 0 =输出为低电平,1 =输出为高电平。上拉/下拉电阻使能时:0 =引脚拉低,1 =引脚拉高。

4. RxREN:对于配置为输入的引脚,PxREN用于为给定引脚启用上拉/下拉电阻,PxOUT与PxREN一起用于选择上拉或下拉电阻。将位设置为1将启用相应引脚的上拉/下拉电阻,同时将其设置为0将禁用相同的引脚。

PxDIR
PxREN
PxOUT
I / O配置
0
0
X
输入,禁用电阻
0
1
0
使能内部下拉的输入
0
1
1
使能内部上拉的输入
1
X
X
输出, PxREN无效

5. PxSEL&PxSEL2:由于大多数端口引脚多达4种不同的功能,我们需要一种机制来选择这些功能。这是使用PxSEL和PxSEL2寄存器来实现的。特定引脚的这些寄存器的位组合将选择特定的引脚功能。位组合如下所示:

PxSEL2(第n位)
PxSEL(第n位)
引脚功能
0
0
GPIO(数字I / O)功能
0
1
主要外设功能
1
0
保留。查阅设备特定的数据表。
1
1
辅助外围功能

另请注意,PxSEL / PxSEL2寄存器不会根据模块功能的要求更改引脚方向。确保使用PxDIR寄存器按照复用功能的要求设置正确的引脚方向。


 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表