以STC89C52單片機為核心的電子密碼鎖設計

2021-01-04 電子發燒友
以STC89C52單片機為核心的電子密碼鎖設計

工程師黃明星 發表於 2018-08-16 17:38:23

引言

電子密碼鎖是現代生活中常用的加密工具。它克服了機械式密碼鎖密碼量少、安全性能差的缺點,尤其是微控制器的智能電子密碼鎖;不僅具有電子密碼鎖的功能」還可引人智能化管理功能,從而使密碼鎖具有更離的安全性和可靠性。

電子密碼鎖通常使用ARM和單片機控制,單片機相對ARM實現較為簡單,功能較為完善,因此使用單片機控制較多。用單片機控制的窖碼鎖常使用彙編語言編寫程序,顯示器多數用數碼管。而本文所介紹的電子密獁鎖使用移植性及可讀性強的高級語言C語言編寫,便於修改和增減功能蚤同時採用顯示清楚,功率消耗小而且壽命長的1602 液晶顯示器,顯示更加直觀,使用更加方便。從經濟實用的角度出發,採用STC89C52單片機設計出一種具有密碼設置、報警和防止多次試探密碼功能的電子密碼鎖,通過Protues軟體成功地進行了仿真。

1、系統工作原理

本系統以STC89C52單片機為核心,使用4X4矩陣鍵盤作為數據輸人方式,驅動1602顯示器提示程序運行過程和*的步驟。本系統的密碼判斷過程如下:

當使用者輸人6位密碼後按下BESURE鍵,單片機通過密碼逐個比較,如果輸入的6位蜜碼和設定的密碼完全相同,那麼能成功驅動*模擬燈將鎖打開。若輸入6位密碼與設定的密碼不相同,按下BESURE鍵後,模擬燈不亮,可以按BACK鍵重新輸入。由於輸入密碼過程中難免輸入失誤,如果密碼輸錯,可直接攢下BACK鍵重新輸入,但是系統不允許無限次地按BACK 鍵,以免密碼被套用,當3次密碼輸入都錯誤,單片機將驅動蜂鳴器報警。並且本系統輸入密碼還有囈間限制,在規定的時閽內沒有將正確密碼輸入也會報警。

修改密碼功能如下:當密碼輸人正確後,按下SET鍵可新設置密碼。每設定一位新密碼,單片機將其送給EPROM,當6位新密碼都輸入完畢,系統將自動回到程序開始,重新讀取密碼並保存,使用者需輸人新的密碼才能將鎖打開。

2、系統設計 2.1 硬體支持

使用的元器件有:核心晶片STC89C52、存儲晶片AT24C02、液晶顯示1602、矩陣鍵盤、報警蜂鳴器、獨立按鍵(摸擬門的開關)、發光二極體(模擬鎖的開關)和三極體(放大電流)。

2.2 軟體設計

本系統軟體包插主程序模塊、甯碼比較判斷模塊、修改密碼模塊、鍵盤掃描模塊、液晶顯示模塊及定時程序等模塊。系統程序流程如圖1所示。

圖1 系統程序流程圖

2.2.1 主程序模塊

主租序主要用於定義全局變量,給全局變量賦初值,初始化EPROM,啟動定時器以及從AT24C02中讀取密碼, 為整個程序提供數據。

2.2.2 密碼比較判斷模塊

該模塊的功能是將鍵盤輸入的密碼利用IF語句與設定的密碼進行逐個比較,若密碼完全正確則*;若不正確,則按下BACK鍵,重新輸入密碼,每按下BACK鍵一次,輸人次數將自加1,當3}fi都出錯則報警。

2.2.3 密碼修改模塊

在窖碼輸入正確情況下,可以按下SET對密碼進行重新設置,每設定一位就將密碼送給AT24C02存儲起來,當設置6位密碼完畢後,系統將自動跳到程序開始,調用新設置的轔碼。

STC89C52向AT24C02寫入密碼子程序:

void wrtte_byte(uchar date)

STC89C52 從 AT24C02讀取密碼子程序:

