基于51單片機(jī)的數(shù)字密碼鎖設(shè)計(jì)與制作_第1頁(yè)
基于51單片機(jī)的數(shù)字密碼鎖設(shè)計(jì)與制作_第2頁(yè)
基于51單片機(jī)的數(shù)字密碼鎖設(shè)計(jì)與制作_第3頁(yè)
基于51單片機(jī)的數(shù)字密碼鎖設(shè)計(jì)與制作_第4頁(yè)
基于51單片機(jī)的數(shù)字密碼鎖設(shè)計(jì)與制作_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

目錄

1產(chǎn)品功能分析......................................................1

2設(shè)計(jì)方案遴選......................................................1

2.1單片機(jī)的選擇................................................1

2.2人機(jī)交互輸入器件的選擇......................................1

2.3數(shù)字儲(chǔ)存芯片的選擇..........................................1

2.4顯示器件的選擇..............................................2

2.5系統(tǒng)框圖設(shè)計(jì)................................................2

3產(chǎn)品硬件設(shè)計(jì)......................................................3

3.1STC89C51單片機(jī)核心電路設(shè)計(jì).................................3

3.2STC89C51單片機(jī)最小系統(tǒng).....................................5

3.3按鍵電路設(shè)計(jì)................................................5

3.4蜂鳴器電路設(shè)計(jì)..............................................6

3.5繼電器驅(qū)動(dòng)電路設(shè)計(jì)..........................................7

3.6LCD1602液晶顯示模塊電路....................................8

4產(chǎn)品軟件設(shè)計(jì).....................................................10

4.1主程序流程圖...............................................10

4.2LCD1602液晶顯示程序設(shè)計(jì)...................................11

4.3產(chǎn)品程序清單...............................................11

5產(chǎn)品使用說(shuō)明.....................................................12

5.1產(chǎn)品裝配圖.................................................12

5.2產(chǎn)品調(diào)試...................................................13

5.3產(chǎn)品使用說(shuō)明...............................................13

6產(chǎn)品設(shè)計(jì)技術(shù)標(biāo)準(zhǔn).................................................14

參考資料...........................................................15

附錄...............................................................16

附錄1元器件清單...............................................16

附錄2電路原理圖..............................................17

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄3PCB設(shè)計(jì)圖...............................................18

附錄4產(chǎn)品實(shí)物圖..............................................19

附錄5主程序代碼..............................................21

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

基于51單片機(jī)數(shù)字密碼鎖設(shè)計(jì)與制作

1產(chǎn)品功能分析

該密碼鎖利用51單片機(jī)的高性能和低成本,結(jié)合矩陣鍵盤、液晶顯示器、

繼電器等外圍電路,實(shí)現(xiàn)了密碼輸入、顯示、驗(yàn)證、開關(guān)門鎖和報(bào)警等功能。

2設(shè)計(jì)方案遴選

通過(guò)老師的指導(dǎo)和自己探究電路設(shè)計(jì)中硬件模塊的選擇問(wèn)題,分析了不同模

塊的特點(diǎn)和優(yōu)缺點(diǎn),提出了一些選擇原則和建議。我認(rèn)為,合適的硬件模塊是電

路設(shè)計(jì)的前提,它決定了電路的性能、穩(wěn)定性和可靠性。因此,電路設(shè)計(jì)者應(yīng)該

根據(jù)自己的需求和條件,綜合考慮各種因素,選擇最適合的硬件模塊,以實(shí)現(xiàn)高

效、高質(zhì)量的電路設(shè)計(jì)。

2.1單片機(jī)的選擇

為了實(shí)現(xiàn)本次的設(shè)計(jì)目標(biāo),我選擇了STC89C51單片機(jī)作為主控芯片。

STC89C51單片機(jī)是一款基于MCS-51內(nèi)核的八位CMOS微處理器,它不僅保留了

MCS-51的指令集和寄存器結(jié)構(gòu),還增加了一些新的功能和特性。首先,它具有8k

在線編程Flash存儲(chǔ)器,可以方便地對(duì)程序進(jìn)行修改和更新,無(wú)需拆卸芯片。其

次,它還具有4k的EEPROM存儲(chǔ)器,可以實(shí)現(xiàn)掉電數(shù)據(jù)保護(hù),無(wú)需外接存儲(chǔ)器。

再次,它的工作電壓范圍為2.7V~5.5V,功耗低,適合用于便攜式設(shè)備。最后,

它的價(jià)格低廉,性價(jià)比高,易于采購(gòu)和使用。綜上所述,STC89C51單片機(jī)是一

