基于單片機(jī)的電子密碼鎖正文_第1頁
基于單片機(jī)的電子密碼鎖正文_第2頁
基于單片機(jī)的電子密碼鎖正文_第3頁
基于單片機(jī)的電子密碼鎖正文_第4頁
基于單片機(jī)的電子密碼鎖正文_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、前言 在我們的日常生活和工作中, 住宅、工作單位的安全措施、公司的檔案資料、財(cái)務(wù)報(bào)表和個人相關(guān)資料的保管基本上都是用加鎖的方式來解決的。如果采用傳統(tǒng)機(jī)械式的鑰匙來開鎖,人們出門就需攜帶許多把鑰匙, 非常地不方便, 而且如果鑰匙不小心被丟失了,那安全性就會大打折扣。目前,在西方發(fā)達(dá)國家,電子密碼鎖技術(shù)相對較先進(jìn),種類齊全,電子密碼鎖也已被廣泛應(yīng)用于智能門禁系統(tǒng)中,通過多種更加安全,更加可靠的技術(shù)實(shí)現(xiàn)大門的管理。在我國,隨著社會科技的進(jìn)步,鎖已發(fā)展到了密碼鎖、磁性鎖、電子鎖、激光鎖、聲控鎖等等。在傳統(tǒng)鑰匙的基礎(chǔ)上,增加了一組或多組密碼,通過不同磁場、光束光波、聲波、聲音和不同的圖像來控制鎖的開啟,

2、從而大大提高了鎖的安全性,使不法之徒無可乘之機(jī),人們也就能對自身財(cái)產(chǎn)安全的有了更多保障。隨著人們對安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識別、ic卡辨認(rèn))已在國內(nèi)外相繼面世。但是這些產(chǎn)品的特點(diǎn)是針對特定的指紋和有效卡,只能適用于需保密的箱、柜、門等。而且指紋識別器在公共場所使用容易機(jī)械損壞,ic卡也丟失或損壞,而且它們其成本較高,在一定程度上限制了這類產(chǎn)品的推廣和普及。鑒于目前的技術(shù)水平與市場的接受程度,加上電子密碼鎖它具有成本價(jià)格低、低功耗、簡單容易操作、安全性高等優(yōu)點(diǎn),因而電子密碼鎖成為了這類電子防盜產(chǎn)品的主流。在安全技術(shù)的領(lǐng)域范圍,具有防盜兼報(bào)警功能的電子密碼鎖已逐漸替代了傳統(tǒng)機(jī)械

3、式的密碼鎖,它克服了機(jī)械鎖密碼可設(shè)密碼量少,安全性不高的缺點(diǎn),使得密碼鎖不論在性能上還是在技術(shù)上都有了很大的提升。隨著大規(guī)模集成電路技術(shù)的發(fā)展,尤其是單芯片,微處理器智能鎖的出現(xiàn),它除了具有電子密碼鎖的功能外,還引入了專家分析系統(tǒng)和智能化的管理,使得密碼鎖具有更高的可靠性和安全性,它的應(yīng)用也越來越廣泛,因此研究它具有重大的現(xiàn)實(shí)意義。 1 電子密碼鎖的介紹1.1 電子密碼鎖的簡介電子密碼鎖運(yùn)用電子電路控制機(jī)械部分,使兩者緊密結(jié)合,從而避免了因?yàn)闄C(jī)械部分被破壞而導(dǎo)致開鎖功能失常的問題,而且連續(xù)輸入密碼錯誤時(shí)還有報(bào)警聲,大大增加了密碼鎖的防盜功能。隨著人們生活水平的提高,怎樣實(shí)現(xiàn)家庭防盜的問題也顯得