2.2.4 鍵盤掃描模塊

該模塊具備功能有:逐列掃描鍵盤確實被按鍵的具體位置、判斷鍵盤上有無鍵按下、消除抖動、判斷閉合的鍵是否釋放等功能。

2.2.5定時模塊

本模塊用於對密碼輸入時間控制。在程序運行時首先對定時器進行了初始化,從按下PUT IN鍵開始,系統開始計時,當輸入的時間達到規定的時間將立即報警。

2.2.6 液晶顯示模塊

此模塊包括液晶初始化、命令的輸入、顯示數據的輸入。其中命令 用於控制液晶狀態是否顯示光標,光標是否閃爍,是否清除原來數據以及顯示的具體位置。數據顯示主要是將要顯示的信息安需要準時顯示出來。

3 系統仿真

為了方便程序高度。本文採用了 Protues 仿真,仿真圖如圖2所示。

3.1系統介紹

圖2中U1為STC89C52是個系統的核心,編寫的程序以二進位的文件導入其中;U2為AT24C02,第5和第6個引腳分別與單片機的P1.2和P1.3相連;LCD1為1602液晶顯示器,引腳連接如圖2所示;獨立按鍵DOOR,當門關上為鍵按下狀態;D1為模擬*燈,當密碼正確,按下BESURE鍵D1將亮;BUZ1為蜂鳴器報警。當程序編寫好並導入到單片機裡後,按下圖2最下面的開始按鈕,1602液晶顯示器將提示密碼鎖的運行狀態,系統開始工作。

3.2*功能

當電源開啟後,1602液晶顯示Welcome歡迎界面,當按下PUT IN鍵後,顯示器顯示PUT IN CODES提示使用輸入密碼,如圖3所示。幾秒後液晶顯示器上提示將自動消失。此進可輸入正確密碼,且密碼輸入時顯示*而不會將輸入的數據顯示出來。當輸入密碼完畢後,按下BESURE鍵,如果輸入的密碼正確D1將亮(D1作為*的模擬開關)。若密碼錯誤,可以按下BACK鍵,程序將跳到loop(開始界面),重新輸入密碼,同時輸入次數將增加一次。當3次都輸入錯誤則自動報警,並且輸入密碼的時間必須在規定時間完成,否則也會報警。

3.3密碼設定

在密碼輸入正確後,按下SET鍵可對密碼進行重新設置,液晶顯示器顯示SET CODS。同樣幾秒後提示將自動消失,此時開始重設密碼。在密碼設定過程中會將設定的數字顯示出來,每輸入一位密碼需按下YES鍵確定,當設置的密碼達到6位將自動回到啟動界面。

4、結論

(1)成功仿真實現了1602液晶顯示,密碼*,密碼設置,防止多次試探,報警等功能。

