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

📄 key.c

📁 msp430f169的key程序
💻 C
字号:

#include "msp430x16x.h"
#define LED1 BIT0
#define LED2 BIT1
#define S3 BIT2
#define S2 BIT3
#define S1 BIT4

void Delay() {  //按键延时
  unsigned int i;
  for(i=0;i<500;i++)_NOP();
}

void Init_Key() { //按键设置与LED设置
  P1DIR|=LED1+LED2;
  P1DIR&=~(S1+S2+S3);
  P1OUT&=~(LED1+LED2);
}

void Scan() {
  unsigned char i;
  do {
    i=P1IN&(S1+S2+S3);
  }while(i==S1+S2+S3);  //无按键动作
  Delay();   //去抖动
  i=P1IN&(S1+S2+S3);
  if((i&S1)==0)P1OUT^=LED1; //S1按下 LED1翻转
  if((i&S2)==0)P1OUT^=LED2; //S2按下LED2翻转
  if((i&S3)==0)P1OUT^=LED1+LED2; //S3按下LED1与LED2翻转
  while((P1IN&(S1+S2+S3))!=S1+S2+S3);//按键复位
  Delay();   //去抖动
}

void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;  //关闭看门狗
  Init_Key();  //初使按键与LED
  while(1)Scan(); //键盘扫描
}

⌨️ 快捷键说明

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