1_VECTOR] void PORT1(void)
这种方式比较常用;另一种是:
#pragma function=interrupt
void PORT1( )
{
}
#prama function=default
与前者相比,后者的缺点是编译命令不能提供矢量选项。
此外,MSP430的中断管理机制是把同类的中断合并成一个总中断源,根据需要由软件判断标志位来确定。如对于P1口的任何一个中断,程序都会执行P1口的中断服务子程序,在该程序中根据P1IFG标志位来判断具体是哪一个I/O口发生了中断,如本次系统设计程序中对于键值的判断[15]。
MSP430单片机中有数百个寄存器,数千个控制位,通过这些寄存器可以配置各个模块的工作方式、状态、连接参数等关系。如:
P1DIR=0xff;//将P1口的I/O性质设置为输出
不仅如此,还可以对寄存器的某位进行操作,如:
P1DIR|=BIT0; //将P1.0置高电平
P1DIR|=~BIT0;//将P1.0置低电平
P1DIR|=^BIT0;//将P1.0取反
注意:大部分寄存器在上电复位后会自动清零,初始化后各寄存器标志位的值可以用"|="来赋值,一般不会影响到其他标志位的设置,但一定要保证被赋值的若干标志位在赋值之前为"0",特别是使用快捷宏定义时,所以,为保证程序执行的正确性,一般在赋值前,先给寄存器送"0"。如图2-2所示为MSP430F149单片机的引脚图。
图2-2 MSP430F149的引脚图
下面简单的介绍下MSP430F149的工作环境:
低电压范围 1.
上一篇:
基于C#的企业人事管理系统(word论文)
下一篇:
电信运营支持系统的设计与开发毕业论文