1.端口的寄存器:
(1)P1-P2端口具有中止才能,共7个寄存器
PxIN输入寄存器,只读寄存器,即只能读取输入端口x的数据;
PxOUT输出寄存器,可读可写,即能够向输出端口写8位数据输出,一起也能够读取数据;
PxDIR方向位寄存器,当PxSEL挑选一般IO口时,PxDIR决定是输出仍是输入,0输入,1输出;
PxSEL功用挑选寄存器,挑选一般功用或许复用功用;0一般IO口,1复用功用;
PxIE中止使能寄存器,1使能相应位的中止,0不使能;留意:在中止傍边要手动铲除中止标志位。
PxIFG中止标志寄存器,1相应中止标志位有用,0无效;
PxIES中止触发沿挑选寄存器,0上升沿,1下降沿相应中止标志方位位
(2)P3–P6无中止才能,共4个寄存器
PxIN输入寄存器,只读寄存器,即只能读取输入端口x的数据;
PxOUT输出寄存器,可读可写,即能够向输出端口写8位数据输出,一起也能够读取数据;
PxDIR方向位寄存器,当PxSEL挑选一般IO口时,PxDIR决定是输出仍是输入,0输入,1输出;
PxSEL功用挑选寄存器,挑选一般功用或许复用功用;0一般IO口,1复用功用;
2.例程:
(1)//程序描绘:P1,P2口具有中止功用,经过设置寄存器,完成P1口外部中止
#include”msp430x14x.h”
#define uchar unsigned char
#define uint unsigned int
uchar i;
uint j;
uchar seg[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
//共阳数码管字型码数组
void main()
{
}
#pragma vector=PORT1_VECTOR
__interrupt void p1()
{
}
(2)IO端口中止模块中止程序,以P1口为例
void main()
{
}
#pragma vector=PORT1_VECTOR
__interrupt void p1()
{
}