亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

您現(xiàn)在的位置是:蟲蟲下載站 > 資源下載 > 單片機(jī)編程 > 4x4鍵盤的設(shè)計(jì)與制作

4x4鍵盤的設(shè)計(jì)與制作

  • 資源大?。?/b>102 K
  • 上傳時(shí)間: 2013-11-12
  • 上傳用戶:wentianliang
  • 資源積分:2 下載積分
  • 標(biāo)      簽: 4x4 鍵盤

資 源 簡 介

三種方法讀取鍵值
􀂄 使用者設(shè)計(jì)行列鍵盤介面,一般常採用三種方法讀取鍵值。
􀂉 中斷式
􀂄 在鍵盤按下時(shí)產(chǎn)生一個(gè)外部中斷通知CPU,並由中斷處理程式通過不
同位址讀資料線上的狀態(tài)判斷哪個(gè)按鍵被按下。
􀂄 本實(shí)驗(yàn)採用中斷式實(shí)現(xiàn)使用者鍵盤介面。
􀂉 掃描法
􀂄 對(duì)鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值
中有一位是低,表明該行與低電位對(duì)應(yīng)列的鍵被按下。否則掃描下一
行。
􀂉 反轉(zhuǎn)法
􀂄 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵
按下;接著所有列掃描線輸出低電位,再讀行值。
􀂄 根據(jù)讀到的值組合就可以查表得到鍵碼。
4x4鍵盤按4行4列組成如圖電路結(jié)構(gòu)。按鍵按
下將會(huì)使行列連成通路,這也是見的使用者鍵
盤設(shè)計(jì)電路。

//-----------4X4鍵盤程序--------------//
uchar keboard(void)
{ uchar xxa,yyb,i,key;
if((PINC&0x0f)!=0x0f) //是否有按鍵按下
{delayms(1); //延時(shí)去抖動(dòng)
if((PINC&0x0f)!=0x0f) //有按下則判斷
{ xxa=~(PINC|0xf0); //0000xxxx
DDRC=0x0f;
PORTC=0xf0;
delay_1ms();
yyb=~(PINC|0x0f); //xxxx0000
DDRC=0xf0; //復(fù)位
PORTC=0x0f;
while((PINC&0x0f)!=0x0f) //按鍵是否放開
{ display(data); }
i=4; //計(jì)算返回碼
while(xxa!=0)
{ xxa=xxa>>1;
i--; }
if(yyb==0x80)
key=i;
else if(yyb==0x40)
key=4+i;
else if(yyb==0x20)
key=8+i;
else if(yyb==0x10)
key=12+i;
return key; //返回按下的鍵盤碼
}
}
else return 17; //沒有按鍵按下
}

相 關(guān) 資 源

主站蜘蛛池模板: 子洲县| 青岛市| 澎湖县| 武邑县| 馆陶县| 黄石市| 上饶县| 察雅县| 基隆市| 泽库县| 寿宁县| 二连浩特市| 承德县| 小金县| 武陟县| 措美县| 苍梧县| 遂溪县| 宜城市| 光泽县| 浮山县| 湘潭县| 祁阳县| 奉新县| 项城市| 东乌珠穆沁旗| 北京市| 合作市| 河曲县| 霍州市| 佳木斯市| 吉木乃县| 永修县| 米泉市| 四子王旗| 陇西县| 桓仁| 江华| 竹山县| 双柏县| 云梦县|