郭能強



摘要:文章討論了如何用AT89S52單片機來設計電子保險箱。利用矩陣鍵盤輸入密碼,與初始密碼進行比較,如密碼正確則從外部模式進入到內部模式(用電子音樂提示);如密碼錯誤,則停留在外部模式且發光二極管發出閃亮提示。當密碼連續出現三次錯誤時,系統則啟動報警功能,同時不能繼續輸入密碼。本設計利用電子密碼鎖來實現對電子信息(音樂)的加密。
關鍵詞:單片機;電子信息;矩陣鍵盤;密碼
中圖分類號:G712 文獻標志碼:A 文章編號:1674-9324(2015)40-0257-03
安全話題永遠都在滲透我們的生活,信息安全更是尤為重要。電子密碼鎖的出現解決了信息安全隱患的一大難題。電子保險箱由于其保密性能高,使用起來靈活性好,安全系數高,因此受到廣大用戶的青睞。電子保險箱在日常的生活和現代化辦公中的應用極其廣泛,辦公室的文件檔案、財務報表以及許多重要資料的保存都或多或少與電子保險箱聯系在一起。該文從經濟實用性的角度出發,采用AT89S52單片機,設計出了一款具備了自動報警功能的電子保險箱。
一、電子保險箱系統總構思
本設計的主要控制芯片是AT89S52單片機,保險箱系統由AT89S52單片機、矩陣鍵盤、數碼管、開鎖電路以及一些報警信息讀取裝置組成。
二、硬件組成部分
(一)最小系統電路
首先形成單片機最小系統(如圖1所示),在89S52單片機芯片XTAL1(19引腳)、XTAL2(18引腳)中加入時鐘電路,RST(9引腳)中加入復位電路。
89S52的復位是由外部的復位電路來實現的,復位電路分為上電復位和按鍵復位。本設計采用的是按鍵復位,正常工作時按下復位鍵,單片機第9引腳變為高電平。單片機復位按鍵松開,通過電容放電,第9引腳回到低電平。采用的是12MHZ晶振,所以C3=1μF,R1=70Ω,R4=70Ω。
(二)矩陣鍵盤電路
矩陣鍵盤(如圖1所示)通常被稱之為行列式鍵盤,它主要是用四條I/0線作為列線組成矩陣鍵盤。在每條行線和每條列線的交叉點上,分別設置了一個按鍵。整個鍵盤由16個鍵組成,這種鍵盤結構的特點是能夠有效提高單片機系統中I/0口的利用率,在本設計中它使P1口原本的6個整合成16個。在設計中行線接的是P1.0-P1.3,列線接的是P1.4-P1.7。每一個按鍵代表一位密碼,一共有15位數,第16個鍵用做確認密碼。
(三)密碼顯示電路
密碼顯示電路(如圖1所示)采用的是共陽極數碼管顯示密碼,共陽極的數碼管7個發光二極管的陽極都連接在一起。把公共的陽極接在高電平上,把其他管腳接在段驅動電路輸出端。當段驅動電路的輸出端為低電平時,這個端口所連接的字段導通并且發光二極管點亮。
(四)密碼提示電路
1.如果用戶輸入的密碼正確,發光二極管D1(如圖2所示)將發光,提示用戶密碼輸入正確,可以進入后面的操作。
2.如果用戶輸入的密碼錯誤,發光二極管D2(如圖2所示)將發光,提示用戶密碼輸入錯誤,必須返回重新輸入密碼。
3.如果用戶輸入的密碼錯誤三次,報警系統將開始運行,LS1蜂鳴器接通開始報警。
(五)總硬件圖
I/O分配表:(1)矩陣鍵盤P1口;(2)數碼管顯示P0口;(3)正確指示燈接P2.1口;(4)錯誤指示燈接P2.2口;(5)報警蜂鳴器接P2.7口;(6)兩個內選按鈕分別接在P3.2,P3.3口;(7)退出按鈕接P3.7口;(8)播報音樂蜂鳴器接P2.3口。
三、系統軟件的設計
1.設計語言。C語言是一種中級語言,這種語言不僅具備了高級語言所便于學習與開發、接近人類自然語言的特點,而且還具有低級語言直接操作計算機的特點。這兩大特點使它成為開發系統軟件和應用軟件的強有力的一種工具。
2.主程序。當用戶輸入密碼后,系統將對密碼進行判斷。如果密碼錯誤,系統將還停留在密碼輸入界面,并且密碼錯誤指示燈亮。當密碼錯誤三次時系統的報警功能打開,開始報警。如果輸入密碼正確,密碼正確指示燈亮,并且系統將進入內部模式。在內部模式中用戶可以手動切換自己想要的信息(電子音樂),也可以退出此模式。(流程如圖2所示)
3.鍵盤掃描子程序。如果矩陣鍵盤有按鍵按下,則單片機系統首先將矩陣鍵盤第一列所對應的I/O口歸零,然后從第一行開始逐個用系統內部所設定的鍵盤值的數組與P1口現在的值進行比較,如果數值相同則把這個數值在數組中所對應序號返回給調用函數。如果沒有與此數值相同,則單片機內部再把第二列所對應的I/O口歸零,再繼續從第一行開始比較,就此類推,直到把所按的按鍵對應系統的數組序號值找出來,返回給調用函數為止。如果一直沒有按鍵按下,則把“66”這個數返回給調用函數。