国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

試述51系列單片機(jī)矩陣鍵盤編程

2011-09-23 03:43譚成豪許建明
科技傳播 2011年6期
關(guān)鍵詞:邵陽賦值按鍵

譚成豪,許建明

邵陽學(xué)院信息工程系,湖南邵陽 422000

試述51系列單片機(jī)矩陣鍵盤編程

譚成豪,許建明

邵陽學(xué)院信息工程系,湖南邵陽 422000

在單片機(jī)系統(tǒng)中,常常使用鍵盤向單片機(jī)輸入信息。鍵盤由一組常開的按鍵組成,當(dāng)按鍵閉合時(shí)就會(huì)向單片機(jī)系統(tǒng)輸入一個(gè)電平信息。每個(gè)按鍵都被賦予了一個(gè)鍵碼,單片機(jī)根據(jù)此代碼執(zhí)行任務(wù)。在單片機(jī)系統(tǒng)按鍵數(shù)量較多時(shí),為了減少I/O口的使用通常使用矩陣鍵盤。

單片機(jī);鍵盤;矩陣鍵盤;I/O口

1 矩陣鍵盤的結(jié)構(gòu)

矩陣鍵盤的按鍵排成矩陣,一般是4×4矩陣,即4行4列,行和列的交叉點(diǎn)接一個(gè)常開的獨(dú)立按鍵,按鍵被閉合時(shí)就接通行線和列線。8個(gè)I/O口產(chǎn)生16個(gè)交叉點(diǎn)16個(gè)按鍵,按鍵數(shù)量比獨(dú)立按鍵多了一倍,9個(gè)I/O口產(chǎn)生20個(gè)按鍵, I/O口越多產(chǎn)生的按鍵數(shù)量越多,效果越明顯。可以在鍵盤掃描程序中對(duì)每個(gè)按鍵進(jìn)行編號(hào),如第一行按鍵從左到右對(duì)應(yīng)0、1、2、3,第二行按鍵從左到右對(duì)應(yīng)4、5、6、7,第三行按鍵從左到右對(duì)應(yīng)8、9、A、B,第四行按鍵左到右對(duì)應(yīng)C、D、E、F,每按一次鍵讓數(shù)碼管顯示該按鍵所代表的編號(hào)。

2 矩陣鍵盤的工作原理

矩陣鍵盤結(jié)構(gòu)比獨(dú)立鍵盤復(fù)雜,識(shí)別難度也比獨(dú)立按鍵大很多。矩陣鍵盤的工作方式有程序掃描方式、定時(shí)掃描方式、中斷掃描方式3種。本文只討論程序掃描方式。程序掃描方式是CPU主動(dòng)調(diào)用掃描子函數(shù),響應(yīng)鍵盤的輸入要求。在子函數(shù)里有以下步驟:

1)判斷鍵盤中有無按鍵閉合;

2)延時(shí)去抖消除干擾;

3)檢測(cè)是否確實(shí)有按鍵閉合,確定閉合鍵的編號(hào);

4)等待閉合鍵的釋放。

整個(gè)步驟中確定閉合鍵的編號(hào)是關(guān)鍵所在,常用的判斷方法有逐行掃描法和反轉(zhuǎn)掃描法。

3 硬件仿真

4×4矩陣鍵盤無需外接電源,電位變化完全由編程來決定。通過軟件延時(shí)來消抖動(dòng),去干擾。4×4矩陣鍵盤4行4列交叉,每個(gè)按鍵位于交叉點(diǎn)上對(duì)應(yīng)的行列號(hào)唯一,共16個(gè)按鍵。4×4矩陣鍵盤8個(gè)I/O口接P1口,7SEG-MPX2-AN-GREEN7段共陽極數(shù)碼管通過上拉電阻接P0口。鍵盤中每閉合一個(gè)按鍵讓數(shù)碼管顯示對(duì)應(yīng)的編號(hào)。如上圖所示。

4 編程思路

矩陣鍵盤編程要實(shí)現(xiàn)按鍵的正確判斷、鍵值的確定和消除抖動(dòng)去干擾三個(gè)目標(biāo),閉合鍵釋放后才顯示對(duì)應(yīng)按鍵編號(hào),目標(biāo)程序要簡(jiǎn)潔易行。

