MSP430不同型号的器件端口是不一样地:
端口名称: P1 P2 P3 P4 P5 P6 S COM
MSP430F11X √ √
MSP430F12X √ √ √
MSP430F13/14/15/16 √ √ √ √ √ √
MSP430F4XX √ √ √ √ √ √ √ √
MSP430F20X √ √
MSP430F21X √ √
MSP430F22X √ √ √ √
MSP430端口功能端口功能 P1、P2 I/O、中断功能、其他片内外设功能 P3、P4、P5、P6 I/O、其他片内外设功能 S、COM I/O、驱动液晶
PxDIR 方向寄存器
7 6 5 4 3 2 1 0
P7DIR P6DIR P5DIR P4DIR P3DIR P2DIR P1DIR P0DIR
0为输入模式 1 为输出模式在PUC后全都为复位,作为输入时,只能读;作为输出时,可读可定。
PxIN输入寄存器
7 6 5 4 3 2 1 0
PxIN PxIN PxIN PxIN PxIN PxIN PxIN PxIN
输入寄存器是只读的,用户不能对它写入,只能读取其IO内容。此时引脚方向必须为输入。
PxOUT 输出寄存器
7 6 5 4 3 2 1 0
P7OUT P6OUT P5OUT P4OUT P3OUT P2OUT P1OUT P1OUT
这是IO端口的输出缓冲器,在读取时输出缓存的内容与脚引方向定义无关。改变方向寄存器的内容,输出缓存的内容不受影响。
PxIFG中断标专寄存器
7 6 5 4 3 2 1 0
P7IFG P6IFG P5IFG P4IFG P3IFG P2IFG P1IFG P0IFG 标志相应引脚是否有待处理中断信息。
0 没有中断请求 1 有中断请求
PxIES中断触发沿选择寄存器
7 6 5 4 3 2 1 0
P7IES P6IES P5IES P4IES P3IES P2IES P1IES P0IES
0上升沿使相应标志置位 1 下降沿使相应标志置位
PxIE中断使能寄存器
7 6 5 4 3 2 1 0
P7IE P6IE P5IE P4IE P3IE P2IE P1IE P0IE
0禁止中断 1 允许中断
PxSEL功能选择寄存器
7 6 5 4 3 2 1 0
P7SEL P6SEL P5SEL P4SEL P3SEL P2SEL P1SEL P0SEL
0 选择引脚为I/O功能。 1 选择引脚为外围模块功能
关于端口P3、P4、P5、P6 端口P3、P4、P5、P6是没有中断功能的,其它功能与P1、P2相同。所以在此不再作详尽说明。关于端口COM、S 这些端口实现与LCD片的驱动接口,COM端是LCD片的公共端,S端为LCD片的段码端。LCD片输出端也可以用软件配置为数字输出端口,详情使用请查看其手册。
一个非常简单的例子:
#include "msp430x22x4.h"
void delay(unsigned int i)
{
unsigned int j;
for(j=0;j<i;j++)
;
}
int main( void )
{
WDTCTL=WDTPW+WDTHOLD; //关看门狗
BCSCTL1 =CALBC1_1MHZ; //设定DCO为1MHZ
DCOCTL =CALBC1_1MHZ;
while(1)
{
P2DIR = 0xFF; //设第二口全输出
delay(10000);
P2OUT = 0x55;
delay(10000);
P2OUT = 0xAA;
delay(10000);
}
}
用软件仿时数值在变化