款適合本次設(shè)計(jì)需求的主控芯片。

2.2人機(jī)交互輸入器件的選擇

采用矩陣鍵盤作為輸入設(shè)備。矩陣鍵盤通過(guò)將按鍵的兩端分別接到行線和列

線上,然后將每一條行線和列線連接到單片機(jī)上,通過(guò)程序算法進(jìn)行讀取按下的

是哪一個(gè)按鍵。這樣做雖然增加了程序算法的難度,但是節(jié)約了單片機(jī)I/O口的

使用。

2.3數(shù)字儲(chǔ)存芯片的選擇

在本次設(shè)計(jì)中,我選擇了一種基于AT24C02的數(shù)據(jù)存儲(chǔ)方案,該方案能夠有

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

效地解決單片機(jī)內(nèi)部EEPROM的局限性。AT24C02是一種2K位的串行電可擦可編

程只讀存儲(chǔ)器,它具有以下幾個(gè)優(yōu)點(diǎn):首先,它的功耗很低,只需要0.1mA的工

作電流和1uA的待機(jī)電流,這對(duì)于節(jié)省電池壽命和降低成本非常有利;其次,它

的接口簡(jiǎn)單,只需要兩根信號(hào)線就可以與單片機(jī)通信,無(wú)需額外的硬件支持;第

三,它具有寫保護(hù)功能,可以通過(guò)引腳控制是否允許寫入數(shù)據(jù),防止意外或惡意

修改;最后,它具有頁(yè)寫緩沖器功能,可以一次性寫入8個(gè)字節(jié)的數(shù)據(jù),提高了

寫入速度和效率。綜上所述,AT24C02是一種適合于數(shù)據(jù)存儲(chǔ)的芯片,它可以滿

足不同應(yīng)用場(chǎng)景的需求,是一種值得推薦的方案。

2.4顯示器件的選擇

液晶顯示屏是一種常見的顯示設(shè)備,LCD1602液晶顯示屏是一種字符型液晶,

它可以顯示32個(gè)字符,包括數(shù)字、字母、符號(hào)和自定義字符。每個(gè)字符由5*7

的點(diǎn)陣組成,用戶可以通過(guò)編程控制每個(gè)點(diǎn)的亮滅。LCD1602液晶顯示屏是一種

功能強(qiáng)大、使用方便、成本低廉的顯示設(shè)備,適用于各種場(chǎng)合。

2.5系統(tǒng)框圖設(shè)計(jì)

圖2.1系統(tǒng)框圖

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

3產(chǎn)品硬件設(shè)計(jì)

此次設(shè)計(jì)采用STC89C51單片機(jī)組成的系統(tǒng),LCD1602顯示屏,AT24C02進(jìn)

行存儲(chǔ),矩陣鍵盤組成。

按鍵介紹:有0到9的數(shù)字鍵,退出輸入鍵,重置密碼鍵,重新輸入按鍵,

確定鍵,退格鍵,輸入密碼鍵

(1)系統(tǒng)可設(shè)置4到8位的由0~9數(shù)字組成的密碼,密碼通過(guò)鍵盤輸入,若

密碼正確,則繼電器斷開(鎖打開)。若密碼錯(cuò)誤,密碼錯(cuò)誤次數(shù)加1,蜂鳴器LED

燈對(duì)應(yīng)聲光幾次,超過(guò)三次怎鎖定輸密碼,第一次鎖定在30s后解除鎖定便可

再次輸入密碼解鎖,第二次鎖定在60s后解除鎖定便可在次輸入密碼解鎖,以

此類推。

(2)密碼可通過(guò)按鍵重新設(shè)置,在設(shè)置前必須輸入舊密碼然后連續(xù)輸入兩次

新密碼,若輸入舊密碼時(shí)輸錯(cuò)便直接退出修改密碼,并且輸錯(cuò)密碼次數(shù)加1。

(3)密碼具有掉電保護(hù)功能,鎖定后在此解除鎖定的時(shí)間也具有掉電保護(hù)的

功能。這樣就可以防止外人或小偷輸錯(cuò)密碼后拔掉電源后再次插上電重新輸入

密碼。

(4)在密碼輸入或重置時(shí)可退格、重輸、退出輸入等等操作。

3.1STC89C51單片機(jī)核心電路設(shè)計(jì)

STC89C51是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K

在系統(tǒng)可編程Flash存儲(chǔ)器。

選擇STC89C51芯片的主要原因:

