📄 msp430f149-
字号:
/***************************************************
测试说明:按动K2四个按键,观察数码管显示
***************************************************/
#include <msp430x14x.h>
typedef unsigned char uchar;
typedef unsigned int uint;
#define keyin (P1IN & 0x0f)
//数码管7位段码:0--f
uchar scandata[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(void);
/********************主函数********************/
void main( void )
{
unsigned char temp,i=0;
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
BCSCTL2 &=0xc0; //XT2CLK+2分频
P4DIR=0xff;
P1DIR=0x00;
P6DIR=0xfc;
P4OUT=0xff;
P6OUT=0x04;
while(1)
{
if(keyin != 0x0f) //如果有键被按下
{
delay(); //延时消抖
if(keyin != 0x0f) //再次检测按键状态
{
temp=keyin;
switch(temp) //转换键值
{
case 0x0E:
i = 1;break;
case 0x0D:
i = 2;break;
case 0x0B:
i = 3;break;
case 0x07:
i = 4;break;
default:
i = 0;break;
}
P4OUT =~scandata[i]; //用一位数码管显示
delay();delay();
}
}
}
}
/*******************************************
函数名称:delay
功 能:用于消抖的延时
参 数:无
返回值 :无
********************************************/
void delay(void)
{
uint tmp;
for(tmp = 12000;tmp > 0;tmp--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -