搜索
bottom↓
回复: 13

请问谁能分享下51USB主机键盘驱动程序?

[复制链接]

出0入0汤圆

发表于 2013-12-20 11:14:05 | 显示全部楼层 |阅读模式
如题,什么平台无所谓,用C写的就行了。

当然了,程序多半是用P口模拟出来的,因为51应当都不带USB的相关外设的吧。

要主机的,不是你用单片机做一个键盘,然后连到PC或者其它上位机上去。

好心人帮帮忙~

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2013-12-20 11:42:25 | 显示全部楼层
没玩过USB主机。
楼主有没有看过《圈圈教你玩USB》?
下面是个笨办法:
先在电脑上装个BusHound,监测电脑对USB键盘的处理过程,
再将其移植到单片机中。

出0入0汤圆

 楼主| 发表于 2013-12-20 11:54:16 | 显示全部楼层
lcw_swust 发表于 2013-12-20 11:42
没玩过USB主机。
楼主有没有看过《圈圈教你玩USB》?
下面是个笨办法:

圈圈教U玩SB全是从机

出0入0汤圆

发表于 2013-12-20 12:28:01 | 显示全部楼层
P口模拟USB主机,这个在51上不现实

出0入0汤圆

发表于 2013-12-20 13:20:49 | 显示全部楼层
本帖最后由 lcw_swust 于 2013-12-20 13:29 编辑
习学发开 发表于 2013-12-20 11:54
圈圈教U玩SB全是从机


如果楼主只是想让51单片机能读取USB键盘,其实很简单:
将USB口的D+、D-用电阻(1K左右)上拉,USB键盘的USB接口就变成了PS2接口,可以按PS2键盘的协议来操作。
(网上有转接接口卖,当然也可以自己做)

(我只试过USB鼠标可以变成PS2鼠标,USB键盘没做过实验,建议楼主试试,毕竟USB协议太麻烦)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-12-22 16:29:59 | 显示全部楼层
lcw_swust 发表于 2013-12-20 13:20
如果楼主只是想让51单片机能读取USB键盘,其实很简单:
将USB口的D+、D-用电阻(1K左右)上拉,USB键盘的 ...

大神啊!您可是帮了我大忙!早知如此偶就不花那么多时间整USB协议了。

另外弱弱问下,USB协议太麻烦是什么意思,是指一来一去要收发的控制字非常繁琐呢,还是USB有些概念很难理解呢?还是USB控制字收发本身难度非常高?请指点!

出0入0汤圆

发表于 2013-12-22 17:01:28 | 显示全部楼层
习学发开 发表于 2013-12-22 16:29
大神啊!您可是帮了我大忙!早知如此偶就不花那么多时间整USB协议了。

另外弱弱问下,USB协议太麻烦是什 ...

如果用IO直接模拟USB,那就得把USB的时序搞清楚,这个是比较难的。
如果用带USB接口的单片机,或者外加接口芯片(如CH375),那就只要搞清楚用法就行了,应该会有现成的例子。
当然,也要了解一下“一来一去”的协议。(USB的协议层)

出0入0汤圆

 楼主| 发表于 2013-12-22 17:07:08 | 显示全部楼层
lcw_swust 发表于 2013-12-22 17:01
如果用IO直接模拟USB,那就得把USB的时序搞清楚,这个是比较难的。
如果用带USB接口的单片机,或者外加接 ...

哈哈,应当是繁琐而不是困难,要花时间,但是不是高不可攀。我怕的是什么“隧道”这样的抽象思维,还有协议收发本身,一个包格式该怎么样?长度多少?等等这样的信息。

出0入0汤圆

发表于 2013-12-22 17:08:57 | 显示全部楼层
习学发开 发表于 2013-12-22 17:07
哈哈,应当是繁琐而不是困难,要花时间,但是不是高不可攀。我怕的是什么“隧道”这样的抽象思维,还有协 ...

的确,多花时间是可以搞定的。

出0入0汤圆

 楼主| 发表于 2013-12-22 17:15:34 | 显示全部楼层
lcw_swust 发表于 2013-12-22 17:08
的确,多花时间是可以搞定的。

谢谢,我估摸着是不是USB主机检测到设备发来的设备识别码为“键盘”后就直接按照PS2协议进行通讯了,而不是按“USB键盘”的协议,所以加几个电阻就解决问题了?呵呵,浅见,请指教。

出0入0汤圆

发表于 2013-12-22 17:18:49 | 显示全部楼层
习学发开 发表于 2013-12-22 17:15
谢谢,我估摸着是不是USB主机检测到设备发来的设备识别码为“键盘”后就直接按照PS2协议进行通讯了,而不 ...

不是的,电脑的USB接口一直是用的USB协议。
你可以用示波器看看波形

出0入0汤圆

 楼主| 发表于 2013-12-22 17:31:43 | 显示全部楼层
lcw_swust 发表于 2013-12-22 17:18
不是的,电脑的USB接口一直是用的USB协议。
你可以用示波器看看波形

谢谢。那么我那么接之后,USB键盘收不到主机发出的一些请求,会不会行不通呢?网上搜到的USB转PS2产品就是接线,没有其它的东西了。

出0入0汤圆

发表于 2013-12-22 17:53:15 | 显示全部楼层
习学发开 发表于 2013-12-22 17:31
谢谢。那么我那么接之后,USB键盘收不到主机发出的一些请求,会不会行不通呢?网上搜到的USB转PS2产品就 ...

PS2接口是可以双向通信的,你先看看PS2键盘的协议再说

出0入0汤圆

 楼主| 发表于 2013-12-22 17:56:33 | 显示全部楼层
lcw_swust 发表于 2013-12-22 17:53
PS2接口是可以双向通信的,你先看看PS2键盘的协议再说

呃,好吧,
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 05:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表