USB鼠标完成,与大家分享

用CH375的USB鼠标制作完成。 非常感谢Mr. Manson的程序http://wch.cn/bbs/View.asp?S=101&I=888,我的程序只在其上做出很小的改动,计有: 1 移植到UV2工程中 2 总线片选读取模式改为IO口模拟 3 中断0改为中断1 4 使用了6个按键,上、下、左、右、左键、右键

测试结果是,运行一切正常。鼠标移动速度等恒定,移动一个屏幕大概十秒不到的样子。 不过问题是,只能运行于我的简陋仿真器(P89C58+IAP的串口仿真器)上,写到89C52中无法运行,现象是,插上后十来秒钟,PC提示无法安装设备,BUS HOUND没有抓到数据流。 程序如下UploadImages/frank789200561221157.rar

前一帖没有写完,找不到修改的地方,麻烦板主删除!


程序多大? 估计是89c52的容量不够,呵呵~~

试试看


另:程序没有上传成功啊!! 不能下载!!

你再传一次吧!!


不好意思!是我的机器故障!

已经下载了!!谢谢分享!!


编译后的hex文件为8.6k左右,而89c52的容量为8K Bytes Flash Memory,装不下程序!

你用89c55来作就没有问题的了!!呵呵!

谢谢分享!


原来是这样! 非常感谢!


你试试看! 改成89c55以后,好使了吗?

试试修改看看!!


手头上还没有89C55,下午去实验室要一片再试吧。 另外,有一点疑惑: 以前用PHILIPS的D12和ISP1581,也是外部固件的器件,代码比鼠标的代码要长不少,但是用89C52也能装下,所以不清楚是不是这个程序没有做过优化所以才会占用比较大的空间。 另外,在KEIL中如果器件选成89C51,编译时会报错;选成89C52则不会了。我也是基于此才没有怀疑是单片机空间的原因。 HEX文件的大小好像并不能直接反映代码大小,比如USB鼠标的HEX文件是8K多,但是用编程器写入时,提示长度是2898字节,是可以顺利写入89C52的。而用于ISP1581的固件,HEX文件大小是23K,也是可以写入89C52并且正常运行的。


phlips的程序没有加入串口调试吧? 就是“stdio.h”,这个东西很大啊!!


HEX的格式我不知道! 不过感觉是容量的问题!


HEX大小和真实的二进制文件大小不一样,所以不能用HEX文件大小来衡量89C52能不能装的下.你的问题不在这里,估计和你的程序有关系,再好好查查,你的52时钟多少啊?是不是跟延时有关系.


怎么样了? 现在?、


hoho2005613113636.gif


to 小小何:到现在为止还没有试。因为是毕业设计的一部分,答辩都结束了,老师好象没有要求演示的意思。如果不需要演示的话,也不一定真写到89C58里去了。毕竟只是USB通信实验,如果真用它用USB鼠标的话,成本太高了。我觉得,设计成HID模式的外部固件,最大的意义不在做模拟鼠标、键盘,而是利用其可以使用通用驱动的特性进行普通数据传输吧,这么可以免安装驱动。(我是这么理解的,即HID设备也可以用于通用数据传输,只要设备端支持,因为看到一本书上介绍如何通过API访问HID设备,不知道有没有错。)

to 冰山一角:谢谢你的图!之前太粗心了,没有找到。


是的,用在数据传输方面的较多!!! 这个就是个很好的例子!! 只不过是鼠标的数据罢了!!!


只有登录才能回复,可以选择微信账号登录