4、尤其的突出,傳統(tǒng)的鎖由于其構(gòu)造簡單,容易被撬,而電子鎖由于具有保密性高、使用靈活性好、安全系數(shù)高等優(yōu)點(diǎn),受到了很多用戶的青睞。 1.1.1 電子密碼鎖的特點(diǎn)電子密碼鎖是一種通過輸入密碼來控制芯片或是電路工作,從而控制機(jī)械的開關(guān)是關(guān)還是開,來完成鎖定和解鎖任務(wù)的產(chǎn)品。它的種類有很多,例如:簡易的電子產(chǎn)品、基于芯片的高性價(jià)比產(chǎn)品等?,F(xiàn)在廣泛應(yīng)用的電子密碼鎖是以芯片為核心,通過編程來實(shí)現(xiàn)功能的。它的安全性和性能大大超過了傳統(tǒng)的機(jī)械鎖。其特點(diǎn)如下: 無活動零件,不會磨損,壽命長; 使用靈活性好,不像機(jī)械鎖必須佩帶鑰匙才能開鎖; 電子密碼鎖操作簡單易行,一學(xué)即會; 密碼可變,用戶可以隨時(shí)更改密碼,防止密

5、碼被盜,同時(shí)也可以避免因人員的更替而使鎖的密級下降; 保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于彈子鎖。隨機(jī)開鎖成功率幾乎為零。 1.1.2 電子密碼鎖的發(fā)展趨勢目前的門鎖一般使用彈子鎖,但是它的鑰匙是容易遺失;一些保險(xiǎn)柜使用的機(jī)械鎖,其結(jié)構(gòu)更加復(fù)雜,成本高,高精密制造,容易出現(xiàn)故障,人們往往需要帶很多鑰匙,使用極為不便,如果鑰匙不慎丟失,它的安全性就會大大降低。為滿足人們的需求,使用密碼替代鑰匙解鎖的密碼鎖應(yīng)運(yùn)而生。由于被電子器件所限,以前開發(fā)的電子密碼鎖,保密性差,種類不多,最基本的就是只依靠最簡單的模擬電子開關(guān)來實(shí)現(xiàn)的,制作簡單但很不安全,在后為多是使用eda來實(shí)現(xiàn)的,其電路結(jié)構(gòu)復(fù)雜,電子元件繁多。也

6、有使用早先的20個引角的2051系列的單片機(jī)來實(shí)現(xiàn)的,但其密碼簡單,易被破解。隨著電子元件的進(jìn)一步發(fā)展,電子密碼鎖也出現(xiàn)了很多的種類,功能日益強(qiáng)大,安全保密性更強(qiáng),使用更加方便,由以前的單密碼輸入發(fā)展到現(xiàn)在的密碼加感應(yīng)元件,用戶只有密碼或電子鑰匙中的一樣,是打不開鎖的。出于安全、方便等方面的需要許多電子密碼鎖已相繼問世,但這類產(chǎn)品的特點(diǎn)是針對特定有效卡、指紋或聲音有效,且不能實(shí)現(xiàn)遠(yuǎn)程控制,只能適用于保密要求高且供個人使用的門、房間等。因?yàn)閿?shù)字、字符、人體生物特征、時(shí)間和圖形圖像等要素均可成為鑰匙的電子信息,所以組合使用這些信息能夠使電子防盜鎖獲得更高的保密性,比如現(xiàn)在的一些金庫,需要使用復(fù)合信

7、息密碼的電子防盜鎖。組合使用信息也能夠使電子防盜鎖獲得無窮擴(kuò)展的可能,可以使產(chǎn)品多樣化,對用戶而言是是再好不過了。由此可以看出組合使用電子信息是電子密碼鎖今后發(fā)展的趨勢。1.2 電子密碼鎖設(shè)計(jì)的目標(biāo)要求該密碼鎖設(shè)計(jì)方法合理,簡單易行,成本低,符合用戶對一些私人資料信息的加密要求,具有一定的推廣價(jià)值。該設(shè)計(jì)的電子密碼鎖有如下特點(diǎn): 系統(tǒng)設(shè)置6位密碼,通過鍵盤輸入密碼,輸入密碼后按下確定鍵。 密碼可以由用戶自己設(shè)定,在密碼輸入正確的前提下,按下設(shè)置鍵,出現(xiàn)提示信息”your password!“,此時(shí)輸入新的密碼(6位)。電子密碼鎖的工作流程圖如圖1.2-1所示: 初始狀態(tài)設(shè)定初始密碼輸入密碼:*

