版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 本 科 畢 業(yè) 設 計(論文) 題目 基于單片機的電子密碼鎖設計 院(系部) 河北大學 專業(yè)名稱 電子信息工程 年級班級 學生姓名 指導教師 2011年 月 日河北大學本科畢業(yè)論文摘要本課題設計了一種基于單片機的數字電子密碼鎖,這種數字電子密碼鎖以單片機作為數據處理主控芯片。電子密碼鎖的設計主要由四部分組成:44矩陣鍵盤接口電路、以at89s52芯片為核心的密碼鎖的數據處理及控制電路、掉電情況下依然能保存密碼的eeprom存儲器芯片,輸出七段顯示電路。另外系統還有l(wèi)ed提示燈,報警蜂鳴器,單片機復位電路等。電子密碼鎖設計的關鍵問題是實現密碼的輸入、清除、開鎖、更改等功能。同時該密碼鎖具有設計
2、方法合理,簡單易行,成本低,安全實用等特點,符合住宅,辦公室等場所的用鎖要求,具有推廣價值。關鍵詞 單片機 密碼鎖 4*4矩陣鍵盤 eeprom存儲芯片 實用經濟abstractthis project designed a digital electronic lock which used a mcu as data process and control chip. the main functions digital electronic lock are as follows:the design of the electronic password lock is mainly m
3、ade up of four parts: 44 matrix keyboard interface circuit, data processing and control circuit, eeprom memory chip that is used to keep password when the lock loses power and display circuit. in addition the system also consists of led lights, alarm buzzers, single-chip reset circuit and so on.the
4、key question of the electronic lock designing is the realization of functions, such as the input password, clear password, unlock, change password and other functions.and the designed cipher lock is characterized by its reasonable designing methods, simple operation, low cost and property of safety
5、and practicalitybesides,it works well as a residence lock and has great potential for commercial development. key words: scm cipher lock 4*4matrix keyboard eeprom practical economy iii目錄1 緒論11.1國內外研究綜述11.2選題的目的和意義21.3本論文的任務32電子密碼鎖總體設計42.1系統總體設計42.2單片機52.3密碼存儲芯片選擇62.4鍵盤輸入方案比較82.5顯示方案比較103電子密碼鎖的硬件設計12
6、3.1系統結構框圖123.2主控部分133.3顯示部分133.4鍵盤輸入部分143.5密碼存儲部分153.6電源部分163.7其它功能部分183.8 電子密碼鎖的電路原理圖214電子密碼鎖的軟件組成224.1系統軟件設計流程224.2 keil uvision2軟件介紹234.3各主要部分的功能實現程序設計244.3.1初始化程序設計244.3.2按鍵處理程序設計274.3.3密碼更改程序設計315系統仿真345.1系統仿真過程345.2仿真調試中遇到的問題及解決辦法35總結36致謝37參考文獻38附錄39i1 緒論1.1國內外研究綜述在電子鎖出現以前人們廣泛的使用機械鎖,但是隨著時間的推移機
7、械鎖已不能滿足人們的要求,于是電子鎖應用而生。以前由于電子器件所限,開發(fā)的電子密碼鎖種類不多,保密性差,最基本的就是只依靠最簡單的模擬電子開關來實現的,制作雖簡單但很不安全。 現在電子鎖的技術可以說是時時的在進步,出現了很多性能強,安全可靠的新型電子鎖。如:遙控式電子密碼鎖,卡式電子鎖,生物特征電子鎖等。但是應用廣泛的還是鍵盤式電子密碼鎖。遙控式電子密碼鎖:優(yōu)點是傳輸信息量可以很大、速度極快、人眼識別不出來,又無法在光路徑上用儀器捕獲信號進行復制,因此保密性極高。缺點是需要隨身保管遙控器即鑰匙,對于某些方面來說不是很實用??ㄊ矫艽a鎖:能夠在卡中存儲大量的個人信息,即容量非常的大,并且可以實現一
8、卡多用。但是卡式密碼鎖也有很大的缺陷,開鎖用的卡很可能受到一些電子產品的磁干擾,出現“失效”; 同時卡也很容易被丟失,丟失了卡就需要盡快的取消卡的授權,一面?zhèn)€人的重要信息丟失,這個過程也是相當麻煩的。生物特征電子鎖:人的某些與生俱來的個性特征(如手、眼睛、聲音的特征)幾乎不可重復,作為“鑰匙”就是唯一的。但是生物特征電子鎖需要大量的個人身體上的信息,這就使其處理上會變得復雜,這也確定了生物特征電子鎖目前僅適用于極個別的行業(yè)。鍵盤式電子鎖:主要依靠的是鍵盤輸入密碼驗證,不需要攜帶專一的“鑰匙”,只需要記住密碼即可。鍵盤式電子鎖有采用數字電路控制的,但控制的準確性和靈活性比較的差;有以單片機為核心
9、的鍵盤式電子鎖,它的性能比較的穩(wěn)定,而且性價比也比較的高,受到了廣泛的關注。盡管新式電子防盜鎖層出不窮,但鍵盤式電子密碼鎖仍然“老樹發(fā)新芽”,在市場上居于主流地位。伴隨著科學技術的發(fā)展,電子的應用技術的提高,又出現了一些帶有微型處理器的智能電子鎖,它除了具有電子密碼鎖的功能外,還引入了智能化管理的功能,從而使電子密碼鎖具有更高的安全性和可靠性。目前發(fā)達國家大規(guī)模使用的智能門禁系統,就是一種使用多種更加安全,可靠方法來實現大門管理的新型電子密碼鎖。發(fā)達國家的電子密碼鎖技術已經相當的成熟,智能化、集成化程度很高。而我國的應用還不是很廣泛,一般應用在一些高級的場所之中,例如銀行的保險柜、保險箱、高級
10、酒店等,家居應用很少。我國的電子密碼鎖的技術也是比較落后的,不是很成熟。開發(fā)的密碼鎖大多采用的是普通的數字電路設計生產的,與機械鎖相比較的確存在著很多的優(yōu)點,但智能化的程度不高,編碼的組合很少。1.2選題的目的和意義在我們的日常生活中,經常會遇到一些地方需要進行防護,而這些地方的防護多是以使用各種各樣的鎖來進行的。常見的大致有兩個大的方面,一種是機械鎖,一種是電子密碼鎖鎖。傳統簡單的機械鎖一般是結構比較的簡單,很容易遭到外部的破壞,而機密復雜的大型機械鎖又比較的笨重,不適合大眾的需要。在科學技術不斷發(fā)展的今天,電子密碼鎖已經受到了越來越多的關注。電子密碼鎖具有保密性高,無靈活零件,不會磨損,壽
11、命長,靈活性好等特點。它的種類很多,有簡易的電路產品,也有基于芯片的性價比較高的產品。但是電子密碼鎖也存在著缺陷1.價格比較的昂貴;2推廣性不強?,F在采用單片機制作的電子鎖就克服了這些缺陷。單片機具有體積小、功能強,性價比高等特點,廣泛應用于電子產品?;趩纹瑱C的電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機械開關的閉合,完成開鎖、閉鎖任務的電子產品。本次選題的就是設計一種基于單片機控制的具有本機開鎖和報警功能的電子密碼鎖,在電子密碼鎖的顯示和鍵盤輸入有方案的比較,使電子密碼鎖更加的實用經濟,能夠實際生活中得到廣泛的應用。用單片機制作的電子鎖有以下的特點:1.保密性好,采用的是
12、多位密碼輸入。2.破解保護,能夠及時的鎖定鍵盤報警。3.界面簡潔,密碼操作也非常簡單。1.3 本論文的任務本設計的電子密碼鎖的實現是基于單片機的,任務及工作如下:1、在proteus軟件環(huán)境中進行硬件電路圖的設計。2、在keil軟件環(huán)境中進行系統的軟件編程,并進行程序源文件的編譯和調試,最后生成.hex文件。此.hex文件是硬件電路運行實現的源代碼來源。3、把.hex文件加載到單片機芯片,然后在proteus軟件環(huán)境中運行硬件電路。2 電子密碼鎖總體設計2.1系統總體設計本設計主要由單片機、矩陣鍵盤、led數碼管顯示和密碼存儲等部分組成。其中矩陣鍵盤用于輸入數字密碼和進行各種功能的實現。由用戶
13、通過連接單片機的矩陣鍵盤輸入密碼,后經過單片機對用戶輸入的密碼與自己保存的密碼進行對比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開鎖電路或者報警電路控制開鎖還是報警,實際使用時只要將單片機的負載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可,當然也可以用繼電器的常開觸點去控制電磁鐵吸合線圈。其設計原理框圖如圖2.1所示:單片機顯示 部分其它 部分鍵盤輸入部分密碼存儲部分圖2.1 原理框圖單片機:本部分的功能包括寫入和讀取各種控制命令及數據處理,同時還要對各執(zhí)行單元進行控制。單片機是整個系統的控制核心及數據處理核心。鍵盤部分:本部分由用戶通過鍵盤輸入各種信息送入到單片機進行處理。顯示部分:本
14、部分完成的是單片機處理后的數據和信息的顯示以及系統提示信息的顯示。密碼存儲部分:本部分完成存儲原始密碼和用戶更改密碼數據的功能。其它部分:本部分的目的是為了提高系統的可用性和實用性。主要包括電源部分、復位部分、晶振部分、開鎖部分和報警部分。電源部分主要的功能是為單片機提供適當的工作電源,同時也為其它的部分提供電源。復位部分功能是使單片機在出現故障時進行成功的復位。晶振部分功能是給單片機提供時鐘。開鎖部分主要是根據單片機數據處理的結果驅動繼電器控制開鎖的操作。報警部分主要的功能就是在錯誤操作下實現報警提示。2.2單片機選擇單片機的種類繁多,各種型號都有其一定的應用環(huán)境,因此在選用時要多加比較,合
15、理選擇,以期獲得最佳的性價比。在多數的電子設計中,基于性價比的考慮,8位單片機為首選。8位單片機中以mcs-51系列單片機及其兼容機所占的份額最大。mcs-51的硬件結構決定了其指令系統不會發(fā)生變化。因此在對不同公司的單片機進行選型時,只需要比較芯片內部資源即可。在以前的電子設計中,應用比較廣泛的是at89c51單片機,但是該單片機存在著致命的缺陷不支持isp功能。atmel公司現在已停止了at89c51的生產,而加上了isp功能的at89s51、at89s52誕生了。at89s系列單片機在工藝上進行了改進,采用了0.35mm的新工藝,不但降低了成本,而且增加了功能,提升了單片機的性能,提高了
16、市場競爭力。at89s系列單片機新增了許多功能,性能也有了較大的提升,但是價格仍舊與at89c系列的價格相差不大。新增的功能之中最具影響力的就是isp在線編程功能,這個功能的優(yōu)勢在于,改寫單片機flash存儲器內的程序時不需要把芯片從工作環(huán)境中剝離,是一個強大易用的功能。顯然,at89s系列單片機在性能上要比at89c系列的單片機優(yōu)良的多,而且價格也沒有什么提高。所以選擇at89s系列作為本系統的的主控部分。而at89s系列中的89s51和89s52在實際應用中最多,本設計中軟件部分需要大量的程序編程,89s51內的程序存儲器太小,不能滿足要求,因此選擇at89s系列的at89s52作為本設計
17、的主控部分。at89s52是一種低功耗、高性能cmos8位微控制器,具有8k 在系統可編程flash 存儲器。使用atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80c51 產品指令和引腳完全兼容。片上flash允許程序存儲器在系統可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統可編程flash,使得at89s52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。at89s52具有以下標準功能: 8k字節(jié)flash,256字節(jié)ram,32 位i/o 口線,看門狗定時器,2 個數據指針,三個16 位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘
18、電路。另外,at89s52 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu停止工作,允許ram、定時器/計數器、串口、中斷繼續(xù)工作。掉電保護方式下,ram內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。at89s52引腳圖如圖2.2所示: 圖2.2 at89s52引腳圖at89s52引腳功能說明如下:vcc:電源電壓gnd:地p0 口:p0口是一個8位漏極開路的雙向i/o口,也即地址/數據總線復用口。作為輸出口,每位能驅動8個ttl邏 輯電平。對p0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,p0口也被作為低8位地址
19、/數據復用。在這種模式下,p0內部上拉電阻被激活。 在flash編程時,p0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 p1 口:p1 口是一個具有內部上拉電阻的8 位雙向i/o 口,p1 輸出緩沖器能驅動(吸收或輸出電流)4 個 ttl 邏輯門電平。對p1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(ttl)。 此外,p1.0和p1.2分別作定時器/計數器2的外部計數輸入(p1.0/t2)和時器/計數器2 的觸發(fā)輸入(p1.1/t2ex),在flash編程和校驗時,p1口
20、接收低8位地址字節(jié)。p1端口引腳的第二功能如表1所示表1 p1端口引腳的第二功能端口引腳第二功能p1.0 t2(定時器/計數器t2的外部計數輸入),時鐘輸出p1.1 t2ex(定時器/計數器t2的捕捉/重載觸發(fā)信號和方向控制)p1.5 mosi(在系統編程用)p1.6 miso(在系統編程用)p1.7 sck(在系統編程用)p2 口:p2 口是一個具有內部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅動4 個 ttl 邏輯電平。對p2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(iil)。在訪問外部程序
21、存儲器或用16位地址讀取外部數據存儲器(例如執(zhí)行movx dptr)時,p2 口送出高八位地址。在這種應用中,p2 口使用很強的內部上拉發(fā)送1。在使用8位地址(如movx ri)訪問外部數據存儲器時,p2口輸出p2鎖存器的內容。 在flash編程和校驗時,p2口也接收高8位地址字節(jié)和一些控制信號。 p3 口:p3 口是一個具有內部上拉電阻的8 位雙向i/o 口,p3 輸出緩沖器能驅動4 個 ttl 邏輯電平。對p3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(ttl)。p3口除了作為一般的i/o口線外,更重要
22、的用途是它的第二功能。如表2所示:表2端口引腳第二功能端口引腳第二功能p3.0 rxd(串行輸入口)p3.4to(定時/計數器0)p3.1txd(串行輸出口)p3.5t1(定時/計數器1)p3.2 into(外中斷0)p3.6wr(外部數據存儲器寫選通)p3.3 int1(外中斷1)p3.7rd(外部數據存儲器讀選通)此外,p3口還接收一些用于flash閃存編程和程序校驗的控制信號。rst復位輸入。當振蕩器工作時,rst引腳出現兩個機器周期以上高電平將使單片機復位。wdt溢出將使該引腳輸出高電平,設置sfr auxr的disrto位(地址8eh)可打開或關閉該功能。disrto位缺省為rese
23、t輸出高電平打開狀態(tài)。ale/prog當訪問外部程序存儲器或數據存儲器時,ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ale仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ale脈沖。如有必要,可通過對特殊功能寄存器(sfr)區(qū)中的8eh單元的d0位置位,可禁止ale操作。該位置位后,只有一條movx和movc指令才能將ale激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ale禁止位無效。psen程序儲存允許(psen)輸出是外部程序存儲器的讀選通信號,當at89s52由外部程序
24、存儲器取指令(或數據)時,每個機器周期兩次psen有效,即輸出兩個脈沖,在此期間,當訪問外部數據存儲器,將有兩次有效的psen信號。ea/vpp外部訪問允許,欲使cpu僅訪問外部程序存儲器(地址為0000h-ffffh),ea端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復位時內部會鎖存ea端狀態(tài)。如ea端為高電平(接vcc端),cpu則執(zhí)行內部程序存儲器的指令。xtal1:振蕩器反相放大器及內部時鐘發(fā)生器的輸入端。xtal2:振蕩器反相放大器的輸出端。2.3密碼存儲芯片選擇本部分主要是論證密碼存儲芯片的選型。存儲器的類型按功能分只讀存儲器(read-only memory,簡
25、稱rom)和隨機存取存儲器(random access memory,簡稱ram)。隨機存取存儲器與只讀存儲器的根本區(qū)別在于:隨機存儲器在正常工作狀態(tài)時可隨時向存儲器里寫入數據或從中讀出數據,在存儲器斷電后信息全部丟失。只讀存儲器又分為固定掩膜存儲器和可編程存儲器。固定掩膜存儲器在生產時就根據用戶的要求把數據和程序固化其中,其中的內容用戶不可以再修改,只能讀出。而可編程存儲器便于用戶根據自己的需要來寫入特定的信息,根據存儲矩陣中存儲單元電路的結構不同,可編程的rom有prom、eprom和eeprom等三種。prom的編程是由用戶而不是生產廠家完成,增加了靈活性,但編程是一次性的,且可靠性較差
26、,目前已很少使用。eprom作為一種可以多次擦除和重寫的rom,克服了掩膜式rom和prom只能一次性寫入的缺點,滿足了實際工作中需要多次修改程序或數據的可能,前提條件是存儲矩陣中現有的程序或數據必須首先擦除。eprom的擦除和編程寫入是采用專門的編程器設備完成的,并且擦除的周期比較的長。電可擦除可編程只讀存儲器eeprom也稱e2prom。與eprom擦除時把整個芯片的內容全變成“1”不同,eeprom的擦除可以按字節(jié)分別進行,且字節(jié)的編程和擦除都只需10ms,并且不需要將芯片從機器上拔下以及諸如用紫外線光源照射等特殊操作,可以在線進行擦除和編程寫入。因此根據設計的要求,采用的是eeprom
27、。常見的eeprom芯片有28256、at24c系列,28256的eeprom引腳比較多,功能比較的多,且容量太大,而本設計的存儲器只是存儲密碼數據,不需要很多的功能和很大的容量,因而選用的是at24c系列的eeprom。常用的at24c系列如下表3所示:表3 at24c系列eeprom對比表eeprom型號at24c02at24c08at24c16容量(bytes)2k8k16k頁大小(bytes)81616總頁面數 3264128地址位(bits)888本設計中存儲的數據不多,因此選用at24c02即可滿足要求。at24c02是美國atmel公司的低功耗cmos型eeprom,內含2568
28、位存儲空間,具有工作電壓寬(2.55.5 v)、擦寫次數多(大于10000次)、寫入速度快(小于10 ms)、抗干擾能力強、數據不易丟失、體積小、掉電情況下可以繼續(xù)保存數據等特點。at24c02芯片作為系統的從器件,它與主器件之間的通信遵循ic總線協議,ic總線協議規(guī)定,任何將數據傳送到總線的器件作為發(fā)送器。任何從總線接受數據的器件為接收器。數據傳送是由產生串行時鐘和所有起始停止信號的主器件控制的。主器件和從器件都可以作為發(fā)送器或者是接收器。at24c02的引腳如圖2.3所示: 圖2.3 at24c02的引腳引腳的功能:串行時鐘(scl):用于產生器件所有數據發(fā)送或接收的時鐘。串行數據/地址(
29、sda):用于器件所有數據的發(fā)送或接收,sda是一個開漏輸出管腳,可與其它開漏輸出或集電極開路輸出進行線。器件地址輸入端(a0、a1和a2):用于多個器件級聯時設置器件地址,當有多個從器件連接在ic總線上時,此端口用于選擇不同的從器件。本次設計中三個引腳全部接地。寫保護(wp):如果wp管腳連接到vcc,所有的內容都被寫保護(只能讀)。當wp管腳連接地線或懸空,允許器件進行正常的讀/寫操作。2.4鍵盤輸入方案比較鍵盤輸入是現階段電子設計中最常用、最實用的輸入設備。設計中常用的鍵盤輸入方案有兩種:獨立式鍵盤、矩陣式鍵盤。獨立式鍵盤獨立式按鍵是指直接用i/o口線構成的單個按鍵的電路。每個獨立式按鍵
30、單獨占有一根i/o口線,每個按鍵的工作狀態(tài)都是獨立的不會影響到其他的按鍵的工作狀態(tài)。獨立式按鍵的電路如圖2.4所示:圖2.4 獨立式按鍵電路原理圖通常獨立式鍵盤的按鍵輸入都采用低電平有效,上拉電阻保證了按鍵的斷開,i/o口線有確定的高電平。獨立式按鍵電路配置靈活,軟件結構簡單,但是每個按鍵都需要獨立的i/o口,如果按鍵的數量較多的時候,i/o就會造成極大的浪費。矩陣式鍵盤行列式鍵盤又叫矩陣式鍵盤。用i/o口線組成行列結構,按鍵位于行列的交點位置上。矩陣式鍵盤電路原理如圖2.5所示:圖2.5 矩陣式鍵盤電路原理圖本次設計中電子密碼鎖的鍵盤中,出去0-9的數字鍵外,還需要一些輔助的功能鍵,總體上來
31、說按鍵的數量是相當的多的。采用獨立式按鍵的方案,會對單片機的i/o口造成很大的浪費;采用矩陣式的按鍵方案就比較的適用于本次設計。2.5顯示方案比較 設計中常用的輸出顯示設備有兩種:數碼管和lcdlcd顯示方案lcd是一種被動式的顯示器,利用液晶能改變光線通過方向的特性,來達到顯示的目的。lcd顯示清晰美觀,具有功能低、抗干擾能力強的優(yōu)點,廣泛應用于儀器儀表、控制系統等。液晶顯示器的驅動方式由電極引線的選擇方式確定,選擇了液晶顯示器之后便無法改變驅動的方式。當lcd顯示筆端上兩個電極電壓相位相同時,兩電極之間的電位差為0,該字段就不顯示;當兩個電極電壓的相位相反時,兩電極之間的電位差為兩倍的方波
32、電壓,該字段顯示。其原理電路如圖2.6所示:圖2.6 原理電路數碼管顯示方案七段數碼管顯示器是有8個發(fā)光二極管組成的(a,b,c,d,e,f,g),led七段數碼管的顯示即相應的發(fā)光二極管導通或者是截斷,不同的組合等到的字符顯示不一樣的。數碼管顯示的數據內容比較的直觀,一個數碼管可以顯示一位,多個數碼管就可以顯示多位,且程序設計和外圍電路設計都十分的簡單。數碼管顯示的每一位都需要有一個8位輸出口控制,當需要較多的數碼管顯示的時候,單片機如果要直接控制各個數碼管的顯示是不可能的,因為沒有足夠的i/o口線進行控制。通常采用串口發(fā)送數據,然后用串行輸入并行輸出的移位寄存器來驅動數碼顯示器。實際應用中
33、,簡單的可以使用三極管來驅動,但是本設計為了使顯示更加的穩(wěn)定,采用的是74hc164串行移位寄存器來驅動。本次設計,顯示的東西不需要很復雜,信息也較少,用數碼管顯示完全可以滿足要求,而使用lcd顯示成本可能會比較的高,所以采用數碼管顯示。233電子密碼鎖的硬件設計本部分主要介紹基于at89s52單片機的電子密碼鎖的硬件設計。系統的硬件部分由鍵盤輸入部分、密碼存儲部分、顯示部分、電源輸入部分、復位部分、晶振部分、報警部分、開鎖部分組成。3.1系統結構框圖 系統以at89s52單片機作為數據和控制部分;以矩陣鍵盤輸入作為鍵盤輸入部分的方式;數碼管顯示作為數據輸出顯示部分;由繼電器控制電磁閥動作的開
34、鎖電路作為開鎖部分;蜂鳴器作為報警部分,系統的硬件結構框圖如圖3.1所示:at89s52鍵盤輸入復位電路密碼存儲電路晶振電路電源輸入顯示電路報警電路開鎖電路圖3.1 系統的硬件結構圖3.2主控部分本次設計中,選用ateml公司的51系列單片機at89s52芯片作為電子密碼鎖的數據處理及操作控制芯片。只有單片機芯片是無法完成數據處理及控制功能的,必須有附加的電路,使單片機芯片組成一個可運行的系統才能實現其功能。本次設計,由at89s52單片機連同附加電路構成的單片機最小系統作為主控。電路圖如圖3.2所示:圖3.2 最小系統3.3顯示部分電子密碼鎖采用數碼管進行顯示,經過單片機處理過的數據信息都由
35、數碼管進行顯示。單片機數據傳輸采用串行方式,數據通過單片機的串行數據口p3.0(rxd)進行發(fā)送,接著應用74hc164串行移位寄存器把串行的數據轉換成8位的并行數據,驅動led 數碼管。74hc164芯片中,沒有數據鎖存器,使串行數據每到達一位,直接就被送到數碼管中,造成數據顯示不穩(wěn)定。為了使數據顯示穩(wěn)定,在移位寄存器和數碼管之間加入數據鎖存器,來穩(wěn)定數碼管的數據顯示。顯示部分如圖3.3所示:圖3.3 顯示部分電路圖3.4鍵盤輸入部分在電子密碼鎖中各種信息的輸入都是通過鍵盤輸入部分完成的。把單個按鍵按照4*4組成鍵盤,四條行線連接到單片機的p1.0-p1.3四條i/o口線上, 四條列線連接到
36、單片機的p1.4-p1.7四條i/o口線上,運行的時候,單片機通過控制p1口得高低電平,然后根據變化進行判斷。單片機向行線輸入高電平,向列線輸入低電平,按鍵未被按下之前保持電平給定不變,按鍵按下,行線的高電平變成低電平。同樣對列線進行判定,即可判斷所輸入的信息。鍵盤部分的電路連接如圖3.4所示:圖3.4 鍵盤部分電路圖3.5密碼存儲部分在電子密碼鎖中,存入的密碼是需要永久的保存的。在設計中采用了在掉電的情況下依然能夠保存數據的eeprom存儲芯片24c02存儲密碼。設計的密碼鎖因為只需要存儲6位密碼,數據量很小,所以24c02的地址選擇端口直接接地,時鐘輸入端口(sck)和數據輸入端口(sda
37、)和單片機的相連即可。電路連接如圖3.5所示: 圖3.5 密碼存儲部分電路圖3.6電源部分密碼鎖主控制部分電源需要用5v直流電源供電,把頻率為50hz、有效值為220v的單相交流電壓轉換為幅值穩(wěn)定的5v直流電壓。其主要原理是把交流電經過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉換成穩(wěn)定的直流電壓。 由于輸入電壓為電網電壓,一般情況下所需直流電壓的數值和電網電壓的有效值相差較大,因而電源變壓器的作用顯現出來起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉換成直流電壓。由于經整流電路整流后的電壓含有較大的交流分量,會影響到負載電路的正常工作。需通過低通濾波電路濾波,使輸出電壓平滑。穩(wěn)
38、壓電路的功能是使輸出直流電壓基本不受電網電壓波動和負載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。為了防止停電情況的發(fā)生,本電路后備了ups電源,它包括市電供電電路,停電檢測電路,電子開關切換電路,蓄電池充電電路和蓄電池組成。主電源如圖3.6所示:圖3.6 主電路圖220v市電通過變壓器降壓成12v的交流電,再經過整流橋整流,7805穩(wěn)壓到5v送往電子切換電路,由于本電路功耗較少,所以選用10w的小型變壓器。由r2,r3,r4,r5及j1構成電壓比較器,正常情況下,v+v- j6時,由q1,q2構成的達林頓管使繼電器k1開啟,將其常開觸電將蓄電池和電路相連,實現市電和蓄電池供電的切換,保證
39、電子密碼鎖的正常工作(視電池容量而定持續(xù)時間)。q3,q4構成的蓄電池自動充電電路,它在電池充滿后自動停止充電,其中d5亮為正在充電,d7為工作指示。由r8,r11,q4構成電壓檢測電路,蓄電池電壓低,則q3,q4導通,實現對其充電;充滿后,q3,q4截止,停止充電,同時d5熄滅,電路中c6的作用是濾除干擾信號。如圖3.7、3.8所示:圖3.7 停電檢測及電子開關切換電路圖3.8 蓄電池自動充放電電路3.7其它功能部分密碼鎖系統中主要的為以上的幾個部分,但是為了使系統更加的完善,還需要一些附加的部分。復位部分單片機復位是使cpu和系統中的其它功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工
40、作,單片機剛開始接上電源,斷電或者是發(fā)生故障時都需要復位。單片機的復位輸入rst腳持續(xù)兩個機器周期高電平將使單片機復位。復位部分如圖3.9所示:圖3.9 復位部分電路報警部分報警部分是由陶瓷壓電發(fā)聲裝置及外圍電路組成。當密碼輸入不正確是會發(fā)出警報。報警電路如圖3.10所示:圖3.10 報警電路 晶振部分本部分是為單片機提供時鐘控制信號,采用的電路是外接晶振和電容組成的并聯諧振回路。at89s52引腳xtal1和xtal2與晶體振蕩器及電容c2、c1按圖4-7所示方式連接。晶振、電容c1、c2及片內與非門(作為反饋、放大元件)構成了電容三點式振蕩器,振蕩信號頻率與晶振頻率及電容c1、c2的容量有
41、關,但主要由晶振頻率決定,范圍在033mhz之間,電容c1、c2取值范圍在530pf之間。根據實際情況,本設計中采用12mhz做為系統的外部晶振。電容取值為20pf。如圖3.11所示: 圖3.11 晶振部分電路開鎖部分當輸入正確的密碼的時候,單片機的其中一個引腳線發(fā)出信號,經過三極管放大后,由繼電器驅動電磁閥動作將鎖打開。同時綠色的指示燈將會點亮。開鎖電路如圖3.12所示:圖3.12 開鎖電路3.8 電子密碼鎖的電路原理圖根據系統所需要實現的功能,進行的原理圖設計如圖3.13所示:圖3.13 電子密碼鎖的電路原理圖4電子密碼鎖的軟件組成4.1系統軟件設計流程 本設計的軟件程序設計主要有(1)初
42、始化程序(2)按鍵功能實現程序 (3)密碼修改程序(4)報警程序等組成。系統的總體流程圖如圖4.1所示: 開始初始化,設置密碼等待輸入計算鍵值是clr?是否是確認鍵?否存鍵值首次按鍵?已輸6位?是否否密碼右移是計數值減1報警是是否比較密碼正確?開鎖密碼左移計數值加1圖4.1 系統的總體流程圖4.2 keil uvision2軟件介紹單片機開發(fā)中除必要的硬件外,同樣離不開軟件,本系統的軟件編程設計是在keil軟件環(huán)境中完成的。我們寫的c語言、匯編語言源程序要變?yōu)閏pu可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C
43、器碼,用于mcs-51單片機的匯編軟件有早期的a51,隨著單片機開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,keil軟件是目前最流行開發(fā)51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持keil即可看出。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果使用c語言編程,那么keil幾乎就是不二之選。即使不使用c語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的
44、軟件仿真調試工具也會令人事半功倍。keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統,與匯編相比,c語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用c來開發(fā),體會更加深刻。keil c51軟件提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keil c51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現高級語言的優(yōu)勢。4.3各主要部分的功能實現程序設計4.3.1初始化程序設計電子密碼鎖系統在
45、接通電源后,首先要對系統進行初始化。初始化過程包括密碼鎖上鎖,密碼的讀入,led數碼管的顯示內容初始化,設定系統狀態(tài)指示等。流程圖如圖4.2所示:初始化開始載入預設密碼至系統內存系統上鎖并設定狀態(tài)指示燈設定顯示器為等待輸入狀態(tài)用戶輸入密碼區(qū)清零初始化定時器0圖4.2 初始化程序設計流程圖初始化程序如下:org0000hljmpfirstorg000bhljmpint_t0org0100hfirst:movset_times,#0;新密碼輸入次數清零從24c01c中讀數據,數據送at89c51中38h開始的16個字節(jié)中movsla,#0a0h;寫入控制字movsuba,#00h;目標地址movn
46、umbyte,#6;寫入的字節(jié)數lcallirdnbyte;開始寫數據begin:movcnt_error,#00h;密碼錯誤次數清零start:clr led_yellow;上鎖指示燈setbled_green;開鎖指示燈滅setbled_red;密碼錯誤指示燈滅movkey_cnt_set,#00hmovcnt_a,#00hmovcnt_b,#00hmovkey_cnt,#00hmovline,#00hmovrow,#00hmovval,#00hmovword_adress,#4chmovled_bit_1,#0ah ;數碼管全-movled_bit_2,#0ahmovled_bit_3,
47、#0ahmovled_bit_4,#0ahmovled_bit_5,#0ahmovled_bit_6,#0ahmovkey_1,#00h ;輸入密碼存儲區(qū)清0movkey_2,#00hmovkey_3,#00hmovkey_4,#00hmovkey_5,#00hmovkey_6,#00hmovtmod,#01h ;初始化定時器t0movth0,#(65536-700)/256movtl0,#(65536-700)mod256movie,#82h4.3.2按鍵處理程序設計(介紹)鍵功能程序鍵值09?鍵值開鎖?鍵值清除?鍵值設置?鍵值確認?密碼輸入程序設置程序清除程序開鎖程序確認程序是是是是是否否
48、否否返回否圖4.3 按鍵處理程序流程圖按鍵處理程序如下:a0: noplscan:movp1,#0f0h ;掃描行碼,把四條“行”線置成低電平 l1:jnbp1.0,l2 ;檢測第一行是否有鍵按下 lcalldly_s ;消除鍵盤抖動jnbp1.0,l2 ;確認第一行有鍵按下movline,#00h ;把值送到指定內存,等待計算ljmprscan ;跳轉到鍵值計算部分l2:jnbp1.1,l3lcalldly_sjnbp1.1,l3movline,#01hljmprscanl3:jnbp1.2,l4lcalldly_sjnbp1.2,l4movline,#02hljmprscanl4:jnbp1.3,a0lcalldly_sjnbp1.3,a0movli
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)生聘用期間個人工作總結(13篇)
- 藥物濫用社會工作干預-洞察分析
- 網絡輿論心理分析-第1篇-洞察分析
- 戲劇劇本創(chuàng)作-洞察分析
- 信托法司法解釋解讀-洞察分析
- 醫(yī)院個人一崗雙責廉潔工作總結(6篇)
- 《涂裝工程》課件
- 《家庭系統排列講座》課件
- 辦公室文化與家庭教育的融合實踐
- 醫(yī)學背景下的數學基礎教育研究
- 2025年九年級中考數學一輪復習考點突破課件:第28講 概率
- 2024年大學試題(法學)-知識產權法考試近5年真題集錦(頻考類試題)帶答案
- 2025屆天津市重點中學數學高一上期末復習檢測試題含解析
- 2024北京海淀區(qū)高三二模語文試題及答案
- 2024年客運值班員(技師)職業(yè)鑒定理論考試題庫(含答案)
- 中華民族現代文明有哪些鮮明特質?建設中華民族現代文明的路徑是什么?參考答案
- 2024-2030年中國脫毛膏市場消費模式預測與未來銷售規(guī)模調研報告
- 關于加強中小學生欺凌綜合治理方案的實施辦法
- 教材解讀-2023-2024學年統編版語文四年級下冊
- 湖北省十堰市2023-2024學年高三上學期元月調考考試歷史試卷
- 牧業(yè)司肉牛養(yǎng)殖屠宰加工一體化建設項目組織機構勞動定員與招投標方案
評論
0/150
提交評論