8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,內(nèi)置4KBEEPROM,

MAX810復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中

斷結(jié)構(gòu)。

開發(fā)簡(jiǎn)單,可在線編程,下載成本低。

STC89C51單片機(jī)原理圖如下圖所示(圖3.1)

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3.1STC89C51單片機(jī)原理圖

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

3.2STC89C51單片機(jī)最小系統(tǒng)

由復(fù)位電路,晶振電路,STC89C51單片機(jī)組成的系統(tǒng)。

圖3.2STC89C51單片機(jī)最小系統(tǒng)

3.3按鍵電路設(shè)計(jì)

在單片機(jī)的應(yīng)用中,按鍵是一種常見的輸入設(shè)備,它可以讓用戶與系統(tǒng)進(jìn)

行交互。然而,當(dāng)操作中需要使用到比較多的按鍵的時(shí)候,如果直接將每個(gè)按

鍵連接到單片機(jī)的I/O口,會(huì)占用大量的硬件資源,降低系統(tǒng)的效率和可擴(kuò)展

性。為了解決這個(gè)問(wèn)題,一種常用的方法是將按鍵排列成矩陣形式,這就是矩

陣鍵盤。矩陣鍵盤的原理是利用按鍵在水平線和垂直線的交叉處形成一個(gè)開關(guān),

通過(guò)掃描行或列來(lái)判斷哪個(gè)按鍵被按下。這樣,一個(gè)端口就可以構(gòu)成4*4=16個(gè)

按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,

比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9

鍵)。由于這次設(shè)計(jì)用到的按鍵比較多,所以我采用矩陣鍵盤。

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

矩陣鍵盤原理圖如圖3.3所示。

圖3.3矩陣鍵盤原理圖

3.4蜂鳴器電路設(shè)計(jì)

本次設(shè)計(jì)使用一種基于單片機(jī)的蜂鳴器控制電路,實(shí)現(xiàn)了對(duì)蜂鳴器的開關(guān)

控制。該電路采用了5V電磁式有源蜂鳴器,由于其工作電流較大,不能直接由

單片機(jī)的I/O口驅(qū)動(dòng),因此需要借助三極管開關(guān)電路。本次設(shè)計(jì)選用了8550三

極管,它是一種PNP型的三極管,可以根據(jù)單片機(jī)I/O口的低電平和高電平來(lái)

分別導(dǎo)通和截止,從而使蜂鳴器發(fā)出或停止聲音。蜂鳴器電路原理圖如下3.4

所示。

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3.4蜂鳴器電路原理圖

3.5繼電器驅(qū)動(dòng)電路設(shè)計(jì)

為了實(shí)現(xiàn)了對(duì)繼電器的開關(guān)控制。該電路利用了三極管的電流放大作用,

解決了單片機(jī)輸出電流不足的問(wèn)題。

三極管的選擇需要符合:

(1)功率PCM:大于5V*繼電器電流的兩倍;

(2)最大集電極電流:大于繼電器吸合電流40mA的兩倍以上;

(3)耐壓BV:大于繼電器工作電壓5V;

(4)直流放大倍數(shù):取100。

單片機(jī)IO口的電平信號(hào)可以控制三極管的狀態(tài),從而控制繼電器的開關(guān)。

當(dāng)IO口輸出高電平時(shí),三極管截止,繼電器斷開;當(dāng)IO口輸出低電平時(shí),

三極管導(dǎo)通,繼電器吸合。

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3.5繼電器驅(qū)動(dòng)電路原理圖

3.6LCD1602液晶顯示模塊電路

圖3.6LCD1602電路原理圖

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

該電路使用了電位器,可以自己調(diào)節(jié)亮度方便使用。

圖3.7LCD1602實(shí)物圖

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

4產(chǎn)品軟件設(shè)計(jì)

本設(shè)計(jì)采用KeilμVision4進(jìn)行編程實(shí)現(xiàn)。

4.1主程序流程圖

圖4.1主程序流程圖

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

4.2LCD1602液晶顯示程序設(shè)計(jì)

圖4.2液晶顯示流程圖

4.3產(chǎn)品程序清單

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖4.3產(chǎn)品程序清單

5產(chǎn)品使用說(shuō)明

5.1產(chǎn)品裝配圖

產(chǎn)品裝配圖如圖5.1所示

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖5.1產(chǎn)品裝配圖

5.2產(chǎn)品調(diào)試

檢查電路是否有各種問(wèn)題,如漏焊、短路、斷路、虛焊、元件方向錯(cuò)誤等,

