加入交流群  

扫一扫,添加管理员微信
备注:参考设计,即可被拉入群
和也在搞设计小伙伴们碰一碰

收藏 

评论 

3228 发布

[成本10元以内] 可自由设定 单键/组合键 映射的键盘

 
设计简介

前言

日常办公、打音游均可。总成本可以控制在10元以内。

当前只做了1x5版本的实物,5x5因为时间原因未完成。所以当前固件只支持1x5版本,经过测试目前还无BUG。

 

固件烧录及焊接说明

固件包含在附件里,烧录方法和一般STC单片机相同。

固件升级需要用到固件升级工具,同时需要主机支持串口通信(通常使用USB转串口模块)。在产品PCB背面找到UART1接口(焊有2.54mm排针),如右图,从方形焊盘开始从左向右依次接主机VCC(需使用3.3v)、TXD、RXD、GND。点击开始烧录等待完成即可。

 

CH9328的IO2接GND,其余接高电平

 

关于源码

小人不才,花了两天两夜时间写完代码。暂不考虑公布源码,若有兴趣,可联系我QQ1901667220,大家一起交流进步。

 

Features

1. 采用STC8G(1T)高性能主控。

2. 适配所有主流操作系统,无需手动安装驱动程序。

3. 按键扫描算法优化,可做到无误触。

4. 片上搭载4kEEPROM,可断电保存用户配置数据。

5. 完全离线的按键编辑,用户可自由配置所有按键。

6. 支持多种按键映射模式,包括特殊键值映射。

7. USB1.1兼容、USB2.0全速模式兼容。

8. PCB保留UART固件升级接口,方便日后升级。

 

使用方法

◇ 指示灯

本产品指示灯分为两个区域:

左上角三个为用户指示灯,用于提示用户、用户操作反馈和显示系统当前工作模式与状态,具体说明见下文;

右上角三个从左到右依次为:

◽ TLED:当设备与USB主机进行数据传输时该灯保持快速闪烁。

◽ ACT:当设备与USB主机进行USB握手成功后该灯保持常亮。

◽ PWR:当设备接入电源后该灯保持常亮。

◇ 布局

如下图,设备正面有5个机械按键,从左到右以此为ABCDE(具体键帽上标注可能不符,为方便,本说明一律称作ABCDE)。左上角三个LED依次为LED1、LED2、LED3。

 

 

◇ 启动选项

将设备通过Micro-USB数据线连接主机,设备上电启动。若不按任何按键直接上电,设备自动进入键盘模式,会根据内部存储的按键映射关系对应不同按键。若按住某一按键时上电,则会进入某一功能,具体如下表:

按键

功能

说明

LED提示

按键A

编辑模式

进入编辑模式,用户自由编辑按键映射。

3个LED从左到右依次点亮,随后全部熄灭。

按键B

切换预设1

切换到对应标号的预设,断电自动保存,下次在上电无需再次切换,若再次上电进入编辑模式则编辑对应预设。

3个LED短亮后LED1常亮。

按键C

切换预设2

3个LED短亮后LED2常亮。

按键D

切换预设3

3个LED短亮后LED3常亮。

不按

键盘模式

常规工作模式。

3个LED短亮后对应预设灯常亮。

 

◇ 预设

初次使用设备时设备内置三组按键预设,分别为预设1、预设2、预设3。每个预设中的每个按键最多映射5个HID码,且各个预设之间相互独立,用户可以根据需要自行更改并保存。预设编辑完毕后用户可在上电时按住按键B、C、D中任意一个从而实现快速切换不同预设。

 

◇ 编辑模式

上电时按住按键A进入编辑模式,编辑当前所在的预设。进入编辑模式时3个LED会从左向右依次点亮,然后熄灭,表示当前所处编辑模式。在3个LED熄灭状态下,长按某个按键,直到3个LED逐次点亮后闪烁,此时松开按键,进入该按键的编辑状态,此时5个按键对应功能如下:

按键

功能

按键A

输入下一位或完成输入

按键B

BCD码第一位(最高位)

按键C

BCD码第二位

按键D

BCD码第三位

按键E

BCD码第四位(最低位)

 

说明:一个按键的HID扫描码通常由三位十进制数(0-255)构成,通过将其中每一位转化成8421BCD码(以下简称BCD码),由高位向低位依次输入三次来绑定按键。具体HID码表请参考附录1、2。

 

