《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STC89C52單片機的電子密碼鎖設計
基于STC89C52單片機的電子密碼鎖設計
摘要: 行業(yè)產品市場行情,,產品價格趨勢分析,,全國各類展會動態(tài),,盡在ICBuy電子網行業(yè)資訊頻道,。他是您把握市場行情不可多得的得力助手,!
Abstract:
Key words :

 

  引言

  以往個人資料保存,、部門文件檔案多用機械鎖,,需攜帶多把鑰匙,,使用極不方便,,鑰匙丟失后安全性差。

  隨著科學技術的不斷發(fā)展,,人們對日常生活中的安全保險器件的要求越來越高,。為滿足人們對門鎖的使用要求、增加其安全性,電子密碼鎖應運而生,,它具有防試探按鍵輸入,,智能控制上鎖、報警,、修改密碼等多種功能f1剖,。鑒于以往單片機的內部程序存儲器不能由單片機自身修改,要完成修改密碼功能,,多采用片外串行E2PRoM實現(xiàn),。宏基公司生產的STC89系列單片機,高速,、低功耗,、新增在系統(tǒng)/在應用可編程(ISP,IAP)功能,,使不具有E2PRoM的單片機具有了E2PRoM的功能,,可以在線對現(xiàn)場歷史數(shù)據的存儲功能,適用于一些需經常改變數(shù)據的應用產品(如計費器,、門禁系統(tǒng)等)及需遠距離改變設備參數(shù)的產品(遙控設備等),。采用STC89C52單片機設計的電子密碼鎖,利用內部E2PROM資源,,不需要外接程序存儲器就能完成修改密碼等多種功能,,并且保密性高、成本低,、簡單易行,,符合住宅、部門辦公安全要求,。

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

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

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

硬件電路

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

  2 STC89C52單片機內部E2PROM及使用

  2.1 STC89C52RC單片機內部E2PROM

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

STC89C52RC單片機內部Data Flash(E2PROM)地址

  2.2 相關特殊功能寄存器

  與使用STC89C52RC單片機內部E2PROM有關的特殊功能寄存器見表2,。

與單片機內部(E2PROM)有關的特殊功能寄存器

  2.2.1 ISP CONTR控制寄存器

  ISP CONTR控制寄存器的功能見表3,。

lSP—CONTR控制寄存囂功能

  ISPEN:功能允許位。0禁止改變FI.ASH內容,;1允許改變內容,。

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

  0從用戶區(qū)啟動,;1從ISP啟動,。

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

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

電子密碼鎖設計流程圖

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

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

  2.2.3 ISP CMD命令寄存器

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

ISP—CMD命令寄存器功能

  2.2.4 ISP—DATA,,ISP—ADDRH,,ISP—ADDRL

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

  2.2.5 特殊功能寄存器的聲明

  2.3主要功能模塊

  2.3.1 允許FLASH E2PROM的操作

  2.3.2 禁止FLASH E2PROM操作,,清除有關寄存器

  2.3.3讀單片機內部E2PROM

  2.3.4 寫單片機內部E2PROM

  2.3.5 擦除單片機內部E2PROM扇區(qū)

  3 結語

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



 

此內容為AET網站原創(chuàng),,未經授權禁止轉載。