<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > C51單片機鍵盤(pán)檢測原理以及實(shí)現

C51單片機鍵盤(pán)檢測原理以及實(shí)現

作者: 時(shí)間:2012-08-04 來(lái)源:網(wǎng)絡(luò ) 收藏

首先,在做軟件之前確定硬件。明確鍵盤(pán)類(lèi)型:
彈性按鍵:按下時(shí)閉合,松手后自動(dòng)斷開(kāi)。如電腦鍵盤(pán)

自鎖式按鍵:按下時(shí)閉合,且自動(dòng)鎖住。一邊用于開(kāi)關(guān)

在I/O口檢測觸電電壓時(shí)應該考慮按鍵抖動(dòng)問(wèn)題,一般按鍵抖動(dòng)為5~10ms左右,具體與其機械特性有關(guān),所以要加檢測抖動(dòng)環(huán)節,可以用軟件或者去抖動(dòng)芯片硬件處理,當然通常用延時(shí)方法處理。
注意正確連接引腳。

下面是一個(gè)簡(jiǎn)單的4按鍵獨立鍵盤(pán)程序,在51hei開(kāi)發(fā)板的數碼管上操作。
完整的源代碼下載 http://www.51hei.com/f/jpdd.rar
數值為0~59變化,開(kāi)始顯示00
按key1數值加1,按key2數值減1,按key3數值歸0,按key4數值每秒加1。

#include reg52.h>
#define uchar unsigned char
#define unit unsigned int
sbit key1=P3^2;
sbit key1=P3^4;
sbit key1=P3^6;
sbit key1=P3^7;
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={
0x3f,0x06.0x5b,0x4f,
0x66,0x6d,0x7d,0x07
0x7f,0x6f,0x77,0x7c
0x39,0x5e,0x79,0x71};
void delayms(unit);
uchar numt0,unm;
void display(uchar numdis) //定義一個(gè)顯示的函數,分個(gè)位十位,用來(lái)顯示
{
uchar shi,ge; //然后用輪流顯示發(fā),利用人眼圖像殘留分別顯示
shi=numdis/10; //上面的numdis表示num這個(gè)顯示的數
ge=numdis%10; //numdis由下面主函數num賦值

dula=1;
P0=table[shi];
dula=0;

P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delayms(5);

dula=1;
P0=table[ge];
dula=0;

P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delayms(5);
}
void delayms(unit xms) //自定義延遲環(huán)節
{
unit i,j;
for(i=xms,i>0,i--);
for(j=110,j>0,j--);
}
void init() //初始化函數,保證程序正常運行
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-458720%256;
EA=1;
ET=0;
}


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: C51單片機 鍵盤(pán)檢測

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>