如何在单片机程序中如何定义一个数组,用矩阵键盘输入里面的数组里面的变量?(我想用键盘扫描) 5
1个回答
展开全部
矩阵扫描?正常我是用翻转法来检查按键的,下面贴出代码,希望能给你一些帮助
typedef unsigned char u8;
typedef unsigned int u16;
sbit key=P1;
u8 key_scan()
{
u8 key_value=0;
key=0x0f;
if(key!=0x0f)
{
if(key==0x0e) key_value=1;
else if(key==0x0d) key_value=2;
else if(key==0x0b) key_value=3;
else if(key==0x07) key_value=4;
key=0xf0;
if(key==0xe0) key_value+=0;
else if(key==0xd0) key_value+=4;
else if(key==0xb0) key_value+=8;
else if(key==0x70) key_value+=12;
while(key==0xf0);
}
return key_value;
}
u8 key_scan()这个函数返回的就是键值,key是一个端口,请自行改(可以在最后加上10ms的延时,消抖用)。
其中key_value就是键值,从1-16,你需要时检测或者在定时器里检测。
追问
但是怎么把数据存放在数组里面呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询