劉佳樂
(蘭州工業學院電氣工程學院,甘肅 蘭州 730000)
該文分析的系統是由4×4矩陣鍵盤、LCD1602報警系統、單片機AT89S52和顯示部分等構成,該系統具有修改和設置用戶6位密碼、密碼錯誤報警、超次鎖定和超次報警等功能。該文的密碼鎖設計是使用PO單片機LCD控制顯示,密碼正確有“password ok!”提示,如果是錯誤會出現“password error!”該提示,錯誤輸入3次會自動鎖定。P1口矩陣控制鍵盤包括0~9個數字,還有A-F功能鍵。另外,除了這些密碼功能,還能實現遙控功能控制密碼鎖,關于整體系統框架的設計如圖1所示。

圖1 系統結構框圖
單片機最小系統是由晶振電路、復位電路組成。晶振電路是通過XTAL2和XTAL1引腳與晶體振蕩器12MHz進行連接,形成了一個內部振蕩電路,該模塊是由一個晶振、兩個電容組成。其中引腳XTAL2和XTAL1與電容C1和C2進行連接。該部分的兩個電容具有快速起振、穩定振蕩頻率的功能,其中電容值是20 pF,內部振蕩方式應用比較廣泛,其獲得的時鐘信號相對穩定。
鍵盤的設計是4×4矩陣式的行列鍵盤,每條垂直線和水平線都是相互交叉但不連通的,一般都是利用按鍵進行連接。這樣每個端口構成一個4×4=16的按鍵,在單片機系統中這種行列式矩陣鍵盤,在執行程序中需要先等待按鍵指令,之后確認都按下按鍵程序,連接每個鍵垂直和水平端口,比如:如果垂直輸入掃描碼,這時同一行獲取的掃描碼的bit是相同的,而水平線是讀取掃描的,這時會線輸入掃描的動作,之后才是讀取輸入的信息,經過系統分析,才能確定哪個鍵被使用。
該文分析的電子密碼鎖是利用程序頻率促使蜂鳴器發出聲音,之后將頻率發送給輸出端口并輸出即可。使用LED燈判斷是否輸入正確密碼,如果是錯誤面lED燈會顯示紅色,這時蜂鳴器會自動出現報警聲,如果密碼正確,則綠色的LED燈亮。
通過LED信息提示,用戶可以了解輸入的密碼是否正確,從而正確開鎖。如果密碼輸入正確,這時系統會判斷按鍵是否被按下,之后單片機會發出開門信號,開鎖驅動電路接收到指令,會驅動電磁鎖,這時即可將鎖打開。開鎖電路是由開鎖、驅動2個部分構成,其中驅動電路由D5、T10、R1組成,D5是提示開鎖、T10一般選擇三極管功率較小可以滿足實際需求,比如:9014。開鎖系統包括C4、D6、T11工程,其中,C4、D6是負責消除電磁鎖被電磁干擾,或是出現反向高電壓情況。T11可以選擇中功率三極管,比如8050,電磁鎖選擇都是根據實際需求,但要注意保證吸合力有一定的余量。本次分析為了節省材料,臨時選擇發光二極管來替換電磁鎖,發光管亮表示已經開鎖,如果是燈滅,表示沒有開鎖。
電子密碼鎖一般在辦公室或是家庭中的門鎖上使用,一般都是通過電磁鐵吸合,將門關閉,只有輸入正確密碼,才能打開鎖。門鎖的密碼用戶自己可以設置或是修改,門鎖還有自動報警功能。電子密碼鎖是根據液晶屏信息顯示,選擇開鎖或是修改密碼。如果開鎖,需要掃描鍵盤輸入密碼,之后保存數組,再選擇正確的密碼數據進行比較,根據指示燈LED顯示開鎖。如果密碼輸入錯誤,會自動報警,并有錯誤提示。如果想要修改密碼,需要將新密碼保存到系統中,開鎖程序包括主程序、子服務中斷程序。主程序主要是讀取鍵盤數值,并顯示屏幕信息和判斷密碼。子服務中斷程序就是將密碼復位再進行密碼鎖開鎖、上鎖、報警等處理。當程序進入初始化,再分析鍵盤數值是否輸入,如果選擇輸入開始進入步驟程序,選擇開鎖或是密碼修改,如果鍵盤沒有輸入,則需要返回。
為了保證程序更好地進行調試和閱讀,這里將外圍電路設計成為不同的子程序,包括按鍵掃描、程序顯示、左移鍵值、右移程序、讀存儲器程序、報警程序和保存密碼程序等。
該文通過Proteus軟件對密碼鎖進行了仿真實驗,證明該軟件可以實現軟件硬件同時設計,如果還沒有制作硬件,可以利用繪制的軟件電路圖,將程序加載編譯,在電腦上完成仿真調試,從而分析軟件設計上存在的錯誤再進行調試,可以有效減少設計周期。
進入Proteus ISIS編輯窗口,在元件列表中單擊“P”按鈕,進入對話框“Pick Device”,之后添加元件。如果沒有元件,可以使用芯片來代替,達到功能兼容效果。
密碼鎖電路圖繪制完成后,將AT89C51單片機晶振頻率設置為12 MHz,之后加載“*.HEX”文件。
在編輯窗口,點擊圖表“運行”或是菜單“Debug”,并在菜單中選擇“Execute”,即可看到模擬仿真的結果。
在調整單步調試中,打開“Debug”菜單中的“Watch Window”窗口以及“XX器件編號”,觀察儲存器、寄存器的數值變化。
經過仿真設計反復調試,電子密碼鎖可以基本實現:識別對比輸入的密碼、判斷密碼、開鎖、自動報警、儲存密碼、修改密碼。基于單片機進行電子密碼設計,單片機屬于主控芯片,同時與外圍電路進行連接,構成電子密碼鎖。在單片機2個線路上設置電阻,可以有效減少功耗。這種程序設計比較簡單、設計方法可靠、成本比較低、使用安全性高,而且能夠滿足日常鎖的需求,有使用價值。