www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]摘要:介紹一種通過Protues軟件成功仿真的電子密碼鎖的實(shí)現(xiàn)過程。它采用高可靠性的STC89C52單片機(jī)來實(shí)現(xiàn)開鎖和密碼的識(shí)別,采用具備I2C總線接口的E2PROM芯片來完成密碼的存儲(chǔ),通過1602液晶顯示器提示程序運(yùn)行狀態(tài)和

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

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

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

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


2.2.1 主程序模塊
    主程序主要用于定義全局變量,給全局變量賦初值,初始化E2PROM,啟動(dòng)定時(shí)器以及從AT24C02中讀取密碼,為整個(gè)程序提供數(shù)據(jù)。
2.2.2 密碼比較判斷模塊
    該模塊的功能是將鍵盤輸入的密碼利用if語句與設(shè)定的密碼進(jìn)行逐個(gè)比較,若密碼完全正確則開鎖;若不正確,則按下BACK鍵,重新輸入密碼,每按下BACK鍵一次,輸入次數(shù)將自加1,當(dāng)3次都出錯(cuò)則報(bào)警。
2.2.3 密碼修改模塊
    在密碼輸入正確情況下,可以按下SET對(duì)密碼進(jìn)行重新設(shè)置,每設(shè)定一位就將密碼送給AT24C02存儲(chǔ)起來,當(dāng)設(shè)置6位密碼完畢后,系統(tǒng)將自動(dòng)跳到程序開始,調(diào)用新設(shè)置的密碼。
    STC89C52向AT24C02寫入密碼子程序:
  
  


2.2.4 鍵盤掃描模塊
    該模塊具備功能有:逐列掃描鍵盤確定被按鍵的具體位置、判斷鍵盤上有無鍵按下、消除去抖動(dòng)、判斷閉合的鍵是否釋放等功能。
2.2.5 定時(shí)模塊
    本模塊用于對(duì)密碼輸入時(shí)間控制。在程序開始運(yùn)行時(shí)首先對(duì)定時(shí)器進(jìn)行了初始化,從按下PUT IN鍵開始,系統(tǒng)開始計(jì)時(shí),當(dāng)輸入的時(shí)間達(dá)到規(guī)定的時(shí)間將立即報(bào)警。
2.2.6 液晶顯示模塊
    此模塊包括液晶初始化、命令的輸入、顯示數(shù)據(jù)的輸入。其中命令是用于控制液晶狀態(tài)是否顯示光標(biāo),光標(biāo)是否閃爍,是否清除原來數(shù)據(jù)以及顯示的具體位置。數(shù)據(jù)顯示主要是將要顯示的信息按需要準(zhǔn)時(shí)顯示出來。

3 系統(tǒng)仿真
    為了方便程序調(diào)試,本文采用了Proteus仿真,仿真圖如圖2所示。


3.1 系統(tǒng)介紹
    圖2中U1為STC89C52是整個(gè)系統(tǒng)的核心,編寫的程序以二進(jìn)制的文件導(dǎo)入其中;U2為AT24C02,第5和第6個(gè)引腳分別與單片機(jī)的P1.2和 P1.3相連;LCD1為1602液晶顯示器,引腳連接如圖2所示;獨(dú)立按鍵DOOR,當(dāng)門關(guān)上為鍵按下狀態(tài);D1為模擬開鎖燈,當(dāng)密碼正確,按下BE- SURE鍵D1將亮;BUZ1為蜂鳴器報(bào)警。當(dāng)程序編寫好并導(dǎo)入到單片機(jī)里后,按下圖2最下面的開始按鈕,1602液晶顯示器將提示密碼鎖的運(yùn)行狀態(tài),系統(tǒng)開始工作。
3.2 開鎖功能
    當(dāng)電源開啟時(shí),1602液晶顯示W(wǎng)elcome歡迎界面,當(dāng)按下PUT IN鍵后,顯示器顯示PUT IN CODES提示使用者輸入密碼,如圖3所示。幾秒后液晶顯示器上提示將自動(dòng)消失。此時(shí)可輸入正確密碼,且密碼輸入時(shí)顯示*而不會(huì)將輸入的數(shù)據(jù)顯示出來。當(dāng)輸入密碼完畢后,按下BESURE鍵,如果輸入的密碼正確D1將亮(D1作為開鎖的模擬開關(guān))。若密碼錯(cuò)誤,可以按下BACK鍵,程序?qū)⑻絣oop(開始界面),重新輸入密碼,同時(shí)輸入次數(shù)將增加一次。當(dāng)3次都輸入錯(cuò)誤則自動(dòng)報(bào)警,并且輸入密碼的時(shí)間必須在規(guī)定的時(shí)間完成,否則也會(huì)報(bào)警。


3.3 密碼設(shè)定
    在密碼輸入正確后,按下SET鍵可對(duì)密碼進(jìn)行重新設(shè)置,液晶顯示器顯示SET CODS。同樣幾秒后提示信息將自動(dòng)消失,此時(shí)開始重設(shè)密碼。在密碼設(shè)定過程中會(huì)將設(shè)定的數(shù)字顯示出來,每輸入一位密碼需按下YES鍵確定,當(dāng)設(shè)置的密碼達(dá)到6位將自動(dòng)回到啟動(dòng)界面。

