隨著科學技術的進步和社會經濟的發展,電子密碼鎖取代傳統的機械鎖已成為一種必然的趨勢。以往基于單片機的密碼鎖系統,直接將編好的密碼程序存儲在片內EPROM中,但不易實現密碼的修改;如要完成修改密碼功能,多采用片外串行E2PROM實現。本文研究并設計的一種基于單片機的紅外遙控電子密碼鎖,不但具有普通密碼鎖智能控制上鎖、開鎖、報警等特點,而且在不擴展E2PROM的情況下,可以實現8位密碼任意修改的功能,節省了硬件資源,減小了系統體積,這是本設計的一個創新點。另外還增加了遙控開鎖的特點。所以該系統不但成本低、保密性強,更適用于那些正常人體不宜接近的特殊場合,比如高輻射區、高傳染區等。
1 系統硬件設計方案
1.1 系統總體設計
系統主要由紅外發射模塊和本機處理接收模塊兩部分構成,系統總體設計框圖如圖1所示。發射模塊和本機處理接收模塊的核心分別采用AT89C2051和AT89S52單片機。紅外信號的收發通過串口進行通信,兩部分的串口工作方式及通信波特率的設置相同。
AT89C2051單片機是AT89C51的一種精簡版本,只有20個引腳,體積小;具有2.7~6 V的寬電壓工作范圍;具備低功耗空閑和掉電模式。該單片機滿足本系統低電壓供電、低功耗、方便隨身攜帶的要求。
在本機處理接收模塊中,采用了AT89S52單片機,該單片機有3個定時器。設置密碼和按鍵開鎖時,均設計了按鍵間隔超過3s自動復位的功能,分別采用定時器T0和T1定時實現;定時器T2設置串口通信波特率。
1.2 紅外發射模塊的設計
紅外發射模塊僅僅是一手持遙控器,由AT89C2051單片機及鍵盤電路、按鍵K及紅外發光二極管組成。發射電路原理圖如圖2所示。
發射模塊設置的密碼必須與本機接收模塊相同(設置密碼方法見2.2.1節),所設密碼保存在RAM存儲器的31H~38H單元。在待機狀態下,系統工作在空閑方式,當按鍵K按下時,系統上電工作,依次發送密碼信號。這樣做的優點是,密碼不但能跟隨主機任意改動,而且遙控開鎖時,僅按一鍵就可完成開鎖,方便了用戶。
1.3 本機處理接收電路的設計
本機處理接收電路的控制核心是AT89S52單片機。外接鍵盤電路、紅外接收電路、開鎖電路、報警電路和按鍵指示電路等,電路原理圖如圖3所示。
1.3.1 紅外接收電路的設計
紅外接收電路中使用一體化紅外接收頭TLl838接收紅外信號。TLl838集紅外接收和放大于一體,不需任何外接元件,就能完成從紅外接收到輸出與TTL電平兼容的所有工作,而體積和普通的塑封三極管大小一樣。TL1838的輸出波形如圖4所示。當接收到頻帶內的紅外信號時,TLl838會輸出低電平,否則數據高電平,從而將“時斷時續”的紅外信號解調成原來的連續方波信號。
1.3.2 報警電路的設計
報警電路采用了蜂鳴器發聲模擬報警,蜂鳴器接在CPU的引腳P2.1上,通過NPN型三極管做電流放大,通過單片機控制蜂鳴器的頻率及蜂鳴時間。當輸入錯誤的密碼進行開鎖時,由P2.1口輸出高電平使得NPN型三極管9014導通,蜂鳴器兩端加電,由蜂鳴器發出3 s的報警聲,當連續三次出現密碼錯誤時,系統將長時間報警,有效起到了防盜作用。
1.3.3 電源電路的設計
電源部分使用LM7805芯片進行穩壓后提供單片機5 V的電壓,其電路如圖5所示。主要采用家用交流電,同時采用9 V電池作為備用電源。這樣做的優點是,即使斷電也不至于無法開鎖。
1.3. 4 其他外圍電路的設計
由于AT89S52單片機有4個并行輸入輸出口,硬件資源比較充足,鍵盤電路采用了相對簡單的獨立式按鍵;電路中用一繼電器控制一綠色發光二極管代替具體的鎖,當密碼正確時,開鎖5 s,然后自動上鎖;P2.O口接一紅色發光二極管,用其亮與滅來提醒用戶按鍵是否按下。這樣既巧妙地提醒了用戶又有效地保護了密碼。
2 系統軟件設計及實現
軟件部分的設計基于匯編語言,采用模塊化設計思想,以主程序為核心設置了多個功能模塊子程序。主程序主要起到一個導向和決策功能,決定什么時候系統該做什么,系統的各種功能主要是通過調用具體的子程序來實現。
2.1 紅外發射模塊程序的設計
發射模塊的編碼與調制工作是由軟件編程實現的。當按鍵K按下時,密碼信號依次送往數據緩沖器SBUF,然后利用“0”電平調制、“1”電平不調制的方法,將二進制信號調制成頻率為38.5 kHz的間斷脈沖串信號,通過P3.O口輸出,驅動紅外發光二極管,最后以波長940 nm的紅外光發出紅外遙控信號。紅外發射模塊程序流程圖如圖6所示。
38.5 kHz已調波的實現是依據匯編語言具有嚴格的指令周期來實現的,低電平與高電平均持續13個機器周期,這里采用的時鐘晶振是12 MHz,所以產生的調制波的精確頻率為38.46 kHz。
2.2 本機接收處理模塊程序的設計
本機處理部分可以實現密碼設置和修改、本機按鍵開鎖、按鍵提示、密碼錯誤報警、超次提示、遙控開鎖和按鍵之間超過3 s自動復位等所有的功能。本機處理的主程序流程圖如圖7所示。
2.2.1 密碼設置子程序的設計
系統只有內部上電復位的時候才能設置或者修改密碼。當系統復位時,即進入了等待用戶按鍵設置新密碼狀態,用戶輸入的8位密碼依次保存在RAM存儲單元的41H~48H單元。當8位密碼設置完成后,蜂鳴器鳴響1 s提示密碼已成功設置。當按鍵開鎖時,輸入的密碼依次和RAM存儲器中41H~48H單元的數相比較,只要有1位不相同,門鎖不但不能打開,而且還發出報警信號。
2.2.2 按鍵間隔超時的判斷及復位
前文提到了當按鍵間隔超過3 s有自動復位的功能,設置密碼和按鍵開鎖時分別采用定時器T0和T1來實現。兩定時器均設為50 ms定時中斷,連續產生60次中斷的時間是3 s。當確實有鍵按下并彈起時,打開相應定時器中斷并允許其計數。假如在下一按鍵按下時,發生定時中斷還不到60次,則定時器停止計數并重設計數初值及定時中斷次數;如果在下一按鍵按下之前,定時器已發生60次中斷,表示3 s已到,則系統自動進行軟件復位。設置密碼時按鍵間隔超時的復位程序代碼如下:
以上程序當執行完RETI指令后,PC指針指向0000H,程序從地址0000H處開始執行,即實現了軟件復位。
當鍵盤開鎖時,如果按鍵間隔超過3 s,這時的程序“復位”并不是從地址0000H處執行,而是回到“密碼設置結束提示音”后的那一條指令處開始執行,利用單步執行指令的方法得到了此條指令的地址:0FC00H。
3 結語
該設計的亮點在于沒有擴展任何E2PROM的情況下,實現了任意修改密碼的功能,且采用軟件復位的方法取消無效按鍵。通過對本系統設置密碼、鍵盤開鎖、紅外遙控開鎖等各方面的情況進行試驗測試,驗證了系統的精確性和安全性。實驗證明該系統成本低、可靠性高,值得推廣與應用。
責任編輯:gt
-
二極管
+關注
關注
147文章
9581瀏覽量
165954 -
單片機
+關注
關注
6032文章
44525瀏覽量
633249 -
定時器
+關注
關注
23文章
3241瀏覽量
114511
發布評論請先 登錄
相關推薦
評論