使用沁恒CH552G 51单片机制作的自定义键盘(也可以用CH551G),使用3个凯华矮轴以及一个EC16增量旋转编码器(EC11也可以,附件里有EC11的工程),接口用带定位柱的MICRO-USB,MICRO-USB旁边H1的是用于短接插进入电脑进行程序下载(不必焊接排针,用镊子短接就行)。为了避免使用不同的旋转编码器驱动有问题,附件里提供了我使用的2种旋转编码器的链接、程序源码、元器件清单、HID协议、HID用途表。

按键功能自定义:

普通键盘按键:

普通按键hid值可以看我附件里提供的HID用途表1.12.pdf的**Keyboard/Keypad Page的Usage ID(Hex) **以C的06为0x06。键盘发送给PC的数据每次8个字节:BYTE1 BYTE2 BYTE3 BYTE4 BYTE5 BYTE6 BYTE7 BYTE8。定义分别是:

BYTE1 --

|--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

BYTE2 -- 暂不清楚,有的地方说是保留位

BYTE3--BYTE8 -- 这六个为普通按键

以按键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值上传

}

}

多媒体按键:

BYTE1:Vol- 到 Scan Pre Track

BYTE2:Scan Next Track开始的8个,取值参考下面的BYTE1去对照KeyMULRepDesc数顺序。

BYTE1 BYTE2 BYTE3 这3个字节分成24位,每个位代表一个按键,1代表按下,0抬起。

BYTE1 --

|--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

BYTE2 BYTE3按下面的顺序排下去,BYTE3 bit7:最后一个Usage( NULL )。

BYTE4 --

系统功能按键,关机(0x81),休眠(0x82),唤醒(0x83)

以按键1修改为例:

if(keyCode == 0x31)//按键1

{

HIDKeyMUL[0] = 0x02; //音量+

if(Ready) //枚举成功

{

HIDValueHandle2(); //多媒体按键HID值上传

}

}

程序下载步骤:

先短接H1然后插入电脑,看下图,工程里用的是CH552G(如果用其他型号选对应型号就行)。

选择8位CH55X系列。

选择CH552。

把(下载完成后运行目标程序)的√打上就不用拔插重启了。

看usb设备列表了出现设备就可以下一步了。

选择编译好的程序CH552E.hex。

点击下载,最下方的下载进度条走完就下载就行了

下载方式记得选 usb

修改日期:2021-01-02 10:54

