天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

種用N+1個(gè)IO口實(shí)現(xiàn)的N×N矩陣式鍵盤

更新時(shí)間: 2019-03-26
閱讀量:2087

點(diǎn)擊次數(shù):189次        更新時(shí)間:2017-12-23

者:北京航空航天大學(xué) 張雪峰 李榮源 袁海文

  隨著微機(jī)系統(tǒng)應(yīng)用領(lǐng)域的擴(kuò)大,操作人員與微機(jī)系統(tǒng)需要交流的信息越來越多,用來交流的手段和途徑也更為靈活多樣;而鍵盤輸入作為最常用的輸入設(shè)備仍有其不可替代的作用。因此,探討一些鍵盤的特殊結(jié)構(gòu),用盡可能少的輸入輸出端口實(shí)現(xiàn)較多數(shù)量的按鍵數(shù)仍具有重要的應(yīng)用價(jià)值。

  有些特殊情況下,在組成一個(gè)最小的單片機(jī)系統(tǒng)的過程中,由于通用的I/O口有限,而又需要大量的按鍵輸入,這就要求一種新的鍵盤結(jié)構(gòu),即用盡量少的I/O口實(shí)現(xiàn)盡可能多的鍵盤輸入。

  本文將從硬件和軟件兩個(gè)方面介紹一種用N+1個(gè)I/O口實(shí)現(xiàn)N×N矩陣式鍵盤的方法(為了與傳統(tǒng)鍵盤區(qū)分,以下簡(jiǎn)稱新型鍵盤)。首先,對(duì)傳統(tǒng)鍵盤作一個(gè)簡(jiǎn)單的介紹。

一、傳統(tǒng)鍵盤的介紹

  鍵盤的結(jié)構(gòu)通常有兩種形式:線性鍵盤和矩陣鍵盤。在不同的場(chǎng)合下,這兩種鍵盤均得到了廣泛的應(yīng)用。

線性鍵盤由若干個(gè)獨(dú)立的按鍵組成,每個(gè)按鍵的一端與微機(jī)的一個(gè)I/O口相連。有多少個(gè)鍵就要有多少根連線與微機(jī)的I/O口相連,因此,只適用于按鍵少的場(chǎng)合。

  矩陣鍵盤的按鍵按N行M列排列,每個(gè)按鍵占據(jù)行列的一個(gè)交點(diǎn),需要的I/O口數(shù)目是N+M,容許的最大按鍵數(shù)是N×M。顯然,矩陣鍵盤可以減少與微機(jī)接口的連線數(shù),簡(jiǎn)化結(jié)構(gòu),是一般微機(jī)常用的鍵盤結(jié)構(gòu)。根據(jù)矩陣鍵盤的識(shí)鍵和譯鍵方法的不同,矩陣鍵盤又可以分為非編碼鍵盤和編碼鍵盤兩種。

◇ 非編碼鍵盤

  非編碼鍵盤主要用軟件的方法識(shí)鍵和譯鍵。根據(jù)掃描方法的不同,可以分為行掃描法、列掃描法和反轉(zhuǎn)法三種。

◇ 編碼鍵盤

  編碼鍵盤主要用硬件來實(shí)現(xiàn)鍵的掃描和識(shí)別,通常使用8279專用接口芯片,在硬件上要求較高。

二、新型鍵盤的硬件和軟件實(shí)現(xiàn)原理

  經(jīng)過分析,實(shí)際上用N+1個(gè)I/O口,輔以適當(dāng)?shù)慕涌陔娐罚强梢詫?shí)現(xiàn)N×N個(gè)按鍵的。現(xiàn)以6個(gè)端口實(shí)現(xiàn)5×5的按鍵為例來敘述。

1.硬件實(shí)現(xiàn)

  圖1所示為用6個(gè)I/O口來實(shí)現(xiàn)25個(gè)按鍵的示意圖。具體的物理實(shí)現(xiàn)電路如圖2所示。

  由圖1和圖2可見,硬件部分分為兩塊:一塊是普通鍵盤矩陣,另外一塊是中斷和接口電路,主要由相應(yīng)數(shù)目的二極管和電阻組成。具體對(duì)6個(gè)I/O口的情況,實(shí)現(xiàn)5×5的按鍵矩陣的中斷和接口電路(圖2)共需要10只二極管、12只電阻和1只三極管。10只二極管按其在電路中所起的作用可分為兩組:第一組包括D6、D7、D8、D9和D10,用于保證按鍵信息的單一流向;第二組包括D1、D2、D3、D4和D5,它們?cè)陔娐飞蠈?duì)NPN三極管的基極構(gòu)成"或"的邏輯關(guān)系,對(duì)單片機(jī)進(jìn)行初始化。除了PORT6(其要求具有中斷功能)以外,其余

I/O口均被置成高電平,這樣當(dāng)有鍵按下時(shí),三極管的基極由低變高,三極管導(dǎo)通;集電極由高電平跳變成低電平,向單片機(jī)發(fā)出中斷信號(hào),從而啟動(dòng)鍵盤掃描程序。

2.軟件實(shí)現(xiàn)

  按鍵的識(shí)別主要靠軟件來實(shí)現(xiàn),需要編寫鍵盤掃描程序。

1)鍵盤掃描原理

  為了更好地說明鍵盤掃描的過程,假設(shè)編號(hào)為S12的鍵(見圖2)被按下,掃描程序已經(jīng)啟動(dòng),掃描的具體過程如表1所列。
 
2)鍵盤掃描程序的流程

  在啟動(dòng)鍵盤掃描程序以前首先要對(duì)CPU進(jìn)行初始化(主要是對(duì)所使用的中斷進(jìn)行初始化)。假設(shè)已經(jīng)有鍵按下,并引發(fā)了相應(yīng)的中斷服務(wù)程序(即鍵盤掃描程序),其流程圖如圖3所示。

結(jié)束語

  ◇ 在I/O口數(shù)量有限的情況下,用該方法可以實(shí)現(xiàn)盡可能多的按鍵輸入;
  ◇ 該方法還可以用于需要大量開關(guān)量測(cè)量的場(chǎng)合。



联系我们: 米林县| 伊宁县| 清水河县| 孝感市| 建水县| 上饶市| 苏州市| 历史| 温宿县| 和龙市| 五原县| 无棣县| 锦州市| 古浪县| 鲁山县| 花垣县| 仁布县| 洪洞县| 新乡县| 彭州市| 内江市| 广安市| 綦江县| 扎鲁特旗| 平谷区| 五寨县| 资中县| 普洱| 安多县| 永定县| 建平县| 高唐县| 旅游| 阳城县| 海城市| 平定县| 高清| 北辰区| 大厂| 莱芜市| 舞钢市|
<dfn id="zaxso"></dfn>
  • <rp id="zaxso"><thead id="zaxso"><input id="zaxso"></input></thead></rp>
  • <tfoot id="zaxso"><dl id="zaxso"><strong id="zaxso"></strong></dl></tfoot>
    <i id="zaxso"><pre id="zaxso"></pre></i><samp id="zaxso"><thead id="zaxso"><legend id="zaxso"></legend></thead></samp>
  • <span id="zaxso"><dl id="zaxso"></dl></span>