新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于C語言STC89C52單片機電子密碼鎖的設計與仿真

        基于C語言STC89C52單片機電子密碼鎖的設計與仿真

        作者: 時間:2010-12-10 來源:網絡 收藏

        摘要:介紹一種通過Protues軟件成功的電子密碼鎖的實現過程。它采用高可靠性的STC89C52來實現開鎖和密碼的識別,采用具備I2C總線接口的E2PROM芯片來完成密碼的存儲,通過1602液晶顯示器提示程序運行狀態和使用步驟,利用蜂鳴器模擬報警,發光二極管模擬鎖的開關。該系統用C語言編寫程序,與匯編語言相比具備更好的移植性和可讀性,便于修改和增減功能。
        關鍵詞:Protues;密碼鎖;;C語言

        O 引言
        電子密碼鎖是現代生活中常用的加密工具。它克服了機械式密碼鎖密碼量少、安全性能差的缺點,尤其是微控制器的智能電子密碼鎖,不僅具有電子密碼鎖的功能,還可引入智能化管理功能,從而使密碼鎖具有更高的安全性和可靠性。
        電子密碼鎖通常使用ARM和控制,單片機相對ARM實現較為簡單,功能較為完善,因此使用單片機控制較多。用單片機控制的密碼鎖常使用匯編語言編寫程序,顯示器多數用數碼管。而本文所介紹的電子密碼鎖使用移植性及可讀性強的高級語言C語言編寫,便于修改和增減功能;同時采用顯示清楚,功率消耗小而且壽命長的1602液晶顯示器,顯示更加直觀,使用更加方便。從經濟實用的角度出發,采用STC8 9C52單片機設計出一種具有密碼設置、報警和防止多次試探密碼功能的電子密碼鎖,通過Protues軟件成功地進行了

        1 系統工作原理
        本系統以STC89C52單片機為核心,使用4×4矩陣鍵盤作為數據輸入方式,驅動1602顯示器提示程序運行過程和開鎖的步驟。本系統的密碼判斷過程如下:
        當使用者輸入6位密碼后按下BESURE鍵,單片機通過密碼逐個比較,如果輸入的6位密碼和設定的密碼完全相同,那么能成功驅動開鎖模擬燈將鎖打開。若輸入6位密碼與設定的密碼不相同,按下BESURE鍵后,模擬燈不亮,可以按BACK鍵重新輸入。由于輸入密碼過程中難免輸入失誤,如果密碼輸錯,可直接按下BACK鍵重新輸入,但是系統不允許無限次地按BACK鍵,以免密碼被套用,當3次密碼輸入都錯誤,單片機將驅動蜂鳴器報警。并且本系統輸入密碼還有時間限制,若在規定的時間內沒有將正確密碼輸入也會報警。
        修改密碼功能如下:當密碼輸入正確后,按下SET鍵可新設置密碼。每設定一位新密碼,單片機將其送給E2PROM,當6位新密碼都輸入完畢,系統將自動回到程序開始,重新讀取密碼并保存,使用者需輸入新的密碼才能將鎖打開。

        2 系統設計
        2.1 硬件支持
        使用的元器件有:核心芯片STC89C52、存儲芯片AT24C02、液晶顯示1602、矩陣鍵盤、報警蜂鳴器、獨立按鍵(模擬門的開關)、發光二極管(模擬鎖的開關)和三極管(放大電流)。
        2.2 軟件設計
        本系統軟件包括主程序模塊、密碼比較判斷模塊、修改密碼模塊、鍵盤掃描模塊、液晶顯示模塊及定時程序等模塊。系統程序流程如圖1所示。
        a.JPG

        手機電池相關文章:手機電池修復


        c語言相關文章:c語言教程


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

        上一頁 1 2 3 下一頁

        關鍵詞: 單片機 仿真

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 皋兰县| 赤城县| 波密县| 夏河县| 沛县| 清水县| 北宁市| 常宁市| 延安市| 新绛县| 沂源县| 杭州市| 上饶县| 卢湾区| 遂昌县| 安泽县| 综艺| 榆中县| 沿河| 正定县| 景泰县| 康乐县| 晋州市| 凭祥市| 习水县| 砀山县| 麟游县| 遂川县| 循化| 西和县| 寻乌县| 台湾省| 蚌埠市| 威宁| 长乐市| 梁山县| 武定县| 黄陵县| 贡觉县| 丹寨县| 墨竹工卡县|