📄 msp430f149-
字号:
//----------------------------------------------------
//测试说明:按动K1~k2二个按键,观察数码管显示
//***************************************************/
#include <msp430x14x.h>
typedef unsigned char uchar;
typedef unsigned int uint;
//#define keyin1 (P1IN & 0x01)
#define key_in (P1IN & 0x80)
//数码管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 )
{
int key_count=0;
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
P1DIR = 0x00; //设置P1.0~P.3为输入状态,P.7为输出
P4DIR = 0xff;
P6DIR = 0xfc;
P4OUT = 0xff;
P6OUT = 0x55;
while(1)
{
if(key_in != 0x80) //如果有键被按下
{
delay(); //延时消抖
if(key_in != 0x80) //再次检测按键状态
{
key_count++; //用一位数码管显示
delay();delay();
if(key_count==16)
{
key_count=0;
}
}
}
P4OUT = ~scandata[key_count];
}
}
/*******************************************
函数名称:delay
功 能:用于消抖的延时
参 数:无
返回值 :无
********************************************/
void delay(void)
{
uint tmp;
for(tmp = 12000;tmp > 0;tmp--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -