單片機密碼鎖設計-論文_第1頁
單片機密碼鎖設計-論文_第2頁
單片機密碼鎖設計-論文_第3頁
單片機密碼鎖設計-論文_第4頁
單片機密碼鎖設計-論文_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-PAGE 2. z*工業(yè)職業(yè)技術學院 電子密碼鎖設計 姓 名: 班 級: 學 號:指導教師: Time yyyy年M月d日1:53 PM-PAGE . z摘 要隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機械鎖由于其構造的簡單,平安性能低,無法滿足人們的需要。因此通過電子控制的密碼鎖應運而生,同時電子產(chǎn)品向智能化和微型化的不斷開展,單片機成為電子產(chǎn)品研制和開發(fā)中首選的控制器。本文從經(jīng)濟實用的角度出發(fā),采用美國Atmel公司的單片機貼片AT89C52與低功耗CMOS型E2PROM AT24C02作為主控芯片與數(shù)據(jù)存儲器單元,結合外圍的鍵盤輸入、顯示、報警、開鎖等電路

2、,用C語言編寫主控芯片的控制程序,設計了一款可以屢次更改密碼具有報警功能的電子密碼鎖。經(jīng)實驗證明,該密碼鎖具有設計方法合理,簡單易行,本錢低,平安實用等特點,符合住宅、辦公室用鎖要求,具有推廣價值。關鍵詞:密碼鎖;單片機;報警洞洞板/萬能板成品圖片左下角有地址-有錄像 目 錄 HYPERLINK l _Toc25607 一、引言3TOC o 1-2 h u HYPERLINK l _Toc25607 1.1 電子密碼鎖簡介 PAGEREF _Toc25607 3 HYPERLINK l _Toc13031 1.2、電子密碼鎖的開展趨勢 PAGEREF _Toc13031 3 HYPERLINK

3、 l _Toc23440 二、設計方案的選擇 PAGEREF _Toc23440 3 HYPERLINK l _Toc808 2.1 方案一:采用數(shù)字電路控制 PAGEREF _Toc808 4 HYPERLINK l _Toc17239 2.2 方案二:采用以單片機為核心的控制方案 PAGEREF _Toc17239 4三、 系統(tǒng)構成5 HYPERLINK l _Toc19159 3.1 設計原理 PAGEREF _Toc19159 5 HYPERLINK l _Toc21856 3.2 電路總體構成 PAGEREF _Toc21856 5 HYPERLINK l _Toc8366 3.3

4、單片機電路局部 PAGEREF _Toc8366 6 HYPERLINK l _Toc24484 3.4 鍵盤輸入局部 PAGEREF _Toc24484 7 HYPERLINK l _Toc30665 3.5 密碼存儲局部 PAGEREF _Toc30665 8 HYPERLINK l _Toc4006 3.7 晶振局部 PAGEREF _Toc4006 9 HYPERLINK l _Toc13372 3.8 顯示局部 PAGEREF _Toc13372 10 HYPERLINK l _Toc27609 3.9 報警局部 PAGEREF _Toc27609 11 HYPERLINK l _T

5、oc13014 3.10 開鎖局部 PAGEREF _Toc13014 11 HYPERLINK l _Toc14995 四、 主要元器件介紹 PAGEREF _Toc14995 12 HYPERLINK l _Toc23213 五、 系統(tǒng)軟件設計 PAGEREF _Toc23213 16 HYPERLINK l _Toc11289 六、 結論 PAGEREF _Toc11289 29 HYPERLINK l _Toc23448 七、參考文獻及附錄實物圖 PAGEREF _Toc23448 29一、引言1.1 電子密碼鎖簡介電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機械開關的

6、閉合,完成開鎖、閉鎖任務的電子產(chǎn)品。它的種類很多,有簡易的電路產(chǎn)品,也有基于芯片的性價比擬高的產(chǎn)品。現(xiàn)在應用較廣的電子密碼鎖是以芯片為核心,通過編程來實現(xiàn)的。其性能和平安性已大大超過了機械鎖。其特點如下:1)性好,編碼量多,遠遠大于彈子鎖。隨機開鎖成功率幾乎為零。2) 密碼可變,用戶可以隨時更改密碼,防止密碼被盜,同時也可以防止因人員的更替而使鎖的下降。3) 誤碼輸入保護,當輸入密碼屢次錯誤時,報警系統(tǒng)自動啟動。4) 使用靈活性好,不像機械鎖必須佩帶鑰匙才能開鎖。5) 電子密碼鎖操作簡單易行,一學即會。1.2、電子密碼鎖的開展趨勢在日常生活和工作中,住宅與部門的平安防、單位的文件檔案、財務報表

7、以及一些個人資料的保存多以加鎖的方法來解決。目前門鎖主要用彈子鎖,其鑰匙容易喪失;保險箱主要用機械密碼鎖,其構造較為復雜,制造精度要求高,本錢高,且易出現(xiàn)故障,人們常需攜帶多把鑰匙,使用極不方便,且鑰匙喪失后平安性即大打折扣。針對這些鎖具給人們帶來的不便假設使用機械式鑰匙開鎖,為滿足人們對鎖的使用要求,增加其平安性,用密碼代替鑰匙的密碼鎖應運而生。它的出現(xiàn)為人們的生活帶來了很大的方便,有很廣闊的市場前景。由于電子器件所限,以前開發(fā)的電子密碼鎖,其種類不多,性差,最根本的就是只依靠最簡單的模擬電子開關來實現(xiàn)的,制作簡單但很不平安,在后為多是基于EDA來實現(xiàn)的,其電路構造復雜,電子元件繁多,也有使