4.1 逐行掃描法

此方法中,單片機(jī)每次掃描其中的一行,循環(huán)掃描四行。首先掃描第一行,給P1口賦值0xef,即第一行為低電平,其他行和所有列為高電平,當(dāng)有第一行有按鍵閉合時(shí),對(duì)應(yīng)的列線電平會(huì)被拉低,軟件延時(shí)消去抖動(dòng)干擾后再讀取P1口的值,如第一行第一列閉合了就會(huì)得到0xee,第一行第一列閉合了就會(huì)得到0xed,第一行第三列閉合了就會(huì)得到0xeb,第一行第四列閉合了就會(huì)得到0xe7;同理,檢測(cè)第二行時(shí),賦值0xdf給P1口,若各列有按鍵閉合則會(huì)分別得到0xde、0xdd、0xdb、0xd7,類推,檢測(cè)第三行時(shí)賦值0xbf,若各列有按鍵閉合則會(huì)分別得到0xbe、0xbd、0xbb、0xb7,檢測(cè)第四行時(shí)賦值0x7f,若各列有按鍵閉合則會(huì)分別得到0x7e、0x7d、0x7b、0x77然后單片機(jī)對(duì)應(yīng)此值處理相應(yīng)的任務(wù)。

4.2 反轉(zhuǎn)掃描法

在這種方法中對(duì)單片機(jī)P1口賦值兩次,第一次給P1口賦值0xf0,即高四位高低平,第四位低電平,若有按鍵閉合則高四位中對(duì)應(yīng)的某一位會(huì)被線拉低,讀取P1口的值,賦給一個(gè)中間變量這就確定了按鍵的行;第二次給P1口賦值0x0f,即高四位低低平,第四位高電平,若有鍵閉合則低四位中對(duì)應(yīng)的某一位會(huì)被線拉低,讀取P1口的值,賦給另一個(gè)中間變量,這樣按鍵的行和列都確定了,然后再對(duì)兩個(gè)變量進(jìn)行“按位與”運(yùn)算得到一個(gè)最終值,根據(jù)次值判斷具體按鍵。從0~F依次是0xee、0xed、0xeb、0xe7、0xde、0xdd、0xdb、0xd7、0xbe、0xbd、0xbb、0xb7、0x7e、0x7d、0x7b、077。然后單片機(jī)對(duì)應(yīng)此值處理相應(yīng)的任務(wù)。

5 結(jié)論

使用鍵盤可以實(shí)現(xiàn)計(jì)算機(jī)的人機(jī)對(duì)話,可以更好的實(shí)現(xiàn)工業(yè)控制,在單片機(jī)I/O口資源緊張的情況下矩陣鍵盤大大緩解了I/O口資源的緊張,使單片機(jī)可以控制更多模塊,實(shí)現(xiàn)更為強(qiáng)大的功能。

[1]張俊謨.單片機(jī)中級(jí)教程[M].北京航空航天大學(xué)出版社,2006,10.

[2]張洪潤(rùn),蘭清華.單片機(jī)應(yīng)用技術(shù)教程[M].北京:清華大學(xué)出版社,1997,11.

TP368

A

1674-6708(2011)39-0197-01

譚成豪,學(xué)生,所在院校:邵陽學(xué)院電子科學(xué)與技術(shù)專業(yè)

指導(dǎo)老師:許建明,碩士研究生,工作單位:邵陽學(xué)院信息工程系,職務(wù):教師

猜你喜歡
邵陽賦值按鍵
邵陽非物質(zhì)文化遺產(chǎn)的視覺化設(shè)計(jì)與開發(fā)
L-代數(shù)上的賦值
邵陽學(xué)院藝術(shù)設(shè)計(jì)學(xué)院作品選登
基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
單圈圖的增強(qiáng)型Zagreb指數(shù)的下界
邵陽三一工程機(jī)械與零部件再制造工程項(xiàng)目開工
強(qiáng)賦值幺半群上的加權(quán)Mealy機(jī)與加權(quán)Moore機(jī)的關(guān)系*
一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
利用賦值法解決抽象函數(shù)相關(guān)問題オ
P2×Cn的友好標(biāo)號(hào)集