資源簡介
很不錯的USB鍵盤開發(fā)學習例子,值得推薦一番

代碼片段和文件信息
/******************************************************************
???本程序只供學習使用,未經作者許可,不得用于其它任何用途
??????我的郵箱: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)??//如果現(xiàn)在沒有按鍵按下
??{
???KeyMapCurrent=0;???//沒有鍵按下
??}
?else
??{
???//開始鍵盤掃描
???//掃描第一行
???KeyIO=~0x10;
???//保存四個開關狀態(tài)
???temp=KeyIO&0x0F;
???//掃描第二行 ??
???KeyIO=~0x20;
???//保存四個開關狀態(tài) ??
???temp|=KeyIO<<4;
???//保存按鍵狀態(tài)到當前按鍵情況??????
???KeyMapCurrent=(~temp)&0xFF;
???//掃描第三行
???KeyIO=~0x40;
???//保存四個開關狀態(tài)? ?
???temp=KeyIO&0x0F;
???//掃描第四行 ?
???KeyIO=~0x80;
???//保存四個開關狀態(tài) ??
???temp|=KeyIO<<4;?
?????
???//保存全部16個開關的狀態(tài)
???//KeyMap總共有16個bit,當某個開關按下時,
???//對應的bit為1
???KeyMapCurrent|=(((uint16)~temp)<<8);
??}
?if(KeyMapCurrent!=KeyMapOld)??//說明按鍵情況發(fā)生了改變
??{
???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個文件信息
評論
共有 條評論