8、密碼是否正確?ny進(jìn)入系統(tǒng)圖1.2-1 電子密碼鎖的工作流程圖 1.3 系統(tǒng)主要芯片的選型1.3.1 主控芯片的選型at89c51單片機(jī)介紹1at89c51是一類具有低功耗,高性能cmos 8位的單片機(jī),其片內(nèi)含有4k bytes isp(in-system programmable)的可反復(fù)擦寫1000次的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)mcs -51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用的isp flash存儲單元和8位中p央處理器,很多的嵌入式控制應(yīng)用系統(tǒng)也在使用at89s51為它們提供的性價(jià)比比較高的解決方案。 at89c

9、51具有很多的特點(diǎn),它有40個引腳、4k bytes flash片的內(nèi)程序存儲器、128 bytes的隨機(jī)存儲器(ram)、32個外部輸入/輸出(i/o)口并且是雙向的、5個中斷優(yōu)先級、16位的可編程定時(shí)計(jì)數(shù)器有兩個、2個串行全雙工通信口和一個看門狗(wdt)電路。片內(nèi)時(shí)鐘振蕩器at89c51提供以下標(biāo)準(zhǔn)功能:4k 字節(jié) 的flash 閃速存儲器,128 字節(jié)的內(nèi)部 ram,32 個 i/o 口線,1個看門狗(wdt),有兩個數(shù)據(jù)指針和兩個 16 位定時(shí)/計(jì)數(shù)器,有一個 5 向量兩級中斷結(jié)構(gòu),還有一個全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí)at89c51 可降至 0hz 的靜態(tài)邏輯操作,并

10、且支持兩不同軟件可選的節(jié)電工作模式??臻e方式可以停止 cpu 的工作,但仍然允許 ram,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)等繼續(xù)工作。掉電方式保存 ram 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件的復(fù)位。 at89c51引腳圖如下圖1.3.1-1所示: 圖1.3.1-1 at89c51引腳圖此外,at89s51單片機(jī)還配置了12mhz的晶振并且可以通過軟件來設(shè)置它的省電模式。當(dāng)其處于空閑模式時(shí),cpu可暫停工作,而串行口、外中斷、定時(shí)計(jì)數(shù)器以及系統(tǒng)可繼續(xù)工作,掉電模式下數(shù)據(jù)保存在ram中,只有硬件復(fù)位或者外中斷激活后芯片才又開始工作。另外該芯片有tqfp、plcc和pd

