标准版
PC小键盘,多媒体小键盘 ,CH551G/CH552G单片机
7.8w
0
0
354
简介
使用沁恒CH551G/CH552G制作的小键盘,功能比较基础,功能的拓展就交给你们了。
简介:使用沁恒CH551G/CH552G制作的小键盘,功能比较基础,功能的拓展就交给你们了。开源协议
:CC-BY-NC-SA 3.0
创建时间:2020-05-03 16:01:06更新时间:2024-06-28 09:27:19
描述
使用沁恒CH551G/CH552G 51单片机制作的自定义键盘),使用3个凯华矮轴以及一个EC11增量旋转编码器,接口用带定位柱的MICRO-USB,H1的是用于短接插进入电脑进行程序下载(不必焊接排针,用镊子短接就行),单片机第一次下载程序不需要短接H1,附件里提供了我使用的旋转编码器购买链接、程序源码、HID协议、HID用途表。
QQ群:697752852,非 手把手教学群
按键功能自定义:
- 普通键盘按键:
- 普通按键hid值可以看我附件里提供的HID用途表1.12.pdf的**Keyboard/Keypad Page的Usage ID(Hex) **以C的06为0x06。
键盘发送给PC的数据每次8个字节:BYTE0 BYTE1 BYTE2 BYTE3 BYTE4 BYTE5 BYTE6 BYTE7。定义分别是:
BYTE0 --
|--bit0: Left Control 0x01
|--bit1: Left Shift 0x02
|--bit2: Left Alt 0x04
|--bit3: Left GUI(win键) 0x08
|--bit4: Right Control 0x10
|--bit5: Right Shift 0x20
|--bit6: Right Alt 0x40
|--bit7: Right GUI 0x80
BYTE1 -- 暂不清楚,有的地方说是保留位
BYTE2--BYTE7 -- 这六个为普通按键
以按键1修改为例:
按键功能:ctrl + c
if(keyCode == 0x31)//按键1
{
HIDKey[0] = 0x01; //HIDKey[0]放Ctrl、Shift、Alt这些。这里为 左Ctrl 0x01
HIDKey[2] = 0x06; //HIDKey[2]-HIDKey[7]为按下的第一个按键到第六个,这里0x06为c
if(Ready) //枚举成功
{
HIDValueHandle1(); //多媒体按键HID值上传
}
}
- 多媒体按键:
BYTE0:Vol- 到 Scan Pre Track
BYTE1:Scan Next Track开始的8个,取值参考下面的BYTE1去对照KeyMULRepDesc数顺序。
BYTE0 BYTE1 BYTE2这3个字节分成24位,每个位代表一个按键,1代表按下,0抬起。
BYTE0 --
|--bit0: Vol- 0x01
|--bit1: Vol+ 0x02
|--bit2: Mute 0x04
|--bit3: Email 0x08
|--bit4: Media 0x10
|--bit5: WWW Home 0x20
|--bit6: Play/Pause 0x40
|--bit7: Scan Pre Track 0x80
BYTE1 BYTE2按下面的顺序排下去,BYTE2 bit7:最后一个Usage( NULL )。
BYTE3 --
系统功能按键,关机(0x81),休眠(0x82),唤醒(0x83)
以按键1修改为例:
if(keyCode == 0x31)//按键1
{
HIDKeyMUL[0] = 0x02; //音量+
if(Ready) //枚举成功
{
HIDValueHandle2(); //多媒体按键HID值上传
}
}
程序下载步骤:
先短接H1然后插入电脑,单片机第一次下载程序不需要短接H1,看下图。我这边插USB hub上电脑识别不出来。
附件里有编译好的程序固件 .hex文件,旋钮:按下为静音转动音量+-、按键1:打开多媒体、按键2:复制、按键3:粘贴。
- 选择8位CH55X系列 (目前新版WCHISP支持插入单片机自动选择型号)。
- 芯片型号选择 (目前新版WCHISP支持插入单片机自动选择型号)。
- 把(下载完成后运行目标程序)的√打上就不用拔插重启了。
- 看usb设备列表了出现设备就可以下一步了。
- 选择编译好的程序,路径是 编译输出文件\客制PC小键盘.hex。
- 点击下载,最下方的下载进度条走完就下载就行了
- 下载方式记得选 usb。
修改记录:
1.修改日期:2021-01-02 10:54
忘了。
2.修改日期:2021-08-13 16:07
自己疏忽传错修改的源码进行修正、type-c口打板文件有问题修复。
3.修改日期:2021-08-14 11:28
EC16购买链接失效了,进行附件更新去掉了EC16购买地址,EC16的程序比较通用于其他型号旋转编码器。
4.修改日期:2021-12-05 19:08
附件添加了CH55x的WS2812驱动,以便需要加WS2812的朋友。
5.修改日期:2022-07-09 11:30
修改了EC16工程部分注释
6.修改日期:2022-09-18 14:00
修改并只保留了EC11工程除去了WS2812驱动(驱动不一定兼容其他WS2812),电路除去了一个0.1uf以及旋转编码器AB的上拉电阻并且重新布线,定位孔从M3规格换成了M2。
7.修改日期:2022-09-19 18:00
画了外壳,详情看附件,家境贫寒暂未验证外壳。
8.修改日期:2022-10-02 23:32
修改了底壳螺丝孔径为1.6mm,上壳螺丝孔增加了倒角,家境贫寒暂未验证外壳。
9.修改日期:2022-10-11 20:35
验证了外壳并做出了上壳的修改,更新了封面图;3个绿色LED灯限流电阻R2 8.2K改成了3.3K提升了灯的亮度,还觉得暗请自己改小这个电阻。
10.修改日期:2023-01-14 14:15
改善了EC11转动快了抖动的问题,在原电路的基础上使用了P3.1中断判断EC11正反转。
11.修改日期:2024-06-27 22:14
附件增加了编译好的hex文件,旋钮:按下为静音转动音量+-、按键1:打开多媒体、按键2:复制、按键3:粘贴。
设计图
未生成预览图,请在编辑器重新保存一次
BOM
暂无BOM
克隆工程
添加到专辑
0
0
分享
侵权投诉
评论