導航:首頁 > 操作系統 > 單片機鬆手觸發

單片機鬆手觸發

發布時間:2025-06-21 14:07:17

單片機中用矩陣鍵盤的8個按鍵分別控制8個LED,當按下時亮,鬆手時滅,用switch語句

#include<reg51.>
#define uchar unsigned char
void delay(unsigned int a)
{
unsigned int i,j;
for(i=0;i<a;i++)
for(j=0;j<120;j++);
}
uchar kbscan(void)
{
unsigned char sccode,recode;
P1=0x0f; //發0掃描,列線輸入
if ((P2 & 0x0f) != 0x0f) //有鍵按下
{
delay(20); //延時去抖動
if ((P1&0x0f)!= 0x0f)
{
sccode = 0xef; //逐行掃描初值
while((sccode&0x01)!=0)
{
P1=sccode;
if((P1&0x0f)!=0x0f)
{
recode=(P1&0x0f)|0xf0;
return((~sccode)+(~recode));
}
else
sccode=(sccode<<1)|0x01;
}
}
}
P0=0xff;
return 0; //無鍵按下,返回0
}

main()
{
unsigned char key;
while(1)
{
key=kbscan();
switch(key)
{
case 0x11:P0=0xfe;break;
case 0x12:P0=0xfd;break;
case 0x14:P0=0xfb;break;
case 0x18:P0=0xf7;break; //+
case 0x21:P0=0xef;break;
case 0x22:P0=0xdf;break;
case 0x24:P0=0xbf;break;
case 0x28:P0=0x7f;break; //-
default:break;
}
}
}

❷ c51單片機 在矩陣鍵盤鬆手檢測的原理是什麼為什麼要加鬆手程序不加又會怎樣謝謝!

因為單片機運行速度很快,你按下的按鍵瞬間,單片機就可以執行數萬調指令了,如果不加任何處理,可能就會誤判你的按鍵,如果不加鬆手程序,那可能會因為按鍵的機械問題造成的彈跳被誤判成好幾個按鍵

❸ 一個按鍵怎麼實現兩個Led燈切換,就是按下第一個燈亮鬆手燈滅,再按一下第二個燈亮松平燈滅。單片機C

/*
按鍵位置:P0.1;
功能:1,當第一次按鍵按下,第一個燈亮,按鍵放開燈滅
2,當第二次按鍵按下,第二個燈亮,按鍵放開燈滅
3,重復執行前面兩個步驟
燈的位置:P2口;
*/
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit BUTTON=P0^1;//按鍵的位置
void DELAY(uint x)
{
uchar s,j;
for(s=0;s<x;s++)
for(j=0;j<114;j++);
}
void main()
{
uint led=0;
while(1)
{
if(BUTTON==0)
{
led++;
if(led==1)//第一次按鍵按下
{
P2=0XFE;//1111 1110 第一個燈亮
DELAY(500);//延時
while(BUTTON!=0)//等待按鍵放開
{
P2=0xff;/1111 1111燈滅
DELAY(500)//延時
}

}
if(led==2)//第二次按鍵按下
{
led=0;//要給次數初始化
P2=0XFC;//1111 1101第二個燈亮
DELAY(500);//延時
while(BUTTON!=0)//等待按鍵放開
{
P2=0xff;//1111 1111第二個燈滅
DELAY(500)//延時
}

}
}
}

閱讀全文

與單片機鬆手觸發相關的資料

熱點內容
光碟來源碼 瀏覽:918
眾包app怎麼下線 瀏覽:917
考電工證的app叫什麼 瀏覽:134
免流伺服器什麼系統 瀏覽:495
壓縮圖片不改變像素 瀏覽:654
方舟生存進化怎麼看伺服器地址 瀏覽:727
Keep跳繩怎麼綁定keep的app 瀏覽:257
android資料庫在哪裡 瀏覽:405
注冊雲伺服器價格 瀏覽:412
Python製作紅包軟體 瀏覽:768
壓縮圖片文字變清晰 瀏覽:894
linux伺服器安全pdf 瀏覽:877
什麼要用到伺服器 瀏覽:739
jar包解壓命令 瀏覽:657
vfpsql命令是 瀏覽:151
加工中心浮動編程 瀏覽:425
付費看視頻源碼 瀏覽:466
深度分析阿里p7源碼 瀏覽:280
星瑞手機app怎麼使用 瀏覽:298
伺服器查看遠程登錄mac地址 瀏覽:861