论坛» 高校专区» 坤创E-Geek/天科大新电社

4队—MSP4340学习总结(一)

菜鸟
2019-07-13 20:03 1楼

前言:

最近几天我一直在学习这个MSP430G2,刚开始的时候看了我们队友经验分享算是初步了解了MSP430,然后在电赛网站上和其他渠道上找到很多关于MSP430G2的资料,我最近刚把定时器那一块学完,前期一直没有总结,现在我想总结一下算是做个笔记,今天先说一下GPIO

MSP430 GPIO 概述 :

MSP430 的每组GPIO都是由对应的寄存器控制的,其中有3个寄存器是最重要的,分别是方向寄存器(PxDIR)、输出寄存器(PxOUT)和输入寄存器(PxIN)。方向寄存器决定了引脚 的功能是输入还是输出;输出和输入寄存器则直接关联引脚的电平状态。

QQ截图20190713193839.png

1_方向寄存器(PxDIR

在 MSP430 中,每个I/O口都可以被单独配置成输入或者输出状态。是配置成输入还是输出 是由方向寄存器(也叫DIR寄存器)决定的。方向寄存器为0是输入,为1是输出。例如 你想P1.0配置成输出可以这样P1DIR |= 0x01

如果是输入可以这样 P1DIR &= ~0x01。

2_输出寄存器(PxOUT

在方向寄存器将 I/O 口配置为输出以后,就可以通过写输出寄存器PxOUT来给端口赋值了。 例如你想把P1.0拉高,可以直接写P1OUT |= 0x01

3_输入寄存器(PxIN

I/O输入这里要比输出复杂一点,因为当我们把引脚设置为输入的时候,引脚处于浮动状

态,也就是说即有可能是高电平也有可能是低电平。因此一般我们在引脚作为输入时会通

过一个电阻将该引脚接到电源或地,这样就形成了一个弱上拉/下拉状态,接了上拉/下拉电阻以后,输入引脚的电平将会稳定一些,而当外部电路的高/低电平接 到引脚上时,该引脚又可以根据外部电平改变状态。

举个例子:我要把P1.0设为输入

P1DIR &= ~0x01; // 设置P1.0为输入

P1OUT |= 0x01; // 设置P1.0为弱上拉

P1REN |= 0x01; // 使能弱上拉电阻

3_ GPIO 引脚复用

引脚的复用,就是引脚的多次使用,将 GPIO 和其他外设放在一个引脚上,使用的时候通过寄存器来选择用哪一个功能。

QQ截图20190713193910.png

MSP430G2553PxSELPxSEL2两个功能选择寄存器,它们两个再加上PxDIR寄存器配合起来可以选择多个引脚功能。

1563018869573100.png

4_GPIO实验:

题目: 按键输入,控制LED灯的亮灭:

实验程序如下:

1563018894897283.png

实验现象:

开始现象: 按键按下灯的状态改变:

1563018909750630.jpg1563018927841322.jpg


工程师
2019-07-13 21:44 2楼

很不错的分享

助工
2019-07-14 09:20 3楼

匆匆大神,求指导!!!

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]