畢業(yè)論文單片機電子密碼鎖教案_第1頁
畢業(yè)論文單片機電子密碼鎖教案_第2頁
畢業(yè)論文單片機電子密碼鎖教案_第3頁
畢業(yè)論文單片機電子密碼鎖教案_第4頁
畢業(yè)論文單片機電子密碼鎖教案_第5頁
免費預覽已結(jié)束,剩余21頁可下載查看

下載本文檔

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

文檔簡介

1、畢業(yè)論文2005 級論文題目:單片機電子密碼鎖學 校:邢臺職業(yè)技術(shù)學院系 別:電氣工程系班 級:電氣053班姓 名:顧省輝指導教師:唐俊英第1章緒論 31. 1 背景及意義31. 2 電子密碼鎖的設計要求31. 3關(guān)鍵辭3第2章硬件電路 41.1 MIC-51 簡介 42. 2單片機控制方框圖 42. 3開鎖機構(gòu) 52.4 鍵電路設計62 . 5 顯示電路設計72.6AT24C01 掉 電 存 儲 單 元 的 設計72. 7密碼鎖的電源電路設計 82.8 設計的總體電路圖9第3章軟件設計9結(jié)論 1819參考文獻 19致謝單片機控制的電子密碼鎖設計第一章:緒論1.1 背景及意義隨著科技的發(fā)展,安

2、全已成為人們關(guān)注的焦點之一,于是各種安全產(chǎn)品相繼 問世(如指紋防盜!紅外防盜!GPS等)”雖然這類產(chǎn)品安全性高,但因其生產(chǎn)成本高, 攜帶安裝使用不方便,在一定程度上限制了這類產(chǎn)品的普及和推廣本文介紹的 是一種基于單片機智能鎖的硬件和軟件設計及實現(xiàn)方法”這種電路設計具有按鍵有效提示,輸入錯誤提示,控制開鎖電平,控制報警電路,修改密碼等多種功能可在 意外泄密的情況下隨時修改密碼4位數(shù)密碼共一萬組不重復組合,保密性強,靈活 性高,特別適用于家庭,辦公室,學生宿舍及賓館等公開場所。1.2 電子密碼鎖的設計要求1,上鎖過程123456789上鎖0開鎖日日日按數(shù)字鍵,數(shù)字會從顯示器的最 右端開始顯示,然后

3、依次向左移位。 若要更改密碼可按“開鎖”鍵清除原 有密碼,再重新輸入新密碼。本設計 為的密碼為4位,輸入的多余數(shù)字本 電路不予理會,不會顯示在顯示器上。 當密碼輸入正確后按下“上鎖”鍵, 就可將門鎖上,同時將密碼存儲在電 路中并消除顯示器的顯示。2.開鎖過程按數(shù)字鍵輸入密碼,密碼在顯示器 上從右到左依次顯示,4位密碼輸入正 確后按下“開鎖”甲,密碼鎖被打開并 清除電路中所存儲的密碼,顯示器也被 清零。當輸入密碼有誤時,可按“上鎖” 鍵消除所輸入的數(shù)字,內(nèi)部存的秘密不 會丟失,再重新輸入正確的密碼按“開 鎖”鍵即可。注:當輸入錯誤的密碼超過3次后,電路會發(fā)出報警信號。圖1-2鍵盤顯示平面圖為防止

4、大家忘記密碼,本電路還設計了一個萬用密碼,無論以前的密碼是什么,只要輸入萬用密碼按“開鎖”鍵即可開鎖并清除原有密碼。1.3 關(guān)鍵辭MCS-51 AT24C02,矩陣鍵盤,UPS電路,AT24C0的電存儲,串口顯示電路,報 警控制電路等硬件電路的設計2.1 MIC-51 的簡介設計本課題時構(gòu)思了一種是用以MIC-51 為核心的單片機控制方案。MCS-51單片機是美國INTE公司于1980年推出的產(chǎn)品,典型產(chǎn)品有8031 (內(nèi)部沒有程 序存儲器,實際使用方面已經(jīng)被市場淘汰)、8051(芯片采用HMO飄耗是630mWV 是 89C51 的 5 倍,實際使用方面已經(jīng)被市場淘汰)和8751 等通用產(chǎn)品,

