
单片机矩阵键盘松手检测问题,怎样加松手检测? 50
unsignedcharkey_scan(void){charrow;//ÐÐcharlist;//ÁÐchari;charval...
unsigned char key_scan(void)
{
char row;//ÐÐ
char list;//ÁÐ
char i;
char val;
unsigned char keyvalue[] = {0x77,0x7b,0x7d,0x7e,0xb7,0xbb,0xbd,0xbe,0xd7,0xdb,0xdd,0xde,0xe7,0xeb,0xed,0xee,};
KEY = 0xf0;
if(KEY != 0xf0)
{
delay();
if(KEY != 0xf0)
{
row = KEY&0xf0;
KEY = 0x0f;
list = KEY&0x0f;
val = row|list;
for(i = 0; i < 16; i++)
{
if(val == keyvalue[i])
{
while(KEY != 0xf0);//松手检测
return i;
}
}
}
}
} 展开
{
char row;//ÐÐ
char list;//ÁÐ
char i;
char val;
unsigned char keyvalue[] = {0x77,0x7b,0x7d,0x7e,0xb7,0xbb,0xbd,0xbe,0xd7,0xdb,0xdd,0xde,0xe7,0xeb,0xed,0xee,};
KEY = 0xf0;
if(KEY != 0xf0)
{
delay();
if(KEY != 0xf0)
{
row = KEY&0xf0;
KEY = 0x0f;
list = KEY&0x0f;
val = row|list;
for(i = 0; i < 16; i++)
{
if(val == keyvalue[i])
{
while(KEY != 0xf0);//松手检测
return i;
}
}
}
}
} 展开
2个回答
展开全部
display()没问题,但是键盘扫描的时候和消抖都是要花时间的,要综合起来考虑问题,动态扫描最好用定时中断方式

2025-03-12 广告
射频导纳物位开关是一种物位开关,利用射频导纳技术来测量物位的变化,并通过计算机技术实现对物位的控制和显示。它是一种高精度、高可靠性、高稳定性的物位测量设备,广泛应用于各种工业领域,如石油、化工、冶金、钢铁、电力、医药、食品、造纸、建材等。射...
点击进入详情页
本回答由上海思派提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询