2个I/O 口检测6个按键

分析:
首先:IO1,IO2输出高电平
S1按下,IO2为低电平
S2按下,IO1为低电平
S3按下,IO1,IO2为0.7V(1N4148导通电压),还是低电平。
现在开始判别其他几个按键了:
1、IO1输出低电平,读IO2电平
①
②
2、IO1输出高电平,IO2输出低电平
按键扫描程序:
unsigned
{
unsigned
KEY_IO1
KEY_IO2
if
keyval
else
keyval
else
keyval
else
{
//开始扫描,也要考虑小毛贼的问题~~~
KEY_IO1
if
{
//这时不能立即判定S4/S6
KEY_IO1
KEY_IO2
if
keyval
else
keyval
}
else
{
//只能是S5了
KEY_IO1
KEY_IO2
if
keyval
//else
}
KEY_IO1
KEY_IO2
}
return
}
程序流程图:

评论