键盘特殊按键ASCII码值

ESC键 VK_ESCAPE (27)

回车键: VK_RETURN (13)

TAB键: VK_TAB (9)

Caps Lock键: VK_CAPITAL (20)

Shift键: VK_SHIFT ($10)

Ctrl键: VK_CONTROL (17)

Alt键: VK_MENU (18)

空格键: VK_SPACE ($20/32)

退格键: VK_BACK (8)

左徽标键: VK_LWIN (91)

右徽标键: VK_LWIN (92)

鼠标右键快捷键:VK_APPS (93)

 Insert键: VK_INSERT (45)

Home键: VK_HOME (36)

Page Up: VK_PRIOR (33)

PageDown: VK_NEXT (34)

End键: VK_END (35)

Delete键: VK_DELETE (46)

方向键(←): VK_LEFT (37)

方向键(↑): VK_UP (38)

方向键(→): VK_RIGHT (39)

方向键(↓): VK_DOWN (40)

F1键: VK_F1 (112)

F2键: VK_F2 (113)

F3键: VK_F3 (114)

F4键: VK_F4 (115)

F5键: VK_F5 (116)

F6键: VK_F6 (117)

 

F7键: VK_F7 (118)

 

F8键: VK_F8 (119)

 

F9键: VK_F9 (120)

F10键: VK_F10 (121)

F11键: VK_F11 (122)

F12键: VK_F12 (123)

Num Lock键: VK_NUMLOCK (144)

小键盘0: VK_NUMPAD0 (96)

小键盘1: VK_NUMPAD0 (97)

小键盘2: VK_NUMPAD0 (98)

小键盘3: VK_NUMPAD0 (99)

小键盘4: VK_NUMPAD0 (100)

小键盘5: VK_NUMPAD0 (101)

小键盘6: VK_NUMPAD0 (102)

小键盘7: VK_NUMPAD0 (103)

小键盘8: VK_NUMPAD0 (104)

小键盘9: VK_NUMPAD0 (105)

小键盘.: VK_DECIMAL (110)

小键盘*: VK_MULTIPLY (106)

小键盘+: VK_MULTIPLY (107)

小键盘-: VK_SUBTRACT (109)

小键盘/: VK_DIVIDE (111)

Pause Break键: VK_PAUSE (19)

Scroll Lock键: VK_SCROLL (145)

4×4行列式键盘,也称为矩阵键盘,通常用于嵌入式系统如C51单片机上,它通过行列扫描的方式来识别按键。连接这种键盘需要以下几个步骤: 1. **硬件连接**: - 将4行(列地址线)分别连接到单片机的I/O口(如P0~P7)。 - 将4列(数据线)连接到单片机的另一个I/O口(如P8~P11),其中列线需要经过上拉电阻接到Vcc(电源电压)。 - 按键的公共端连接到单片机的Vss(地)。 2. **必要器材**: - C51单片机(例如ATtiny85、AVR等) - 数量适当的上拉电阻(一般4个或8个,取决于按键数量) - 长排扁平电缆(用于连接单片机和键盘) 3. **软件部分**(C语言示例代码): ```c #include <reg52.h> // 使用C51汇编指令集 sbit KEY[][] = {P0^0, P0^1, P0^2, P0^3, // 行 P1^0, P1^1, P1^2, P1^3, // 列 P2^0, P2^1, P2^2, P2^3}; // 可以根据实际接线修改 void readMatrixKey() { int row = 0; while (row < 4) { int col = 0; while (col < 4) { if (!KEY[row][col]) { // 如果该位置按下 // 打印按下的键对应的ASCII码,这里仅作示例,需替换为实际处理逻辑 printf("Pressed key: %d\n", col + 4 * row); } col++; } row++; } } int main() { TRISB = 0x0F; // 设置PB口为输入 TRISA = 0xFF; // 设置PA口为输出 while (1) { readMatrixKey(); } } ``` 注意:此代码是一个基本示例,实际应用中可能需要添加错误检测、按键抖动过滤等措施。同时,代码中的`printf`函数在C51单片机上通常不可用,你需要找到合适的替代方法来打印结果,比如使用串口通信或LED阵列。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值