基于STC89C52單片機的電子密碼鎖
1 設計思路及軟硬件實(shí)現
電子密碼鎖工作時(shí)分為兩種工作狀態(tài),分別是正常狀態(tài)和鎖定狀態(tài)。鎖定狀態(tài)時(shí),輸出鎖定信號,供外部執行機構使用,實(shí)現上鎖功能;正常狀態(tài)時(shí),鎖定信號消失,供外部執行機構使用,實(shí)現開(kāi)鎖功能,并允許用戶(hù)進(jìn)行密碼修改。
電子密碼鎖設計分硬件和軟件部分。硬件電路見(jiàn)圖1,包括穩壓、晶振、復位、3×4鍵盤(pán)、指示燈、報警和電機驅動(dòng)電路。軟件編程思路如圖2所示。
2.1 STC89C52RC單片機內部E2PROM
在STC89C52單片機中有2 kB的E2PROM存儲器,分8個(gè)扇區,每個(gè)扇區512 B,擦寫(xiě)次數可達10萬(wàn)次以上,寫(xiě)人數據有效保存時(shí)間可達100年。片內DataFlash(E2PROM)地址如表1所示。
2.2 相關(guān)特殊功能寄存器
與使用STC89C52RC單片機內部E2PROM有關(guān)的特殊功能寄存器見(jiàn)表2。
ISP_CONTR控制寄存器的功能見(jiàn)表3。
ISPEN:功能允許位。0禁止改變FLASH內容;1允許改變內容。
SWBS:軟件選擇從用戶(hù)區啟動(dòng)還是從ISP啟動(dòng)。0從用戶(hù)區啟動(dòng);1從ISP啟動(dòng)。
SWRST:軟件復位操作。0不操作;1產(chǎn)生軟件系統復位,硬件自動(dòng)清零。
讀、寫(xiě)、擦除扇區時(shí)間由控制寄存器設置。
2.2.2 ISP_TRIG命令觸發(fā)寄存器
在ISP_CONTR最高位ISPEN=1時(shí),對ISP_TRIG先寫(xiě)46H,再寫(xiě)B9H,讀寫(xiě)E2PROM的命令才會(huì )生效。
2.2.3 ISP_CMD命令寄存器
ISP_CMD對讀寫(xiě)或擦除FLASH進(jìn)行控制,其功能見(jiàn)表4。
使用單片機內部FLASH E2PROM寫(xiě)入數據或擦除數據時(shí),需要用專(zhuān)門(mén)的存儲器存放處理的數據和地址,ISP_DATA用來(lái)存放數據,ISP_ADDRH用來(lái)存放地址高字節,ISP_ADDRL用來(lái)存放地址低字節。
3 結 語(yǔ)
采用STC89C52單片機設計的電子密碼鎖,實(shí)現智能電子密碼鎖的控制功能,克服了機械密碼鎖密碼量少的缺點(diǎn);采用內部E2PROM保存密碼,比采用片外E2PROM具有更高的安全性、可靠性,可廣泛用于家居、辦公等智能控制系統中。
評論