2.了解学习板相应端口管脚原理图。
3.利用 JTAG 口将程序烧写进入单片机中。
4.进行程序调试,当按下按钮 K1, K2 , 观察 LED1,LED2有什么变化。
1.模块原理
F5XX单片机端口引入上拉下拉电阻,通过PXREN,RXDIR,PXOUT 可以设置端口各引脚的状态,选择内部上/下拉使能,就不需要再外部接上拉电阻,选择对应的边沿触发方式就可以很方便的进出中断,其中只有 P1,P2 具有端口中断能力。P1 P2 均是多元中断,因此引入 P1IV P2IV ,各引脚中断只有访问对应 PXIV 后才可以进行自动清除中断标志位。否则就不能清除中断标志,就会反复进入中断程序,如果不访问 PXIV 可以软件清除中断标志位。
2.寄存器设置
要设置端口为上拉/下拉,需要通过设置 PXDIR,PXREN,PXOUT 来选择某端口是上拉还是下拉,具体配置如下表所示.
由上表所示,要配置上/下拉电阻必须在 I/O 口为输入状态下,上下拉电阻使能打开后,通过控制 PXOUT 来配置上拉还是下拉,以配置上拉电阻为例:
PXDIR &= ~BIT1; //输入状态
PXREN |= BIT1; //上下拉使能
PXOUT |= BIT1; //选择上拉电阻
3.硬件连接
我们在做实验之前,首先需要把我们手中的畅学MSP430F5438A单片机核心板和畅学多功能底板拿出来,以方便我们进行实验。我们这次实验的目的是为了让大家通过实验,学会如何对MSP430F5438A单片机的端口进行操作,加深我们的学习印象,尤其是对I/O端口的操作方法。
如图我们需要将连线接成如图所示的接法。K1,K2 分别和 P2.6,P2.7 连接,当按下 K1,K2 后端口电压变位低电平,因此设置 P2.6,P2.7 为内部上拉高电平,中断设置为下降沿触发中断,当按下 K1,K2 后就可以进入端口中断。LED1,LED2 分别和 P1.0 和 P1.1 连接,因此可以通过控制 P1.0 和 P1.1 来控制 LED1和 LED2 的亮灭。
4. 实验代码
首先我们把代码输进IAR中,代码如图所示,点击IAR中Debug按钮,进入C-SPY环境,点击GO,使得程序全速运行。程序运行的效果为按下按键LED指示灯点亮。IAR为用户提供了方便的头文件,能够大大地简化程序编写。对于MSP430F54x系列微处理器,一般在程序开头包含msp430F54x.h即可。
MSP430F5438A的P1和P2两组端口具有外部中断能力,通过设置相关的控制寄存器可以允许或者屏蔽其中的某一位或者某几位的中断能力。
5.程序流程图
6.注意
在日常使用MSP430系列单片机时,在端口使用方面所特别需要注意的问题:
※在使用端口之前必须要设置端口的方向,即端口是处在输入状态还是输出状态:输入状态下,读取端口输入寄存器可以获取当前端口的输入状态;输出状态下,写入端口输出寄存器可以控制端口的输出状态。
※在改变单个端口相关寄存器状态时,一般采用按位的“与”操作或者是“或”操作,以保持其他端口原状态不变。