原创 EDN USB实验板实战程序---------无线键盘

2008-5-13 20:18 4128 3 8 分类: MCU/ 嵌入式

点击下载wirless_keynum_send_ok.rar


点击下载wirless_USB-keyboard_ok.rar


    在写这篇文章前,先要感谢COMPUTER00提供的漂亮的测试程序,让我少走了很多的弯路. 不想多说,彩云的工作态度真是我们的榜样呀!!!  为此我一下买了7套学习板.  


    在00的指导下我十分顺利的调好了EDN USB学习板的键盘实战程序. 由于本人比较喜欢玩无线,刚好手头也有凌阳公司的NRF2401模组,也就有了想做个无线键盘,无线鼠标什么玩玩的.说做就做.


    想法是好的,想做好这个还是有点难度了,还好有EDN 这么好的学习环境.大家都在用心的学习新的知识.让我感觉很有气氛.


   NRF2401模组我早就调好,收发数据也十分的稳定,有兴趣的话可以看我我之前写的关于NRF2401无线传输的文章.多谢00呀,将单片机的所有的引脚都引出来,方便了我们的二次开发.对着原理图我认真的分析.NRF2401只能连接到.P1,P2口上因为P0和P3口上分别有USB的数据线和中断,读,写等信号线. 凌阳的无线模组的引脚固定死了,如下图:点击开大图


有10个引脚.分别是:VCC,PWR,CE,CS,R1,C1,D1,NC,NC,GND


没有办法进行改变,.只是后面两个脚没有和任何脚相连,可以和最后的一个地线焊到一起去!这是我成功的一个小方面:-).


            几经分析后,发送按键 键值的USB 学习的NRF2401无线模组插在P0口上是最方便的.千万不可以插在P1口在,因为EDN USB学习析上的键盘连在P1口,如:NRF2401的+J1脚连到VCC上(从ISP下载口上引最方便)如果第一键按下了话,会出现非常严重的后果:短路短路短路短路短路短路.原因嘛留给网友自己去想吧!但是让我们再次看看P0口上的引脚吧,我们从上向下看的顺序是:


VCC,P0^0,P0^1,P0^2,P0^3,P0^4,P0^5,P0^6,P0^07,EA


而EA脚连接的是什么了,VCC呀.这样的无线模插上去是话不会有作用的.还有可能会烧掉的.想想......................................


EA脚嘛接上高电平,没有必要引出来.我们完全可以将它剪掉.没有办法,我也不想,只能对我的USB学习板进行大胆的动刀了.再将我们的无线模组进行小小的改动.将两个NC脚中的一个与最后一个GND引脚焊上就可以了!这样就可以用连接线将NRF2401的GND连到EDN USB学习板上的GND上.


         而接收按键 键值的EDN USB 学习板的NRF2401无线模组插在P1口上.由上分析P0,P3口是不能用的.那么P2了,真是可以吗? 让我们一起来分析一下吧.EDN USB学习板的P2上连接的是LED,当给P2一个高电平时,LED必会点亮.那么由于LED的分压作用,给NRF2401引脚上的电平就会发生区大的变化,不再是高电平.而是一个不大确定的状态.现在我们提到一个结论,NRF2401无线模块只能插在P1口上.


     0fb827b9-8269-41c8-8052-22441587c67b.jpg6fd5ccb5-3c5b-4182-8bab-47b823ef67dd.jpg


    至此我们的硬件方案定下.发张图看看吧:


        下面我们谈一下软件的相关细节这方面我的程序内部有非常详细的备注),主要说一点:接收按键 键值的EDN USB 学习板在响应HID 10MS的中断时,必须将关闭无线接收程序.在此我设了个rece_enable的标志位.在响应中断时.置rece_enable = 0;经过一天的调试后我终于调通无线键盘的程序.


        功能:K1:左Ctrl键  K2:左Shift键  K3:左Alt键  K4:0键 K5:1键  K6:2键  K7:Caps Lock键 K8:Num Lock键


       缺点与改进意见:


      本设计有一个非常不爽的地方就是,我的接收端是一直向USB端点发数据的,没有键按下时,不断向USB端点发数据0.我也尝试将其改成只有键按下时才发数据.可尝试了两天还不没有解决.下面发出修改后的程序,望有兴趣的网友可以帮我看看,为何我的程序不成功.多谢了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


       点击下载USB-keyboardv2.0_test.rar


  


 


        



 

PARTNER CONTENT

文章评论5条评论)

登录后参与讨论

用户1394812 2008-6-3 12:20

very good ........

用户123472 2008-5-19 14:03

不错

用户1019568 2008-5-19 09:24

用户789411 2008-5-16 11:46

不错!

用户1364249 2008-5-16 11:09

楼主真强人。
相关推荐阅读
用户506569 2008-05-13 20:44
keil C 编译器错误与解决方法
keil C 编译器错误与解决方法.pdf                最近调好了基于EDN USB学习板的无线键盘程序,以前KEIL C没有怎么好好的学习.调试中遇到很多的问题.下面我自己在网上搜...
用户506569 2008-05-11 21:50
EDN USB开发板实战-------无线收发!
    前几天收到了EDN助学小组的USB开发板.  非常的漂亮. 很想做个无线键盘玩玩.所以对我的NRF2401进行了十分大胆尝试,上5V的电,没想过试.手册上说的明明白白极限电压是4.0V.呀.有...
用户506569 2008-04-06 20:11
RTX51应用笔记
    RTX51是KEILC公司专为51系列单片机而出的嵌入式系统,目前有两个版本可供选择:RTX51 tiny和RTX51 full 两个版本。由于使用的人不是很多,相关的资料也十分的少。因此本人...
用户506569 2008-04-05 18:09
nrf2401调试心得
         最近调通NRF2401无线传输的程序,发出来大家共享一下。        使用NRF2401芯片作无线收发时非常的方便,没有以前做401时的杂波。出来的波形非常的漂亮,在实验室调试时...
我要评论
5
3
关闭 站长推荐上一条 /3 下一条