8、用早先的20引腳的2051系列單片機來實現(xiàn)的,但密碼簡單,易破解。隨著電子元件的進一步開展,電子密碼鎖也出現(xiàn)了很多的種類,功能日益強大,使用更加方便,平安性更強,由以前的單密碼輸入開展到現(xiàn)在的,密碼加感應元件,實現(xiàn)了真實的電子加密,用戶只有密碼或電子鑰匙中的一樣,是打不開鎖的,隨著電子元件的開展及人們對性需求的提高出現(xiàn)了越來越多的電子密碼鎖。1.3、本設計所要實現(xiàn)的目標本設計采用單片機為主控芯片,結合外圍電路,組成電子密碼鎖,用戶想要翻開鎖,必先通過提供的鍵盤輸入正確的密碼才能將鎖翻開,密碼輸入錯誤有提示,為了提高平安性,當密碼輸入錯誤三次將報警。密碼可以由用戶自己修改設定,鎖翻開后才能修改密

9、碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確認,以防止誤操作。二、設計方案的選擇2.1 方案一:采用數(shù)字電路控制用以74LS112雙JK觸發(fā)器構成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設了9個用戶輸入鍵,其中只有4個是有效的密碼按鍵,其它的都是干擾按鍵,假設按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時間超過10秒一般情況下,用戶不會超過10秒,假設用戶覺得不便,還可以修改電路將報警20秒,假設電路連續(xù)報警三次,電路將鎖定鍵盤2分鐘,防止他人的非法操作。采用數(shù)字電路設計的方案好處就是設計簡單但控制的準確性和靈活性差。故不采用2.2 方案

10、二:采用以單片機為核心的控制方案由于單片機種類繁多,各種型號都有其一定的應用環(huán)境,因此在選用時要多加比擬,合理選擇,以期獲得最正確的性價比。一般來說在選取單片機時從下面幾個方面考慮:性能、存儲器、運行速度、I/O口、定時/計、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、性,除了以上的一些的還有一些最數(shù)器根本的比方:中斷源的數(shù)量和優(yōu)先級、工作溫度圍、有沒有低電壓檢測功能、單片機有無時鐘振蕩器、有無上電復位功能等。在開發(fā)過程中單片機還受到:開發(fā)工具、編程器、開發(fā)本錢、開發(fā)人員的適應性、技術支持和效勞等等因素。2.3 最終方案基于以上因素:本設計選用單片機AT89C52作為本設計的核

11、心元件,利用單片機靈活的編程設計和豐富的I/O端口,及其控制的準確性,實現(xiàn)根本的密碼鎖功能。在單片機的外圍電路:外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接AT24C02芯片用于密碼的存儲,外接LCD1602顯示器用于顯示作用。當用戶需要開鎖時,先按鍵盤的數(shù)字鍵09輸入密碼。密碼輸完后按下確認鍵,如果密碼輸入正確則開鎖,不正確顯示密碼錯誤重新輸入密碼,當三次密碼錯誤則發(fā)出報警;當用戶需要修改密碼時,先按下鍵盤設置鍵后輸入原來的密碼,只有當輸入的原密碼正確后才能設置新密碼。新密碼輸入無誤后按確認鍵使新密碼將得到存儲,密碼修改成功。應電0901AT89C52貼片程序鍵盤輸入報警模塊繼電器模塊1

12、602顯示24c02模塊方案框架圖:三、 系統(tǒng)構成3.1 設計原理 設計原理:系統(tǒng)由硬件局部與軟件局部兩局部構成。其中硬件局部由單片機、電源輸入局部、鍵盤輸入局部、密碼存儲局部、復位局部、晶振局部、顯示局部、報警局部、開鎖局部組成,軟件局部對應的由主程序、初始化程序、LCD顯示程序、鍵盤掃描程序、啟動程序、關閉程序、建功能程序、密碼設置程序、EEPROM讀寫程序和延時程序等組成。其原理框圖如圖4-1所示。AT89C52鍵盤輸入復位電路密碼存儲電路晶振電路電源輸入顯示電路報警電路開鎖電路圖3-1 電子密碼鎖原理框圖3.2 電路總體構成根據(jù)系統(tǒng)要求畫出的設計圖總圖-如圖3-2:圖3-2 電電路原理

13、圖電路由單片機、矩陣鍵盤、1602液晶顯示和24c02密碼存儲等局部組成。其中矩陣鍵盤用于輸入數(shù)字密碼和進展各種功能的實現(xiàn)。由用戶通過連接單片機的矩陣鍵盤輸入密碼,后經(jīng)過單片機對用戶輸入的密碼與24c02保存的密碼進展比照,從而判斷密碼是否正確,然后控制單片機各引腳的上下電平從而傳到開鎖電路或者報警電路控制開鎖還是報警,實際使用時只要將單片機的負載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可,當然也可以用繼電器的常開觸點去控制電磁鐵吸合線圈。3.3 單片機電路局部 本次設計采用AT89C52貼片芯片,AT89C52是一個低電壓,高性能CMOS 8位單片機,通過用keil軟件編寫程序,然后燒到單片