11、ip這三種不同的封裝形式,以滿足不同市場的需求。1.3.2 顯示器的選型采用lcd16028lcd1602能完整的顯示32個英文字符和日文字符,它可以應(yīng)用在計(jì)算器、頻率信號發(fā)生器、時(shí)鐘等產(chǎn)品上。lcd1602主要特性:能夠顯示16*2個字符,芯片工作電壓為4.55.5v,工作電流2ma(5v)包括背光電流,字符尺寸:2.95*4.35mm,帶有英文和日文字符庫,使用方便。lcd1602的端口有8根數(shù)據(jù)引腳和6根控制引腳以及2根電引腳??刂旗`活、方便。采用經(jīng)典的8086總線結(jié)構(gòu),使編程控制得以變得更為簡單。容易,且不會占用單片機(jī)的大量資源。在選型時(shí),考慮到設(shè)計(jì)的實(shí)際應(yīng)用以及設(shè)計(jì)的合理性,lcd1

12、602能顯示一些數(shù)字和字母,很方便形象,故本設(shè)計(jì)最終的方案選擇的是lcd1602。1.3.3 密碼存儲芯片at24c02由于51單片機(jī)掉電后會丟失數(shù)據(jù)存儲器里的數(shù)據(jù),因此必須外加掉電存儲電路。并由at24c02芯片來實(shí)現(xiàn)。美國atmel公司的低功耗cmos型e2prom at24c02,其內(nèi)部存儲空間有2568位,可擦寫次數(shù)10000次以上、工作電壓寬在2.55.5 v之間、抗干擾能力強(qiáng)、數(shù)據(jù)不易丟失、寫入速度小于10 ms、體積小。它是采用iic總線串行對數(shù)據(jù)進(jìn)行讀寫,占用的資源和io線很少,支持在線進(jìn)行編程,能夠快速方便地進(jìn)行數(shù)據(jù)的實(shí)時(shí)存取。at24c02運(yùn)用iic規(guī)程,采用主機(jī)(通常為單

13、片機(jī))從機(jī)(at24c02) 雙向通信,二者均可在發(fā)送器和接收器狀態(tài)下工作。主機(jī)產(chǎn)生一個串行的時(shí)鐘信號后,通過引腳scl控制總線的傳送方向,產(chǎn)生停止和開始的條件。主機(jī)和從機(jī)在接收到一個字節(jié)后都必須要發(fā)出一個確認(rèn)的信號ack。它通過sda(串行數(shù)據(jù)線)及scl(串行時(shí)鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識別每個器件。2 電子密碼鎖的硬件設(shè)計(jì)2.1 硬件設(shè)計(jì)原理 本系統(tǒng)硬件部分包含電源輸入電路、復(fù)位電路、晶振電路、按鍵電路、lcd1602顯示電路。當(dāng)系統(tǒng)運(yùn)行時(shí)系統(tǒng)電源電路為系統(tǒng)供電。為了避免系統(tǒng)在不穩(wěn)定情況下工作所以增加了一個復(fù)位電路。按鍵電路按鍵輸入要執(zhí)行的指令,lcd顯示電路

14、,為人機(jī)交互提供了條件。具體的硬件框圖如下圖2.1-1所示: 圖2.1-1 系統(tǒng)框圖2.2 復(fù)位電路設(shè)計(jì)單片機(jī)復(fù)位【1】是使cpu和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作,例如復(fù)位后pc0000h,使單片機(jī)從第個單元取指令。無論是在單片機(jī)剛開始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。在復(fù)位期間(即rst為高電平期間),p0口為高組態(tài),p1p3口輸出高電平;外部程序存儲器讀選通信號psen無效。地址鎖存信號ale也為高電平。根據(jù)實(shí)際情況選擇如圖2.2-1所示的復(fù)位電路。該電路在基本的復(fù)位電路上添加了手動復(fù)位按鈕,在電源接通瞬間,電容c8上的電壓很小,復(fù)位后r2下

15、拉電阻的電壓基本和電源電壓相同, rst此時(shí)為高電平,隨著電容充電,rst端電壓將逐漸下降,當(dāng)電壓降到低于某一數(shù)值后,cpu不再復(fù)位,由于電容c1很大,可以確保rst在高電平的有效時(shí)間比24個振蕩周期大,cpu能夠順利復(fù)位。為了防止死機(jī)時(shí)無法順利復(fù)位我增加了手動復(fù)位按鍵加以保障。圖2.2-1 復(fù)位電路圖2.3 晶振電路設(shè)計(jì) 引腳xtal1【2】和xtal2【2】與晶體振蕩器及電容c1、c2按圖圖2.3-1所示方式連接。此電路在加電后延遲大約10ms振蕩器起振,在xtal2引腳產(chǎn)生幅度為3v左右的正弦波時(shí)鐘信號,其振蕩頻率主要由石英晶振的頻率決定。電路中兩個電容c1、c2的作用使電路快速振,提高

16、電路的運(yùn)行速度。 圖2.3-1 晶振電路圖2.4 按鍵電路設(shè)計(jì)因?yàn)楸驹O(shè)計(jì)所用到的按鍵數(shù)量較多所以不適合用獨(dú)立式按鍵,因此我們引入了矩陣鍵盤【3】的應(yīng)用,采用四條i/o線作為行線,四條i/o線作為列線組成鍵盤。在列線和行線的每個交叉點(diǎn)上設(shè)置一個按鍵。這樣矩陣鍵盤上的按鍵個數(shù)就為16個,這樣就能有效地提高系統(tǒng)i/o口的利用率。在單片機(jī)中可以用一個p1口實(shí)現(xiàn)16個按鍵功能,本設(shè)計(jì)中使用的這個4x4鍵盤不但能完成密碼的輸入還能作特別功能鍵使用。并且鍵盤的每個按鍵功能在程序設(shè)計(jì)中設(shè)置。由于矩陣鍵盤中的行、列為多鍵公用,每個按鍵都會影響該按鍵所處的行與列的電平,因此,各按鍵彼此將相互發(fā)生影響,所以必須將行

17、列線信號配合起來,并作適當(dāng)?shù)奶幚?,這樣才能決定閉合鍵的位置。其按鍵結(jié)構(gòu)及與單片機(jī)引腳接法如圖2.4-1所示。按鍵功能鍵的具體分布如2.4-2所示。圖2.4-1 按鍵電路圖0123456789開鎖上鎖輸入新密碼保存新密碼重新輸入未定義圖2.4-2 按鍵功能分配圖2.5 密碼存儲電路的設(shè)計(jì) 如圖2.6-1所示,在at89c51試驗(yàn)開發(fā)板上它們都接地,第8腳和第4腳分別為正、負(fù)電源,第5腳sda為串行數(shù)據(jù)輸入/輸出,數(shù)據(jù)通過這條雙向i2c總線串行傳送,在at89c51試驗(yàn)開發(fā)板上和單片機(jī)的p3.3連接,第6腳scl為串行時(shí)鐘輸入線,在at89c51試驗(yàn)開發(fā)板上和單片機(jī)的p3.2連接,第7腳需要接地。

18、 圖2.5-1 24c02密碼存儲電路圖2.6 lcd1602顯示電路設(shè)計(jì)為了提高密碼鎖的密碼顯示效果能力。本設(shè)計(jì)的顯示部分由液晶顯示器lcd1602【5】。在沒有按鍵時(shí),顯示器處于初始狀態(tài)。按下開啟鍵顯示器就處于開啟狀態(tài),再按下關(guān)閉按鍵顯示器就處于關(guān)閉狀態(tài)。當(dāng)需要對密碼鎖進(jìn)行開鎖時(shí),按下開鎖按鍵后通過鍵盤上的數(shù)字鍵09輸入密碼,此時(shí)每按下一個數(shù)字鍵,顯示器上就會顯示一個*,最多只能輸入六個*。當(dāng)密碼輸入完成時(shí),按下確認(rèn)鍵,如果輸入的密碼正確的話,顯示屏顯示“四川師范大學(xué)成都學(xué)院歡迎您”,如果密碼不正確,lcd顯示屏?xí)@示“error”,p2.0輸出的是高電平,電子密碼鎖不能被打開。通過lcd

19、顯示屏,可以清楚的判斷出密碼鎖所處的狀態(tài) 。其電路的具體設(shè)計(jì)如下圖2.6-1所示: 圖2.6-1 lcd1602顯示電路圖2.7 報(bào)警電路報(bào)警部分由陶瓷壓電發(fā)聲裝置及外圍電路組成, 加電后不發(fā)聲, 當(dāng)有鍵按下時(shí), 發(fā)/ 叮0 聲, 每按一下, 發(fā)聲一次,單片機(jī)的p3. 1 引腳為低電平, 三極管t3 導(dǎo)通。圖2.7-1 蜂鳴器電路圖 2.8 系統(tǒng)電路硬件連接線路:片機(jī)系統(tǒng)”區(qū)域中的p0.0p0.7端口分別連接到“l(fā)ed1602”區(qū)域中的d0d7”端口上;2. 把“單片機(jī)系統(tǒng)”區(qū)域中的p2.0p2.2端口分別連接到“l(fā)ed1602”區(qū)域中的“rs, rw, e”端口上。3. 把“單片機(jī)系統(tǒng)”區(qū)域

20、中的p1.0p1.7端口分別依次連接到“矩陣鍵盤”區(qū)域中的“行和列”端口上。3. 把“單片機(jī)系統(tǒng)”區(qū)域中的p3.2p3.3端口分別依次連接到“24c02”區(qū)域中的“sck, sda”端口上。3. 把“單片機(jī)系統(tǒng)”區(qū)域中的p3.7端口連接到“蜂鳴器”上。p2.7連接led燈通過電阻r2接地。3 電子密碼鎖的軟件設(shè)計(jì)3.1 程序設(shè)計(jì)思路本設(shè)計(jì)軟件部分要實(shí)現(xiàn)的功能分別為:鍵盤掃描,延時(shí)【6】,顯示器顯示【4】,密碼存儲等。電子密碼鎖工作的主要過程是lcd液晶顯示器提示“your password:”,通過鍵盤輸入密碼,同時(shí)lcd顯示密碼輸入情況,按下確認(rèn)鍵后判斷密碼的正確性,當(dāng)輸入密碼多功能電子密碼

21、鎖的基本要求: a、通過鍵盤輸入密碼。c、220v供電下,設(shè)計(jì)系統(tǒng)所需電源,并考慮掉電后原始數(shù)據(jù)的保存,總的流程圖如下圖3.1-1所示: 初始化調(diào)用顯示識別按鍵有按鍵按下?全部按完?比較密碼開 始led燈亮開 始n n 保存修改密碼 y y 密碼正確?圖3.1-1 軟件總流程圖 3.2 鍵盤掃描軟件設(shè)計(jì)鍵盤掃描【7】流程圖如圖3.2-1所示,在按鍵當(dāng)中,有與輸入、開鎖、清除、設(shè)置、確認(rèn)的程序相對應(yīng)的按鍵,并按順序與輸入的數(shù)相比較,當(dāng)輸入正確時(shí),進(jìn)入密碼程序,錯誤時(shí)進(jìn)行清除,輸入兩次新密碼正確時(shí),可進(jìn)行重新設(shè)置密碼,最后確認(rèn)程序。按鍵的檢測主要是通過查詢的方法來實(shí)現(xiàn)的,利用按鍵進(jìn)行密碼的輸入及設(shè)

22、置。開 始行列端口賦值0xf0讀端口,結(jié)果相等?延時(shí)10毫秒保存首次賦值讀端口,兩次賦值運(yùn)算讀端口,結(jié)果相等?查表發(fā)出鍵模行列端口賦值0x0f返回圖3.2-1 按鍵掃描流程圖圖3.2-2 24c02讀寫操作的軟件算法流程圖按下輸入新密碼輸入密碼 存入緩沖 再輸入一 調(diào)用24c02 比較密碼 重新輸入 調(diào)用顯示圖3.2-3 2修改密碼流程圖4、系統(tǒng)功能及仿真 (一)開鎖 (二)lcd1602液晶顯示 (三)密碼修改 (四)報(bào)警 (五)還能添加掉電存儲當(dāng)給單片機(jī)上電后,單片機(jī)顯示如圖:圖4-1仿真圖1當(dāng)輸入密碼時(shí),單片機(jī)顯示如圖:圖4-2仿真圖2密碼錯誤的情況下修改密碼(即輸入新密碼)顯示如圖:圖

23、4-3仿真圖3當(dāng)輸入正確密碼時(shí)單片機(jī)顯示如圖:圖4-4仿真圖4輸入新密碼之后保存顯示:圖4-5仿真圖5圖4-6實(shí)物圖5 總 結(jié)以上為本人設(shè)計(jì)的電子密碼鎖電路。該電子密碼鎖設(shè)計(jì)實(shí)現(xiàn)開關(guān)鎖和修改密碼等功能,并具有結(jié)構(gòu)簡單、功耗低、成本低等優(yōu)點(diǎn),但是設(shè)計(jì)電子密碼鎖需要結(jié)合實(shí)際綜合考慮很多因素,因此該電子密碼鎖設(shè)計(jì)需要在實(shí)際中進(jìn)一步完善和改進(jìn)。另外,在系統(tǒng)應(yīng)用程序方面,該設(shè)計(jì)只實(shí)現(xiàn)了修改密碼、開關(guān)鎖、自動報(bào)警等功能,要想在現(xiàn)實(shí)生活中推廣,還必須針對實(shí)際應(yīng)用場合的需要,進(jìn)一步完善系統(tǒng)功能的程序。具有防盜報(bào)警功能的電子密碼鎖代替?zhèn)鹘y(tǒng)的機(jī)械式密碼鎖,克服了機(jī)械式密碼鎖密碼量少、安全性能差的缺點(diǎn),密碼鎖不管在

24、技術(shù)上還是在性能上都得到了提高。其經(jīng)過多次的整理,是一個比較不錯的設(shè)計(jì),可以滿足人們的基本需求,但是因?yàn)樗接邢?,此電路中也存在一定的問題,的設(shè)計(jì)并不奢望一定能成功,但一定要對已學(xué)的各種電子知識能有一定的運(yùn)用能力,我做設(shè)計(jì)的目的是希望能檢查下對所學(xué)知識的運(yùn)用能力的好壞,并且開始慢慢走上創(chuàng)造的道路,這是非??少F的一點(diǎn)。但是在我們設(shè)計(jì)和調(diào)試的過程中,也發(fā)現(xiàn)了一些問題,譬如電子密碼鎖的設(shè)計(jì)還不夠人性化,比如加上語音的提示功能,可能會更有生命力。電路的密碼不能忘記,一旦忘記,就難以打開,這可以通過增加電路解決,但那過于復(fù)雜。此次程序設(shè)計(jì)還有一定的漏洞。也許還有其他的一些不足,還請老師給以支持。6 參考

25、文獻(xiàn)1 童詩白.華成英:模擬電子技術(shù)基礎(chǔ)第四版.高等教育出版社,2000.3,p3-p72 張毅剛:單片機(jī)原理及應(yīng)用.高等教育出版社,2003.7,p65-p673 李全利:單片機(jī)原理及接口技術(shù).高等教育出版社,2003.1,p69-p784 李光飛:單片機(jī)課程設(shè)計(jì)指導(dǎo).北京航空航天大學(xué)出版社,2007.1,p12-p245 蔡朝洋:單片機(jī)控制實(shí)習(xí)與專題制作.北京航空航天大學(xué)出版社,2006.6 ,p30-p416 陳連坤:單片機(jī)原理及接口技術(shù).北京交通大學(xué)出版社,2010.5,p55-p577 李學(xué)海:標(biāo)準(zhǔn)8051單片機(jī)基礎(chǔ)教程.北京航空航天大學(xué)出版,2006.1,p57-p60附錄一:原理

26、圖附錄二:源程序/-main.c-/名稱:用1602lcd與24c04設(shè)計(jì)的電子密碼鎖/-/說明:初始密碼由24c04.bin設(shè)定為“123456”。/ 當(dāng)輸入09中的數(shù)字時(shí)可以輸入密碼,不超過6位數(shù),輸入完成后按下a/ 鍵開鎖,密碼正確時(shí)led點(diǎn)亮,液晶顯示開鎖成功。/ 其他鍵功能是:b上鎖c重新輸入密碼d保存新密碼e清除/ 重設(shè)密碼成功時(shí)要求先輸入正確的密碼成功開鎖。/-#include#include#defineucharunsignedchar#defineuintunsignedint/上次按鍵和當(dāng)前按鍵序號,該矩陣中序號范圍為015,16表示無按鍵ucharpre_keyno=1

27、6,keyno=16;ucharcodetitle_text=yourpassword.;/標(biāo)題字符串uchardsy_buffer10=;/顯示緩沖ucharuserpasssword10=; /用戶輸入的密碼voidlcd_init();/液晶初始化voiddisplay_string(uchar*str,ucharlineno);/在液晶指定行顯示字符串voidiic_24c04_init();/iic初始化voidbeep();/蜂鳴器ucharrecstring(ucharslave,ucharsubaddr,uchar*buffer,ucharn);/從iic讀取數(shù)據(jù)uchar s

28、endstring(ucharslave,ucharsubaddr,uchar*buffer,ucharn);/從iic讀取數(shù)據(jù)ucharkeys_scan();sbitled_open=p27;/開鎖亮燈sbitbeep=p37;/蜂鳴器/-/延時(shí)/-voiddelayms(uintx)uchari;whlie(x-)for(i=0;i120;i+);/-/蜂鳴器子程序/-voidbeep()uchari;for(i=0;i100;i+)delayms(1);beep=beep;beep=0;/-/清除密碼/-voidclear_password()userpassword0=0;dsy_b

29、uffer0=0;/-/主程序/-voidmain()uchari=0;uchariic_password10;ucharis_valid_user=0;p0=p1=0xff; tmod=0x02; /to設(shè)置為8位自動重裝模式th0=175;tl0=175; tr0=1; /啟動todelayms(10);lcd_init(); /初始化lcdiic_24c04_init(); /初始化24c04display_string(title_text,0x00);/24c04的內(nèi)容已由初始化bin文件導(dǎo)入/將24c04中預(yù)先寫入的密碼讀入iic_passwordrecstring(0xa0,0,

30、iic_password,6);iic_password6=0;while(1)p1=0xf0;if(p1!=0xf0)keyno=keys_scan();/掃描鍵盤獲取鍵序號keynoif(pre_keyno!=keyno) if(i10)switch(keyno)case0:case1:case2:case3:case4:case5:case6:case7:case8:case9: /如果i為0則執(zhí)行一次清屏 if(i=0)display_string( ,0x40); userpasswordi=keyno+0; userpasswordi+1=0; dsy_bufferi=*; dsy

31、_bufferi+1=0; display_string(dsy_buffer,0x40); i+; break; case10:/按a鍵開鎖 if(strcmp(userpassword,iic_password)=0) led_open=0;/點(diǎn)亮ledclear_password();display_string(unlockok! ,0x40);is_valid_user=1; else led_open=1;/關(guān)閉ledclear_password();display_string(error!,0x40);is_valid_user=0; i=0; break; case11:/按

32、b鍵上鎖 led_open=1; clear_password(); display_string(title_text,0x00); display_string( ,0x40); i=0; is_valid_user=0; break; case12:/按c鍵設(shè)置新密碼 /如果是合法用戶則提示輸入新密碼 if(!is_valid_user)display_string(norights!,0x40); else i=0;display_string(newpassword: ,0x00);display_string( ,0x40); break; case13:/按d鍵保存新密碼 if(

33、!is_valid_user)dispay_string(norights!,0x40); else sendstring(0xa0,0,userpasssword,6);/重新讀入剛寫的密碼recstring(0xa0,0,iic_password,6);iic_password6=0;i=0;display_string(title_text,0x00);display_string(passwordsaved!,0x40); break; case14:/按e鍵消除所有輸入 i=0; clear_password(); display_string( ,0x40); beep();pre

34、_keyno=keyno;/-24c04.c-/24c04iic讀/寫程序/-#include#include#defineucharunsignedchar#defineuintunsignedint#definedelay4us();_nop_();_nop_();_nop_();nop_();sbitscl=p32;/串行時(shí)鐘sbitsda=p33;/串行數(shù)據(jù)/-/起始位/-voidstart()sda=1;scl=1;delay4us();sda=0;delayus();scl=0;/-/停止位/-voidstop()sda=0;scl=1;delay4us();sda=1;delay

35、4us();scl=0;/-/iic總線初始化/-viodiic_24c04_init()scl=0;stop();/-/發(fā)送應(yīng)答信號/-voidacx()sda=0;scl=1;delay4us();scl=0;sda=1;/-/發(fā)送非應(yīng)答信號/-voidno_ack()sda=1;scl=1;delay4us();scl=0;sda=0;/-/從芯片讀取1字節(jié)/-ucharredbyte()uchari,rd;rd=0x00;sda=1;for(i=0;i8;i+)scl=1;rd1;rd|=sda;delay4us();scl=0;delay4us();scl=0;delay4us();returnrd;/-/向芯片發(fā)送1字節(jié)/-ucharsendbyte(ucharwd)uchari;bitack0;for(i=0;i8;i+)/循環(huán)移入8位sda=(bit)(wd&0x80);_nop_();_nop_();scl=1;delay4us();scl=0;wd=1;delay4us();sda=1;/釋放總線并準(zhǔn)備讀取應(yīng)答

溫馨提示

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

評論

0/150

提交評論