用51单片机和ch375实现键鼠功能

用51单片机和ch375实现键鼠功能

说明:
为了参加比赛,我和我的队友设计了一款人机交互系统,我负责接收摄像头数据和模拟键鼠功能,由于当时只是学习了51故用51单片机和ch375模拟一套简单的键鼠功能。若真想实现键鼠功能,推荐使用32及类似的单片机做。

简单介绍:

  • ch375:
    CH375 是一个 USB 总线的通用接口芯片,支持 USB-HOST 主机方式和 USB-DEVICE/SLAVE 设备方式。 在本地端,CH375 具有 8 位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机 /DSP/MCU/MPU 等控制器的系统总线上。在 USB 主机方式下,CH375 还提供了串行通讯方式,通过串行 输入、串行输出和中断输出与单片机/DSP/MCU/MPU 等相连接。(详细请看数据手册)在这里插入图片描述
  • stc12c5a60s2:
    比较常见的一款51单片机,不必细说。o( ̄▽ ̄)o

电路图:

在这里插入图片描述
不是很清晰(>人<;)

3d效果图是这样的:
在这里插入图片描述

代码实现(注意的地方):

hid报告描述符:(详细的去看hid协议(。^▽^))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码量有点多只能截图,下面会给资料链接

  • 对main函数做点解释:
  • mouse_dataup函数是实现鼠标的移动或者左右按键
  • key_dataup函数是键盘的值的实现,可以实现四个键一起按下,事实上协议是支持5个按键一起按下的,但由于这是键鼠 一起的,故占用了一个,只能四个。CH375 具有 8 位数据总线,这就限定了一次性只能发8个字节。可以下载代码找到该函数看看。

资料链接

  • 文件说明:在这里插入图片描述
    键:单独实现键盘功能
    键鼠:俩功能
    鼠标:单独鼠标功能
    键盘键值:是hid协议里每个按键所对应的值
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小罗-LWX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值