以PLD器件實(shí)現自動(dòng)掃描去抖的編碼鍵盤(pán)設計

發(fā)布時(shí)間:2010-8-30 15:22    發(fā)布者:techshare
關(guān)鍵詞: PLD , 鍵盤(pán)
1 GAL6002芯片簡(jiǎn)介

GAL6002是Lattice公司研制的電可擦除、可重復編程的高性能PLD器件,圖1所示是其引腳排列。GAL6002具有78×64×36 FPLA結構,可提供78×64的可編程與陣列和64×36的可編程或陣列。它具有10個(gè)輸出宏單元、8個(gè)隱埋宏單元及20個(gè)輸入和I/O宏單元。它的兩個(gè)獨立輸入時(shí)鐘可分別用于輸入和輸出宏單元的控制。其輸出宏單元和隱埋宏單元的寄存器共用一個(gè)高有效復位乘積項。每個(gè)寄存器復位為“0”。輸出宏單元和輸出腳之間均有一個(gè)反相緩沖器,每個(gè)輸出緩沖器的使能可由單獨的乘積項來(lái)控制。

2 設計原理

直接訪(fǎng)問(wèn)方式下的接口電路如圖2所示。以下分別從去抖電路、自動(dòng)掃描電路和接口電路三方面來(lái)描述該自動(dòng)掃描去抖編碼鍵盤(pán)電路的設計原理。

2.1去抖電路

去抖電路用來(lái)執行兩個(gè)功能:其一是當按鍵按下時(shí)產(chǎn)生一個(gè)“凍結”信號FREZ,以用來(lái)停止并“凍結”掃描狀態(tài)機直到按鍵被釋放。它的ABEL方程為:

FREZ:=!(COL3&COL2&COL1&COL0);


  
圖1 GAL6002管腳圖  

其二是當輸出保持低電平達兩個(gè)(或更多)相鄰時(shí)鐘周期時(shí)產(chǎn)生一個(gè)中斷INT。其ABEL方程為:

INT:=FREZ&。–OL3&COL2&COL1&COL0);


  
圖2 直接訪(fǎng)問(wèn)方式下的接口電路  

2.2 自動(dòng)掃描電路

自動(dòng)掃描電路的軟件定義如下:

R OWREG=[ROW3,ROW2,ROW1,ROW0];





掃描狀態(tài)機在輸入時(shí)鐘的上升沿依次向鍵盤(pán)行線(xiàn)發(fā)送“0”電平以?huà)呙桄I盤(pán),如果FREZ信號被使能,則“凍結”狀態(tài)機。該操作在A(yíng)BEL文件中的狀態(tài)圖描述如下:






2.3 接口電路

在該電路的ABEL文件中,可由真值表界定按鍵的行列位置與輸出值D3~D0的對應關(guān)系,其中數值1~16分別對應于16個(gè)按鍵,即編碼鍵盤(pán)的鍵值。從Lattice公司的工具軟件ispDesignEXPERT8.2對ABEL文件的編譯結果來(lái)看,當有多鍵同時(shí)按下時(shí),D3~D0的輸出亦為“0”,因此在51匯編程序中應對“0”號鍵進(jìn)行適當取舍。

通過(guò)輸出緩沖器可使輸出管腳設置成高阻態(tài),因此輸出管腳可以直接和單片機的數據總線(xiàn)連接。本設計中,D3~D0輸出緩沖器由CS和RD兩個(gè)信號控制。其ABEL方程為:




采用間接控制方式讀取鍵值的接口電路如圖3所示。


  
圖3 間接訪(fǎng)問(wèn)方式下的接口電路  

3 ABEL文件清單

下面給出KEY44.ABL文件的具體程序清單,其編譯工具為L(cháng)attice公司的ispDesignEXPERT8.2。














本文地址:http://selenalain.com/thread-24613-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页