可以用對(duì)照PCB圖和用數(shù)字萬(wàn)用表來(lái)檢測(cè)和修復(fù)。

5.3產(chǎn)品使用說(shuō)明

使用說(shuō)明:

1.把電源全部接好,打開開關(guān)??勺杂稍O(shè)計(jì)密碼4到八位由數(shù)字組成,密

碼可修改,只需要輸入正確舊密碼,在輸入兩次新設(shè)好的密碼。

2.輸入錯(cuò)誤密碼三次會(huì)鎖定30秒,第二次60秒,最多四分鐘,鎖定后蜂

鳴器會(huì)響,紅燈會(huì)亮。

3.密碼正確,電磁鎖打開,過(guò)二十秒就會(huì)關(guān)閉

按鍵介紹:0到9為數(shù)字鍵,A為退出輸入鍵,B為重置密碼鍵,C為重新

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

輸入鍵按下清除已輸入的密碼,D為確定鍵,E為退格鍵,F(xiàn)為輸入密碼鍵

6產(chǎn)品設(shè)計(jì)技術(shù)標(biāo)準(zhǔn)

[1]J-STD-001E電氣與電子組件的焊接要求

[2]IPC-A-610D(中文版),IPC-A-610E電子組件的可接受性要求

[3]IPC-7711/21電子組件和電路板的返工&返修

[4]GB/T11457-2006信息技術(shù)軟件工程術(shù)語(yǔ)

[5]GB/T8566-2007信息技術(shù)軟件生存周期過(guò)程標(biāo)準(zhǔn)

[6]GB/T8567-2006計(jì)算機(jī)軟件文檔編制規(guī)范

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

參考資料

[1]姜秀玲.單片機(jī)在電子技術(shù)中的應(yīng)用和開發(fā)技術(shù)研究[J].科學(xué)技術(shù)創(chuàng)新,2018(15):2.

[2]孫萬(wàn)麟.基于Proteus的多功能電子密碼鎖控制系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[J].機(jī)械制造與自動(dòng)化,2021,

50(4):3.

[3]程志遠(yuǎn).基于單片機(jī)的電子密碼鎖設(shè)計(jì)[J].科技視界,2021(15):3.

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄

附錄1元器件清單

附表1.1元器件清單

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄2電路原理圖

附圖2.1產(chǎn)品原理圖

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄3PCB設(shè)計(jì)圖

附圖3.1產(chǎn)品PCB設(shè)計(jì)圖

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄4產(chǎn)品實(shí)物圖

附圖4.1產(chǎn)品實(shí)物圖正面

19

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附圖4.2產(chǎn)品實(shí)物圖反面

20

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

附錄5主程序代碼

#include<reg51.h>//頭文件

#include<LCD1602.h>

#include<AT24C02.h>

#include<KEY.h>

#include<INTERRUPT.h>

#defineucharunsignedchar//宏定義

#defineuintunsignedint

#defineulongunsignedlong

/**********************變量定義************************/

uchara;//存儲(chǔ)按鍵值

ucharnum;//記錄輸入的密碼位數(shù)

ucharnums;//記錄重設(shè)密碼時(shí)輸入的新密碼位數(shù)(4~8位)

bitin_f;//輸入密碼的標(biāo)志

bitreset_f;//重設(shè)密碼的標(biāo)志

ucharerror_num;//密碼錯(cuò)誤的次數(shù)

ucharreset_num;//修改密碼輸入次數(shù)

uchartime;//記錄密碼被鎖的時(shí)間(S)

uchartime_num;//記錄密碼被鎖的次數(shù)(最大值:8)

ulonglow_mima;//解鎖密碼

ucharmima_length;//存儲(chǔ)密碼長(zhǎng)度

ulongin_mima;//暫存輸入的密碼

ulongnew_mima;//暫存輸入新密碼

ucharcodeerror[]="PasswordError!";//密碼錯(cuò)誤

ucharcodesucces[]="Unlocksuccess!";//解鎖成功

ucharcodemimasuo[]="Passwordtolock";//密碼以鎖

ucharcodereset[]="Resetthesucces";//重設(shè)密碼成功

ucharcodeinmima[]="Enterpassword:";//請(qǐng)輸入密碼

ucharcodenewmima[]="Newpassword:";//新密碼

ucharcodenewmima2[]="ConfirmPassword";//重新在輸一遍

ucharcodeoldmima[]="Theoldpassword";//舊密碼

ucharcodeshibai[]="Setupfailed!!!";//重設(shè)密碼失敗

