<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          單片機(jī)的鍵盤接口

          作者: 時(shí)間:2017-06-12 來源:網(wǎng)絡(luò) 收藏
          在開發(fā)單片機(jī)|0">的應(yīng)用系統(tǒng)中,是最常用的人機(jī)接口。鍵盤按照是否進(jìn)行硬件編碼可分為編碼鍵盤與非編碼鍵盤,PC機(jī)上的鍵盤是典型的編碼鍵盤,而應(yīng)用系統(tǒng)中的鍵盤一般采用非編碼鍵盤便可滿足需要。所謂非編碼鍵盤實(shí)際上就是一組開關(guān),鍵按下,開關(guān)接通。是否有鍵按下,按下的是哪個(gè)鍵由對(duì)I/O端口的掃描完成(而編碼鍵盤會(huì)自動(dòng)提供所按鍵的編碼),這時(shí),鍵盤的排布方式不同形成了不同的方式。

          一、一維直讀方式

          每個(gè)獨(dú)立的按鍵接到單片機(jī)的一根I/O端口引線上,如圖1。直接讀入I/O端口(MOV A,P1)便可判斷出所按下的鍵(有鍵按下對(duì)應(yīng)的P1.X=0,否則為1)。

          這種方式的硬件簡(jiǎn)單,但占用的較多,N位只能構(gòu)成N個(gè)鍵的鍵盤,適用于按鍵較少的系統(tǒng)。

          二、硬件編碼方式

          將第一種方式的鍵信號(hào)先送人編碼器,再由單片機(jī)的讀入,如圖2。這種方式克服了一維直讀方式占用接口多的缺點(diǎn),若由N位I/O引線,使用相應(yīng)的編碼器,理論上最多可構(gòu)成2N個(gè)鍵的鍵盤,但需要增加硬件編碼電路。

          本文引用地址:http://www.ex-cimer.com/article/201706/353718.htm三、行列式方式

          由N條I/O線組成行,M條I/O線組成列,行列引線的交點(diǎn)上設(shè)置一個(gè)按鍵,如圖3。行為輸入端口,列為輸出端口。讀鍵狀態(tài)采用掃描方式,先判斷是否有鍵按下:列線輸出全“0”,讀入列信號(hào),若全為“1”則無鍵按下,否則有鍵按下。再判斷按下的為哪個(gè)鍵:列輸出線逐位輸出“0”,讀入行輸入端口,從而判斷出按下的鍵所在的行與列,由此計(jì)算鍵值。這種方式占用的I/O引線較少,若N位I/O形成方陣,則最多可構(gòu)成N2/4個(gè)鍵的鍵盤,而且不需增加硬件電路,只是軟件相對(duì)復(fù)雜一些。這是一種最常用的方式。

          四、二維直讀方式

          鍵盤排布依舊采用行列式方式,每個(gè)鍵有兩個(gè)觸點(diǎn),如圖4。有鍵按下,該鍵對(duì)應(yīng)的行線與列線同時(shí)變?yōu)?ldquo;0”,否則為“1”,因此鍵的狀態(tài)可以通過直接讀人I/O端口據(jù)其兩位來反映。這種方式具有獨(dú)立式和行列式方式的優(yōu)點(diǎn),但缺點(diǎn)是要求按鍵含有兩個(gè)觸點(diǎn)。該方式同行列式方式一樣,若N位I/O形成方陣,則最多可構(gòu)成N2/4個(gè)鍵的鍵盤。

          五、交互方式

          在這種方式中,N位I/O線既作為輸入行線又作為輸出列線,輸入與輸出交互使用,在行列每一個(gè)獨(dú)立的交點(diǎn)上設(shè)置一個(gè)按鍵,如圖5。N位I/O引線,最多可構(gòu)成N(N-1)/2個(gè)鍵的鍵盤,比行列式方式占用的I/O引線少,但這種方式要求I/O線必須是可位控的雙向或準(zhǔn)雙向I/O口。如8031的P1口,8155的PC口。鍵盤讀鍵方式與行列式方式相似,I/O端口逐位輸出“0”(其他各位送“1”),再讀入該端口,依次查 詢除送出低電平以外的其他各位。為低則有鍵按下。從讀鍵方式我們可以看到:該方式鍵值有重碼,例如:第i行、第j列有鍵按下,在此方式中第i行同時(shí)為第i列,第j行同時(shí)為第i列,也可認(rèn)為按下的鍵是第j行,第i列的從而形成重碼。

          六、雙交互方式

          該方式與交互方式相似,但在交互方式中鍵值有重碼,如圖6。第i行、第j列與第i行、第i列的鍵不獨(dú)立,為此在I/O引線作列線時(shí)加入二極管隔離,這樣使左下角和右下角交叉點(diǎn)不再重復(fù),除對(duì)角線上外,每個(gè)交點(diǎn)上都可設(shè)一個(gè)按鍵,從而使鍵盤的容量比交互方式增加了一倍,即:N位I/O引線,最多可構(gòu)成N(N-1)容量的鍵盤。鍵掃描程序及鍵值的計(jì)算與交互方式相同。

          以上各種鍵盤接口,均使用單片機(jī)本身的并行I/O端口加以說明。若單片機(jī)I/O端口不夠使用時(shí),一般可擴(kuò)展并行I/O芯片,如:8255,8155等,軟件編程與鍵值的求法可把握上述基本原理自行設(shè)計(jì)。另外,也可選用專用的鍵盤接口芯片進(jìn)行鍵盤接口的設(shè)計(jì),如:8279。但上述幾種方式是較基本,簡(jiǎn)單亦是較常用的,可根據(jù)具體情況來選用設(shè)計(jì)自己的鍵盤接口。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();