发作品签到
标准版

PC小键盘,多媒体小键盘 ,CH551G/CH552G单片机

工程标签

7.7w
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,非 手把手教学群
RfaskLOXeyoFTV7qDoBhSWFijn69uau6Oj6piGuQ.png
按键功能自定义:
  • 普通键盘按键:
  • 普通按键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:粘贴。
 
 
  1. 选择8位CH55X系列 (目前新版WCHISP支持插入单片机自动选择型号)。
  2. 芯片型号选择 (目前新版WCHISP支持插入单片机自动选择型号)。
  3. 把(下载完成后运行目标程序)的√打上就不用拔插重启了。
  4. 看usb设备列表了出现设备就可以下一步了。
  5. 选择编译好的程序,路径是        编译输出文件\客制PC小键盘.hex。
  6. 点击下载,最下方的下载进度条走完就下载就行了
  7. 下载方式记得选 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

附件

序号文件名称下载次数
1
DSC_0876.JPG
595
2
DSC_0879.JPG
497
3
演示.mp4
12488
4
外壳.zip
345
5
HID1.11协议.pdf
847
6
HID用途表1.12.pdf
982
7
KeilV4程序工程.zip
1431
8
我使用EC11旋转编码器、键帽购买链接.txt
434
9
客制PC小键盘.hex
74
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航