5、一直到現(xiàn)在, MCS-51 內(nèi)核系列兼容的單片機仍是應用的主流產(chǎn)品(比如目前流行的89S51、89C51 等)89S51 相對于 89C51 增加的新功能包括:- - 新增加很多功能,性能有了較大提升,價格基本不變,甚至比89C51 更低!- - ISP 在線編程功能,在改寫單片機存儲器內(nèi)的程序時不用把芯片從工作環(huán)境中剝離。- -最高工作頻率為33MHz就是說S51具有更高工作頻率,從而具有了更快的 計算速度。- -具有雙工UARTI行通道。- - 內(nèi)部集成看門狗計時器,不再需要像89C51 那樣外接看門狗計時器單元電路。- - 雙數(shù)據(jù)指示器。- - 電源關(guān)閉標識。- - 全新的加密算法,程序

6、的保密性加強,這樣就可以有效的保護知識產(chǎn)權(quán)不被 侵犯。- -兼容性方面:向下完全兼容51全部字系列產(chǎn)品。比如8051、89C51等等早期 MCS-51兼容產(chǎn)品。在89S51上一樣可以照常運行,這就是所謂的向下兼容。89S51就是在這樣的背景下取代89C51的,所以本設計也選用了 89S512.2 單片機控制方框圖采用 AT89S51 為核心的單片機控制方案。利用單片機靈活的編程設計和豐富的 IO 端口,及其控制的準確性,不但能實現(xiàn)基本的密碼鎖功能,還能添加調(diào)電存儲、聲光提示甚至添加遙控控制功能。其原理如圖2-2所示圖22單片機控制方案串口顯示電路輸入錯誤鎖定鍵盤延時報警控制電路開鎖控制電路2.

7、3 開鎖機構(gòu)通過單片機送給開鎖執(zhí)行機構(gòu),電路驅(qū)動電磁鎖吸合,從而達到開鎖的目的 其原理如圖2 3所示。單片機微控 制器電磁鎖圖2 3密碼鎖開鎖機構(gòu)示意圖當用戶輸入的密碼正確時,單片機便輸出開門信號,送到開鎖驅(qū)動電路,然 后驅(qū)動電磁鎖,達到開門的目的。其實際電路如圖2 4所示。電路由驅(qū)動和開鎖兩級組成。由 D5、R1、T10組成驅(qū)動電路,其中T10可 以選擇普通的小功率三極管如 9014、9018都可以滿足要求。D5是開鎖指示燈; 由D6、C24、T11組成開鎖。其中D6、C24是為了消除電磁鎖可能產(chǎn)生的反向高電壓以及可能產(chǎn)生的電磁干擾。T11可選用中功率的三極管如8050,電磁鎖的 選用要視情

8、況而定,但是吸合力要足夠且有一定的余量。注:在設計中,暫時用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。2. 4按鍵電路設計由于設計要求使用矩陣鍵盤,所以本設計就采用行列式鍵盤,同時也能減少 鍵盤與單片機接口時所占用的I/O線的數(shù)目,在按鍵比較多的時候,通常采用這 樣方法。其原理如圖2-5所示。圖25行列式鍵盤原理電路圖每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵 來連通,利用這種行列式矩陣結(jié)構(gòu)只需要 N條行線和M條列線,即可組成具有 NX M個按鍵的鍵盤。首先辨別鍵盤中有無鍵按下,有單片機I/O 口向鍵盤送全掃描字,然后讀入 行線狀態(tài)來判斷。方法是:向行

9、線輸出全掃描字 00H,把全部列線置為低電平, 然后將列線的電平狀態(tài)讀入累加器 A中。如果有按鍵按下,總會有一根行線電 平被拉至低電平從而使行線不全為 1。判斷鍵盤中哪一個鍵被按下使通過將列線 逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的。方法是:依次給列線送低電平,然 后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為 1,則所 按下的鍵必在此列,而且是在與零電平行線相交的交點上的那個鍵。按鍵的操作面板如圖2-6所示。共計數(shù)字鍵10個,功能鍵2個。Q q Q上鎖 口 11開鎖圖2 6按鍵操作面板示意圖10個數(shù)字鍵用來輸入密碼,另外 2個功能鍵分別是:開鎖和上鎖。上鎖和 開鎖的過程在1-

10、2中已經(jīng)詳細介紹,在此不再說。面板上還有一個蜂鳴器,其中一個功能是用來指示操作的按鍵是否在成功的 按下;另外一個功能是當用戶輸入密碼錯誤的次數(shù)超過了3次,鳴笛以示報警2. 5顯示電路設計本系統(tǒng)設計的顯示電路為了節(jié)約單片機的接口資源而采用串行顯示的方式, 只使用單片機的兩個串行口,就可以完成單片機的顯示功能,顯示電路的電路原 理圖如圖2 7所示。電路設定:當程序檢測在5分鐘內(nèi)沒有按鍵操作的時候,就關(guān)閉顯示。這個 功能使用程序來實現(xiàn)的,一旦沒有按鍵動作就啟動一個定時器, 檢測在5分鐘內(nèi) 沒有按鍵動作的時候,啟動一個程序,關(guān)閉顯示,這樣可以達到節(jié)省電能的目的。從單片機串口輸出的信號先送到左邊的移位寄

