基于FPGA的多功能密碼鎖的設(shè)計(jì)
實(shí)現(xiàn)圖2流程的部分關(guān)鍵代碼如下:
本文引用地址:http://m.butianyuan.cn/article/191204.htm
完成消除抖動(dòng)的進(jìn)程是在按鍵釋放后還要經(jīng)過若干個(gè)時(shí)鐘的延遲再判斷按鍵是否釋放,若真的釋放,信號(hào)koff才從0變?yōu)?,該信號(hào)也是控制模塊根據(jù)密碼輸入進(jìn)行狀態(tài)轉(zhuǎn)移的觸發(fā)信號(hào)。例如按下鍵產(chǎn)生的前沿抖動(dòng),這個(gè)抖動(dòng)產(chǎn)生的假釋放高電壓一般不會(huì)持續(xù)太多個(gè)時(shí)鐘(若系統(tǒng)的時(shí)鐘頻率高可以增加代碼中計(jì)數(shù)器的位寬以增加延時(shí)),之后又變?yōu)榉€(wěn)定的低電平,則該進(jìn)程再一次對計(jì)數(shù)器進(jìn)行清零,重新判斷。
鍵值編碼功能是將按下鍵的行列位置碼賦予相應(yīng)的鍵值,自然地將0~F鍵定義成鍵值為0~15,功能鍵的定義比較隨意。實(shí)現(xiàn)的部分代碼如下:
評(píng)論