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