• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ATMega16單片機的密碼鎖的設計

    基于ATMega16單片機的密碼鎖的設計

    作者: 時間:2014-01-07 來源:網絡 收藏

    隨著科技的發展,安全問題越來越受人們關注,各種安全產品相繼問世,如指紋防盜,紅外防盜等,雖然這類產品的安全性較高,但其成本也同樣較高,攜帶安裝都不方便也同樣限制了其發展。本文利用ATMega 16,通過4×3鍵盤和七段數碼管顯示,除實現了的密碼驗證、重新設置和輸入錯誤報警等基本功能外,還創新性的實現了鍵盤的重新定義。通過對鍵盤的重新定義可以有效的防止密碼被盜,同時也降低了成本,便于攜帶安裝。

    一、設計目的、用途、功能

    1.設計目的
    隨著科技的進步,安全問題越來越受人們重視,市場上也相應的出來很多產品,如指紋防盜,紅外防盜等。最然其安全性能很高,但是成本也相對較高,也不方便攜帶和安裝。本設計的目的就是為了保證高安全性的前提下,實現降低成本,方便攜帶安裝。
    2. 設計用途
    由于本設計成本較低且安全性能穩定優良,可適用于家庭防盜、行李箱、車載行李箱等一些安全性能要求不高且需要便攜的產品上,其安全性能遠遠優于同等成本的安全性。本設計的鍵盤定義的思想可移植到自動提款機、公共場合的提款裝置等,可以防止用戶輸入密碼時被別人偷看、竊取等,增加用戶提款時的安全性。
    3.實現功能
    1)密碼設置功能:默認情況下,默認密碼為“6666”,鍵盤默認為
    “ 1 2 3
    4 5 6
    7 8 9
    # 0 * ”
    當鍵盤按下時,即為密碼輸入,每輸入一位,七段數碼管顯示“8”并左移一位。如果輸入正確,即顯示“PASS”;如果輸入錯誤,即顯示“ErOr”,輸入錯誤達到三次,鍵盤自動鎖死,無法再次輸入,并且蜂鳴器發出警報。輸入過程中按“*”可以刪除輸入錯誤的數字,同時顯示也右移一位。
    2)鍵盤重新定義功能:當密碼輸入正確后再按下“#”,即進入選擇修改功能,再次輸入“#”即進入鍵盤重新定義功能。依次按下每個按鍵,即從0開始定義,直到9即定義結束(“*”“#”鍵無法被重新定義)。輸入過程中,每輸入一位,蜂鳴器響一聲,直到完全將“0~9”重新定義結束。此時數碼管顯示“PASS”,鍵盤即為重新定義后的鍵盤,再次輸入密碼時必須按照重新定義后的鍵盤輸入。同樣,輸入過程中,按“*”鍵可以刪除上一位輸入的數字。
    3)功能復位:當有人輸入三次錯誤觸發蜂鳴器時,蜂鳴器會一直響,發出警報,直到其主人按下“reset”鍵,全部恢復默認。

    二、硬件設計

    1.硬件設計思路

    基于ATMega16單片機的密碼鎖的設計

    1)鍵盤輸入:采用4×3式矩陣鍵盤輸入,三列從左往右依次對應PB0、PB1、PB2,四行從上往下依次對應PB4、PB5、PB6、PB7。
    2)顯示:顯示采用共陽極七段數碼管顯示,四位數從右往左依次與PD0、PD1、PD2、PD3。七段數碼管的a b c d e f g對應端口PA0,PA1,PA2,PA3,PA4.PA5,PA6。
    3)報警:當密碼輸入錯誤達到三次時,鍵盤被鎖,并且于端口PC0輸出高電平,驅動蜂鳴器持續響。
    2.電路原理圖

    基于ATMega16單片機的密碼鎖的設計

    三、軟件設計

    1.程序設計思想
    1)鍵盤掃描:
    AVR課上學習的鍵盤掃描程序為了消抖,而進行了軟件消抖處理, “delay_ms(10); //延時去抖”。由于對CPU調用了“delay函數”,而使CPU在這10ms內無法進行其他工作,因此而浪費了CPU,降低了CPU效率。鑒于以上缺陷,我們對鍵盤掃描程序做了很大改進,采用定時器中斷與比較中斷相結合的方式,在讀取按鍵是否按下的兩次確認之間的時間里,CPU可以繼續進行其他工作,從而提高了CPU的效率。
    2)七段數碼管的顯示
    針對本實驗的實際情況:密碼通過和重新定義鍵盤通過時,七段數碼管顯示“PASS”,錯誤時顯示“ErOr”,因此為了提高程序運行的效率,采用指針變量輸出的方式,即將“PASS”和“ErOr”的顯示預存在存儲器中,當需要時,指針變量指到相應的存儲器顯示。對每輸入一位左移的顯示則采用動態掃描的方式。
    3)蜂鳴器報警:
    對PC7端口輸出高電平驅動蜂鳴器發出警報。

    蜂鳴器相關文章:蜂鳴器原理


    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 黔西县| 牟定县| 岳普湖县| 天津市| 巴中市| 城步| 武城县| 宣武区| 陆川县| 商水县| 沾益县| 彰武县| 永丰县| 武宣县| 介休市| 陇南市| 玛纳斯县| 中山市| 滕州市| 西青区| 和田市| 北辰区| 乡城县| 昌平区| 象山县| 桂阳县| 手游| 昂仁县| 沈丘县| 新邵县| 缙云县| 新建县| 保定市| 上林县| 祁阳县| 奉新县| 云梦县| 永靖县| 普兰店市| 游戏| 榆中县|