打造自己的专属鼠标——鼠标DIY教程(五)

作者:论坛管理员|发布时间:2014-12-02 12:04:00
[摘要]首先说明一下,按照上次列出的连接图,我们是有RC1和RC2这两个接口空余的,原本我是将RC1做成了一个调节全彩LED的输出,但是考虑到教程的性质,到时还要将这个接口改成读取光学滚轮,那么我就把这个灯光效果的部分去 ...
六、18f14k50 RTOS鼠标固件 首先说明一下,按照上次列出的连接图,我们是有RC1RC2这两个接口空余的,原本我是将RC1做成了一个调节全彩LED的输出,但是考虑到教程的性质,到时还要将这个接口改成读取光学滚轮,那么我就把这个灯光效果的部分去掉,留下基础的功能。整体如下图所示: [img]http://public.blu.livefilestore.com/y1pO12l_Hs_1lXqIKKf0l1ZtdaTRak2BvfT9WVPfYhC5kOnGgJr6eUro9JbNDOpSudgIKdwgq6hQTz9YvTfquV--w/T43.jpg?psid=1[/img] 注意: 除GPL发布声明的代码外, 其余程序均涉及私有代码库,不能视为开源,这些代码包括以下的鼠标固件代码,只能用于个人学习用途,商业使用需经版权人的授权。 #include <18F14k50.h> #fuses HS,NOFCMEN,NOBROWNOUT,NOWDT,BORV30,NOPUT,NOCPD,STVREN,NOXINST,NOWRT,NOWRTD,NOWRTC,WDT32768,NOIESO,NOEBTR,NOEBTRB,NOMCLR,NOPROTECT,NOCPB,NOWRTB,CPUDIV1,USBDIV1,PLLEN,NOHFOFST,NOLVP #use delay(clock=48000000) #define USB_CONFIG_HID_TX_SIZE 64 // HID每次接收发送多少字节 #define USB_CONFIG_HID_RX_SIZE 64 #use rtos(timer=0,minor_cycle=150us) #include //Microchip PIC18Fxx5x hardware layer for usb.c #include "usb_hid_mouse.h" //USB Configuration and Device descriptors for this UBS device //将附件中的usb_hid_mouse.h和主程序文件放一起 #include //handles usb setup tokens and get descriptor reports //#include // 我们暂时先不用bootloader,这行先注释掉 #include #include //Global Var #define CNCS PIN_C6 //---------定义控制A3080的几个脚 #define NPD PIN_C5 #define RESET PIN_C4 signed int8 DeltaX; //----------------存放读取出来的A3080坐标数据 signed int8 DeltaY; signed int8 SumX; signed int8 SumY; //------------------------------------------ //--------------------------------------polling rate var int PollCount=1; int PollingRate=1; int Squal; //----------------------存放 Squal int16 Lcount; int16 Lcount2; int16 Rcount; int16 Rcount2; int16 Mcount; int16 Mcount2; int8 BLPressed; int8 BRPressed; int8 BMPressed; int8 out_data2[4]; char out_data[64]; char in_data[64]; int8 ENStat; #byte Portb=0xF81 //-----------------这个有点多余, P5=PIN_C5P7=PIN_C7,直接引用 //可以了,当时是为了方便引用吧。 #bit P5=PortB.5 #bit P7=PortB.7 #task(rate=600us,max=150us) //定义RTOS各个任务 void ReadButton( ); #task(rate=300us,max=150us) void ReadMotion(); #task(rate=1050us,max=150us) void UsbTransit ( ); #task(rate=9750us,max=150us) void HidCom();
[责任编辑:'']
标签
暂无标签
收藏 分享

相关阅读

暂无推荐内容

评论(2)

登录后参与评论

发表评论 还可以输入2000个字符 添加表情
*友情提示:首次回复增加5元发烧值,多次回复往后每次增加1元发烧值,前5次回复有效!
最新评论

查看所有评论>>

  • 会员头像
    quwei80  2017-03-22 16:35:09
    路过瞧瞧!
    点赞 (0) 回复
  • 会员头像
    zu7dao  2017-03-20 10:32:51
    路过帮顶
    点赞 (0) 回复
  • 会员头像
    超电磁侠  2011-01-19 23:36:18
    话说毕业设计 怎么也要来个什么手势识别 人脸识别 动作识别 脑波识别才牛b啊 哈哈哈金环的光学滚轮解码ok了!争取明天放改造教程。
    点赞 (0) 回复
  • 会员头像
    monhk2345  2011-01-19 23:28:50
    这个绝对要顶!!!话说我毕业设计想整鼠标的~~可惜领导不批~说“鼠标就这么小一个,有什么好做的”{:1_023:}
    点赞 (0) 回复
  • 会员头像
    GuoAnNB  2011-01-19 13:29:52
    深奥帖 顶了
    点赞 (0) 回复
  • 会员头像
    超电磁侠  2011-01-19 12:30:39
    我了个去, 一通百通的东西, 都这么谦虚,
    点赞 (0) 回复
  • 会员头像
    ravenyuanye  2011-01-19 11:15:59
    诶诶,买过单片机开发板的某人。。。。。。
    点赞 (0) 回复
  • 会员头像
    ravenyuanye  2011-01-19 11:07:21
    pic单片机不懂,fpga半吊子路过
    点赞 (0) 回复
  • 会员头像
    mjg870923  2011-01-19 11:06:20
    [b] [url=http://www.pcwaishe.cn/redirect.php?goto=findpost&pid=2464268&ptid=145058]20#[/url] [i]超电磁侠[/i] [/b]11楼就懂 你找他就可以。。。
    点赞 (0) 回复
  • 会员头像
    refire  2011-01-19 07:54:06
    {:1_012:}
    点赞 (0) 回复
  • 会员头像
    a407450333  2011-01-19 03:34:51
    {:1_031:}
    点赞 (0) 回复
  • 会员头像
    zthskyhao  2011-01-18 23:10:20
    我顶!
    点赞 (0) 回复
  • 会员头像
    超电磁侠  2011-01-18 23:06:34
    要再有两三个懂一点单片机,和想DIY的人才行, 我一个人就算神装也真心带不动一个群啊
    点赞 (0) 回复
  • 会员头像
    zsxh  2011-01-18 22:39:50
    成立个Diy的群 如何 壳啥时候做 看不懂 帮顶
    点赞 (0) 回复
  • 会员头像
    zqgzq  2011-01-18 21:50:58
    默默的支持……
    点赞 (0) 回复
  • 会员头像
    3961896ww  2011-01-18 20:48:13
    太专业了,各种看不懂 顶下。。。
    点赞 (0) 回复
  • 会员头像
    培子  2011-01-18 20:25:23
    越看越晕 只能先存着 我
    点赞 (0) 回复
  • 会员头像
    aken  2011-01-18 19:26:29
    帮顶
    点赞 (0) 回复
  • 会员头像
    超电磁侠  2011-01-18 19:24:44
    动手有动手的乐趣,
    点赞 (0) 回复
  • 会员头像
    weiwei3278  2011-01-18 19:04:47
    老话,期待楼主最后鼠标的外观~
    点赞 (0) 回复
<1 2 >

52篇 文章总数

334509 总阅读量