msp430f149-

来自「MSP430F149实验板实验代码」· 代码 · 共 57 行

TXT
57
字号
#include "msp430x14x.h"

void sys_init()
{
  WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
  BCSCTL2 &=0xc0;           //XT2CLK+2分频
}

void io_init()
{
  P4DIR=0xff;
  P5DIR=0xf0;
  P6DIR=0xfc;
  P4OUT=0xff;
}

int key(int c)
{
  if (!(P1IN&BIT0))
    c+=1;
  else if (!(P1IN&BIT1))
    c+=2;
  else if (!(P1IN&BIT2))
    c+=3;
  else if (!(P1IN&BIT3))
    c+=4;
  else c=0;
  return c;
}
 void main()
{
  
  int a;
  unsigned char b[17]={0xff,0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,0x8e};//0-f段选信号,共阳
  
  sys_init();
  io_init();
  
  while (1)
  {
    a=0;
    P5OUT=~BIT4;
    a+=key(0);
    
    P5OUT=~BIT5;//拉低P2.1
    a+=key(4);  //读取当时键值
    P5OUT=~BIT6;//拉低P2.2
    a+=key(8);  //读取当时键值
    P5OUT=~BIT7;//拉低P2.2
    a+=key(12);  //读取当时键值
    P6OUT=0x04;
    P4OUT=b[a];
  }
}

⌨️ 快捷键说明

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