14、機里面去,然后讓它對整個系統(tǒng)進展信息的處理,如可以讓它處理矩陣鍵盤傳過來的信息,并根據(jù)編好的程序來確定哪個按鍵按下,并處理相應按鍵對應的功能,然后把相應的信息反響到單片機的各個引腳,來實現(xiàn)按鍵實現(xiàn)的現(xiàn)象,如:顯示是否開啟鎖,報警等。它的電路如圖3-3所示: 圖3-3 單片機電路3.4 鍵盤輸入局部由于本設計所用到的按鍵數(shù)量較多而不適合用獨立按鍵式鍵盤。采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的穿插點上,密碼鎖的密碼由鍵盤輸入完成,與獨立式按鍵鍵盤相比,要節(jié)省很多I/O口。本設計中使用的這個4*4鍵盤不但能完成密碼的輸入還能作特別功能鍵使用,比方修改密碼功能等。鍵

15、盤的每個按鍵功能在程序設計中已經(jīng)編寫好。其大體功能看鍵盤按鍵上的標記及與單片機引腳接法如圖3-4所示:圖3-4 鍵盤輸入原理圖矩陣鍵盤采用行列掃描法,行掃描法又稱逐行掃描查詢法,是一種最常用的按鍵掃描方法,如上圖所示,開場時把行線P1.0-P1.3置為低電平,然后掃描列線,如果有一行列線為低電平,則去抖后判斷是否還有一行列線為低電平,如果還有,則這條列線為低電平,同時處在這條行線中的按鍵為低電平,然后判斷是哪個按鍵按下,如果列線全部為高電平,則表示沒有按鍵按下,往復循環(huán)掃描。3.5 密碼存儲局部用EPROM芯片AT24C02存儲密碼。AT24C02是美國Atmel公司的低功耗CMOS型E2PR

16、OM,含2568位存儲空間,通過單片機對24c02芯片進展密碼存儲,存儲好密碼后,通過按鍵輸入密碼與存儲芯片里面的數(shù)據(jù)進展比照,根據(jù)數(shù)據(jù)是否一致,來執(zhí)行相應的操作,還可以根據(jù)按鍵操作來執(zhí)行是否更換數(shù)據(jù)。電路連接圖如圖3-5所示:圖3-5 密碼存儲電路原理圖圖中AT24C02的1、2、3腳是三條地址線,用于確定芯片的硬件地址。它們都接地,第8腳和第4腳分別為正、負電源。第5腳SDA為串行數(shù)據(jù)輸入/輸出,數(shù)據(jù)通過這條雙向I2C總線串行傳送,與單片機的P1.5連接。第6腳SCL為串行時鐘輸入線,與單片機的P1.6連接。SDA和SCL都需要和正電源間各接一個5.1K的電阻上拉。第7腳需要接地。3.6

17、復位部位單片機復位是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開場工作,例如復位后PC0000H,使單片機從第個單元取指令。無論是在單片機剛開場接上電源時,還是斷電后或者發(fā)生故障后都要復位。在復位期間即RST為高電平期間,P0口為高組態(tài),P1P3口輸出高電平;外部程序存儲器讀選通信號PSEN無效。地址鎖存信號ALE也為高電平。根據(jù)實際情況選擇如圖3-6所示的復位電路。圖3-6 復位電路原理圖3.7 晶振局部AT89C52引腳*TAL1和*TAL2與晶體振蕩器及電容C5、C6按圖3-7所示方式連接。晶振、電容C5C6及片與非門作為反響、放大元件構成了電容三點式振蕩器,振

18、蕩信號頻率與晶振頻率及電容C5、C6的容量有關,但主要由晶振頻率決定,圍在033MHz之間,電容C5、C6取值圍在530pF之間。根據(jù)實際情況,本設計中采用12MHZ做為系統(tǒng)的外部晶振。電容取值為30pF。如圖3-7所示:3-7 晶振電路3.8 顯示局部為了提高密碼鎖的密碼顯示效果能力。本設計的顯示局部由液晶顯示器LCD1602取代普通的數(shù)碼管來完成。開場時顯示器將一直處于初始狀態(tài),當需要對密碼鎖進展開鎖時,按下數(shù)字鍵09輸入密碼,每按下一個數(shù)字鍵后在顯示器上顯示一個*,最多顯示6位。當密碼輸入完成時,按下確認鍵,如果輸入的密碼正確的話, LCD子顯示Right Open,單片機其中P1.3引

19、角會輸出低電平,使三極管導通,電磁鐵吸合,電子密碼鎖被翻開,如果密碼不正確,LCD顯示屏會顯示Error Retry,P1.3輸出的是高電平,電子密碼鎖不能被翻開。通過LCD顯示屏,可以清楚的判斷出鎖所處的狀態(tài)。其顯示局部引腳接口如圖4-8所示:圖3-8 顯示電路原理圖3.9 報警局部報警局部由蜂鳴器及外圍電路組成,加電后不發(fā)聲,當密碼輸入錯誤三次時,單片機的P1.4引腳為低電平,三極管導通執(zhí)行蜂鳴器警車聲子程序發(fā)出警笛報警。如圖3-9所示:圖3-9 報警電路原理圖3.10 開鎖局部開鎖用戶通過鍵盤任意設置密碼,并儲存在EEPROM中作為鎖碼指令。開鎖步驟如下:首先按下鍵盤數(shù)字鍵09輸入密碼,

