1 引 言
近幾年來單片機技術飛速發展,各種新型號的單片機層出不窮,在家電、控制、儀表等領域起到了舉足輕重的作用。MSP430是一款具有超低功耗、豐富的片內外圍模塊、軟件對硬件靈活控制等特點的單片機,特別適用于由電池供電的應用。本文介紹了一種以MPS430單片機為控制核心的指紋保險柜的工作原理,重點討論實現指紋保險柜功能的軟件設計。
2 指紋保險柜的工作原理
指紋保險柜不用鑰匙或密碼,僅憑指紋實現保險柜的安全控制。指紋保險柜的原理圖如圖1所示。
圖l中的"控制電路"部分為指紋門鎖的控制中心。它從"指紋比對模塊"部分取得指紋比對的結果數據,如指紋比對成功,"控制電路"向機械鎖芯中的"動作部分"發出開鎖的信號。同時監測動作的執行情況與鎖的開/關狀態。
除此以外,"控制電路"還可控制"指紋比對模塊"部分進行指紋錄入/刪除,并對整個電路的工作狀態進行管理控制,對錯誤進行報警等。
本指紋保險柜具有機械自動觸發、鎖定功能。一旦門被打開,就關斷控制電路,其余工作交予機械部分管理。
3 系統軟件設計
3.1 系統分析
系統分析是整個程序設計工作的基點,應根據系統功能進行結構化設計,即將整個程序分為若干個模塊,通過主程序將各個模塊有機地組織起來。指紋保險柜的系統程序主要由主程序、按鍵模塊、控制模塊、顯示模塊、計時模塊和串口通訊模塊組成。
下面以按鍵模塊為例,分析該模塊詳細設計過程。
本指紋保險柜控制電路可存儲30個指紋數據,其中包含1個管理者和29個普通用戶的指紋數據。它們之間的管理關系為0號管理者管理普通用戶群。0號管理者的指紋數據存儲于固定的位置00,其他位置為普通用戶位置。按鍵模塊分為按鍵查詢和按鍵管理兩部分。
1)按鍵查詢。保險柜具有4個按鍵,其中,上電鍵用于為系統加電;錄入鍵用于控制電路執行錄入指紋的功能,即將指紋以數據形式存入保險柜中:刪除鍵用于控制電路執行刪除數據指紋的功能:而全清鍵用于使控制電路執行刪除全部數據指紋的功能。本模塊應判斷是否有按鍵按下,并判斷出是哪一個按鍵按下。
2)按鍵管理。根據按鍵查詢程序獲得的按鍵值進行相應的動作處理。按下上電鍵時,蜂鳴器發出一聲短促的鳴叫,表示系統已經加電的綠色電源指示燈亮。按下錄入鍵時,窗口內的綠燈亮,表示處于錄入數據指紋狀態。正常情況下,一個指紋錄入時應該劃過取指器3次,每次劃過后,綠色燈閃動一次,蜂鳴器鳴響一聲。成功劃過取指器3次后,綠色發光管閃亮,蜂鳴器長鳴一聲,表示該指紋已經錄入到指紋鎖內。當用戶手指劃過取指器的速度過快、過慢或手指對窗口的壓力不夠時,蜂鳴器發出2聲短鳴,表示此次手指劃動不合格,不予記錄,應該重新劃動。超時無操作,指紋保險柜會自動斷電。按下刪除鍵時,窗口內的綠色與紅色燈同時亮,表示進入刪除數據指紋狀態。然后輸入要刪除的指紋,比對通過后,紅色燈熄滅,蜂鳴器鳴響一聲,表示此時該指紋已經從指紋鎖內刪除。按下全清鍵不動,3秒鐘后蜂鳴器發出一聲長鳴,繼續按全清鍵,直到發出3聲長鳴,表示鎖內存儲的指紋已被全部清空。
3.2 軟件流程
對于復雜系統的程序設計,應在系統分析基礎上用直觀、易懂的流程圖表示程序結構的設計。按鍵管理模塊的流程圖如圖2所示,其中指紋錄入子模塊的流程圖如圖3所示。
|