1.按键映射表的清空操作

在3个LED均熄灭的编辑模式下,长按某个按键,至3个LED逐次点亮并闪烁,再至3个LED逐次熄灭、长亮、再熄灭,即完成对该按键的清空。此时该按键不绑定任何HID码。

注:若没等到3个LED均熄灭的状态提前松开按键,可按3次按键A(即输入000),来避免对按键映射表进行操作。

 

2.BCD码的输入

3个LED指示当前输入3位十进制数的哪一位,LED1、2、3分别对应百位、十位、个位。在每一轮输入BCD码前,所有位默认是0,当按下按键BCDE里其中一个时,对应位变为1(不论按多少次都是1,且无法变为0,若误操作请清空后再次操作)。如要输入十进制数5(对应BCD码为0101),即只需按下按键C和按键E后再按按键A确定。当三位十进制数最后一位(个位)输入完成后按下按键A,随即3个LED依次点亮、熄灭,代表按键绑定已完成,可对下一按键进行编辑或退出编辑。

输入操作举例如下:

举例

按键操作顺序

输入9

(对应F键)

LED1闪烁后常亮 > 按键A > LED2闪烁后常亮 > 按键A > LED3闪烁后常亮 > 按键B、E > 按键A > 3个LED依次点亮后熄灭 > 完成

输入40

(对应Enter键)

LED1闪烁后常亮 > 按键A > LED2闪烁后常亮 > 按键C > 按键A > LED3闪烁后常亮 > 按键A > 3个LED依次点亮后熄灭 > 完成

输入240

(对应LCtrl键)

LED1闪烁后常亮 > 按键D > 按键A > LED2闪烁后常亮 > 按键C > 按键A > LED3闪烁后常亮 > 按键A > 3个LED依次点亮后熄灭 > 完成

 

3.单键和多键绑定

单键和多键绑定操作类似,差别是前者只进行一次绑定,后者进行多次绑定。

每个按键可容纳5个映射关系,清空时会同时清除该按键的所有映射关系,所以建议 先清空再绑定。若忘记按键映射关系,可以在键盘正常工作模式下使用配套资料中的 Keyboard Test Utility软件查看。

 

4.退出编辑模式

在3个LED均熄灭的状态下,同时长按按键A、B直至3个LED闪烁即恢复正常键

盘模式,随后对应的预设指示灯会保持常亮。

 

附录1:HID一般按键扫描码表(参考USB-HID数据包传输规范)

按键

扫描码

按键

扫描码

按键

扫描码

按键

扫描码

A

4

U

24

Space

44

F7

64

B

5

V

25

-/_

45

F8

65

C

6

W

26

=/+

46

F9

66

D

7

X

27

[ / {

47

F10

67

E

8

Y

28

] / }

48

F11

68

F

9

Z

29

 / |

49

F12

69

G

10

1

30

...

50

PrtScr

70

H

11

2

31

; / :

51

ScrollLock

71

I

12

3

32

‘/ "

52

Pause

72

J

13

4

33

` / ~

53

Insert

73

K

14

5

34

, / <

54

Home

74

L

15

6

35

. / >

55

PgUp

75

M

16

7

36

/ / ?

56

Delete

76

N

17

8

37

Caps Lock

57

End

77

O

18

9

38

F1

58

PgDn

78

P

19

0

39

F2

59

Right

79

Q

20

Enter

40

F3

60

Left

80

R

21

Esc

41

F4

61

Down

81

S

22

BackSpace

42

F5

62

Up

82

T

23

Tab

43

F6

63

NumLock

83

注1:扫描码为0代表不做任何按键绑定操作。 注2:此表仅供参考,若有错误烦请指正。

 

附录2:HID控制按键扫描码表(该表由软件特别规定)

按键

扫描码

按键

扫描码

按键

扫描码

按键

扫描码

L Ctrl

240

L Alt

242

R Ctrl

244

R Alt

246

L Shift

241

L GUI

243

R Shift

245

R GUI

247



参考设计图片
×

!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。

 
群聊设计,与管理员及时沟通

欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。

 
查找数据手册?

EEWorld Datasheet 技术支持

论坛推荐 更多
更新时间2024-11-12 18:53:38

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD参考设计中心

站点相关: TI培训 德州仪器(TI)官方视频课程培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved