數(shù)字密碼鎖
一. 明確設(shè)計(jì)要求
設(shè)計(jì)三位二進(jìn)制串行輸入數(shù)字鎖
當(dāng)收到三依次為與規(guī)定碼相符的二進(jìn)制數(shù)后,可以開(kāi)鎖,且相應(yīng)綠燈亮
若1、碼字不對(duì)
2、碼過(guò)長(zhǎng)或過(guò)短
3、操作程序不對(duì)
都視為錯(cuò)。錯(cuò)時(shí)紅燈亮,錯(cuò)誤2次報(bào)警,即喇叭響,并無(wú)法繼續(xù)操作,直至輸入管理員密碼,可重新開(kāi)始,并且添加了密碼修改部分,在開(kāi)門(mén)的狀態(tài)下,用戶可以修改數(shù)字鎖的密碼,以便可以靈活的改變密碼,更加安全可靠。
二. 確定系統(tǒng)方案
1. 數(shù)字鎖外觀設(shè)計(jì)(主要是鍵盤(pán))
2. 數(shù)據(jù)輸入模塊 用于輸入密碼,確認(rèn),取消等鍵信號(hào)的輸入
3. 密碼判斷模塊 判斷所輸入的密碼是否正確
4. 密碼重設(shè)模塊 供管理員重新設(shè)置用戶密碼,輸入的密碼為IN_C0,IN_C1,IN_C2,輸出為code00,code01,code02
5. 密碼錯(cuò)誤次數(shù)累計(jì)模塊 密碼錯(cuò)誤超過(guò)兩次后則報(bào)警
6. 顯示模塊 包括三個(gè)數(shù)碼管,紅色綠色兩個(gè)LED,喇叭
總體方框圖
數(shù)字鎖流程圖
三. 設(shè)計(jì)數(shù)據(jù)子系統(tǒng)
(1) 數(shù)據(jù)輸入模塊
1. BUTTON->INPUT的消抖電路模塊圖為
由于BUTTON的按下會(huì)產(chǎn)生抖動(dòng),故必須設(shè)計(jì)消抖電路,否則電路可能會(huì)接收錯(cuò)誤的碼,導(dǎo)致得不到所要的結(jié)果。所以采用三個(gè)dff設(shè)計(jì)了消抖電路。
電路原理圖為
2. 把輸入的num0和num1按鈕轉(zhuǎn)化成三位密碼的電路模塊圖為
該電路模塊將串行輸入的NUM0和NUM1變換成其后用于密碼比較或者用于更改用戶名密碼的三位二進(jìn)制輸入。
電路原理圖為
(2)密碼輸錯(cuò)計(jì)數(shù)模塊
當(dāng)輸入密碼次發(fā)生錯(cuò)誤時(shí),控制器的輸出REDLED為1,信號(hào)輸入該模塊計(jì)數(shù)為1,
當(dāng)?shù)诙伟l(fā)生密碼輸入錯(cuò)誤時(shí),C產(chǎn)生高電平脈沖輸出,用于控制器的輸入信號(hào)。且此時(shí)通過(guò)一個(gè)反相器使該計(jì)數(shù)器的使能端為0,停止計(jì)數(shù)。
電路原理圖為
(3)密碼比較模塊
code10,code11,code12為管理員密碼 ,由于時(shí)間有限,且修改管理員的密碼與修改用戶的密碼其實(shí)并無(wú)大的不同,為了將該模塊簡(jiǎn)化,將其做成固定的。雖然不是很符合實(shí)際的使用。code00,code01,code02為用戶的密碼,與用戶密碼修改的模塊相連接,可接收更改過(guò)的用戶密碼,用于比較輸入的密碼是否正確。
外部的密碼輸入經(jīng)過(guò)數(shù)據(jù)輸入快后變成三個(gè)并行的二進(jìn)制信號(hào)Input0,Input1,Input2。當(dāng)D=1時(shí),通過(guò)2選1的數(shù)據(jù)選擇器選中code10,code11,code12的管理員密碼進(jìn)行比較,即進(jìn)行的時(shí)管理員密碼的輸入;當(dāng)D=0,通過(guò)2選1的數(shù)據(jù)選擇器選中code00,code01,code02的用戶密碼進(jìn)行比較,即此時(shí)進(jìn)行的是用戶密碼的比較。
電路原理圖為