如何在单片机程序中如何定义一个数组,用矩阵键盘输入里面的数组里面的变量?(我想用键盘扫描) 5

 我来答
Handsome灬橙子
2018-05-05 · TA获得超过197个赞
知道小有建树答主
回答量:90
采纳率:77%
帮助的人:41.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,你需要时检测或者在定时器里检测。

追问
但是怎么把数据存放在数组里面呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式