⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key123_q.c

📁 MSP430开发板413演示程序 MSP430开发板413演示程序
💻 C
字号:
/******************************************
*   文件名:
*       LED4.c
*   功能:
*     主程序
*     单个按键键盘测试程序
******************************************/
#include <msp430x44x.h>
#define uchar unsigned char
#define uint unsigned int

uint f = 0;
void flash_led(uint x)
    {
        uint temp ;
        P1DIR |= BIT0;
        for(temp=0;temp<x;temp++);
        P1OUT ^= BIT0;
    }
char key(void)
    {
      int temp=0;
      char x;
      P1DIR &= ~(BIT1+BIT2+BIT3);   //设置P1.123为输入
keystart:
      temp = P1IN ;
      flash_led(f);
      if((temp & 0x0e)!=0x0e)
          flash_led(f);
      else goto keystart;
      temp = P1IN ;
      if((temp & 0x0e)!=0x0e)
          {
            temp = P1IN ;
            temp = ~temp  ;
            if((temp & BIT1)== BIT1)
                temp = 0 ;
            else if((temp & BIT2)== BIT2)
                temp = 1 ;
            else if((temp & BIT3)== BIT3)
                temp = 2 ;
            x = temp ;
key1111:
            temp = P1IN ;
            if((temp & 0x0e)==0x0e)
                return(x);
            else goto key1111;
          }
    }

/******************************************/
void main(void)
{
    char i;
     WDTCTL = WDTHOLD + WDTPW;     //关闭看门狗
     P1DIR |= BIT0;
     P5DIR |= BIT1;
     for(;;)
         {
             i = key();
             if(i==0)
                 {
                 f = f + 4000;
                 if(f> 50000)
                     f = 50000;
                  }
             else if(i==1)
                 {
                     f = f - 4000 ;
                     if(f<0)
                         f = 0 ;
  
                  }
             else if(i==2)
                 {
                 P1OUT ^= BIT0;
                 P5OUT ^= BIT1;
                  }
             _NOP();  
         }
}

⌨️ 快捷键说明

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