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

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

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

開(kāi)發(fā)工具

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

技術(shù)支持

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

新品推廣

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

新聞中心

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

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

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

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

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

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

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

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

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

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

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

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

◇ 非編碼鍵盤(pán)

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

◇ 編碼鍵盤(pán)

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

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

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

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

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

  由圖1和圖2可見(jiàn),硬件部分分為兩塊:一塊是普通鍵盤(pán)矩陣,另外一塊是中斷和接口電路,主要由相應(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)鍵盤(pán)掃描程序。

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

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

1)鍵盤(pán)掃描原理

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

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

結(jié)束語(yǔ)

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



银川市| 阳山县| 洛宁县| 略阳县| 万州区| 长汀县| 商水县| 尼玛县| 汉源县| 株洲县| 民丰县| 通辽市| 镇平县| 电白县| 遵义市| 望谟县| 德州市| 上栗县| 西乌珠穆沁旗| 汝阳县| 海晏县| 翁牛特旗| 南漳县| 太仓市| 英德市| 进贤县| 射洪县| 舟曲县| 钦州市| 绥宁县| 大理市| 汤阴县| 钟祥市| 南开区| 东方市| 东乌珠穆沁旗| 沙雅县| 吴桥县| 邛崃市| 南昌县| 西青区|