4 結(jié)論
    (1)成功仿真實(shí)現(xiàn)了1602液晶顯示,密碼開鎖,密碼設(shè)置,防止多次試探,報(bào)警等功能。
    (2)采用C語言編寫程序,具有很強(qiáng)的移植性,為系統(tǒng)增減和修改功能帶來了方便。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

摘要:為解決傳統(tǒng)自動(dòng)化生產(chǎn)線生產(chǎn)效率低、自動(dòng)化程度低、生產(chǎn)線復(fù)雜等問題,設(shè)計(jì)了一種自動(dòng)化程度高且簡(jiǎn)單的自動(dòng)化機(jī)械手臂,并根據(jù)設(shè)計(jì)進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)在自動(dòng)化生產(chǎn)實(shí)踐中取得了較好的效果,提高了生產(chǎn)效率,達(dá)到了...

關(guān)鍵字: 機(jī)械手臂 設(shè)計(jì) 仿真

摘要:基于數(shù)字孿生技術(shù),依托Unity引擎開發(fā)虛擬調(diào)試應(yīng)用。通過機(jī)器人工作站實(shí)例進(jìn)行虛擬調(diào)試仿真,基于socket通信,通過三菱PLC對(duì)虛擬機(jī)器人工作站進(jìn)行虛擬調(diào)試,檢測(cè)工作站結(jié)構(gòu)設(shè)計(jì)的合理性、信號(hào)配置和邏輯設(shè)計(jì)的正確性...

關(guān)鍵字: 數(shù)字孿生 虛擬調(diào)試 仿真

最近看到APP上,給我推送了很多類似的回答,借此機(jī)會(huì),也想著重新審視一下自己的學(xué)習(xí)歷程,以及結(jié)合自身和大牛,分享一些學(xué)習(xí)經(jīng)驗(yàn),希望對(duì)大家有所啟發(fā)和幫助。

關(guān)鍵字: APP 嵌入式 C語言

麥格納(MAGNA)正在進(jìn)行一項(xiàng)1.2億美元的投資,在印度班加羅爾建立和運(yùn)營(yíng)一座全新工程中心,旨在為出行電動(dòng)化提供支持。該設(shè)施占地約2.2萬平方米,預(yù)計(jì)將于2023年第一季度開業(yè),屆時(shí)該中心將聘請(qǐng)眾多經(jīng)驗(yàn)豐富的工程師和技...

關(guān)鍵字: 工程師 仿真 電動(dòng)汽車 軟件

SQLite是一個(gè)跨平臺(tái)的輕量級(jí)數(shù)據(jù)庫,支持C/C++開發(fā),可用于嵌入式中,關(guān)于C/C++使用SQLite的簡(jiǎn)單實(shí)例,可參考這篇:“玩轉(zhuǎn)SQLite6:使用C語言來讀寫數(shù)據(jù)庫”,本篇來繼續(xù)介紹SQLite的基礎(chǔ)運(yùn)算符與表...

關(guān)鍵字: SQLite C語言 數(shù)據(jù)庫

濟(jì)南2022年9月27日 /美通社/ -- 8月30日,無錫城市職業(yè)技術(shù)學(xué)院和無錫市信息化協(xié)會(huì)十余家會(huì)員單位聯(lián)合召開了"訪企拓崗 校企合作"主題交流會(huì),旨在進(jìn)一步貫徹落實(shí)教育部"訪企拓崗促就...

關(guān)鍵字: 大賽 機(jī)電 物聯(lián)網(wǎng) 大數(shù)據(jù)技術(shù)

客戶可以針對(duì)圖形和仿真基礎(chǔ)部署Supermicro服務(wù)器,以大規(guī)模建構(gòu)及運(yùn)行元宇宙應(yīng)用——系統(tǒng)將支持多達(dá)8個(gè)NVIDIA L40 GPU、ConnectX-7 SmartNI...

關(guān)鍵字: NVIDIA MICRO SUPER 仿真

在計(jì)算機(jī)科學(xué)中,內(nèi)存泄漏指由于疏忽或錯(cuò)誤造成程序未能釋放已經(jīng)不再使用的內(nèi)存。

關(guān)鍵字: C語言 內(nèi)存泄漏

C語言使用函數(shù)調(diào)用,我們?cè)偈煜げ贿^了,但是函數(shù)調(diào)用在內(nèi)存中究竟發(fā)生了什么真的清楚嗎?只有搞清楚內(nèi)存里的內(nèi)幕,才算完全搞懂函數(shù)的調(diào)用。

關(guān)鍵字: C語言 函數(shù)調(diào)用

摘 要:單螺桿空氣壓縮機(jī)的轉(zhuǎn)子嚙合副對(duì)間隙控制的精度要求很高 ,星輪軸系是嚙合副的核心元件 ,作用在星輪軸系上的各力 會(huì)引起軸系變形 ,變形集中于星輪齒嚙入螺槽部分及星輪軸軸承安裝處 ,運(yùn)用ANSYS/workben...

關(guān)鍵字: ANSYS 應(yīng)變 仿真

單片機(jī)

21600 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