婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> EDA開發應用 >> Keilc >> 正文

Keil C51鍵盤譯碼程序

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2008-11-21

  鍵盤譯碼程序是開發項目中最常用到的程序,它的好壞,直接影響著整個程序!現在介紹一個使用非常廣泛的Keil C51鍵盤譯碼程序。
 在主程序中不斷調用KeyBord(),可以不停地掃描鍵盤!
 在功能子程序中調用:unsigned charJB_KeyData(),得到鍵值
#define TK  8         //主程序執行時間8ms
#define Timer20ms  (30/TK)   //延時時間20ms
#define Timer2S     (1200/TK) //延時時間2S
#define Timer100ms   (1000/TK)  //延時時間100ms
#define Port P2 //鍵盤口
//****************************
KEY  KeyDat;        //定義數據結構
//---------------------------
//5個開關占用的IO腳
//---------------------------
sbit ko=Port^0;
sbit ka=Port^1;
sbit kb=Port^2;
sbit kc=Port^3;
sbit kd=Port^4;

/***************************
根據硬件電路不同,只修改這段程序即可。。
***************************/
unsigned char ReadKey(void){
    ko=0;
    if(!ka) return 2;//Ka
    if(!kb) return 3;//Kb
    if(!kc) return 4;//Kc
    if(!kd) return 5;//Kd
    return 0;
}

/***************************
判別是否有建
***************************/
void GetKey(void){
    if(ReadKey()!=0){
    KeyDat.KeyDog=Timer20ms;
    KeyDat.KeyPower++;
    }
}

/***************************
延時去抖動
***************************/
void KeyDog(void){
    if(0==-KeyDat.KeyDog){
    KeyDat.KeyData=ReadKey(); //讀鍵盤
    if(KeyDat.KeyData!=0){
    KeyDat.KeyPower++;
    KeyDat.KeyDog=Timer3S;
/***************************
//    BeepPower=1;//蜂鳴器短鳴
***************************/
    }else{
    KeyDat.KeyPower=0:
    KeyDat.KeyData=0;    //返回
    }
  }
}

/***************************
判別是否松開
***************************/
void KeyOff1(void){
  if(ReadKey0==0){    //松開按鍵
    KeyDat.KeyPower=0;
    KeyDat.KeyData |=HaveKey;//定義標志
    }else{
    if(0==-KeyDat.KeyDog){ //3秒延時到
    KeyDat.KeyDog=Timer100ms;
    KeyDat.KeyPower++;
    }
    }
}

