中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

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

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

開發(fā)工具

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

技術(shù)支持

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

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

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

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

更新時間: 2019-03-26
閱讀量:2149

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

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

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

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

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

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

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

線性鍵盤由若干個獨立的按鍵組成,每個按鍵的一端與微機的一個I/O口相連。有多少個鍵就要有多少根連線與微機的I/O口相連,因此,只適用于按鍵少的場合。

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

◇ 非編碼鍵盤

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

◇ 編碼鍵盤

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

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

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

1.硬件實現(xiàn)

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

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

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

2.軟件實現(xiàn)

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

1)鍵盤掃描原理

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

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

結(jié)束語

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



汤原县| 山阳县| 潼关县| 来凤县| 贡嘎县| 怀化市| 株洲市| 太原市| 九台市| 都兰县| 伽师县| 武宁县| 佛山市| 通海县| 仁化县| 滁州市| 全椒县| 来安县| 南开区| 景洪市| 崇仁县| 宜章县| 定襄县| 龙川县| 阿拉善左旗| 辽源市| 宜宾市| 黑龙江省| 休宁县| 图木舒克市| 京山县| 新晃| 工布江达县| 孝感市| 武邑县| 南漳县| 梁山县| 吉水县| 荣昌县| 壤塘县| 兰西县|