(2)採用C語言編寫程序,具有很強的移植性,為系統增減和修改帶了方便。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 如何利用51單片機設計一個電子密碼鎖系統?
    工程師黃明星 發表於 2018-07-25 09:22:00 1 單片機電子密碼鎖的背景和設計特點 在高科技迅速發展的今天,人們已經發明了密碼鎖、電子鎖和雷射鎖等多種形式。
  • eda簡易密碼鎖的設計方案匯總(三款eda簡易密碼鎖的設計原理圖詳解)
    例如在飛機製造過程中,從設計、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術。 電子密碼鎖主要實現的功能包括: (1)數碼輸入:按下一個數字鍵,其對應的數字就顯示在最右邊的數碼管上,同時將先前輸入的所有數字向左移動一位。設計密碼為4位,系統只能顯示前4位輸人的數碼。
  • 單片機控制的密碼鎖設計(含電路圖及源程序)
    單片機控制的密碼鎖設計。AT89S52單片機P1引腳外接獨立式按鍵S1-S8,分別代表數字鍵0-5、確定鍵、取消鍵。單片機從P3.0-P3.3輸出4個信號,分別為1個電磁開鎖驅動信號和密碼錯誤指示、報警輸出、已開鎖指示信號,分別用發光二極體L1-L4指示。P3.4接一有源蜂鳴器,用於實現提示音。基本要求:(1)初始密碼為123450,輸完後按確定鍵開鎖,取消鍵清除所有輸入,每次按鍵有短「滴」聲按鍵提示音。(2)密碼輸入正確後,輸出一個電磁鎖開鎖信號與已開鎖信號,並發出兩聲短「滴」聲提示。
  • 基於STC89C52單片機的溫度檢測系統設計
    利用數字溫度傳感器DS18B20採集溫度信號,該信號送入STC89C52單片機處理,後由液晶顯示器LCD12864(ST7920)顯示溫度值,並繪製出溫度變化曲線。實測結果表明,系統可靠性、測試精度及溫度趨勢曲線繪製達到設計要求。
  • 電子類-單片機類畢業設計論文創新選題
    智能電錶系統中IC卡電費預存模塊的設計與實現基於STC89C52的指紋解鎖系統設計基於STC15單片機的射頻門禁系統的設計基於89C51與MK60控制器的智能交通系統基於OpenCV的非接觸式測距系統基於單片機的紅外遙控電子密碼鎖設計基於MATLAB的車牌識別系統設計基於STC89C52的智能無線小車
  • 密碼鎖的設計理念
    隨著人們生活水平的提高,對家庭防盜技術的要求也是越來越高,傳統的機械鎖由於其構造的簡單,被撬的事件屢見不鮮,電子鎖由於其保密性高,使用靈活性好,安全係數高,受到了廣大用戶的歡迎。電子密碼鎖的系統簡介通用的電子密碼鎖主要由三個部分組成:數字密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。(1) 密碼鎖輸入電路包括時序產生電路、鍵盤掃描電路、鍵盤彈跳消除電路、鍵盤解碼電路等幾個小的功能電路。
  • 一種以AVR單片機為核心的工頻電壓/頻率儀設計
    目前市面上工頻電壓表和頻率表種類繁多,本設計與其相比具有電路簡單、體積小、功耗低、性價比高等特點。利用低價位具備AVR高檔單片機性能的ATmega8單片機,設計工頻電壓和頻率兩用測量儀。硬體設計基於ATmega8單片機工頻電壓/頻率儀設計硬體電路如圖1所示。以單片機為核心,加上少量的外部元件構成。
  • 電子密碼鎖+程序+仿真(文末免費下載)
    隨著單片機的問世,出現了帶微處理器的密碼鎖,它除具有電子密碼鎖的功能外,還引入了智能化、科技化等功能。從而使密碼鎖具有很高的安全性、可靠性。目前西方發達國家已經大量應用智能門禁系統,可以通過多種的更加安全更加方便可靠的方法來實現大門的管理。但電子密碼鎖在我國的應用還不廣泛,成本還很高,希望通過不斷地努力使電子密碼鎖能夠在我國及居民日常生活中得到廣泛應用,這也是一個國家生活水平的體現。
  • 《電子發燒友網51單片機設計方案TOP10》
    為了實現小車識別路線,判斷並自動躲避障礙,選擇正確的行進路線,障礙判斷採用單光束反射取樣紅外傳感器,驅動電機採用直流電機,控制核心採用MCS-51單片機。控制上採用分時復用技術,僅用一塊單片機實現了信號採集、線路判斷、電機控制等功能。迷宮由16×16個區組成。起點設在拐角處,終點設在中央,佔4個區。
  • 基於51單片機定時器的電子時鐘設計方案
    單片機定時器在目前的產品研發和設計過程中,其主要作用是進行精準的時間定值,因此在對時間控制要求較高的數控領域中,單片機定時器的身影隨處可見。
  • 基於51單片機的電子時鐘課程設計
    第一章 設計目的及要求1.目的通過對電子時鐘系統進行編程與Protues仿真,進一步掌握單片機的組成,P1、P0、P2、P3口的應用,蜂鳴器的應用,定時中斷程序的編寫及應用,對之前學習的單片機課程進行回顧與應用;初步掌握Protues仿真方法以及用keil軟體編寫程序的方法。
  • 以HT46RU232單片機為核心的智能家居電話遠程控制系統設計
    以HT46RU232單片機為核心的智能家居電話遠程控制系統設計 工程師黃明星 發表於 2018-08-07 16:00:42 利用現有的個人通信終端,實現基於陸基移動通信網(PLMN)和公用電話交換網(PSTN
  • 基於Atmegal單片機設計的智能公交電子站牌系統,包括原理圖、流程圖
    如何快速、準確、及時的將公交車的行駛信息傳遞給乘客,避免乘客的長時間等待;如何自動記錄上下車乘客人數,減少售票員繁重的工作量並為下一站乘客提供客流信息;如何讓城市的公交部門可以更加靈活的調動公交車輛,優化公交系統的線路,合理設計公交線路所需公交班次是公交車服務質量提升的一個重要方面。
  • 單片機應用系統的可靠性設計
    單片機應用系統的設計包括功能性設計、可靠性設計和產品化設計。其中,功能性是基礎,可靠性是保障,產品化是前途。因此,從事單片機應用系統開發工作的設計人員必須掌握可靠性設計。 一、可靠性與可靠性設計 1.現代電子系統的可靠性 現代電子系統具有如下特點:嵌入式的計算機系統.智能化的體系結構;以計算機為核心的柔性硬體基礎,由軟體實現系統的功能;硬體系統有微電子技術的有力支持。
  • 鑫銳系列電子密碼鎖和指紋密碼鎖操作視頻
    虎牌鑫銳系列產品25cm-40cm高產品的操作視頻      該系列產品分電子密碼款和指紋密碼款,有土豪金、咖啡金和黑色三種顏色
  • 基於單片機的GPS/電子羅盤測姿定位系統
    摘要:設計了一種基於GPS/電子羅盤的測姿定位系統。該系統利用單片機C8051F021作為中央處理器,功耗極低的iTrax03-02作為GPS接收機,數字電子羅盤HMR3300提供姿態信息,通過串口通信實現了實時測姿定位功能。
  • 學習單片機1-單片機-電子工程世界網
    INTEL公司將MCS51的核心技術授權給了很多其它公司,所以有很多公司在做以8051為核心的單片機,當然,功能或多或少有些改變,以滿足不同的需求,其中89C51就是這幾年在我國非常流行的單片機,它是由美國ATMEL公司開發生產的。以後我們將用89C51來完成一系列的實驗。
  • 保密文件櫃電子密碼鎖忘記,如何應急處理?
    隨著電子科技的發展,電子鎖普遍用於保密文件櫃的保密系統設計上。現在常見的保密文件櫃主要是電子密碼鎖和指紋密碼鎖這兩種。
  • 一款基於51單片機的簡易示波器設計
    非常昂貴,對於非盈利事業的教學組織來說無疑不合適,所以提出了一種以單片機為控制核心的簡易示波器設計方案。其工作的基本思路就是以單片機為控制核心,讓AD晶片完成數據的離散化,採集數據經過緩衝暫存於存儲器裡面,當波形顯示時,單片機從存儲器的讀使能端讀取採集數據存於數組中,然後進行相應的數據處理並把所存取得數據按一定的順序打在液晶顯示器相應的位置上,從而再現波形信號;其中輸入調理電路由阻抗變換電路,信號抬升電路以及頻率測量電路構成,阻抗變換電路是為了提高輸入阻抗,信號抬升是為了使信號的幅度滿足AD晶片的輸入幅度要求
  • 基於51單片機的電子廣告牌電路設計
    在此主要介紹以AT89S51為控制晶片,用8×8的點陣屏4塊來級聯實現16×16的點陣屏,從而用於廣告牌顯示等。1 系統設計方案 鑑於所設計的點陣屏為16×16單色顯示,可以用8×8的點陣屏4塊來級聯實現,此時點陣屏的行列各為16管腳,需要擴展口,採用74LS164串行輸入並行輸出來實現。