ucharcodekaishi[]="Welcometouse";//歡迎使用

ucharcodekaishi2[]="codedlock";//密碼鎖

ucharcodedaojishi[]="Removecountdown";//解除密碼鎖倒計(jì)時(shí)

/****10的N次方

****0*1**2***3****4*****5******6*******7*********8*******/

21

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

ulongcodePOW[]={1,10,100,1000,10000,100000,1000000,10000000,100000000};

/********************************************************

函數(shù)名稱:voiddidi(uchari)

函數(shù)作用:LED、蜂鳴器鳴叫

參數(shù)說(shuō)明:i為報(bào)警次數(shù)

********************************************************/

voiddidi(uchari)

{

ucharj;

for(j=0;j<i;j++)//循環(huán)i次,LED、蜂鳴器鳴叫幾次

{

buzz=1;

led=0;

delay_n40us(10000);

buzz=0;

led=1;

delay_n40us(10000);

}

led=1;

buzz=1;//響完關(guān)閉蜂鳴器、LED燈

}

/*********************************************************

函數(shù)名稱:voiddisplay_mima()

函數(shù)作用:顯示輸入的數(shù)字鍵信息

參數(shù)說(shuō)明:num為已輸入的密碼位數(shù)

*********************************************************/

voiddisplay_mima()

{

uchari;

for(i=0;i<num;i++)

{

if(in_f==1||(reset_f==1&&reset_num==1))

LCD_disp_char((16-num)/2+i,2,'*');

else

LCD_disp_char((16-num)/2+i,2,in_mima%POW[num-i]/

POW[num-1-i]+0x30);

}

}

/*********************************************************

函數(shù)名稱:voidchuli()

函數(shù)作用:對(duì)按下的按鍵進(jìn)行處理

參數(shù)說(shuō)明:

22

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

*********************************************************/

voidchuli()

