單片機控制的電子密碼鎖設計.doc_第1頁
單片機控制的電子密碼鎖設計.doc_第2頁
單片機控制的電子密碼鎖設計.doc_第3頁
單片機控制的電子密碼鎖設計.doc_第4頁
單片機控制的電子密碼鎖設計.doc_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

河南大學物理與電子學院開放實驗室單片機設計報告河南大學物理與電子學院開放實驗室單片機設計報告基于單片機控制的電子密碼鎖 設計人:開放實驗室入室人員17目 錄摘 要:10 前言11 系統(tǒng)功能21.1 基本密碼鎖的功能21.2 附加功能22 系統(tǒng)組成32.1 AT89C51單片機32.2 AT24C02芯片32.3 DS1302芯片42.4 DS18B20芯片52.5 128*64液晶顯示屏53 系統(tǒng)的功能單元設計53.1 開鎖機構53.2 按鍵電路設計73.3 掉電存儲單元的設計83.4 密碼鎖的電源電路設計83.5 設計總框圖104 系統(tǒng)原理104.1 系統(tǒng)流程圖104.2 仿真電路圖114.3 實物圖134.4 具體程序代碼135 結論17參考文獻17基于單片機控制的電子密碼鎖開放實驗室入室人員(河南大學物理與電子學院,河南 開封,475004)摘 要: 電子密碼鎖主要由AT89C51單片機、AT24C02存儲芯片、128*64液晶顯示屏、DS1302時鐘芯片、DS18B20溫度傳感器、4*4矩陣鍵盤和蜂鳴器報警系統(tǒng)組成。系統(tǒng)能完成開鎖、超時報警、超次鎖定、管理員解密、修改用戶密碼等密碼鎖的基本功能。除上述基本的密碼鎖功能外,還具有掉電存儲密碼、顯示日歷和溫度等功能。關鍵詞: 電子密碼鎖;單片機;液晶顯示屏;溫度傳感器;自動控制Electronic Coded Lock Controled by MCULiu L.g(School of Physics and Electronics, Henan University, Henan Kaifeng 475004, China)Abstract: Electronic coded lock consists of AT89C51 microcomputer, 4*4 matrix keyboard, 128*64 LCD display, AT24C02 Flash, DS1302 clock chip, DS18B20 temperature transmitter and alarm system.This design has the basic functions of completing the lock, time out alarm, times over locked, the administrator decrypt, modifing the basic user password lock function. And user can input password through the 4*4 matrix keyboard. In addition to the basic lock function, also can store the password when power is broken, can display current calendar and indoor temperature and so on.Key words: AT89C51; AT24C02; 128*64 LCD; temperature sensor; automatic control0 前言目前,最常用的鎖是20世紀50年代意大利人設計的機械鎖,其機構簡單、使用方便、價格便宜。但在使用中暴露了很多缺點:一是機械鎖是靠金屬制成的鑰匙上的不同齒形與鎖芯的配合來工作的。據(jù)統(tǒng)計,每4000把鎖中就有兩把鎖的鑰匙齒牙相同或類似,故鑰匙齒牙相同的幾率較大,安全性較低。根據(jù)國外的統(tǒng)計資料,裝有電子防盜裝置的商業(yè)區(qū)或居民區(qū)盜竊犯罪率平均下降30%左右。二是鑰匙一旦丟失,無論誰撿到都可以將鎖打開。三是機械鎖鑰匙易于復制,不適于諸如賓館等公共場所使用。出于安全、方便等方面的需要,許多智能鎖(如指紋辨別、IC卡識別)已相繼問世,但這類產品的特點是針對特定指紋或有效卡,只能適用于保密要求高且僅供個別人使用的箱、柜、房間等。另外,卡片式的IC卡易丟失,加上其成本一般較高,在一定程度上限制了這類產品的普及和推廣1。電子密碼鎖用密碼代替鑰匙,不但省去了佩戴鑰匙的煩惱,也從根本上解決了普通門鎖保密性差的缺點。如果采用8位密碼,則密碼組合可達到10的8次方,每增加1位,密碼組合就增加10倍;同時可設多組密碼,其中有一組是管理員密碼,可以增加用戶密碼又清除所有用戶密碼。本文設計的電子密碼鎖具有掉電保護密碼功能,可將設置的密碼存入能掉電保護數(shù)據(jù)的RAM中,從而克服了舊式電子密碼鎖電路斷電后所設置密碼丟失的缺點。另外,該鎖還具有報警、時鐘、顯示時間和溫度等輔助功能。1 系統(tǒng)功能本系統(tǒng)組成元器件簡單,主要運用了大學所學的模擬電子、數(shù)字電子和單片機應用等課程知識,基本上實現(xiàn)了作為一個密碼鎖的功能,并在此基礎上還實現(xiàn)了一些額外的功能。1.1 基本密碼鎖的功能開鎖:用戶可以通過鍵盤來輸入密碼,具體情況就是在自己門上固定一個簡易的按鍵鍵盤來輸入數(shù)字,同時鍵盤上面也有相應的取消、更改、確認等按鍵。修改用戶密碼:當用戶需要修改密碼的時候需要重新輸入原始密碼,用戶修改后的密碼將會被保存在獨立的存儲芯片里面,即使系統(tǒng)斷電密碼也不會丟失。用戶每次輸入密碼驗證的時候,系統(tǒng)都會去獨立的存儲芯片里面讀取密碼。超次報警:當輸入密碼錯誤的次數(shù)超過一定的次數(shù),系統(tǒng)就會出現(xiàn)死鎖,同時系統(tǒng)的蜂鳴器就會發(fā)出預警,密碼鎖將不會被開啟,這就預防了非法用戶的侵犯。管理員解密:當系統(tǒng)出現(xiàn)死鎖的時候就需要輸入管理員密碼來解鎖。管理員密碼理論上可以修改,但不建議修改。1.2 附加功能顯示日歷:系統(tǒng)具有顯示當前日歷的功能,能具體顯示年、月、日、時、分、秒,用戶無需自己調整時間。顯示溫度:系統(tǒng)能顯示屋內的實時溫度,能給用戶以提示。2 系統(tǒng)組成本系統(tǒng)主要有AT89C51單片機、AT24C02芯片、DS1302芯片、DS18B20芯片、128*64液晶顯示屏、矩陣鍵盤等元器件組成。2.1 AT89C51單片機AT89C51具有如下特點:40個引腳,4k Bytes Flash片內程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷源,2個中斷優(yōu)先級,2個16位可編程定時計數(shù)器,1個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。此外,AT89C51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復位2。引腳圖如圖2-1所示。圖2-1 AT89C51引腳圖2.2 AT24C02芯片AT24C02是一個2K位串行CMOS E2PROM, 內部含有256個8位字節(jié),CATALYST公司的先進CMOS技術實質上減少了器件的功耗。AT24C02有一個16字節(jié)頁寫緩沖器。該器件通過IIC總線接口進行操作,有一個專門的寫保護功能。AT24C02支持IIC協(xié)議。該總線協(xié)議規(guī)定,任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器,任何從總線接收數(shù)據(jù)的器件為接收器。數(shù)據(jù)傳送是由產生串行時鐘和所有起始停止信號的主器件控制的。主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接收)的模式,通過器件地址輸入端A0、A1和A2可以實現(xiàn)將最多8個AT24C02器件連接到總線上3。具體引腳圖如圖2-2所示。圖2-2 AT24C02引腳圖2.3 DS1302芯片DS1302是DALLAS公司的一種具有涓細電流充電能力的電路,主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關閉充電功能。采用普通32.768kHz晶振。DS1302工作時功耗很低,保持數(shù)據(jù)和時鐘信息時功率小于1mW。DS1302是由DS1202改進而來,增加了以下的特性。雙電源管腳用于主電源Vcc2和備份電源供應Vcc1,為可編程涓流充電電源附加七個字節(jié)存儲器。它廣泛應用于電話傳真便攜式儀器以及電池供電的儀器儀表等產品領域。DS1302芯片內含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機進行通信。實時時鐘/日歷電路提供秒、分、時、日、星期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動調整,時鐘操作可通過AM/PM指示決定采用24或12小時格式。DS1302芯片與單片機之間能簡單地采用同步串行的方式進行通信,僅需用到三個口線:RES(復位);I/O(數(shù)據(jù)線);CLK(串行時鐘)4。具體引腳圖如圖2-3所示。圖2-3 DS1302引腳圖2.4 DS18B20芯片DS18B20數(shù)字溫度計提供9-12位攝氏溫度測量,而且有一個由高低電平觸發(fā)的可編程的不因電源消失而改變的報警功能。DS18B20通過一個單線接口發(fā)送或接受信息,因此在中央處理器和DS18B20之間僅需一條連接線(不算地線)。它的測溫范圍為-55125,并且在-1085精度為0.5。除此之外,DS18B20能直接從單線通訊線上汲取能量,除去了對外部電源的需求5。 每個DS18B20都有一個獨特的64位序列號,從而允許多只DS18B20同時連在一根單線總線上;因此,很簡單就可以用一個微控制器去控制很多覆蓋在一大片區(qū)域的DS18B20,這一特性在HVAC(供熱通風與空氣調節(jié))環(huán)境控制、探測建筑物、儀器或機器的溫度以及過程監(jiān)測和控制等方面非常有用。2.5 128*64液晶顯示屏128*64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字(16*16點陣)、 128個字符(8*16點陣)及64*256點陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來連接微處理機:8-位并行及串行兩種連接方式。具有多種功能:光標顯示、畫面移位、睡眠模式等。3 系統(tǒng)的功能單元設計3.1 開鎖機構通過單片機送給開鎖執(zhí)行機構,電路驅動電磁鎖吸合,從而達到開鎖的目的。其原理如圖3-1所示。單片機微控制器開鎖驅動電路電磁鎖密碼正確?Y返回N圖3-1 密碼鎖開鎖機構示意圖當用戶輸入的密碼正確而且是在規(guī)定的時間(普通用戶要求在12秒內輸入正確的密碼,管理員要求在5秒內輸入正確的密碼)輸入的話,單片機便輸出開門信號,送到開鎖驅動電路,然后驅動電磁鎖,達到開門的目的。其實際電路如圖3-2所示。圖3-2 密碼鎖開鎖機構電路圖密碼鎖開鎖機構由電路驅動和開鎖兩級組成。由D5、R1、T10組成驅動電路,其中T10可以選擇普通的小功率三極管,如9014、9018都可以滿足要求。D5作為開鎖的提示,由D6、C24、T11組成。其中D6、C24是為了消除電磁鎖可能產生的反向高電壓以及可能產生的電磁干擾。T11可選用中功率的三極管,如8050,電磁鎖的選用要視情況而定,但是吸合力要足夠且由一定的余量6。本文設計中,作為仿真,暫時用發(fā)光二極管代替電磁鎖,發(fā)光管亮,為開鎖狀態(tài);滅,表示鎖住狀態(tài)。3.2 按鍵電路設計本設計就采用行列式鍵盤,同時也能減少鍵盤與單片機接口時所占用的I/O線的數(shù)目,在按鍵比較多的時候,通常采用這樣方法。其原理如圖3-3所示。89C51D0D1D2D3D4D5D6D7D8D9D105.1 k X 45.1 k X 3VCC圖3-3 行列式鍵盤原理電路圖每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結構只需要N條行線和M條列線,即可組成具有NM個按鍵的鍵盤。在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。當確認有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉法。對照圖3-3所示的4*4鍵盤,說明線反轉法的工作原理。首先辨別鍵盤中有無鍵按下,由單片機I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1。判斷鍵盤中哪一個鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點上的那個鍵。3.3 掉電存儲單元的設計掉電存儲單元的作用是在電源斷開的時候,存儲當前設定的密碼信息。AT24C02是ATMEL公司的2KB字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10uA(5.5V),芯片內的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便7。其電路如圖3-4所示。圖3-4 掉電存儲電路原理圖3.4 密碼鎖的電源電路設計為了防止停電情況的發(fā)生,本電路設計了小型后備電源,它包括市電供電電路,停電檢測電路,電子開關切換電路,蓄電池充電電路和蓄電池組成8。電源電路圖如圖3-5所示。圖3-5 市電供電電路220V市電通過變壓器降壓成12V的交流電,再經過整流橋整流,7805穩(wěn)壓到5V送往電子切換電路,由于本電路功耗較少,所以選用10W的小型變壓器。由R8、R9、R6、R7及IC14構成電壓比較器,正常情況下,V+V-,IC14輸出高電平,由T3、T4構成的達林頓管使繼電器J開啟,將其常開觸電將蓄電池和電路相連,實現(xiàn)市電和蓄電池供電的切換,保證電子密碼鎖的正常工作(視電池容量而定持續(xù)時間)。其電路圖如下圖3-6所示。R850KR940KR730KR620KT39018R105.1KT49014123IC14741繼電器蓄電池供電5V 直流電源A1蓄電池 A25V直流電源 A1常閉常開圖3-6 停電檢測及電子開關切換電路T1、T2構成的蓄電池自動充電電路,它在電池充滿后自動停止充電,其中D1亮為正在充電,D2為工作指示。由R4、R5、T1構成電壓檢測電路,蓄電池電壓低,則T1、T2導通,實現(xiàn)對其充電;充滿后,T1、T2截止,停止充電,同時D1熄滅,電路中C4的作用是濾除干擾信號9。其電路圖如圖3-7所示。R5470R23KR13KT29014D2D1C40.1U3CG21R43K6V 蓄電池電源A26V 充電電源蓄電池T1圖3-7 蓄電池自動充電電路3.5 設計總框圖設計總框圖如圖3-8所示。矩陣鍵盤控制電源電路AT24C02掉電存儲串口顯示電路128*64液晶顯示屏AT89C51指示電路開鎖控制電路延時報警控制電路輸入錯誤鎖定鍵盤DS18B20溫度傳感器DS1302時鐘芯片圖38總體設計框圖圖3-8 設計總框圖圖3-8 設計總框圖4 系統(tǒng)原理基本原理是通過將當前輸入的密碼與原始密碼相比較,若二者相同則讓液晶屏顯示密碼正確相應的畫面,畫面顯示的是一副圖片,同時會使4個相應的發(fā)光二極管工作;否則顯示“對不起,密碼錯誤”字樣。若要修改密碼,必須輸入原始正確密碼,以進行修改。其中,原始密碼的取得是從AT24C02芯片中取得的數(shù)據(jù),當用戶修改密碼時,新的密碼會被存儲在AT24C02芯片中。由于密碼時存儲在獨立的存儲設備中,所以就實現(xiàn)了密碼的掉電存儲。本設計中還有管理員密碼,當密碼輸入錯誤的次數(shù)超過3次時,會強制鎖住密碼鎖,這時需要輸入管理員密碼來解鎖,同樣管理員密碼也可以修改,但不建議修改。4.1 系統(tǒng)流程圖系統(tǒng)具體流程圖如圖4-1和圖4-2所示。開始初始化有鍵按下?調用顯示啟動定時識別按鍵全部按完?超時?比較密碼開門開始自動清除3次?鎖定NNYYYYNNYN圖4-1 主程序流程圖圖4-2 修改密碼流程圖按下F2啟動定時輸入密碼存入緩沖再輸入一次比較密碼調用24C02調用顯示按F2退出重新輸入4.2 仿真電路圖本系統(tǒng)在設計之初在仿真軟件protues中做了全面的仿真,并且可以實現(xiàn)預期的所有功能。具體仿真圖如圖4-3和4-4所示。(額外評語:下面仿真圖中12864是用的不帶字庫的,到寫本文為止,還沒有發(fā)現(xiàn)帶漢字庫的12864能仿真,而用不帶字庫的12864,則要求單片機的ROM較大,兩種12864都可以實現(xiàn)同樣功能,報告這樣寫,作者本意可能是表示兩種方案他均能做到,但易給報告閱讀者造成誤解)圖4-3 輸入密碼圖4-4 修改密碼 4.3 實物圖按仿真圖制作的實物,基本實現(xiàn)了本設計中所寫的所有功能,具體實物圖如圖4-5所示。本圖為開機畫面,顯示制作單位“河南大學通信工程”、當時時間、溫度等。圖4-5 實物圖4.4 具體程序代碼(部分)#include #include #include unsigned char code IC_DAT1=0123456789:# -.;unsigned char password6=1,2,3,4,5,6;/原始密碼/unsigned char n=0,temp,key,b=0,i,flag,num,t0,temp1;void jianpan() P0=0xfe; temp=P0; temp=temp&0xf0; if(temp!=0xf0) temp=P0; temp=temp&0xf0; if(temp!=0xf0) temp=P0; switch(temp) case 0xee: key=1;b1t=key; t+; break; case 0xde: key=2;b1t=key; t+;break; case 0xbe: key=3;b1t=key;t+; break; case 0x7e: init(); /恢復原始密碼/ for(i=0;i6;i+) write_add(i,c1i);delayms(2); break; /程序太長不宜寫在報告中,完整程序請 /聯(lián)系QQ154401855(或154401856)下載 P0=0xfd; temp=P0; temp=temp&0xf0; if(temp!=0xf0) temp=P0; temp=temp&0xf0; if(temp!=0xf0) temp=P0; switch(temp) case 0xed: key=4;b1t=key;t+; break; case 0xdd: key=5;b1t=key; t+; break; case 0xbd: key=6;b1t=key; t+; break; case 0x7d: /重新輸入/ t=0; lcd_mesg(IC_DAT); TransferData(0x9c,0); break; P0=0xfb; temp=P0; temp=temp&0xf0; if(temp!=0xf0) temp=P0; temp=temp&0xf0; if(temp!=0xf0) temp=P0; switch(temp) case 0xeb: key=7;b1t=key; t+; break; case 0xdb: key=8;b1t=key;t+; break; case 0xbb: key=9; b1t=key;t+; break; P0=0xf7; temp=P0; temp=temp&0xf0; if(temp!=0xf0) temp=P0; temp=temp&0xf0; if(temp!=0xf0) temp=P0; switch(temp) case 0xe7: init(); for(i=0;i6;i+) a1i=read_add(i); for(i=0;i6;i+) if(a1i=b1i) h+; if(h=6)newpassword();t=0;h=0;flag=1; break; case 0xd7: key=0;b1t=key;t+; break; case 0x77:/確認/ for(i=0;i6;i+) write_add(i,b1i); else for(i=0;i6;i+) a1i=read_add(i); for(i=0;i6;i+) if(a1i=b1i) h+; if(h=6)right()

溫馨提示

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

評論

0/150

提交評論