一種簡易紅外遙控密碼鎖設(shè)計與實(shí)現(xiàn)
38.5 kHz已調(diào)波的實(shí)現(xiàn)是依據(jù)匯編語言具有嚴(yán)格的指令周期來實(shí)現(xiàn)的,低電平與高電平均持續(xù)13個機(jī)器周期,這里采用的時鐘晶振是12 MHz,所以產(chǎn)生的調(diào)制波的精確頻率為38.46 kHz。
2.2 本機(jī)接收處理模塊程序的設(shè)計
本機(jī)處理部分可以實(shí)現(xiàn)密碼設(shè)置和修改、本機(jī)按鍵開鎖、按鍵提示、密碼錯誤報警、超次提示、遙控開鎖和按鍵之間超過3 s自動復(fù)位等所有的功能。本機(jī)處理的主程序流程圖如圖7所示。本文引用地址:http://cafeforensic.com/article/162832.htm
2.2.1 密碼設(shè)置子程序的設(shè)計
系統(tǒng)只有內(nèi)部上電復(fù)位的時候才能設(shè)置或者修改密碼。當(dāng)系統(tǒng)復(fù)位時,即進(jìn)入了等待用戶按鍵設(shè)置新密碼狀態(tài),用戶輸入的8位密碼依次保存在RAM存儲單元的41H~48H單元。當(dāng)8位密碼設(shè)置完成后,蜂鳴器鳴響1 s提示密碼已成功設(shè)置。當(dāng)按鍵開鎖時,輸入的密碼依次和RAM存儲器中41H~48H單元的數(shù)相比較,只要有1位不相同,門鎖不但不能打開,而且還發(fā)出報警信號。
2.2.2 按鍵間隔超時的判斷及復(fù)位
前文提到了當(dāng)按鍵間隔超過3 s有自動復(fù)位的功能,設(shè)置密碼和按鍵開鎖時分別采用定時器T0和T1來實(shí)現(xiàn)。兩定時器均設(shè)為50 ms定時中斷,連續(xù)產(chǎn)生60次中斷的時間是3 s。當(dāng)確實(shí)有鍵按下并彈起時,打開相應(yīng)定時器中斷并允許其計數(shù)。假如在下一按鍵按下時,發(fā)生定時中斷還不到60次,則定時器停止計數(shù)并重設(shè)計數(shù)初值及定時中斷次數(shù);如果在下一按鍵按下之前,定時器已發(fā)生60次中斷,表示3 s已到,則系統(tǒng)自動進(jìn)行軟件復(fù)位。設(shè)置密碼時按鍵間隔超時的復(fù)位程序代碼如下:
以上程序當(dāng)執(zhí)行完RETI指令后,PC指針指向0000H,程序從地址0000H處開始執(zhí)行,即實(shí)現(xiàn)了軟件復(fù)位。
當(dāng)鍵盤開鎖時,如果按鍵間隔超過3 s,這時的程序“復(fù)位”并不是從地址0000H處執(zhí)行,而是回到“密碼設(shè)置結(jié)束提示音”后的那一條指令處開始執(zhí)行,利用單步執(zhí)行指令的方法得到了此條指令的地址:0FC00H。
3 結(jié)語
該設(shè)計的亮點(diǎn)在于沒有擴(kuò)展任何E2PROM的情況下,實(shí)現(xiàn)了任意修改密碼的功能,且采用軟件復(fù)位的方法取消無效按鍵。通過對本系統(tǒng)設(shè)置密碼、鍵盤開鎖、紅外遙控開鎖等各方面的情況進(jìn)行試驗(yàn)測試,驗(yàn)證了系統(tǒng)的精確性和安全性。實(shí)驗(yàn)證明該系統(tǒng)成本低、可靠性高,值得推廣與應(yīng)用。
評論