<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于VHDL的矩陣鍵盤(pán)及顯示電路設計

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


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


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

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>