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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 專用鍵盤接口芯片的一種CPLD實(shí)現(xiàn)方案

          專用鍵盤接口芯片的一種CPLD實(shí)現(xiàn)方案

          作者: 時(shí)間:2012-04-14 來源:網(wǎng)絡(luò) 收藏
          在單片機(jī)應(yīng)用系統(tǒng)中,存在多種形式的外部數(shù)據(jù)輸入接口界面,例如RS-232C串行通信、鍵盤輸入等[1,4]。其中利用輸入數(shù)據(jù),是實(shí)現(xiàn)現(xiàn)象實(shí)時(shí)調(diào)試、數(shù)據(jù)調(diào)整和控制最常用的方法。單片機(jī)的外圍鍵盤擴(kuò)展電路有多種實(shí)現(xiàn)方式,例如直接利用I/O接口線或外接8255A接口芯片,配合適當(dāng)?shù)慕涌诠芾沓绦颍涂梢詫?shí)現(xiàn)外圍鍵盤擴(kuò)展功能。但是,在這些方法中,鍵盤擴(kuò)展電路需要占用單片機(jī)的資源對(duì)按鍵進(jìn)行監(jiān)控和處理,這對(duì)要求高實(shí)時(shí)性處理的單片機(jī)系統(tǒng)是不實(shí)現(xiàn)的。為了解決這一問題,可以使用專用芯片(例如Intel8279)[2]來組建鍵盤子系統(tǒng)。而且,這類專用芯片在使用靈活性方面尚有欠缺,尤其當(dāng)用戶需要實(shí)現(xiàn)某些特定功能時(shí),其缺點(diǎn)更為明顯。針對(duì)上述問題,本文提出一種利用復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,)設(shè)計(jì)技術(shù)[3]實(shí)現(xiàn)專用鍵盤接口芯片的方案。

          1 系統(tǒng)原理



          圖1是單片機(jī)系統(tǒng)中鍵盤子系統(tǒng)的構(gòu)成原理框圖。其中鍵盤接口芯片KB-CORE是該子系統(tǒng)的核心部分,它應(yīng)具備如下功能:第一,產(chǎn)生按鍵掃描時(shí)序,并進(jìn)行硬件去抖動(dòng)。如果直按鍵按下,實(shí)現(xiàn)按鍵編碼、中斷處理等功能。第二,可以區(qū)分處理數(shù)字鍵和功能鍵。數(shù)字鍵鈄由接口芯片暫存,而當(dāng)功能鍵被按下時(shí)申請(qǐng)CPU中斷處理;對(duì)多個(gè)按鍵同時(shí)按下,按一定的編碼優(yōu)先級(jí)處理。第三,提供與MCS-51系列單片機(jī)兼容的接口,單片機(jī)可以讀取芯片中保存的數(shù)據(jù)或功能代碼。第四,提供數(shù)據(jù)顯示接口,可以直接驅(qū)動(dòng)4位七段LED數(shù)碼管,并進(jìn)行動(dòng)態(tài)掃描顯示。

          按鍵根據(jù)鍵盤子系統(tǒng)的服務(wù)對(duì)象擬設(shè)置子數(shù)字鍵(0~9)、功能鍵(ROW、COL、DAT)、清零鍵(CLR)共14個(gè),排成4×4的矩陣,有兩個(gè)未定義。

          2 專用鍵盤接口芯片功能結(jié)構(gòu)設(shè)計(jì)

          根據(jù)上述專用鍵盤芯片KB-CORE的功能要求,圖2示出本芯片內(nèi)部應(yīng)有的結(jié)構(gòu)框圖。

          上一頁 1 2 下一頁

          關(guān)鍵詞: 鍵盤接口 CPLD 狀態(tài)描述

          評(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); })();