20、最后按下確認鍵。當用戶輸入一密碼后,單片機自動識碼,如果識碼不符,則提示重新輸入,如果超過三次則報警。如果正確,系統(tǒng)使單片機其中一引腳線發(fā)出信號,經(jīng)三極管放大后,由繼電器驅動電磁閥動作將鎖翻開,實物中用led代替繼電器。圖3-10 開鎖電路原理圖四、 主要元器件介紹4.1 主控芯片AT89C524.1.1 AT89C52性能簡介AT89C52為8 位通用微處理器,采用工業(yè)標準的C51核,在部功能及管腳排布上與通用的8*c52 一樣,其主要用于會聚調整時的功能控制。功能包括對會聚主IC 部存放器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與

21、主板CPU通信等。主要管腳有:*TAL119 腳和*TAL218 腳為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd9 腳為復位輸入端口,外接電阻電容組成的復位電路。VCC40 腳和VSS20 腳為供電端口,分別接+5V電源的正負端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設計中,P0 端口3239 腳被定義為N1 功能控制端口,分別與N1的相應功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS18腳和SCLS19腳端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板CPU 的相應功能端,用于當

22、前制式的檢測及會聚調整狀態(tài)進入的控制功能。如圖4-1 4-1圖 單片機引腳 其主要功能特性: 兼容MCS-51指令系統(tǒng);4k可反復擦寫(1000次ISP Flash ;ROM32個雙向I/O口; 4.5-5.5V工作電壓;2個16位可編程定時/計數(shù)器時鐘頻率0-33MHz 全雙工UART串行中斷口線 128*8 bit部RAM 2個外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 3級加密位 看門狗WDT電路 軟件設置空閑和省電功能 靈活的ISP字節(jié)和分頁編程 雙數(shù)據(jù)存放器指針 4.2 存儲芯片AT24C02AT24C02是美國Atmel公司的低功耗CMOS型E2PROM,含2568位存儲空

23、間,具有工作電壓寬(2.55.5 V)、擦寫次數(shù)多(大于10000次)、寫入速度快(小于10 ms)、抗干擾能力強、數(shù)據(jù)不易喪失、體積小等特點。而且他是采用了I2C總線式進展數(shù)據(jù)讀寫的串行器件,占用很少的資源和IO線,并且支持在線編程,進展數(shù)據(jù)實時的存取十分方便。AT24C02中帶有的片地址存放器。每寫入或讀出一個數(shù)據(jù)字節(jié)后,該地址存放器自動加1,以實現(xiàn)對下一個存儲單元的讀寫。所有字節(jié)均以單一操作方式讀取。為降低總的寫入時間,一次操作可寫入多達8個字節(jié)的數(shù)據(jù)。I2C總線是一種用于IC器件之間連接的二線制總線。他通過SDA(串行數(shù)據(jù)線)及SCL(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,

24、并根據(jù)地址識別每個器件。 AT24C02正是運用了I2C規(guī)程,使用主從機雙向通信,主機(通常為單片機)和從機(AT24C02)均可工作于接收器和發(fā)送器狀態(tài)。主機產(chǎn)生串行時鐘信號(通過SCL引腳)并發(fā)出控制字,控制總線的傳送方向,并產(chǎn)生開場和停頓的條件。無論是主機還是從機,接收到一個字節(jié)后必須發(fā)出一個確認信號ACK。AT24C02的控制字由8位二進制數(shù)構成,在開場信號發(fā)出以后,主機便會發(fā)出控制字,以選擇從機并控制總線傳送的方向。 SOIC PDIP圖4-2 AT24C02的兩種引腳圖24C02中帶有片地址存放器。每寫入或讀出一個數(shù)據(jù)字節(jié)后,該地址存放器自動加1,以實現(xiàn)對下一個存儲單元的讀寫。所有

25、字節(jié)均以單一操作方式讀取。為降低總的寫入時間,一次操作可寫入多達8個字節(jié)的數(shù)據(jù)。4.3 LCD1602顯示器 現(xiàn)在的字符型液晶模塊已經(jīng)是單片機應用設計中最常用的信息顯示器件了。1602型LCD顯示模塊具有體積小,功耗低,顯示容豐富等特點。1602型LCD可以顯示2行16個字符,有8位數(shù)據(jù)總線D0D7和RS,R/W,EN三個控制端口,工作電壓為5V,并且具有字符比照度調節(jié)和背光功能。 接口信號說明1602型LCD的接口信號說明如表4-3所示:編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3V0液晶顯示偏壓信號11D4Data I/O4

26、RS數(shù)據(jù)/命令選擇端H/L12D5Data I/O5R/W讀寫選擇端H/L13D6Data I/O6E使能信號14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data I/O16BLK背光源負極 表4-3 1602型LCD的接口信號說明 主要技術參數(shù)1602型LCD的主要技術參數(shù)如下表所示:顯示容量16*2個字符芯片工作電壓4.55.5V工作電流2.0mA5.0V模塊最正確工作電壓5.0V字符尺寸2.95*4.35(W*H)mm 表4-4 1602型LCD的主要技術參數(shù) 根本操作程序讀狀態(tài):輸入:RS=L,RW=L, E=H 輸出:D0D7=狀態(tài)字讀數(shù)據(jù):輸入:RS=H

27、,RW=H, E=H 輸出:無寫指令:輸入:RS=L,RW=L, D0D7=指令碼,E=高脈沖 輸出:D0D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L, D0D7=數(shù)據(jù), E=高脈沖 輸出:無4.4 晶體振蕩器石英晶體振蕩器是利用石英晶體二氧化硅的結晶體的壓電效應制成的一種諧振器件,它的根本構成大致是:從一塊石英晶體上按一定方位角切下薄片簡稱為晶片,它可以是正方形、矩形或圓形等,在它的兩個對應面上涂敷銀層作為電極,在每個電極上各焊一根引線接到管腳上,再加上封裝外殼就構成了石英晶體諧振器,簡稱為石英晶體或晶體、晶振。其產(chǎn)品一般用金屬外殼封裝,也有用玻璃殼、瓷或塑料封裝的。只要在晶體振子板極上施加交

28、變電壓,就會使晶片產(chǎn)生機械變形振動,此現(xiàn)象即所謂逆壓電效應。當外加電壓頻率等于晶體諧振器的固有頻率時,就會發(fā)生壓電諧振,從而導致機械變形的振幅突然增大。晶體振蕩器,簡稱晶振,其作用在于產(chǎn)生原始的時鐘頻率,這個頻率經(jīng)過頻率發(fā)生器的放大或縮小后就成了電腦中各種不同的總線頻率。以聲卡為例,要實現(xiàn)對模擬信號44.1kHz或48kHz的采樣,頻率發(fā)生器就必須提供一個44.1kHz或48kHz的時鐘頻率。如果需要對這兩種音頻同時支持的話,聲卡就需要有兩顆晶振。但是現(xiàn)在的娛樂級聲卡為了降低本錢,通常都采用SCR將輸出的采樣頻率固定在48kHz,但是SRC會對音質帶來損害,而且現(xiàn)在的娛樂級聲卡都沒有很好地解決

29、這個問題。現(xiàn)在應用最廣泛的是石英晶體振蕩器。石英晶體振蕩器是一種高精度和高穩(wěn)定度的振蕩器,石英晶體振蕩器也稱石英晶體諧振器,它用來穩(wěn)定頻率和選擇頻率,是一種可以取代LC諧振回路的晶體諧振元件。石英晶體振蕩器廣泛地應用在電視機、影碟機、錄像機、無線通訊設備、電子鐘表、單片機、數(shù)字儀器儀表等電子設備中。為數(shù)據(jù)處理設備產(chǎn)生時鐘信號和為特定系統(tǒng)提供基準信號。在單片機中為其提供時鐘頻率。五、 系統(tǒng)軟件設計本系統(tǒng)軟件設計由主程序、初始化程序、LCD顯示程序程序、鍵盤掃描程序、鍵盤功能程序、密碼設置程序、EEPROM讀寫程序和延時程序等組成。主要程序設計流程圖如下所示:1、先執(zhí)行初始化程序,然后啟動程序,執(zhí)

30、行鍵盤掃描程序,根據(jù)各個功能鍵執(zhí)行相應的功能。開場初始化鍵盤程序啟動程序鍵盤掃描鍵功能程序完畢關閉程序圖5-1 主程序流程圖2、鍵盤功能程序 :先掃描各個IO口,根據(jù)各個IO口確定哪個鍵按下,然后設置各個鍵的功能。 鍵功能程序鍵值09.鍵值開鎖.鍵值去除.鍵值設置.鍵值確認.密碼輸入程序設置程序去除程序開鎖程序確認程序YYYYYNNNN返回N圖5-2 鍵功能流程圖設置程序初始化按下設置鍵輸舊密碼確認程序所輸入舊密碼正確.輸新密碼確認程序設置成功輸入次數(shù)加1次數(shù)3報警程序NYNY返回確認程序再次輸新密碼兩次新密碼輸入一樣.NY 圖5-3 密碼設置流程圖初始化按開鎖鍵輸入密碼確認程序所輸入密碼正確

31、.Y開鎖成功開鎖程序輸入次數(shù)加1次數(shù)3報警程序返回NYN 圖5-4 開鎖流程圖程序清單:1602子程序:/*名稱:LCD1602 應用電子 引腳定義如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK*/*include 1602.h*include delay.h*define CHECK_BUSYsbit RS = P10; /定義端口 sbit RW = P11;sbit EN = P12;*define RS_CLR RS=0 *define RS_SET RS=1*define RW_CLR RW=0 *defin

32、e RW_SET RW=1 *define EN_CLR EN=0*define EN_SET EN=1*define DataPort P2/* 判忙函數(shù)*/ bit LCD_Check_Busy(void) *ifdef CHECK_BUSY DataPort= 0*FF; RS_CLR; RW_SET; EN_CLR; _nop_(); EN_SET; return (bit)(DataPort & 0*80);*else return 0;*endif /* 寫入命令函數(shù)*/ void LCD_Write_(unsigned char ) / while(LCD_Check_Busy(

33、); /忙則等待 DelayMs(5); RS_CLR; RW_CLR; EN_SET; DataPort= ; _nop_(); EN_CLR; /* 寫入數(shù)據(jù)函數(shù)*/ void LCD_Write_Data(unsigned char Data) /while(LCD_Check_Busy(); /忙則等待 DelayMs(5); RS_SET; RW_CLR; EN_SET; DataPort= Data; _nop_(); EN_CLR; /* 清屏函數(shù)*/ void LCD_Clear(void) LCD_Write_(0*01); DelayMs(5); /* 寫入字符串函數(shù)*/

34、void LCD_Write_String(unsigned char *,unsigned char y,unsigned char *s) while (*s) LCD_Write_Char(*,y,*s); s +; *+; /* 寫入字符函數(shù)*/void LCD_Write_Char(unsigned char *,unsigned char y,unsigned char Data) if (y = 0) LCD_Write_(0*80 + *); else LCD_Write_(0*C0 + *); LCD_Write_Data( Data); /* 初始化函數(shù)*/ void LC

35、D_Init(void) LCD_Write_(0*38); /*顯示模式設置*/ DelayMs(5); LCD_Write_(0*38); DelayMs(5); LCD_Write_(0*38); DelayMs(5); LCD_Write_(0*38); LCD_Write_(0*08); /*顯示關閉*/ LCD_Write_(0*01); /*顯示清屏*/ LCD_Write_(0*06); /*顯示光標移動設置*/ DelayMs(5); LCD_Write_(0*0C); /*顯示開及光標設置*/ 延時函數(shù)子程序:*include delay.h/* uS延時函數(shù),含有輸入?yún)?shù)

36、 unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的圍是 0255 這里使用晶振12M,準確延時請使用匯編,大致延時 長度如下 T=t*2+5 uS */void DelayUs2*(unsigned char t) while(-t);/* mS延時函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的圍是 0255 這里使用晶振12M,準確延時請使用匯編*/void DelayMs(unsigned char t) while(t-) /大致延時1mS DelayUs2*(245

37、); DelayUs2*(245); 按鍵掃描子程序:/* 名稱:矩陣鍵盤 作者 :應用電子 */*include /包含頭文件,一般情況不需要改動,頭文件包含特殊功能存放器的定義*includekeyboard.h*includedelay.hsbit P1_4=P14;*define KeyPort P0/*按鍵掃描函數(shù),返回掃描鍵值*/unsigned char KeyScan(void) /鍵盤掃描函數(shù),使用行列反轉掃描法 unsigned char cord_h,cord_l;/行列值中間變量 KeyPort=0*0f; /行線輸出全為0 cord_h=KeyPort&0*0f; /

38、讀入列線值 if(cord_h!=0*0f) /先檢測有無按鍵按下 DelayMs(10); /去抖 if(KeyPort&0*0f)!=0*0f) P1_4=0;DelayMs(75);P1_4=1; cord_h=KeyPort&0*0f; /讀入列線值 KeyPort=cord_h|0*f0; /輸出當前列線值 cord_l=KeyPort&0*f0; /讀入行線值 while(KeyPort&0*f0)!=0*f0);/等待松開并輸出 return(cord_h+cord_l);/鍵盤最后組合碼值 return(0*ff); /返回該值/*按鍵值處理函數(shù),返回掃鍵值*/unsigned

39、 char KeyPro(void) switch(KeyScan() case 0*7e:return 0;break;/0 按下相應的鍵顯示相對應的碼值 case 0*7d:return 1;break;/1 case 0*7b:return 2;break;/2 case 0*77:return 3;break;/3 case 0*be:return 4;break;/4 case 0*bd:return 5;break;/5 case 0*bb:return 6;break;/6 case 0*b7:return 7;break;/7 case 0*de:return 8;break;

40、/8 case 0*dd:return 9;break;/9 case 0*db:return 10;break;/a case 0*d7:return 11;break;/b case 0*ee:return 12;break;/c case 0*ed:return 13;break;/d case 0*eb:return 14;break;/e case 0*e7:return 15;break;/f default:return 0*ff;break; 主函數(shù):/* 名稱:液1602晶顯示密碼鎖 */*include /頭文件,頭文件包含特殊功能存放器的定義 *include*inclu

41、de1602.h*includedelay.h*includekeyboard.h*includelaba.hunsigned char code password=1,2,3,4,5,6,;/可以更改此密碼做多組測試/定義密碼,實際上密碼需要存在eeprom中,可以通過程序更改。請用戶自行添加/* 主程序 */main() unsigned char num,i,k,j,m,n=10; unsigned char passwordtemp16; /最大輸入16個 unsigned char inputtimes; /密碼輸入錯誤次數(shù) unsigned char passwordlength,

42、PLEN; /輸入密碼長度,實際密碼長度 bit Flag; PLEN=sizeof(password)/sizeof(password0);/用于計算出實際密碼長度 LCD_Init(); /初始化液晶屏 DelayMs(10); /延時用于穩(wěn)定,可以去掉 LCD_Clear(); /清屏 LCD_Write_String(0,0, Hello Wele! ); /寫入第一行信息,主循環(huán)中不再更改此信息,所以在while之前寫入 LCD_Write_String(0,1, Please Input!); /寫入第二行信息,提示輸入密碼while (1) /主循環(huán) num=KeyPro();

43、/掃描鍵盤 if(num!=0*ff) /如果掃描是按鍵有效值則進展處理 if(i=0) /輸入是第一個字符的時候需要把改行清空,方便觀看密碼 LCD_Write_String(0,1, );/去除該行 LCD_Write_String(0,0, Hello Wele! ); if(i16) passwordtempi=num; if(k6) i=6;if(15=num)/輸入按鍵值15或者密碼輸入到最大值16,表示輸入完畢,需要進展比對 passwordlength=i; /計算輸入密碼長度 i=0; /計數(shù)器復位 k=0;/*標志位復位 if(passwordlength=PLEN)/長度

44、相等則比擬,否則直接輸出錯誤 Flag=1;/先把比擬位置1 for(j=0;j);/密碼正確顯示的信息LCD_Write_String(0,0,Nice To Meet You );/去除該行 inputtimes=0;/輸入正確則次數(shù)清零,重新計數(shù) Flag=0; /去除正確標志 else LCD_Write_String(0,1, );/去除該行LCD_Write_String(0,1,Error! Retry!);/密碼錯誤,提示重新輸入inputtimes+;/連續(xù)輸入錯誤,則次數(shù)累加if(inputtimes=3) LCD_Write_String(0,1, );/去除該行 LCD

45、_Write_String(0,1,Error To 3 Times!);/密碼錯誤,提示重新輸入 la();/停頓該位置,重啟電源后才能輸入,實際實用中則需要等到一定時間后才能再次輸入。 報警音:*include /包含頭文件,一般情況不需要改動,頭文件包含特殊功能存放器的定義*includelaba.h*includedelay.hsbit SPK=P14; /定義喇叭端口unsigned char frq; void Init_Timer0(void) TMOD |= 0*01; /使用模式1,16位定時器,使用|符號可以在使用多個定時器時不受影響 /TH0=0*00; /給定初值 /T

46、L0=0*00; EA=1; /總中斷翻開 ET0=1; /定時器中斷翻開 TR0=1; /定時器開關翻開/* 主函數(shù)*/void la() Init_Timer0(); /初始化定時器 while(1) DelayMs(1); /延時1ms,累加頻率值 frq+; /* 定時器中斷子程序*/void Timer0_isr(void) interrupt 1 TH0=0*fe; /重新賦值 TL0=frq; /低8位值在主程序中不斷累加 SPK=!SPK; /端口電平取反六、 結論本設計從經(jīng)濟實用的角度出發(fā),采用美國Atmel公司的單片機AT89C52與低功耗CMOS型E2PROMAT24C0

47、2作為主控芯片與數(shù)據(jù)存儲器單元,結合外圍的鍵盤輸入、顯示、報警、開鎖等電路并用C語言編寫主控芯片的控制程序,研制了一款可以屢次更改密碼具有報警功能的電子密碼鎖。設計完全可行可以到達設計目地。使用單片機制作的電子密碼鎖具有軟硬件設計簡單,易于開發(fā),本錢較低,平安可靠,操作方便等特點,可應用于住宅、辦公室的保險箱及檔案柜等需要防盜的場所,有一定的實用性。該電路設計還具有按鍵有效提示,輸入錯誤提示,控制開鎖電平,控制報警電路,修改密碼等多種功能。可在意外泄密的情況下隨時修改密碼。性強,靈活性高,特別適用于家庭、辦公室、學生宿舍及賓館等場所。七、參考文獻:1 石文軒,宋薇.基于單片機MCS一1的智能密

48、碼鎖設計M.工程職業(yè)技術學院學報,2004,(01);2 祖龍起,仁杰.,2005,(10);4 郭海英.基于單片機的電子平安密碼鎖的設計M.現(xiàn)代電子技術,2005,(13);5 明喜.新型電子密碼鎖的設計J.機電產(chǎn)品開發(fā)與創(chuàng)新,2004,(03);6 董繼成.一種新型平安的單片碼鎖J.電子技術,2004,(03);7 祖龍起,仁杰,乃凌.一種新穎的電一種新型可編程密碼鎖J.輕工業(yè)學院學報,2002,(01);8 明喜.新型電子密碼鎖的設計J.機電產(chǎn)品開發(fā)與創(chuàng)新,2004,(03);9 茂濤.一種電子密碼鎖的實現(xiàn)J.電腦,2004,(08);10 瞿貴榮.實用電子密碼鎖J.家庭電子,2000,

49、(07);11 ATmega.ATmega8L-8AC,2006,(01);12Wireless World,1998,vol、84,No、1509,p69;13 王千.實用電子電路大全M,電子工業(yè),2001,p101;附錄1: 2 實物圖1 整體圖 3 實物圖2 開鎖圖畢業(yè)論文題目:基于單片機的電子密碼鎖的設計專業(yè):通信工程摘要單片機已經(jīng)在家電領域中得到了廣泛的應用,而且在平安密保方面,具有防盜報警功能的電子密碼鎖逐漸取代了傳統(tǒng)的機械密碼鎖,克制了機械密碼鎖密碼過少的平安性問題。本密碼鎖的主控芯片采用價格實惠而且容易購置的 STC89C52芯片。密碼輸入采用矩陣鍵盤及獨立鍵盤,密碼顯示采用共

50、陰極的八段顯示數(shù)碼管。系統(tǒng)能完成密碼輸入、正確開鎖、超次報警這些根本的密碼鎖的功能。系統(tǒng)的軟件實現(xiàn)采用功能強大且易于開發(fā)的KeilC51環(huán)境,且支持ISP下載。因此沒使用編程器,用C語言實現(xiàn)系統(tǒng)的軟件局部。由于51單片機也有一些缺乏之處如斷電后部RAM儲存的數(shù)據(jù)會完全喪失,為了克制這一缺點,系統(tǒng)的外圍加了掉電存儲電路并且由AT24C02芯片來實現(xiàn)。此設計具有平安性高、價格低廉便于實現(xiàn)、易于改良等優(yōu)點。 【關鍵詞】 電子密碼鎖 STC89C52 矩陣鍵盤 AT24C02ABSTRACTMCU had been widely used in home appliance field,in the

51、security password protection aspect anti-theft alarm function electronic bination lock gradually replace the traditional mechanical trick lock,it also overethe security problems that the password of machinery bination lock are too few. This bination locks master chip adopts STC89C52 which is afforda

52、ble and easy to buy.Passwords input adopt matri* keyboard and independent keyboard, passwords display using the erection of the cathode tube display digital. This system can acplish password input, correct unlock, super times alarm ,these basic bination lock function .Software realization of this sy

53、stem is used in KeilC51environment .it is powerful and easy to develop, and to support ISP to download. Therefore it is not use programmer, use C language implementation software of system ponents. Because 51MCU also has some disadvantages ,such as the internal RAM stored data will be pletely lose a

54、fter power failure, in order to, the systems periphery added off electricity storage circuit and use AT24C02 chip to overe these shortings. This design has a high security, a low prices,which is easy to be realized and improved.【Key words】Electronic bination lockSTC89C52Matri* keyboardAT24C02前 言隨著社會

55、物質財富的日益增長,平安防盜已成為社會問題。如何實現(xiàn)防盜和平安這一問題也變的尤其的突出,傳統(tǒng)的機械鎖由于其構造的簡單,被撬的事件屢見不鮮,而鎖自古以來就是把門戶的將軍,人們對其要求比擬高,不僅能夠平安的防盜,而且還要使用方便,這是制鎖者長期以來研制的主題。而當今社會由于計算機的迅猛開展,數(shù)字電子技術已經(jīng)進入人們生活的各個領域,在國外,電子產(chǎn)品的更新可謂如雨后的春筍層出不群,更多的電子產(chǎn)品也越來越多的應用于平安防領域。有需求就必有開展,不同種類的鎖也應運而生,有密碼鎖、磁性鎖、電子鎖、激光鎖、聲控鎖等等,它們的實現(xiàn)在傳統(tǒng)鑰匙的根底上加了一組或多組密碼,不同聲音,不同磁場,不同聲波,不同光束光波,

56、不同圖像如指紋、眼底視網(wǎng)膜等來控制鎖的開啟。電子密碼鎖由于其性高,使用靈活性好,平安系數(shù)高,受到了廣闊用戶的親呢。電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機械開關的閉合,完成開鎖、閉鎖任務的電子產(chǎn)品。它的種類很多,有簡易的電路產(chǎn)品,也有基于芯片的性價比擬高的產(chǎn)品?,F(xiàn)在應用較廣的電子密碼鎖是以芯片為核心,通過編程來實現(xiàn)的。其性能和平安性已大大超過了機械鎖。其特點如下:1) 性好,編碼量多。隨機開鎖成功率幾乎為零。2) 密碼可變,用戶可以隨時更改密碼,防止密碼被盜,同時也可以防止因人員的更替而使鎖的下降。3) 誤碼輸入保護,當輸入密碼屢次錯誤時,報警系統(tǒng)自動啟動。4) 無活動零

