键盘各键对应的编码值(key code)

来源:http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes在处理键按键事件,方便做对照。
KeyCode
backspace8
tab9
enter13
shift16
ctrl17
alt18
pause/break19
caps lock20
escape27
page up33
page down34
end35
home36
left arrow37
up arrow38
right arrow39
down arrow40
insert45
delete46
048
149
250
351
452
553
654
755
856
957
a65
b66
c67
d68
 
KeyCode
e69
f70
g71
h72
i73
j74
k75
l76
m77
n78
o79
p80
q81
r82
s83
t84
u85
v86
w87
x88
y89
z90
left window key91
right window key92
select key93
numpad 096
numpad 197
numpad 298
numpad 399
numpad 4100
numpad 5101
numpad 6102
numpad 7103
 
KeyCode
numpad 8104
numpad 9105
multiply106
add107
subtract109
decimal point110
divide111
f1112
f2113
f3114
f4115
f5116
f6117
f7118
f8119
f9120
f10121
f11122
f12123
num lock144
scroll lock145
semi-colon186
equal sign187
comma188
dash189
period190
forward slash191
grave accent192
open bracket219
back slash220
close braket221
single quote222
  
  • 20
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你解答这个问题。首先,你需要了解矩阵键盘的原理和数码管的显示方式。矩阵键盘是将按键排列成矩阵形式,每个按键对应矩阵的一个行和一列。通过扫描每个行和每个列,就可以判断哪个按键被按下。 下面是一个简单的矩阵键盘扫描函数的实现: ```c #include <reg52.h> #define KEY_PORT P1 // 定义键盘端口 #define LED_PORT P2 // 定义数码管端口 unsigned char code[] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, 0xff}; // 定义共阳数码管编码 unsigned char key_scan(void) { unsigned char val, i; KEY_PORT = 0xf0; // 将列设为高电平,行设为低电平 val = KEY_PORT; // 读取键值 if (val != 0xf0) // 判断是否有按键按下 { for (i = 0; i < 4; i++) // 扫描行 { KEY_PORT = ~(0x10 << i); // 将行设为高电平,列设为低电平 val = KEY_PORT; // 读取键值 if (val != ~(0x10 << i)) // 判断是否有按键按下 { switch (val) { case 0xee: return i * 4 + 1; // 第一列 case 0xde: return i * 4 + 2; // 第二列 case 0xbe: return i * 4 + 3; // 第三列 case 0x7e: return i * 4 + 4; // 第四列 } } } } return 0; // 没有按键按下 } ``` 上面的代码中,首先将列设为高电平,行设为低电平,然后读取键值。如果键值不是 0xf0,说明有按键按下。接着扫描每一行,将行设为高电平,列设为低电平,再次读取键值。如果键值不等于预期,说明该行有按键按下,根据列和行的位置计算出键值并返回。 接下来是数码管显示函数的实现: ```c void led_display(unsigned char val) { LED_PORT = code[val]; // 将数码管编码写入端口 } ``` 数码管显示函数根据传入的参数 val,从共阳数码管编码中查找对应编码,然后将其写入数码管端口。 综上,你需要在主函数中不断调用键盘扫描函数获取键值,然后将键值传入数码管显示函数进行显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值