端口的功能:
(1)P1,P2端口: I/O,中断功能,其他片内外设功能如定时器、比较器;

(2)P3,P4P5P6端口:I/O,其他片内外设功能如SPI、UART模式,A/D转换等;
MSP430各端口具有丰富的掌握寄存器供用户实现相应的操作。个中P1,P2具有7个寄存器,P3~P6具有4个寄存器。通过设置寄存器我们可以实现:
(1)每个I/O位独立编程;
(2)任意组合输入,输出和中断;
(3)P1,P2所有8个位全部可以用作外部中断处理;
(4)可以利用以是指令对寄存器操作;
(5)可以按字节输入、输出,也可按位进行操作。
端口P1,P2的功能可以通过它们的7个掌握寄存器来实现。这里,Px代表P1或P2。
(1)PxDIR:输入/输出方向寄存器。 8位相互独立,可以分别定义8个引脚的输入/输出方向。8位再PUC后都被复位。利用输入/输出功能时,该当先定义端口的方向 。作为输入时只能读,作为输出时,可读可写。0:输入模式;1:输出模式。
如:P1DIR|=BIT4; //P1.4输出 ,P2DIR=0XF0; //高4位输出,低4位输入。
(2)PXIN:输入寄存器,为只读寄存器。用户不能对它进行写入,只能通过读取其寄存器的内容来知道I/O口的输入旗子暗记。以是其引脚的方向要选为输入。如再键盘键盘扫描程序中常常要读取行线或者列线的端口寄存器值来判断案件情形。
例如:unsigned char key;
P1DIR&=~BIT4; //P1.4输入
……
key=P1IN&0X10; //输出端口P1.4的值
……
(3)PXOUT:输出寄存器。该寄存器为I/O端口的输出缓冲寄存器,再读取时输出缓存的内容与引脚方向定义无关。改变方向寄存器的内容,输出缓存的内容不受影响。
如:PIOUT|=0X01; //P1.0输出1 , PIOUT&=~0X01; //P1.0输出0 。
(4)PXIFG:中断标志寄存器。他的8个标志位标志相应引脚是否有中断要求有待处理。0:无中断要求, 1:有中断要求。个中止标志分别为PXIFG.0~PXIFG.7。该当把稳的是:PXIFG.0~PXIFG.7共用一个中断向量,为多源中断。当任一事宜引起的中断进行处理时,PXIFG.0~PXIFG.7不会自动复位,必须由软件来判断是对哪一个事宜,并将相应的标志复位。其余,外部中断事宜的韶光必须保持不低于1.5倍的MCLK韶光,以担保中断要求被接管,且使相应中断标志位置位。
(5)PXIES:中断触发沿选择寄存器。如果许可PX口的某个引脚中断,还需定义该引脚的中断触发办法。0:上升沿触发使相应标志置位,1:低落沿触发相应标志置位。如:MOV.B #07H, &P1IES ;p1低3位低落沿触发中断。
(6)PXIE:中断使能寄存器。PX口的每一个引脚都有一位用以掌握该引脚是否许可中断。0:禁止中断 ,1:许可中断。MOV.B #0E0H, &P2IE ;P2高3位许可中断。
(7)PXSEL:功能选择寄存器。P1,P2两端口还具有其他片内外设功能,将这些功能与芯片外的联系通过复用P1,P2引脚的办法来实现。PXSEL用来选择引脚的I/O端口功能与外围模块功能。0:选择引脚为I/O端口,1:选择引脚为外围模块功能。如:P1SEL|=0X10; //P1.4为外围模块功能。
端口P3、P4、P5、P6没有中断能力,别的功能同PI,P2。除掉端口P1,P2与中断干系的3个寄存器,端口P3,P4,P5,P6的4个寄存器(用法同P1,P2)分别为PXDIR,PXIN,PXOUT,PXSEL可供用户利用







