在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 基于VHDL的矩陣鍵盤及顯示電路設(shè)計

            基于VHDL的矩陣鍵盤及顯示電路設(shè)計

            作者: 時間:2010-10-15 來源:網(wǎng)絡(luò) 收藏


            如圖1所示,全部代碼由7個進程(process)組成。其中,進程P1和P2用于對列掃描輸入信號kbrow進行讀取,并通過或非運算產(chǎn)生行掃描使能控制信號en對行掃描輸出信號kbcol進行控制,并生成一個與kbcol對應(yīng)的狀態(tài)信號state。若沒有按鍵被按下(即kbrow=0000),則en= '1',行掃描輸出信號kbcol不斷循環(huán)掃描各行;若有按鍵被按下,en=‘O’,則行掃描停止,并鎖存當(dāng)前kbcol的值。進程P1和P2的代碼如下:


            進程P3使用“case…when”語句,根據(jù)狀態(tài)信號state的值(即kbcol的值)和列掃描輸入信號kbrow的值進行按鍵值譯碼,生成一個4位二進制按鍵數(shù)值信號dat,用以記錄當(dāng)前按鍵值。例如,當(dāng)kbcol=“0010”,kbrow=“0001”時,“B”鍵按下,dat=“1011”。進程P3的代碼在此不再贅述。
            進程P4和P5用于按鍵的防抖和按鍵值的移位寄存。通過將行掃描使能控制信號en不斷賦給一個8位二進制變量reg8,再將reg8賦給8位二進制信號key,實現(xiàn)對按鍵狀態(tài)的記錄,然后通過對key的各位數(shù)值進行與運算,生成防抖控制信號fnq。一旦有按鍵按下,en=‘O’,則即便是按鍵在抖動,key中至少也有1位數(shù)值為‘0’,從而使fnq=‘O’。只有當(dāng)按鍵再次彈起,并且在連續(xù)8個時鐘周期內(nèi)不再有新的按鍵按下,key的數(shù)值全為‘1’,則fnq=‘1’,fnq產(chǎn)生一個上升沿,從而觸發(fā)按鍵數(shù)值信號dat進入數(shù)值寄存信號temp(32位二進制數(shù))的第0~3位,并將temp原來的第0~27位左移到第4~31位,實現(xiàn)1次按鍵按下的數(shù)值存儲。進程P4和P5的代碼如下:

            進程P6用于將數(shù)值寄存信號temp的32位二進制數(shù)分配給8個數(shù)碼管,從而生成數(shù)碼管地址掃描輸出scan,以及數(shù)碼管數(shù)值信號data(4位2進制數(shù))。進程P6代碼如下:



            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