當前位置:首頁 » 編程語言 » c語言按鍵檢測

c語言按鍵檢測

發布時間: 2024-12-08 21:44:59

『壹』 C語言 如何在一段時間內檢測鍵盤是否按下

#include <bios.h>
#include <stdio.h>
main()
{
int key;
for(;;)
{
if (bioskey(1)) /*有鍵按下,讀取鍵值*/
key=bioskey(0);
else /*無鍵按下,返回0*/
key=0;
switch(key)
{case 0: ...../*無按鍵,執行該操作*/
case 0xXXXXH:..../*不同鍵值,做不同處理*/
。。。。。
}
}
}

該程序段功能:
判斷是否有鍵按下,若有進行不同操作,若無進行其他操作。

相關原理:
函數名: bioskey
功 能: 直接使用BIOS服務的鍵盤介面
函數原型:int bioskey (int cmd)
說明:bioskey()的函數原型在bios.h中
bioskey()完成直接鍵盤操作,cmd的值決定執行什麼操作。

cmd = 1:
當cmd是1,bioskey()查詢是否按下一個鍵,若按下一個鍵則返回非零值,否則返回0。

鍵盤有按鍵時,會把鍵值(掃描碼)存入緩沖區,當需要判斷是否有鍵按下時,掃描緩沖區,為空則無鍵按下,不為空則有鍵按下。注意:該功能並不清空緩沖區。

cmd = 0:
當cmd是0,bioskey()返回鍵盤鍵入的值。它返回一個16位的二進制數,包括兩個不同的值。當按下一個普通鍵時,它的低8位數存放該字元的ASCII碼,高8位存放該鍵的掃描碼;對於特殊鍵(如方向鍵、F1~F12等等),低8位為0,高8位位元組存放該鍵的掃描碼。

其操作步驟為:
1.檢測緩沖區是否有數據;
2.沒有則繼續第一步;
3.讀取緩沖區第一個單元中的鍵盤輸入
4.讀取的掃描碼
5.將已讀取的鍵盤輸入從緩沖區刪除

『貳』 如何用C語言實現按鍵功能

主要就是按鍵檢測,防抖唄。
首先給出檢測按鍵代碼:(我這個事4*4鍵盤。具體你要根據實際情況編寫)
uchar TestKey()
{
uchar cord_h,cord_l;
P6=0x0f;
cord_h=P6&0x0f;
if(cord_h!=0x0f)
{
Delay_Xms(1);
if(cord_h!=0x0f)
{
cord_h=P6&0x0f;
P6=cord_h|0xf0;
cord_l=P6&0xf0;
return(cord_h+cord_l);
}
}return(0xff);
}

--------------------------------------
然後你在Main函數里編寫循環,檢測按鍵然後做你想做的事情。。。
while(1)
{
key=TestKey();//調用鍵盤掃描,
switch(key)
{
case 0x7e:P4=0xa1;break;//0 按下相應的鍵顯示相對應的碼值
case 0x7d:Show1Menu();break;//1
case 0x7b:P4=0x83;break;//2
case 0x77:P4=0x88;break;//3
case 0xbe:P4=0x99;break;//4
case 0xbd:P4=0x90;break;//5
case 0xbb:P4=0x82;break;//6
case 0xb7:P4=0xb0;break;//7
case 0xde:P4=0xc0;break;//8
case 0xdd:P4=0x80;break;//9
case 0xdb:P4=0x92;break;//a
case 0xd7:P4=0xa4;break;//b
case 0xee:P4=0xc6;break;//c
case 0xed:P4=0xf8;break;//d
case 0xeb:P4=0x99;break;//e
case 0xe7:P4=0xf9;break;//f
}
}

熱點內容
pythondouble 發布:2024-12-29 04:40:45 瀏覽:92
直射光照演算法 發布:2024-12-29 04:40:05 瀏覽:385
app雲伺服器長啥樣 發布:2024-12-29 04:36:24 瀏覽:1000
演算法塗抹 發布:2024-12-29 04:29:17 瀏覽:840
java中重載和重寫的區別 發布:2024-12-29 04:29:15 瀏覽:701
android保存bitmap 發布:2024-12-29 04:13:11 瀏覽:886
微博清理緩存 發布:2024-12-29 04:05:34 瀏覽:785
class在線反編譯工具 發布:2024-12-29 03:49:44 瀏覽:711
爐石怎麼切換伺服器 發布:2024-12-29 03:17:47 瀏覽:73
安卓怎麼才有蘋果的主題 發布:2024-12-29 03:10:33 瀏覽:191