{

if(key_f==1&&TR0==0)//先判斷是否有按鍵按下,并且鍵盤沒有鎖定

{

if(a<10&&num<8&&(in_f==1||reset_f==1))//如果輸入密碼狀態(tài),并且按下

數(shù)字鍵,位數(shù)未達(dá)到最大8位

{

in_mima=in_mima*10+a;//記錄輸入的密碼

num++;//輸入的密碼個(gè)數(shù)加1

display_mima();//顯示輸入的情況

}

if(a==13&&reset_f==0&&jdq==1)//輸入密碼

{

in_f=1;//標(biāo)記進(jìn)入密碼解鎖

if(num==0)

{

LCD_write_command(0x01);//清除顯示LCD1602

delay_n40us(100);

}

lcd1602_write_character(0,1,inmima);//顯示輸入密碼

}

if(a==10)//取消輸入,關(guān)閉門鎖

{

init_f=1;//恢復(fù)初始界面

}

if(a==11&&in_f==0&&reset_f==0)//重設(shè)密碼

{

reset_f=1;//標(biāo)記進(jìn)入修改密碼

reset_num=1;//標(biāo)記當(dāng)前處于第1階段:輸入舊密碼

num=0;//輸入的密碼位數(shù)清0

in_mima=0;//輸入的密碼清0

LCD_write_command(0x01);//清除顯示LCD1602

delay_n40us(100);

lcd1602_write_character(0,1,oldmima);//顯示輸入舊密碼

}

if(a==12&&(in_f==1||reset_f==1))//清除輸入

{

LCD_write_command(0x01);//清除顯示LCD1602

23

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

delay_n40us(100);

num=0;//輸入的密碼位數(shù)清0

in_mima=0;//輸入的密碼清0

if(in_f==1)//在輸入密碼狀態(tài)

lcd1602_write_character(0,1,inmima);//顯示輸入密碼

if(reset_f==1)//在重設(shè)密碼狀態(tài)

{

if(reset_num==1)

lcd1602_write_character(0,1,oldmima);//顯示輸入舊密

else

if(reset_num==2)

lcd1602_write_character(0,1,newmima);//顯示輸入新密

else

lcd1602_write_character(0,1,newmima2);//顯示輸入再次

輸入新密碼

}

}

if(a==14&&(in_f==1||reset_f==1))//退格

{

if(num!=0)//輸入密碼個(gè)數(shù)減1

num--;

in_mima=in_mima/10;

lcd1602_write_character(0,2,"");

display_mima();//顯示輸入的情況

}

if(a==15&&num>=4)//密碼確定

{

LCD_write_command(0x01);//清除顯示

LCD1602

delay_n40us(100);

if(reset_f==1)//當(dāng)前處于修改密

碼狀態(tài)

{

if(reset_num==3)//再次輸入新

密碼狀態(tài)

{

if(in_mima==new_mima&&num==nums)//兩次輸

24

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

入的新密碼一致匹配正確

{

reset_num=0;//清除修改密碼

標(biāo)志

reset_f=0;

low_mima=in_mima;//重新記錄密碼

mima_length=num;//重新記錄密碼位

數(shù)

AT24C02_write_date(0,low_mima/1000000);//分四部分,

存儲(chǔ)密碼

AT24C02_write_date(1,low_mima%1000000/10000);

AT24C02_write_date(2,low_mima%10000/100);

AT24C02_write_date(3,low_mima%100);

AT24C02_write_date(4,mima_length);//存儲(chǔ)密碼位數(shù)

lcd1602_write_character(0,1,reset);//顯示密碼修改成

error_num=0;

AT24C02_write_date(6,error_num);//將錯(cuò)誤次數(shù)存

入AT24C02

time_num=0;

AT24C02_write_date(8,time_num);//清除鎖定次

數(shù)

}

else//舊密碼匹配失敗

{

lcd1602_write_character(0,1,shibai);//顯示密碼修改失敗

didi(1);//進(jìn)入報(bào)警

reset_f=0;

}

}

if(reset_num==2)//輸入新密碼

狀態(tài)

{

reset_num=3;//進(jìn)入再次輸入新

密碼階段

new_mima=in_mima;//記錄輸入的

新密碼

nums=num;//記錄輸入的新密

25

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

碼位數(shù)

lcd1602_write_character(0,1,newmima2);//顯示輸入新密碼

}

if(reset_num==1)//輸入密碼狀

態(tài)

{

if(in_mima==low_mima&&num==mima_length)//舊密碼匹

配正確

{

reset_num=2;//進(jìn)入輸入新密碼

階段

lcd1602_write_character(0,1,newmima);//顯示輸入新密碼

}

else//舊密碼匹配失敗

{

reset_f=0;//結(jié)束重置密碼

lcd1602_write_character(0,1,error);//顯示密碼錯(cuò)誤

didi(3);//進(jìn)入報(bào)警

}

}

}

else//解鎖區(qū)間

{

if(in_mima==low_mima&&num==mima_length)//密碼匹配正

{

lcd1602_write_character(0,1,succes);//顯示解鎖成功

error_num=0;

AT24C02_write_date(6,error_num);//將錯(cuò)誤次數(shù)存入

AT24C02

time_num=0;

AT24C02_write_date(8,time_num);//清除鎖定次數(shù)

jdq=0;//吸合繼電器表示打

開門

}

else//密碼匹配錯(cuò)誤

{

error_num++;

AT24C02_write_date(6,error_num);//將錯(cuò)誤次數(shù)存入

AT24C02

26

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

if(error_num==3)//判斷錯(cuò)誤次數(shù)是

否等于3次

lcd1602_write_character(0,1,mimasuo);//顯示密碼鎖定

else

lcd1602_write_character(0,1,error);//顯示密碼錯(cuò)誤

didi(error_num);//輸錯(cuò)幾次蜂鳴器響幾次、LED亮幾次以提

示用戶

if(error_num==3)//如果連續(xù)錯(cuò)誤次數(shù)等于三次了

{

time=0;//開啟鎖定計(jì)時(shí)

TR0=1;//開始定時(shí)器0,進(jìn)入鎖定倒計(jì)時(shí)

if(time_num<8)//最大鎖定時(shí)間8*30秒(4分鐘)

time_num++;//密碼被鎖次數(shù)加1(最大值:

8)

AT24C02_write_date(8,time_num);//鎖定時(shí)間

寫入到AT24C02保存起來(lái)

lcd1602_write_character(0,1,daojishi);//顯示解除密碼鎖

定倒計(jì)時(shí)

}

}

in_f=0;//清除輸入標(biāo)志

}

num=0;//清除輸入密碼位數(shù)

in_mima=0;//清除輸入密碼

}

T1_num=0;

TR1=1;//開啟定時(shí)器,12.5秒自動(dòng)退出初始的界面

key_f=0;//清除按鍵標(biāo)志

}

}

/*********************************************************

函數(shù)名稱:voidmain()

函數(shù)作用:主函數(shù)

參數(shù)說(shuō)明:

*********************************************************/

voidmain()

{

jdq=1;//開機(jī)繼電器斷開,表示門關(guān)著

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論