单片机电脑计算机键盘设计,客制pc小键盘,CH552单片机HID键盘,电脑多媒体小键盘...相关推荐

  1. 电脑计算机d盘有用吗,d盘不见了,教您电脑d盘不见了怎么解决

    安装完win7系统之后,一般用户会分硬盘有CDEF盘,可以方便我们存储文件软件等,而有win7系统用户要却发现没有D盘了,D盘不见了?这是怎么回事呢?该怎么去解决呢?下面,小编就给大家分享解决电脑d盘 ...

  2. 电脑计算机怎么没有桌面显示器,显示器无信号,详细教您电脑显示屏不显示怎么修复...

    电脑现在是越来越普遍了,不过既有甜又有苦,这不有用户就遇到了显示器无信号的情况,这让用户摸不着头脑.相比显示器没有任何显示而言,显示器无信号电脑故障其实更容易解决.那么该怎么去解决呢?下面,小编就来跟 ...

  3. 基于单片机的超市储物柜设计_一种基于at89c51单片机的超市寄存装置的制造方法...

    一种基于at89c51单片机的超市寄存装置的制造方法 [专利摘要]一种基于AT89C51单片机的超市寄存装置,主要包括AT89C51单片机最小系统.按键模块.电源模块.箱柜控制模块.语音提醒模块.管理 ...

  4. 计算机课程进制的转换,计算机课程设计 进制转换

    简要介绍资料的主要内容,以获得更多的关注 河北工业大学计算机软件技术基础(VC)课程设计报告 学院 机械工程系 班级 姓名 __ 学号 ____ 成绩 __ ____ 一.题目: 进制转换(8) 二. ...

  5. 计算机创新设计2大赛获奖作品3Done,【20届中小学电脑获奖指导老师分享】张明华:3D One 创意教学的探索与前行...

    南昌市青桥学校  张明华老师 我来自南昌市青桥学校,任教初二年级的信息技术课程.虽然我今年都50岁了,是从教30年的老教师.但实际担任信息技术课程的教学还不到两年,需要向大家学习的远超过我跟大家分享的 ...

  6. 小学音乐利用计算机教学设计,外婆的澎湖湾公开课,怎么利用技术多媒体小学音乐教学设计...

    <义务教育音乐课程标准>中明确提出:"以信息技术为代表的现代教育技术极大地扩展了音乐教学的容量,丰富了教学手段和教学资源,在音乐教育中有着广阔的应用前景,教师应努力掌握现代信息技 ...

  7. 电脑计算机和算盘童话作文,网路_童话作文嫦娥玩电脑700字小学生作文

    [导读]农惠美嗨!大家好,我是美貌无比,迷倒上千万男子的嫦娥仙子,自从吃了王母娘娘给后羿的长生不老的仙药..本文<童话作文嫦娥玩电脑700字>由小学生作文大全整理,仅供参考. 如果觉得很不 ...

  8. PC 机与单片机通信(RS232 协议)

    PC 机与单片机通信(RS232 协议) 1.单片机串口通信的应用 2.PC控制单片机IO口输出 3.单片机控制实训指导及综合应用实例 4.单片机给计算机发送数据 文章目录 PC 机与单片机通信(RS ...

  9. 客制化键盘编程_基于3D打印的客制化机械键盘设计与实现

    龙源期刊网 http://www.qikan.com.cn 基于 3D 打印的客制化机械键盘设计与实现 作者:许玺风 毛凌志 来源:<科学与财富> 2020 年第 03 期 摘 要:本文首 ...

最新文章

  1. C语言 从指定文件中依次读出字符直至文件结束
  2. 浅谈域名发散与域名收敛
  3. 48_并发编程-线程-资源共享/锁
  4. 1.3编程基础之算术表达式与顺序执行 01 A+B问题 (Python3实现)
  5. 冯仕堃:预训练模型哪家强?百度知识增强大模型探索实践!
  6. 简介几种负载均衡原理
  7. ADOMDConnection连接字符串与AnalysisService服务器配置
  8. NLP ---文本情感分析
  9. C++视频教程资源链接合集
  10. 毕业设计 - 题目: 基于深度学习的疲劳驾驶检测 深度学习
  11. word单元格调整文字行间距
  12. win10如何做到在指定目录下打开cmd命令窗口
  13. DTOJ 3999 ♂U♂ Xi♂
  14. 2019314输入一个日期,输出星期几
  15. 渗透测试入门(域名、DNS)— 理论知识
  16. 话费充值接口文档源码(2)
  17. 90句美丽的英文及翻译
  18. Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构
  19. c# asp.net mvc使用斑马GK888t打印机打印标签
  20. 姚能伟:以邻盛智能为例,如何在行业大脑进行创新实践

热门文章

  1. PostgreSQL数据库导入EXCEL数据表
  2. STM32开发笔记27:STM32L0低功耗设计——RTC模块1秒时钟的产生方法
  3. 织梦网站数据入库接口(实现图片本地化,自动图片打水印)【原创】
  4. ROS2报错缺少“diagnostic_updater“,CMake did not find diagnostic_updater. 解决思路
  5. PHP 简单日历功能的实现
  6. python 声音强度检测_python检测音频中的静音
  7. 详解Mysql分布式事务XA
  8. 915M无线通讯模块 数传 SI4463 SX1278
  9. iOS开发-集成阿里云实人认证
  10. [OHIF-Viewers]医疗数字阅片-医学影像-es6-Element.querySelector()