MSP430--通用IO端口
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()
{
}
MSP430通用IO端 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)