11、存器 (74HC164 ,由于移位脈 沖的作用,使數(shù)據(jù)向右移,達到顯示的目的。移位寄存器74HC164兼作數(shù)碼管 的驅(qū)動,插頭1 (headeU)接電源,插頭2 (header2)接數(shù)據(jù)和脈沖輸出端。 電路中的三個整流管D1D3的作用是降低數(shù)碼管的工作電壓,增加其使用壽命。2. 6 AT24C01掉電存儲單元的設計掉電存儲單元的作用是在電源斷開的時候,存儲當前設定的單價信息。AT24C01是ATMEL公司的2KB字節(jié)的電可擦除存儲芯片,采用兩線串行的總 線和單片機通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10Ua(5.5V), 芯片內(nèi)的資料可以在斷電的情況下保存 40年以上,而且

12、采用8腳的DIP封裝, 使用方便。其電路如圖2-8所示。A0AlA2AT24CO1SPArp2 8掉電存儲電路原理圖圖中R8、R10是上拉電阻,其作用是減少 AT24C01的靜態(tài)功耗,由于 AT24C01的數(shù)據(jù)線和地址線是復用的,采用用口的方式傳送數(shù)據(jù),所以只用兩 根線SCL (移位脈沖)和SDA (數(shù)據(jù)/地址)與單片機傳送數(shù)據(jù)。每當設定一次單價,系統(tǒng)就自動調(diào)用存儲程序,將單價信息保存在芯片內(nèi); 當系統(tǒng)重新上電的時候,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的單價等信息,讀 到緩存單元中,供主程序使用。2. 7密碼鎖的電源電路設計本著節(jié)省原料的原則,選擇的是 7805穩(wěn)壓模塊做為本電路的電源,JP1接

13、 變壓器的次級繞組,由于電路耗電很少,所以變壓器選擇普通小容量的10V的就 可以,然后經(jīng)四個二極管(D1-D4)整流,再經(jīng)電解電容 C濾波,得到較平穩(wěn)的 直流電,為了讓電流更平穩(wěn)更可靠,后面加入了整流模塊7805,電路相當簡單,1腳是電源的進線,2腳是公共端,3腳就是5V直流電的輸出了,C2和C3是濾 除高頻率的雜波干擾的,本電路簡單明了,應用比較廣泛。2. 8設計總體電路圖UI AT8SSSI明ffl噩帛 PSSET_3 PATA-iB WE-L1 窿 12,4uPLOPL1 PL3 PUPL4PLW3I PLtMOO P17C(X EETPabTKD P32I而 pjmmT K-VTO 依

14、孕叱 黨的甌 叼而 m肛 5mLi CrlTv(r PW POL PgPMTQ5 F%_ POTAIEKlGLED33PFGIDAT24C01面外抬1523q2L3 -5 p p V T p p p p353331 ELW?30 ALETPSivcc QQ+ 上匚1職276 JO.舒SIA咖Jp211F KEET34 DLQI1器 DLQDSTEAKIKAOSCLAl5皿9圖24總體電路圖三、程序設計程序開始,偽指令設置程序中所用到寄存器和數(shù)據(jù)ORG 0000HMTD DATA 3FHSLA DATA 3EHNUMBYT DATA3DHMRD DATA 30HAJMP MAINORG 0030

15、HMAIN: MOV SP , #60H:設置棧指針接收數(shù)據(jù)寄存器清零MOV40H, #00HMOV41H, #00HMOV42H, #00HMOV43H, #00HMOV44H, #00HMOV45H, #00HMOV46H, #00HMOV47H, #00HCLR20H:功能鍵標志CLR21H:復位鍵標志調(diào)讀密碼程序,讀出的密碼送到30H 到 33HREDA MOV MTD ,#00HMOVSLA,#0A0HMOVNUMBYT, #1LCALLWRNBYTMOVSLA,#0A1HMOVNUMBYT, #07HLCALLRDNBYT顯示 P 作為等待標志CCD: MOV A, #111111

16、10BMOV P1 , AMOV A , #0CHMOV DPTR , #7FFFHMOVX DPTR,A 循環(huán)調(diào)用鍵掃描子程序START:NOPLCALL CH_KEYAJMP START程序開始檢查鍵盤返回CH_KEY:LCALL KSJNZ LK1AJMP CH_KEYLK1:LCALL T12MSACALL KSJNZ LK2RET檢查有沒有按鍵按下LK2:NOPLCALL SBIEMOV BUFF, ALCALL CHKF按鍵識別子程序 送緩沖區(qū)以識別是數(shù)字鍵還是功能鍵? 判斷按鍵功能。JB FLAG1 ,KEY_FUN ; 標志為1,則為功能鍵數(shù)字按鍵輸入并且存放到緩沖區(qū)內(nèi)等待比較

17、設一標志,辨別輸入是否滿輸入數(shù)字的位數(shù)依照順序存放密碼KEY_DIG:NOP;SETB TR0INC TIMERS ;MOV A, TIMERSCLR CSUBB A, #01HJNZ PS_2MOV PS1, BUFF ;AJMP NEXTPS_2:MOV A, TIMERSSUBB A, #02HCLR CJNZ PS_3MOV PS2, BUFFAJMP NEXTPS_3:MOV A, TIMERSCLR CSUBB A, #03HJNZ PS_4MOV PS3, BUFFAJMP NEXTPS_4:MOV A, TIMERS CLR CSUBB A, #04JNZ PS_5MOV PS

18、4, BUFFAJMP NEXTPS_5:MOV A, TIMERS CLR CSUBB A, #05JNZ PS_6MOV PS5, BUFFAJMP NEXTPS_6:MOV A, TIMERS CLR CSUBB A, #06HJNZ CH_KEYMOV PS6, BUFFNEXT:LCALL XSC比較輸入的次數(shù)MOV R7, TIMERS ;CJNE R7, #06H ,FULLFULL:JC NEXT9SETB BUF_FULLMOV TIMERS,#06HCLR L3NOPCLR P2.1LCALL T100MSDSETB P2.1NOPAJMP CH_KEYNEXT9:CLR

19、P2.1CLR L3LCALL T100MSDSETB L3SETB P2.1AJMP CH_KEY功能按鍵比較并且跳轉(zhuǎn)KEY_FUN:CLR FLAG1CLR CMOV A, BUFFSUBB A, #03H;JNZ EN_CAJMP CLEN_C:CLR CMOV A, BUFF ;SUBB A, #00HJNZ F1_CAJMP ENEXIT8:NOPLJMP CH_KEY 開門子程序CL:NOPSETB L3MOV BUFF, #00HMOV TIMERS,#00HLCALL INITPSLCALL XSC密碼輸入一位,鳴叫一聲。延時 100ms按鍵CL跳轉(zhuǎn)按鍵EN跳轉(zhuǎn)消密碼緩沖消除A

20、T緩沖,加調(diào)電存儲后一定要加上LCALL BPLCALL BPLCALL T100MSDLCALL BPCLR FLAG1AJMP CH_KEYFU4:NOPLCALL BPLCALL T100MSDLCALL BPLCALL T100MSDLCALL BPLCALL T100MSDLCALL BPLCALL T100MSDLCALL BPCLR FLAG1AJMP CH_KEYFU3:NOPLCALL BPLCALL T100MSDLCALL BPLCALL KILLXS ; 關(guān)閉顯示CLR FLAG1AJMP CH_KEYFU1:NOPLCALL XSCJB F_F1, NEXT_F1CL

21、R L1LCALL BPSETB F_F1AJMP CH_KEYNEXT_F1:SETB L1LCALL BP查看現(xiàn)在的狀態(tài)以防誤按 報警限制暫時不開CLR F_F1;LCALL CH_STATE ;SETB TR1;INC F_F1CLR FLAG1AJMP CH_KEYFU2:NOPJB F_F2, NEXT_F2CLR L2LCALL BPSETB FF2AJMP CH_KEY NEXT_F2:SETB L2LCALL BPCLR F_F2CLR FLAG1AJMP CH_KEY初始化顯示緩沖區(qū)以及其他緩沖區(qū)INITPS:PUSH ACCPUSH PSWMOV R7, #06HMOV R

22、1, #PS1MOV A, #00HINIT_PS:MOV R1, ADEC R1DJNZ R7, INIT_PSPOP PSWPOP ACCNOPRETINITAT:PUSH ACCPUSH PSWMOV R7,#06HMOV R1,#AT1MOV A, #00HINIT_AT:MOV R1, ADEC R1DJNZ R7, INIT_ATMOV TIMERS,#00H ; 密碼輸入的次數(shù)清零。POP PSWPOP ACCRET按鍵識別子程序SBIE:MOV R2, #0EFH ;識別按鍵子程序,數(shù)據(jù)送A保存,課本P146頁。MOV R4, #00HLK4:MOV A, R2MOV P0,

23、ANOPMOV A, P0JB ACC.0,LONEMOV A, #00HAJMP LKPLONE:JB ACC.1,LTWOMOV A, #08HAJMP LKPLTWO:JB ACC.2,LTHRMOV A, #10HAJMP LKPLTHR:JB ACC.3,NEXTT ; 判斷下一列MOV A, #18HLKP:ADD A, R4PUSH ACCLK3:ACALL KSJNZ LK3POP ACCRETNEXTT:INC R4MOV A, R2JNB ACC.7,KNDRL AMOV R2, AAJMP LK4KND:AJMP CH_KEYKS:MOV P0, #0FHNOPMOV A

24、, P0CPL AANL A, #0FHNOPRETCH_KF:CLR CMOV A, BUFF ;能鍵CJNE A, #17H, KYKY:JC SET_CH;SETB FLAG1;判斷是數(shù)字按鍵還是功能按鍵, 為 1 表示功假若是數(shù)字按鍵則標志置為0假若是功能按鍵則標志置為1AJMP CHKE_END SET_CH:CLR CMOV A, BUFF SUBB A, #00H JNZ EN_CH SETB FLAG1 AJMP CH_ENDEN_CH:MOV A, BUFFSUBB A, #03HJNZ DIGSETB FLAG1AJMP CH_ENDDIG:CLR FLAG1CH_END:

25、NOP CHKE_END:RETT12MS:MOV R7, #18HTM1:MOV R6, #0FFHTM66:DJNZ R6, TM66DJNZ R7, TM1RET檢驗密碼正誤C_PSW:PUSH PSWPUSH ACCMOV R2,#06HMOV R0,#PS1MOV R1,#AT1C_P:CLR CMOV A,R0SUBB A,R1JNZ RETURNDEC R0DEC R1DJNZ R2,C_PNOPSETB PSW_FAJMP EXIT7RETURN:CLR PSW_FEXIT7:NOPPOP ACCPOP PSWRET鎖定,報警程序LOCK_1M:MOV R4,#3CH; 鎖定

26、1 分鐘M1_LOOP:LCALL SECDJNZ R4,M1_LOOPNOPRETWARN2S:PUSH PSWPUSH ACCMOV R5, #14H;調(diào)用 20 次 BP,報警 2sWARN:LCALL BPDJNZ R5,WARNNOPPOP ACCPOP PSWNOPRETBP:CLR SPK ;報警程序LCALL T100MSDSETB SPKNOPRET顯示子程序DISPLAY: MOV R4, #05HDIS1: MOV R0, #45HMOV R5 , #11011111BLD6: MOV A, R5MOV P1 , AMOV A , R0MOV DPTR,#TABLEMOV

27、C A,A+DPTRMOV DPTR,#7FFFHMOVX DPTR,ALCALL DL1MOV A,#0FFHMOV DPTR,#7FFFHMOVX DPTR,ADEC R0MOV A,R5JNB ACC.0,ID1RR AMOV R5,ALIMP LD6LD1: DJNZ R4,DIS1RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90HDB 0FFH密碼輸入錯誤的提示XSD:PUSH ACCPUSH PSWMOV SBUF, #98HJNB TI, $CLR TIMOV SBUF, #79HJNB TI, $CLR TIM

28、OV SBUF, #11HJNB TI, $CLR TIMOV SBUF, #79HJNB TI, $CLR TIMOV SBUF, #79HJNB TI, $CLR TIMOV SBUF, #38HJNB TI, $CLR TIPOP PSWPOP ACCRET24C01讀寫程序AT_RADE:PUSH PSW首地址 字節(jié) 位PUSH ACCMOV R0,#AT1 ;CPUMOV R6,#06H ;8MOV R5,#08H ;8MOV R7,#00HLCALL READ;24C01 首地址; 讀數(shù)據(jù)NOPNOPPOP ACCPOP PSWRETAT_WR:PUSH PSWPUSH ACCMOV R0,#PS1 ;CPU RAM首地址MOV R6,#06H ;8 字節(jié)MOV R5,#08H ;8 BITMOV R7,#00H ;24C01RAM 首地址LCALL WRT ; 先寫進NOPNOPPOP ACCPOP PSWR

溫馨提示

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

評論

0/150

提交評論