USB键盘原理图和源程序--初学者适用


很不错的USB键盘开发学习例子,值得推荐一番
资源截图
代码片段和文件信息
/******************************************************************
   本程序只供学习使用,未经作者许可,不得用于其它任何用途
      我的邮箱:computer-lov@tom.com
        欢迎访问我的blog:  http://computer00.21ic.org

KEY.C  file

作者:Computer-lov
建立日期: 2007.03.20
修改日期: 2007.03.22
版本:V1.1
版权所有,盗版必究。
Copyright(C) Computer-lov 2007-2017
All rights reserved            
*******************************************************************/


#include “Key.h“
#include “my_type.h“

uint16 idata KeyMapCurrentKeyMapOldKeyMapOkKeyNoChangedTime;
uint8 KeyMapCanChange;

#define KeyIO P1

/*************************定时器0初始化***************************************/
void InitTimer0(void)
{
 TMOD&=0xF0;
 TMOD|=0x01;
 TH0=0xDC;
 ET0=1;
 TR0=1;
}
/******************************************************************************/

/*************************定时器0中断处理***************************************/
void Timer0Isr(void) interrupt 1

 uint8 temp;
 TH0=0xDC;  //定时器0重装
 KeyIO=0x0F;
 if((KeyIO&0x0F)==0x0F)  //如果现在没有按键按下
  {
   KeyMapCurrent=0;   //没有键按下
  }
 else
  {
   //开始键盘扫描

   //扫描第一行
   KeyIO=~0x10;

   //保存四个开关状态
   temp=KeyIO&0x0F;

   //扫描第二行   
   KeyIO=~0x20;

   //保存四个开关状态   
   temp|=KeyIO<<4;

   //保存按键状态到当前按键情况      
   KeyMapCurrent=(~temp)&0xFF;

   //扫描第三行
   KeyIO=~0x40;

   //保存四个开关状态   
   temp=KeyIO&0x0F;

   //扫描第四行  
   KeyIO=~0x80;

   //保存四个开关状态   
   temp|=KeyIO<<4; 
     
   //保存全部16个开关的状态
   //KeyMap总共有16个bit,当某个开关按下时,
   //对应的bit为1
   KeyMapCurrent|=(((uint16)~temp)<<8);
  }

 if(KeyMapCurrent!=KeyMapOld)  //说明按键情况发生了改变
  {
   KeyNoChangedTime=0;       //键盘按下时间为0
   KeyMapOld=KeyMapCurrent;  //保存当前按键情况
   return;
  }
 else
  {
   KeyNoChangedTime++;   //按下时间累计
   if(KeyNoChangedTime>=1)  //如果按下时间足够
    {
 KeyNoChangedTime=1;
 if(KeyMapCanChange)
  {
   KeyMapOk=KeyMapOld;  //保存按键
  }
}
  }
}
/******************************************************************************/

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     目录          0  2011-12-09 14:20  USB键盘源程序(含调试信息-电路原理图)

     目录          0  2011-12-09 14:22  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)

     文件       2225  2007-03-22 16:25  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)Key.c

     文件        706  2007-03-22 15:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)Key.h

     文件       4569  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)Key.LST

     文件       5258  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)Key.OBJ

     文件       2102  2007-03-22 16:02  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)keyboard.h

     文件        688  2007-03-22 15:54  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)My_type.h

     文件       3081  2006-03-02 23:25  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)PDIUSBD12.h

     文件       3901  2007-03-22 15:57  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UART.c

     文件        740  2007-03-22 15:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UART.h

     文件       6922  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UART.LST

     文件       7945  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UART.OBJ

     文件       7498  2007-03-22 15:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)USB.H

     文件      68444  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard

     文件      38004  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard.c

     文件      16743  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard.hex

     文件         79  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard.lnp

     文件      61885  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard.LST

     文件      62949  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard.M51

     文件      66608  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard.OBJ

     文件       3256  2011-12-09 14:22  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard.Opt

     文件        255  2011-12-09 14:22  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard.plg

     文件       2249  2011-12-09 14:22  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard.Uv2

    .......      2575  2007-03-23 23:58  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard_Opt.Bak

    .......      2230  2007-03-23 22:41  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)UsbKeyBoard_Uv2.Bak

     文件    1525760  2009-02-28 06:32  USB键盘源程序(含调试信息-电路原理图)USB键盘源程序(含调试信息-电路原理图)调试信息-电路原理图.doc

----------- ---------  ---------- -----  ----

              1896672                    27



............此处省略0个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)