单片价键盘问题,熟悉的高手请指教啊。感谢了俄!!!
大家好我现在遇到一个键盘设计问题想找人讨论讨论,不知道那位对键盘设计熟悉啊。。。。。。我的问题如下;
我是用一个I/O口来扫描制作键盘,通过用数据线送8位数据给573锁存,573出来然后接8个按键,最后将8跟线合在一起送给一个I/O口,现在通过送数据来检测是否有键盘按下,8跟线中送一个为高电平。通过检测I/O口是否为高电平,若为高电平,则有键按下。当然按下的键是通过送的数据晓得的。用移位来自动送数据。现在问题是这个键盘程序设计有误,请教高手指导啊。。。。。。
int read_key(void)
{
unsigned char i = 0;
unsigned char a = 1;
unsigned char key = 0;
LED_SEL_D4 = 1;//这是用于检测的I/O
delayNs(10);
for(i=0;i<8;i++)
{
LED_Sel_Seq(a);//这是给573送数据的子程序已经定义了
if(LED_SEL_D4 == 1)
{
key = key | (0x01<<1);
}
a <<= 1;
}
return key;
}