单片机矩阵键盘按键C语言程序Word下载.doc
- 文档编号:14565744
- 上传时间:2022-10-23
- 格式:DOC
- 页数:2
- 大小:28KB
单片机矩阵键盘按键C语言程序Word下载.doc
《单片机矩阵键盘按键C语言程序Word下载.doc》由会员分享,可在线阅读,更多相关《单片机矩阵键盘按键C语言程序Word下载.doc(2页珍藏版)》请在冰豆网上搜索。
voiddelay_50us(uintt)
{
ucharj;
for(;
t>
0;
t--)
for(j=19;
j>
j--);
}
voiddelay_50ms(uintt)
ucharj;
for(;
for(j=6245;
j--);
/*这个程序可以不用松手检测,因为我们程序首选判断键是否按下
然后发现按下后我们延时5MS,然后再检测。
确实是按下啦。
我们再执行
在第二个循环假如我们继续检测,那么消耗时间10MS这个短时间中
我们的按键已经松手啦。
不会在执行后面的。
*/
voidmain()
ucharkey_l,key_h;
ucharkey;
while
(1)
{
P3=0xf0;
//首先给P3口赋值
key_l=P3;
//从p3口读一个数据到key_l
key_l=key_l&
0xf0;
if(key_l!
=0xf0)//如果不等于的话,说明有按键按下去
delay_50us(100);
//稍微延时一下
if(key_l!
=0xf0)
{
key_l=P3&
//11100000再读一次P3的值然后和0xf0相与
key_l=key_l|0x0f;
//11101111
P3=key_l;
//在把key_l的值送给P3口
//此时P3口的值为11101111,而正在此时我们把键按下啦因此按下的键为11101110与11101111
//相与还是11101110;
key_h=P3;
//再读一次P3口,键还是按下,可以得到行的值。
key_h=key_h&
0x0f;
//00001110
key_l=key_l&
//11100000
key=key_l+key_h;
//11101110
}
}
switch(key)
case0xee:
P1=smg_du[0];
break;
case0xde:
P1=smg_du[1];
case0xbe:
P1=smg_du[2];
case0x7e:
P1=smg_du[3];
case0xed:
P1=smg_du[4];
case0xdd:
P1=smg_du[5];
case0xbd:
P1=smg_du[6];
case0x7d:
P1=smg_du[7];
case0xeb:
P1=smg_du[8];
case0xdb:
P1=smg_du[9];
case0xbb:
P1=smg_du[10];
case0x7b:
P1=smg_du[11];
case0xe7:
P1=smg_du[12];
case0xd7:
P1=smg_du[13];
case0xb7:
P1=smg_du[14];
case0x77:
P1=smg_du[15];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 矩阵 键盘 按键 语言 程序