5_1_6_1.c
来自「魏小龙《MSP430系列单片机接口技术及系统设计实例》书中全部程序代码」· C语言 代码 · 共 35 行
C
35 行
unsigned char keybuf; //键值缓存器
unsigned char p1keyj(void) //判键子程序
{unsigned char x;
x=(P1IN&0X07); //P10--P12接有按键
return(x); //有按键返回 非0
}
unsigned char keycode() //哪个按键被按下,查键值子程序
{
unsigned char x;
if((P1IN&0x07)= = 1) //是否第一个按键
then x=0;
else
if((P1IN&0x07)= = 2) //是否第二个按键
then x=1;
else
if((P1IN&0x07)= = 4) // 是否第三个按键
x=2;
return(x);
}
interrupt[PORT1_VECTOR] void port1key(void)
{ //端口1的中断服务程序
while(p1keyj()!=0)
{
delay(500); //延时消除抖动
while(p1keyj()!=0)
{
keybuf = keycode();//确信有按键按下,找按键得键值,送到全局变量keybuf
while(p1keyj()= =0) //等待按键松开
;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?