key2控制k01.c

来自「MSP430开发板413演示程序 MSP430开发板413演示程序」· C语言 代码 · 共 54 行

C
54
字号
//通过中断写键盘程序

#include  <msp430x44x.h>

char key =0;
char kk = 1;
char key_en = 0;
void ff(int xx)
{
  int i=3000;
  char j;
  P1DIR |=BIT0;
  for (j=0;j<xx;j++)
   {
    do (i--);
    while (i !=0);
    i=3000;
   }
  P1OUT ^=BIT0;
}

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;              // 关闭看门狗
  P1DIR &=~(BIT3+BIT2+BIT1);             // 输入设置
  P1IE |=(BIT3+BIT2+BIT1);              //允许P1的123可以中断  高到低设为1
  P1IES |=(BIT3+BIT2+BIT1);             //设置下降沿中断
  _EINT();    //开中断
  for(;;)
    ff(kk);  //主程序
}



//中断程序
#pragma vector = PORT1_VECTOR
__interrupt void PP(void)
{
  if((P1IFG&0XE)==BIT1)
    key=0;
  else if((P1IFG&0XE)==BIT2)
    key=1;
  else if((P1IFG&0XE)==BIT3)
    key=2;
  P1IFG=0;
  if(key==2)
    key_en = ~key_en ;
  if((key==0)&(key_en == 0))
    kk++;
  if((key==1)&(key_en == 0))
    kk--;
  //键盘程序
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?