新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于STC89C52單片機的電子密碼鎖

基于STC89C52單片機的電子密碼鎖

作者: 時間:2017-06-12 來源:網(wǎng)絡(luò) 收藏
以往個人資料保存、部門文件檔案多用機械鎖,需攜帶多把鑰匙,使用極不方便,鑰匙丟失后安全性差。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對日常生活中的安全保險器件的要求越來越高。為滿足人們對門鎖的使用要求、增加其安全性,電子密碼鎖應(yīng)運而生,它具有防試探按鍵輸入,智能控制上鎖、開鎖、報警、修改密碼等多種功能。鑒于以往單片機的內(nèi)部程序存儲器不能由單片機自身修改,要完成修改密碼功能,多采用片外串行實現(xiàn)。STC89系列單片機,高速、低功耗、新增在系統(tǒng)/在應(yīng)用可編程(ISP,IAP)功能,使不具有的單片機具有了的功能,可以在線對現(xiàn)場歷史數(shù)據(jù)的存儲功能,適用于一些需經(jīng)常改變數(shù)據(jù)的應(yīng)用產(chǎn)品(如計費器、門禁系統(tǒng)等)及需遠距離改變設(shè)備參數(shù)的產(chǎn)品(遙控設(shè)備等)。采用單片機設(shè)計的電子密碼鎖,利用內(nèi)部E2PROM資源,不需要外接程序存儲器就能完成修改密碼等多種功能,并且保密性高、成本低、簡單易行,符合住宅、部門辦公安全要求。

1 設(shè)計思路及軟硬件實現(xiàn)

電子密碼鎖工作時分為兩種工作狀態(tài),分別是正常狀態(tài)和鎖定狀態(tài)。鎖定狀態(tài)時,輸出鎖定信號,供外部執(zhí)行機構(gòu)使用,實現(xiàn)上鎖功能;正常狀態(tài)時,鎖定信號消失,供外部執(zhí)行機構(gòu)使用,實現(xiàn)開鎖功能,并允許用戶進行密碼修改。

電子密碼鎖設(shè)計分硬件和軟件部分。硬件電路見圖1,包括穩(wěn)壓、晶振、復(fù)位、3×4鍵盤、指示燈、報警和電機驅(qū)動電路。軟件編程思路如圖2所示。

本文引用地址:http://www.butianyuan.cn/article/201706/353788.htm用1個無符號字符型數(shù)組Val_Code和1個無符號字符型變量Val_Num來存放鍵盤輸入的數(shù)據(jù)大小和輸入個數(shù)。程序啟動或復(fù)位后,清空數(shù)組Val_Code和變量Val_Num,并初始化定時器、報警器;進入鎖定狀態(tài)時,啟動報警功能,如發(fā)現(xiàn)用戶按下“開鎖”鍵,則讀入從微鍵盤輸入的數(shù)字序列,更新數(shù)組Val_Code和變量Val_Num;然后比較數(shù)組Val_Code與單片機內(nèi)部E2PROM中的密碼是否相同,如密碼相同則開鎖、執(zhí)行開鎖動作、輸出開鎖信號、進入正常狀態(tài),否則繼續(xù)等待用戶開鎖(為防止非法用戶惡意多次試探密碼,可在程序中設(shè)置當連續(xù)三次輸入錯誤密碼后自動報警,直至開鎖后解除)。在正常狀態(tài)時,可以進行重新設(shè)置密碼、上鎖等操作,重新設(shè)置密碼時,首先驗證原始密碼,如相同則可進行密碼更改,然后將新密碼保存至單片機內(nèi)部E2PROM中。

2 單片機內(nèi)部E2PROM及使用

2.1 RC單片機內(nèi)部E2PROM

在STC89C52單片機中有2 kB的E2PROM存儲器,分8個扇區(qū),每個扇區(qū)512 B,擦寫次數(shù)可達10萬次以上,寫人數(shù)據(jù)有效保存時間可達100年。片內(nèi)DataFlash(E2PROM)地址如表1所示。

2.2 相關(guān)特殊功能寄存器

與使用單片機內(nèi)部E2PROM有關(guān)的特殊功能寄存器見表2。

2.2.1 ISP CONTR控制寄存器

ISP_CONTR控制寄存器的功能見表3。

ISPEN:功能允許位。0禁止改變FLASH內(nèi)容;1允許改變內(nèi)容。

SWBS:軟件選擇從用戶區(qū)啟動還是從ISP啟動。0從用戶區(qū)啟動;1從ISP啟動。

SWRST:軟件復(fù)位操作。0不操作;1產(chǎn)生軟件系統(tǒng)復(fù)位,硬件自動清零。

讀、寫、擦除扇區(qū)時間由控制寄存器設(shè)置。

2.2.2 ISP_TRIG命令觸發(fā)寄存器

在ISP_CONTR最高位ISPEN=1時,對ISP_TRIG先寫46H,再寫B(tài)9H,讀寫E2PROM的命令才會生效。

2.2.3 ISP_CMD命令寄存器

ISP_CMD對讀寫或擦除FLASH進行控制,其功能見表4。

2.2.4 ISP_DATA,ISP_ADDRH,ISP_ADDRL

使用單片機內(nèi)部FLASH E2PROM寫入數(shù)據(jù)或擦除數(shù)據(jù)時,需要用專門的存儲器存放處理的數(shù)據(jù)和地址,ISP_DATA用來存放數(shù)據(jù),ISP_ADDRH用來存放地址高字節(jié),ISP_ADDRL用來存放地址低字節(jié)。

3 結(jié) 語

采用STC89C52單片機設(shè)計的電子密碼鎖,實現(xiàn)智能電子密碼鎖的控制功能,克服了機械密碼鎖密碼量少的缺點;采用內(nèi)部E2PROM保存密碼,比采用片外E2PROM具有更高的安全性、可靠性,可廣泛用于家居、辦公等智能控制系統(tǒng)中。



關(guān)鍵詞: STC89C52 STC89C52RC E2PROM

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