while(1) {}; }
#pragma vector=PORT1_VECTOR __interrupt void Port_Control() {
//按键消抖
unsigned char Pushkey;
Pushkey=P1IFG&(BIT1+BIT2+BIT4+BIT5); Delay(20000);
if((P1IN&Pushkey)==Pushkey) {
P1IFG=0;
return; //如果是毛刺直接返回 }
//不是毛刺,进入按键处理程序
if(Pushkey&BIT1) //如果按下BIT1 {
if(PushCnt&BIT1) //检测上一次I/O状态 {
CONTROL_4_HIGH; //如果上一次为低则这一次将其设置为高,反之亦然 } else {
CONTROL_4_LOW; }
PushCnt^=BIT1; //记录响应按键的动作 }
if(Pushkey&BIT2) {
16
if(PushCnt&BIT2) {
CONTROL_3_HIGH; } else {
CONTROL_3_LOW; }
PushCnt^=BIT2; }
if(Pushkey&BIT4) {
if(PushCnt&BIT3) {
CONTROL_2_HIGH; } else {
CONTROL_2_LOW; }
PushCnt^=BIT3; }
if(Pushkey&BIT5) {
if(PushCnt&BIT4) {
CONTROL_1_HIGH; } else {
17
CONTROL_1_LOW; }
PushCnt^=BIT4; } P1IFG=0; return; }
/******************************************************* 函数名称:Sys_Clk_Init 函数功能:对系统时钟进行初始化 入口参数:无 出口参数:无
*******************************************************/ void Sys_Clk_Init() {
DCOCTL = 0xA0;//使用内部DCO,频率约为32768*51=1632kHz BCSCTL1= 0x07;//ACLK不分频 RSEL=7
BCSCTL2= 0; //MCLK时钟源选为DCOCLK,不分频,SMCLK选为DCOCLK,不分频 }
//延时程序
void Delay(unsigned int time) {
for(unsigned int i=0;i