基于51單片機(jī)的電子密碼鎖:
密碼鎖顯示部分采用的是LCD1602,數(shù)據(jù)端口使用的是51單片機(jī)的P0口,控制端口使用的是P2口;密碼輸入部分使用的是矩陣鍵盤,矩陣鍵盤的接口為單片機(jī)的P1口;該仿真密碼存儲(chǔ)部分使用的是EEPROM 24C02,通過(guò)51單片機(jī)的P26和P27引腳來(lái)模擬I2C接口實(shí)現(xiàn)對(duì)24C02芯片的讀寫控制;密碼鎖指示部分包括兩個(gè)LED指示燈和虛擬串口終端;密碼鎖控制部分采用一個(gè)5V繼電器。
運(yùn)行仿真后,首先彈出的是虛擬串口終端,在虛擬串口終端上顯示有相應(yīng)的提示信息。在液晶顯示屏上顯示有密碼輸入和錯(cuò)誤次數(shù)兩個(gè)部分。根據(jù)仿真上的文字提示,該密碼鎖支持3個(gè)用戶,用戶密碼是4位的,密碼分別是0001,0002,0003。
當(dāng)通過(guò)矩陣鍵盤輸入密碼時(shí),可以看到液晶顯示屏上將輸入的密碼顯示為星號(hào),而在虛擬串口顯示終端上則對(duì)用戶輸入的數(shù)字進(jìn)行提示。
當(dāng)4位密碼都輸入進(jìn)去后,如果沒(méi)有去按功能按鍵,而是繼續(xù)按了數(shù)字按鍵的話,之前所有輸入的密碼都將清除,需要再次重新輸入。當(dāng)輸入密碼后,按下'-'鍵,此時(shí)用戶輸入的密碼都會(huì)清除,同時(shí)在虛擬串口顯示終端上會(huì)給出相應(yīng)的提示符。
當(dāng)密碼輸入后,按下'X'按鍵,如果密碼輸入正確,則綠色LED指示燈會(huì)亮起,繼電器吸合,同時(shí)在虛擬串口顯示終端上會(huì)出現(xiàn)相應(yīng)的提示符,密碼正確時(shí),按下'-'按鍵可以使密碼鎖復(fù)位;當(dāng)輸入的密碼錯(cuò)誤時(shí),紅色的LED指示燈亮起,液晶顯示器上的會(huì)顯示相應(yīng)的錯(cuò)誤次數(shù)。如果錯(cuò)誤的次數(shù)達(dá)到3次,則會(huì)提示密碼鎖已經(jīng)鎖定,然后下方顯示對(duì)應(yīng)的聯(lián)系方式。
在進(jìn)行密碼修改時(shí),需要先安心'+'按鍵,此時(shí)顯示屏和虛擬串口顯示終端上會(huì)提示輸入舊的密碼,當(dāng)輸入正確的舊密碼后按下'X'鍵,此時(shí)會(huì)提示輸入新密碼。在輸入新密碼時(shí)需要注意,密碼的4位數(shù)應(yīng)該在0000-0255之間,如果輸入的新密碼不在此范圍內(nèi),會(huì)提示輸入的密碼錯(cuò)誤。輸入正確的新密碼后再次按下'X'按鍵,新密碼就已經(jīng)將舊密碼替換掉了。