57、件,不會磨損,壽命長。5) 使用靈活性好,不像機械鎖必須佩帶鑰匙才能開鎖。6) 電子密碼鎖操作簡單易行,一學即會。隨著電子元件的進一步開展,電子密碼鎖也出現(xiàn)了很多的種類,功能日益強大,使用更加方便,平安性更強,由以前的單密碼輸入開展到現(xiàn)在的,密碼加感應元件,實現(xiàn)了真正的電子加密,用戶只有密碼或電子鑰匙中的一樣,是打不開鎖的,隨著電子元件的開展及人們對性需求的提高出現(xiàn)了越來越多的電子密碼鎖。本系統(tǒng)由單片機系統(tǒng)、矩陣鍵盤、LED顯示和報警系統(tǒng)組成。系統(tǒng)能完成密碼輸入、開鎖、超次報警的功能。除上述根本的密碼鎖功能外,還具有掉電存儲、聲光提示等功能,依據(jù)實際的情況還可以添加其他功能。本系統(tǒng)本錢低廉,功

58、能實用。目 錄TOC o 1-3 h z uHYPERLINK l _Toc2953062241 緒 論 PAGEREF _Toc295306224 h 1HYPERLINK l _Toc2953062251.1 單片機及其特點 PAGEREF _Toc295306225 h 1HYPERLINK l _Toc2953062261.2單片機的開展及應用 PAGEREF _Toc295306226 h 1HYPERLINK l _Toc2953062271.2.1 單片機的開展趨勢 PAGEREF _Toc295306227 h 1HYPERLINK l _Toc295306228單片機的應用

59、PAGEREF _Toc295306228 h 2HYPERLINK l _Toc2953062291.3 MCS-51系列單片機 PAGEREF _Toc295306229 h 3HYPERLINK l _Toc2953062302系統(tǒng)硬件設計 PAGEREF _Toc295306230 h 5HYPERLINK l _Toc2953062312.1 設計思路 PAGEREF _Toc295306231 h 5HYPERLINK l _Toc2953062322.2系統(tǒng)方案的選擇 PAGEREF _Toc295306232 h 5HYPERLINK l _Toc2953062332.2.1

60、電子密碼鎖功能簡述 PAGEREF _Toc295306233 h 6HYPERLINK l _Toc2953062342.2.2 系統(tǒng)的總體設計 PAGEREF _Toc295306234 h 6HYPERLINK l _Toc2953062352.3單元電路的設計 PAGEREF _Toc295306235 h 7HYPERLINK l _Toc295306236主控芯片介紹 PAGEREF _Toc295306236 h 7HYPERLINK l _Toc2953062372.3.2 鍵盤輸入電路 PAGEREF _Toc295306237 h 9HYPERLINK l _Toc2953

溫馨提示

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

評論

0/150

提交評論