立即注冊 登錄
返回首頁

uid:75461的個人空間

日志

8個獨立鍵盤驅(qū)動程序

熱度 1已有 1116 次閱讀2015-3-31 09:06 |個人分類:51| 程序, 鍵盤

#define KEY P1 //鍵盤所連接的I/O接口組定義

/*********************************************************************************************
函數(shù)名:8個獨立式鍵盤驅(qū)動程序
調(diào)  用:? = Key ();
參  數(shù):無
返回值:unsigned char 鍵值0~8
結(jié)  果:有鍵按下時返回值為鍵值1~8,無鍵按下時返回值為0
備  注:在主函數(shù)中不斷調(diào)用
/**********************************************************************************************/
unsigned char Key ( ){ //8個獨立鍵盤處理程序
unsigned char a,b;
KEY = 0xff; //設(shè)定鍵盤初始電平狀態(tài)
if (KEY != 0xff){ //讀取鍵盤狀態(tài)是否改變
   Delay (20); //延時20ms去抖動
   if (KEY != 0xff){ //重新讀取
 a = KEY; //寄存狀態(tài)值到a
}
switch(a){ //鍵盤狀態(tài)查表
  case 0xfe: b = 1; break;
  case 0xfd: b = 2; break;
  case 0xfb: b = 3; break;
  case 0xf7: b = 4; break;
  case 0xef: b = 5; break;
  case 0xdf: b = 6; break;
  case 0xbf: b = 7; break;
  case 0x7f: b = 8; break;
  default:   b = 0 ; break;
  }
}
return (b); //將b中的鍵值代號送入函數(shù)返回值
}
/**********************************************************************************************/

路過

雞蛋
1

鮮花

握手

雷人

剛表態(tài)過的朋友 (1 人)

全部作者的其他最新日志

評論 (0 個評論)

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

返回頂部