/***************************
連擊是否松開
***************************/
void KeyOff2(void)
{
    if(ReadKey()!=0){
    if (0==--KeyDat.KeyDog){
    KeyDat.KeyData |=DubClick | HaveKey;  //連擊標志
    KeyDat.KeyDog=Timer100ms;
/***************************
//    BeepPower=1;//發送蜂鳴器短鳴命令
***************************/
    }
    }else{
    KeyDat.KeyData=0;  //?|=HaveKey;//一次按鍵
    KeyDat.KeyPower=0;
    }
}
/***************************
函數指針定義
***************************/
code void(code *SubKey[])()={
    GetKey,KeyDog,KeyOff1,KeyOff2
};
/***************************
鍵處理程序用戶在主程序只需不斷調用它!
***************************/
void KeyBord(void){
   (*SubKey[KeyDat.KeyPower])();

/***************************
用戶在功能函數中調用,返回鍵處理后清除鍵值
***************************/
unsigned char JB_KeyData(void){
    unsigned char i=0;
    if (KeyDat.KeyData>DubClick){
    i=KeyDat.KeyData;
    KeyDat.KeyData=0;
    }
    return i;
}

以下是頭文件:
/***************************
鍵盤的鍵值定義
***************************/
#define DubClick 0x40    //連擊
#define HaveKey 0x80    //有鍵
#define SeeKey (0x01|HaveKey)
#define SetKey (0x02|HaveKey)
#define RRKey (0x03|HaveKey)
#define UpKey (0x04|HaveKey)
#define RetKey (0x05|HaveKey)
#define RLKey (0x02|HaveKey)

//#define UseKey (0x06|HaveKey)
#define SeeKey_Dub (SeeKey | DubClick | HaveKey)
#define SetKey_Dub (SetKey | DubClick | HaveKey)//雙擊
#define RRKey_Dub (RRKey | DubClick | HaveKey)
#define UpKey_Dub (UpKey | DubClick | HaveKey)
#define RetKey_Dub (RetKey | DubClick | HaveKey)
//#define UseKey_Dub (UseKey | DubClick | HaveKey)

//--------------------------
typedef struct{
  unsigned char KeyPower;  //命令字
  unsigned int KeyDog;//延時
  unsigned char KeyData;//鍵值
}KEY;

Tags:Keil C51,鍵盤,譯碼程序  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
推薦文章
最新推薦
熱門文章
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av
<button id="4i884"></button>
  • <abbr id="4i884"><source id="4i884"></source></abbr>
  • <code id="4i884"><tr id="4i884"></tr></code>
  • <rt id="4i884"></rt>
    <li id="4i884"></li>
  • <rt id="4i884"><tr id="4i884"></tr></rt>
  • 五月婷婷狠狠操| 久久综合在线观看| 992tv快乐视频| 国产xxxxhd| √天堂资源在线| 欧美成人福利在线观看| 日韩精品你懂的| 四季av一区二区| av在线网址导航| 手机免费看av网站| 亚洲欧美一区二区三区不卡| 国产5g成人5g天天爽| 中文字幕在线综合| 亚洲一级免费观看| 一区二区三区四区毛片| www.污网站| 日韩精品一区二区三区四| 久久久99精品视频| 被灌满精子的波多野结衣| 欧美日韩精品在线一区二区| 任你操这里只有精品| 午夜两性免费视频| 亚洲第一页在线视频| 久久久久久免费看| 青青艹视频在线| 不卡av免费在线| 中文字幕剧情在线观看| 国产一线二线三线女| 少妇激情一区二区三区| aaaaaaaa毛片| 黄色一级片播放| 中文字幕第一页在线视频| 黄色一级大片免费| 爱情岛论坛成人| 欧美xxxxxbbbbb| 久久婷婷国产精品| 亚洲一区二区福利视频| 国产 日韩 欧美在线| 丁香婷婷激情网| 国产av熟女一区二区三区 | 国产精品自拍合集| aⅴ在线免费观看| 欧美 另类 交| 看欧美ab黄色大片视频免费| 亚洲小说欧美另类激情| 免费日韩视频在线观看| 国产系列第一页| 手机在线看福利| 黄色国产一级视频| 97人人模人人爽人人澡| 爱福利视频一区二区| 国产一级大片免费看| 国产精品嫩草影院8vv8| 欧美aⅴ在线观看| 成人免费视频91| 黄色成人在线免费观看| 色www免费视频| 美女一区二区三区视频| 奇米影视亚洲色图| 真实国产乱子伦对白视频| 免费精品99久久国产综合精品应用| 日韩亚洲欧美视频| 五月激情婷婷在线| 国产成人亚洲精品无码h在线| 精品一二三四五区| 亚洲制服在线观看| 99国产精品久久久久久| 欧美男女交配视频| 亚洲第一狼人区| 亚欧美在线观看| 色婷婷狠狠18| 久久精品久久99| 国产999免费视频| 一级特黄妇女高潮| 欧美大片免费播放| 日本男女交配视频| 国产成人生活片| 国产欧美精品aaaaaa片| 黄色大片中文字幕| 自拍日韩亚洲一区在线| 国产网站免费在线观看| 日本免费黄视频| 免费男同深夜夜行网站| 国产超碰在线播放| 日本77777| 免费观看国产视频在线| 成人av在线不卡| 国产精品亚洲αv天堂无码| 国产精品-区区久久久狼| 国产 日韩 欧美在线| 男人c女人视频| 日韩少妇内射免费播放18禁裸乳| 精品www久久久久奶水| 91视频免费版污| 亚洲美女自拍偷拍| 日韩久久久久久久久久久久| 黄色免费视频大全| 中文字幕第88页| a级片一区二区| 91淫黄看大片| 国产高清不卡无码视频| 免费高清在线观看免费| 日韩av自拍偷拍| 久久久久久久久久久99| 中文字幕av不卡在线| www.激情网| 午夜免费福利在线| 草草草视频在线观看| 日本xxxx黄色| 欧美一级视频在线播放| 污污的视频免费观看| 少妇无码av无码专区在线观看| 亚洲精品手机在线观看| 蜜桃传媒一区二区三区| 精品国产三级a∨在线| 蜜臀久久99精品久久久酒店新书| 国产911在线观看| 国产成人亚洲精品无码h在线| 久久亚洲a v| 天堂av2020| 天天爽人人爽夜夜爽| 欧美成人免费在线观看视频| 青少年xxxxx性开放hg| 北条麻妃视频在线| 日韩av三级在线| 久久99久久99精品| 欧美aaa在线观看| 午夜国产福利在线观看| 男女无套免费视频网站动漫| 国产 福利 在线| 欧美激情 国产精品| 老子影院午夜伦不卡大全| 日本成人性视频| 99久久久无码国产精品性色戒| 日本人视频jizz页码69| 国产三级三级三级看三级| av动漫免费看| 亚洲成人av免费看| 一级黄色香蕉视频| 最新天堂中文在线| 中文av一区二区三区| 中文字幕 日韩 欧美| 亚洲自拍第三页| 国产黑丝在线视频| 亚洲免费视频播放| 蜜桃网站在线观看| 天堂…中文在线最新版在线| 男女高潮又爽又黄又无遮挡| 男人亚洲天堂网| 鲁一鲁一鲁一鲁一av| 97人人模人人爽人人澡| gogogo免费高清日本写真| 蜜臀精品一区二区| av免费观看网| 另类小说色综合| 搡的我好爽在线观看免费视频| 9999在线观看| 亚洲熟妇av日韩熟妇在线| 国产极品美女高潮无套久久久| 精品999在线| 免费观看国产视频在线| 国产 福利 在线| 奇米视频7777| 少妇高潮毛片色欲ava片| 最新中文字幕2018| 日韩视频一二三| 欧洲av无码放荡人妇网站| 国产成人在线综合| 日本一道本久久| 欧美一级xxxx| 欧美 国产 综合| 国产精品久久久影院| 欧美色图色综合| 国内外成人激情免费视频| 国产91在线免费| www亚洲国产| 亚洲五月天综合| 免费网站永久免费观看| 天天视频天天爽| 免费无码国产v片在线观看| 日韩欧美中文视频| 国产免费999| 少妇无码av无码专区在线观看| 波多野结衣三级在线| 成年人在线看片| 日韩avxxx| 国产妇女馒头高清泬20p多| 青娱乐精品在线| 国产美女18xxxx免费视频| 日本免费不卡一区二区| 激情五月六月婷婷| 三区视频在线观看| 超碰在线播放91| 99精品视频在线看| 亚洲人成无码网站久久99热国产| 欧美专区第二页| xxx中文字幕| 欧洲xxxxx| 亚洲自偷自拍熟女另类| 成人性生交免费看|