電子密碼鎖.doc_第1頁(yè)
電子密碼鎖.doc_第2頁(yè)
電子密碼鎖.doc_第3頁(yè)
電子密碼鎖.doc_第4頁(yè)
電子密碼鎖.doc_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)控制的電子密碼鎖電氣工程及其自動(dòng)化063班 王中科摘要:本系統(tǒng)由單片機(jī)系統(tǒng)、矩陣鍵盤(pán)、LED顯示和報(bào)警系統(tǒng)組成。系統(tǒng)能完成開(kāi)鎖、超時(shí)報(bào)警、超次鎖定、管理員解密、修改用戶密碼基本的密碼鎖的功能。除上述基本的密碼鎖功能外,還具有調(diào)電存儲(chǔ)、聲光提示等功能,依據(jù)實(shí)際的情況還可以添加遙控功能。本系統(tǒng)成本低廉,功能實(shí)用關(guān)鍵詞:AT89S52,AT24C02, 電子密碼鎖,矩陣鍵盤(pán)1 引言對(duì)于鎖,這個(gè)東西在人類的發(fā)展史上是一個(gè)非常重要的東西,從以前的木鎖、鐵鎖、卡片鎖等,都是為了鎖住自己重要或保存的東西防止犯罪的發(fā)生,不過(guò)先進(jìn)的社會(huì),犯罪的手法越來(lái)越高明,原本的鎖已經(jīng)不足以應(yīng)對(duì)先進(jìn)的犯罪手法,犯罪皆屬于智慧型的犯罪,因此,電子鎖因其保密性高,使用靈活性好,安全系數(shù)高,而受到了廣大用戶的親呢。本次設(shè)計(jì)采用89S52控制的電子密碼鎖設(shè)計(jì)方案,它的故障率較低,功能有可隨時(shí)改變,也可增加擴(kuò)充功能。2 總體設(shè)計(jì)方案2.1 設(shè)計(jì)思路采用一種是用以AT89S52為核心的單片機(jī)控制方案。利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的IO端口,及其控制的準(zhǔn)確性,不但能實(shí)現(xiàn)基本的密碼鎖功能,還能添加調(diào)電存儲(chǔ)、聲光提示。2.2 設(shè)計(jì)方框圖 如圖1。指示電路89S52單片機(jī)AT24C02掉電存儲(chǔ)輸入錯(cuò)誤鎖定鍵盤(pán)延時(shí)報(bào)警控制電路開(kāi)鎖控制電路串口顯示電路矩陣鍵盤(pán)控制圖1 總體設(shè)計(jì)方案原理圖3 設(shè)計(jì)組成及原理分析3.1 AT89S52單片機(jī)特性AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門(mén)狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 圖2 89S52 3.2 AT24C02掉電存儲(chǔ)單元的設(shè)計(jì)掉電存儲(chǔ)單元的作用是在電源斷開(kāi)的時(shí)候,存儲(chǔ)當(dāng)前設(shè)定的單價(jià)信息。AT24C02是ATMEL公司的2KB字節(jié)的電可擦除存儲(chǔ)芯片,采用兩線串行的總線和單片機(jī)通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10Ua(5.5V),芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8腳的DIP封裝,使用方便。其電路如圖3所示。NC VCCNC WPNC SCLGND SDKGNDVCC5.1k*2接P1.4接P1.5圖3 掉電存儲(chǔ)原理圖圖中電阻是上拉電阻,其作用是減少AT24C02的靜態(tài)功耗,由于AT24C02的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線SCL(移位脈沖)和SDA(數(shù)據(jù)/地址)與單片機(jī)傳送數(shù)據(jù)。每當(dāng)設(shè)定一次密碼,系統(tǒng)就自動(dòng)調(diào)用存儲(chǔ)程序,將密碼信息保存在芯片內(nèi);當(dāng)系統(tǒng)重新上電的時(shí)候,自動(dòng)調(diào)用讀存儲(chǔ)器程序,將存儲(chǔ)器內(nèi)的單價(jià)等信息,讀到緩存單元中,供主程序使用。3.3顯示電路設(shè)計(jì)本系統(tǒng)設(shè)計(jì)的顯示電路是為了給使用者以提示而設(shè)置的。考慮到為了節(jié)約單片機(jī)的口資源,本系統(tǒng)的顯示采用串行顯示的方式,只使用單片機(jī)的兩個(gè)串行口,就可以完成單片機(jī)的顯示功能,顯示電路的電路原理圖如圖4所示。圖4 顯示電路的電路原理圖電路設(shè)定:當(dāng)程序檢測(cè)在5分鐘內(nèi)沒(méi)有按鍵操作的時(shí)候,就關(guān)閉顯示。這個(gè)功能使用程序來(lái)實(shí)現(xiàn)的,一旦沒(méi)有按鍵動(dòng)作就啟動(dòng)一個(gè)定時(shí)器,檢測(cè)在5分鐘內(nèi)沒(méi)有按鍵動(dòng)作的時(shí)候,啟動(dòng)一個(gè)程序,關(guān)閉顯示,這樣可以達(dá)到節(jié)省電能的目的。從單片機(jī)串口輸出的信號(hào)先送到左邊的移位寄存器(74HC164),由于移位脈沖的作用,使數(shù)據(jù)向右移,達(dá)到顯示的目的。移位寄存器74HC164還兼作數(shù)碼管的驅(qū)動(dòng),插頭1(header1)接電源,插頭2(header2)接數(shù)據(jù)和脈沖輸出端。電路中的三個(gè)整流管D1D3的作用是降低數(shù)碼管的工作電壓,增加其使用壽命。顯示器主顯示幾個(gè)字符,給用戶提供指示見(jiàn)圖5、圖6所示。2- -FFO圖5 關(guān)閉狀態(tài)1-888 圖6 開(kāi)鎖狀態(tài)3.4 按鍵電路設(shè)計(jì)此設(shè)計(jì)采用4*4行列式矩陣鍵盤(pán),這種接法可減少鍵盤(pán)與單片機(jī)時(shí)的I/O口連線,原理圖如圖7。圖7 鍵盤(pán)設(shè)計(jì)原理圖在這種行列式矩陣鍵盤(pán)非鍵盤(pán)編碼的單片機(jī)系統(tǒng)中,鍵盤(pán)處理程序首先執(zhí)行等待按鍵并確認(rèn)有無(wú)按鍵按下的程序段。當(dāng)確認(rèn)有按鍵按下后,下一步就要識(shí)別哪一個(gè)按鍵按下。對(duì)鍵的識(shí)別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。此次設(shè)計(jì)采用逐行掃描查詢法,判斷鍵盤(pán)中哪一個(gè)鍵被按下使通過(guò)將列線逐列置低電平后,檢查行輸入狀態(tài)來(lái)實(shí)現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)鍵。按鍵的操作面板上共計(jì)數(shù)字鍵10個(gè),功能鍵6個(gè)。鍵盤(pán)上還有3個(gè)指示燈和一個(gè)蜂鳴器。10個(gè)數(shù)字鍵用來(lái)輸入密碼,另外6個(gè)功能鍵分別是:CLR、EN、F1、F2、F3、F4。其中CLR鍵的功能是當(dāng)輸入密碼錯(cuò)誤的時(shí)候,清除前面已經(jīng)輸入的數(shù)據(jù),重新輸入。EN鍵的功能是確認(rèn)輸入的密碼。F1是管理模式切換鍵,當(dāng)用戶不小心三次輸入密碼都沒(méi)有正確,鍵盤(pán)被鎖定,這個(gè)時(shí)候就可以啟動(dòng)管理模式,使用管理員的密碼來(lái)開(kāi)門(mén)。F2是用來(lái)進(jìn)入修改密碼的狀態(tài)。F3用來(lái)關(guān)閉顯示器,一來(lái)可以節(jié)省電量,另外也可以防止不法分子偷窺密碼。F4用來(lái)作電鈴。上面的3個(gè)指示燈L1、L2、L3是用來(lái)指示操作的狀態(tài):L1鎖定及輸入指示狀態(tài)燈,正常的情況下顯示紅色,當(dāng)鍵盤(pán)動(dòng)作的時(shí)候,L1燈開(kāi)始閃動(dòng),當(dāng)鍵盤(pán)處于鎖定狀態(tài)時(shí),指示燈也顯示紅色。L2開(kāi)門(mén)指示燈,當(dāng)用戶在規(guī)定的時(shí)間內(nèi)正確的輸入了密碼,此燈轉(zhuǎn)變?yōu)榫G色,表示開(kāi)門(mén),否則不顯示。L3是管理員狀態(tài)指示燈,當(dāng)按下F1后,指示燈自動(dòng)點(diǎn)亮。面板上還有一個(gè)蜂鳴器,其中一個(gè)功能是用來(lái)指示操作的按鍵是否在成功的按下;另外一個(gè)功能是當(dāng)用戶輸入密碼錯(cuò)誤的次數(shù)超過(guò)了3次或輸入密碼時(shí)間多于12s,鳴笛以示報(bào)警。3.5 備用電源電路為了防止停電情況的發(fā)生,本電路后備了UPS電源,它包括市電供電電路,停電檢測(cè)電路,電子開(kāi)關(guān)切換電路,蓄電池充電電路和蓄電池組成。其電路圖如下圖8所示:圖8 電源電路220V市電通過(guò)變壓器B降壓成12V的交流電,再經(jīng)過(guò)整流橋整流,7805穩(wěn)壓到5V送往電子切換電路,由于本電路功耗較少,所以選用10W的小型變壓器。由R8,R9,R6,R7及IC14構(gòu)成電壓比較器,正常情況下,V+V- IC14輸出高電平,由T3,T4構(gòu)成的達(dá)林頓管使繼電器J開(kāi)啟,將其常開(kāi)觸電將蓄電池和電路相連,實(shí)現(xiàn)市電和蓄電池供電的切換,保證電子密碼鎖的正常工作(視電池容量而定持續(xù)時(shí)間)。其電路圖如下圖9所示:圖9 停電檢測(cè)及電子開(kāi)關(guān)切換電路T1,T2構(gòu)成的蓄電池自動(dòng)充電電路,它在電池充滿后自動(dòng)停止充電,其中D1亮為正在充電,D2為工作指示。由R4,R5,T1構(gòu)成電壓檢測(cè)電路,蓄電池電壓低,則T1,T2導(dǎo)通,實(shí)現(xiàn)對(duì)其充電;充滿后,T1,T2截止,停止充電,同時(shí)D1熄滅,電路中C4的作用是濾除干擾信號(hào)。其電路圖如圖10所示:圖10 蓄電池自動(dòng)充電4 程序設(shè)計(jì)1模塊介紹該計(jì)程計(jì)價(jià)系統(tǒng)的軟件設(shè)計(jì)分為以下幾個(gè)模塊:(1)主程序模塊主程序主要完成初始化、設(shè)置中斷向量、檢查有無(wú)按鍵按下、以及調(diào)用顯示等等。主程序的流程圖如下所示。(2)鍵盤(pán)掃描及識(shí)別子程序鍵盤(pán)采用查詢的方式,放在主程序中,當(dāng)沒(méi)有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。其程序流程如圖11所示.(3)調(diào)電存儲(chǔ)服務(wù)程序當(dāng)比較密碼的時(shí)候,需要讀AT24C02程序,將存儲(chǔ)在芯片內(nèi)的數(shù)據(jù)讀到RAM中,然后和輸入的密碼相比較。當(dāng)修改密碼的時(shí)候,需要把輸入的密碼保存到AT24C02中,其程序流程如圖12 所示。(4)顯示子程序由于是分屏顯示數(shù)據(jù),所以就要用到5個(gè)顯示子程序,分別是:關(guān)閉狀態(tài)顯示子程序(DIS_A)、開(kāi)鎖狀態(tài)顯示子程序(DIS_B)、密碼輸入及修改狀態(tài)顯示子程序(DIS_C)、密碼輸入錯(cuò)誤后的提示子程序(DIS_D)。密碼在規(guī)定的時(shí)間內(nèi)輸入錯(cuò)誤次數(shù)超過(guò)3次后的鎖定狀態(tài)顯示子程序(DIS_E)。開(kāi)始初始化有鍵按下?調(diào)用顯示啟動(dòng)定時(shí)識(shí)別按鍵全部按完?超時(shí)?比較密碼開(kāi)門(mén)開(kāi)始自動(dòng)清除3次?鎖定NNYYYYNN按下F2啟動(dòng)定時(shí)輸入密碼存入緩沖再輸入一次比較密碼調(diào)用24C02調(diào)用顯示按F2退出Y重新輸入N圖11 主程序流程圖圖12 修改密碼流程圖5總結(jié)與體會(huì)在這次單片機(jī)課程設(shè)計(jì)中,讓我們有機(jī)會(huì)親身體驗(yàn)動(dòng)手去做,自己學(xué)到了好多東西。在所有的硬件電路做好之后,就是軟件的編程任務(wù)了,雖然我們上學(xué)期剛學(xué)完單片機(jī)這門(mén)課程,但通過(guò)此次課程設(shè)計(jì)使自己發(fā)現(xiàn)自己學(xué)的真的是太少了,雖然自己的課程設(shè)計(jì)最終沒(méi)能很好的完成任務(wù)書(shū)上的任務(wù),但自己從這次設(shè)計(jì)過(guò)程中體會(huì)到了好多,進(jìn)一步也發(fā)現(xiàn)了自己學(xué)知識(shí)的膚淺。此次設(shè)計(jì)也就給子敲響了警鐘,自己再有一年就要走出校門(mén),跨如社會(huì)了,自己必須認(rèn)真掌握知識(shí)了,在學(xué)校知道了可以彌補(bǔ)到社會(huì)上那個(gè)可就完了。要不等自己走出校門(mén)時(shí)空無(wú)所長(zhǎng),哪自己就很難在社會(huì)上生活了,那也就真的成了“大學(xué)生畢業(yè)就意味著失業(yè)”了!因此,非常慶幸學(xué)校給我們這樣的機(jī)會(huì)讓我們發(fā)現(xiàn)了不足之處。參考文獻(xiàn)1 康華光.電子技術(shù)基礎(chǔ)(第五版)M.高等教育出版社.20062 梁宗善.新型集成塊應(yīng)用M.華中理工大出版社.20043 劉進(jìn)峰.電子制作實(shí)訓(xùn) M.中國(guó)勞動(dòng)社會(huì)保障出版社.20064 黃永定.電子線路實(shí)驗(yàn)與課程設(shè)計(jì)M.機(jī)械工業(yè)出版社.20055 汪道輝.單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐 M.電子工業(yè)出版社.2006附錄1 基于單片機(jī)控制大電子密碼鎖原理總圖附錄2 ;顯示緩沖區(qū) ;LED1 EQU 6FH BUFF EQU 6EH TIMERS1 EQU 6DH TIMERS2 EQU 6CH TIMERS EQU 6BH ;LED6 EQU 6AH ;密碼緩沖區(qū) PS1 EQU 69H PS2 EQU 68H PS3 EQU 67H PS4 EQU 66H PS5 EQU 65H PS6 EQU 64H ;AT24C02讀取緩沖區(qū) AT1 EQU 63H AT2 EQU 62H AT3 EQU 61H AT4 EQU 60H AT5 EQU 5FH AT6 EQU 5EH ;按鍵標(biāo)志位 F_1 BIT 20H F_2 BIT 21H F_3 BIT 22H F_4 BIT 23H BUF_FULL BIT 24H CH_STATEBIT25H FLAG1 BIT 26H F_F1 BIT 27H F_F2 BIT 28H PSW_F BIT 29H ;口資源定義 SPK BIT P0.7 SDA BIT P0.5 SCL BIT P0.6 ;發(fā)光二極管燈 L1 BIT P1.0 L2 BIT P1.1 L3 BIT P1.2 ORG 0000H AJMP MAIN MAIN:MOV SP, #70H MOV TMOD, #11H MOV TH0, #3CH MOV TL0, #0B0H MOV TH1, #3CH MOV TL1, #0B0H CLR F_1 CLR F_2 CLR F_3 CLR F_4 CLR BUF_FULL CLR CH_STATE CLR FLAG1 CLR F_F1 CLR F_F2 CLR PSW_F MOV BUFF,#00H LCALL INITPS LCALL INITAT LCALL XSA MOV TIMERS1,#00H MOV PS1, #11H MOV PS2, #0AH MOV PS3, #02H MOV PS4, #13H MOV PS5, #0BH MOV PS6, #02H START:LCALL CH_KEY AJMP START CH_KEY:LCALL KS JNZ LK1 AJMP CH_KEY LK1: LCALL T12MS ACALL KS JNZ LK2 RET LK2: NOP LCALL SBIE MOV BUFF, A LCALL CH_KF JB FLAG1 ,KEY_FUN KEY_DIG:NOP ;SETB TR0 INC TIMERS MOV A, TIMERS CLR C SUBB A, #01H JNZ PS_2 MOV PS1, BUFF AJMP NEXT PS_2:MOV A, TIMERS SUBB A, #02H CLR C JNZ PS_3 MOV PS2, BUFF AJMP NEXT PS_3:MOV A, TIMERS CLR C SUBB A, #03H JNZ PS_4 MOV PS3, BUFF AJMP NEXT PS_4:MOV A, TIMERS CLR C SUBB A, #04 JNZ PS_5 MOV PS4, BUFF AJMP NEXT PS_5:MOV A, TIMERS CLR C SUBB A, #05 JNZ PS_6 MOV PS5, BUFF AJMP NEXT PS_6:MOV A, TIMERS CLR C SUBB A, #06H JNZ CH_KEY MOV PS6, BUFF NEXT:LCALL XSC MOV R7, TIMERS CJNER7, #06H ,FULL FULL:JC NEXT9 SETB BUF_FULL MOV TIMERS,#06H CLR L3 CLR P2.1 LCALL T100MSD SETB P2.1 AJMP CH_KEY NEXT9:CLR P2.1 CLR L3 LCALL T100MSD SETB L3 SETB P2.1 AJMP CH_KEYKEY_FUN: CLR FLAG1 CLR C MOV A, BUFF SUBB A, #03H JNZ EN_C AJMP CL EN_C:CLR C MOV A, BUFF SUBB A, #00H JNZ F1_C AJMP EN F1_C:CLR C MOV A, BUFF SUBB A, #1BH JNZ F2_C AJMP FU1 F2_C:CLR C MOV A, BUFF SUBB A, #1AH JNZ F3_C AJMP FU2 F3_C:CLR C MOV A, BUFF SUBB A, #19H JNZ F4_C AJMP FU3 F4_C:CLR C MOV A, BUFF SUBB A, #18H JZ FU4 EXIT8:NOP LJMP CH_KEY CL:NOP SETB L3 MOV BUFF, #00H MOV TIMERS,#00H LCALL INITPS LCALL XSC LCALL BP LCALL BP LCALL T100MSD LCALL BP CLR FLAG1 AJMP CH_KEY FU4:NOP LCALL BP LCALL T100MSD LCALL BP LCALL T100MSD LCALL BP LCALL T100MSD LCALL BP LCALL T100MSD LCALL BP CLR FLAG1 AJMP CH_KEY FU3:NOP LCALL BP LCALL T100MSD LCALL BP LCALL KILLXS CLR FLAG1 AJMP CH_KEY FU1:NOP LCALL XSC JB F_F1, NEXT_F1 CLR L1 LCALL BP SETB F_F1 AJMP CH_KEYNEXT_F1:SETB L1 LCALL BP CLR F_F1 SETB TR1 CLR FLAG1 AJMP CH_KEY FU2:NOP JB F_F2, NEXT_F2 CLR L2 LCALL BP SETB F_F2 AJMP CH_KEYNEXT_F2:SETB L2 LCALL BP CLR F_F2 CLR FLAG1 AJMP CH_KEY;按鍵的功能描述 EN:NOP JBBUF_FULL, GOON AJMP EXIT GOON:CLR BUF_FULL JB F_F2, AT_WRON LCALL AT_RADE LCALC_PSW JB PSW_F,OPEN LCALL XSD INC TIMERS2 MOV R7,TIMERS2 CJNE R7,#03H,D0 D0:JC NEXT1 LCALL XSE LCALL WARN2S LCALL LOCK_1M NEXT1:LCALL WARN2S LCALL XSA EXIT:LCALL INITPS MOV BUFF, #00H CLR FLAG1 MOV TIMERS, #00H AJMPCH_KEY AT_WRON:LCALLAT_WR LCALL XSF LCALL BP LCALL T100MSD LCALL BP LCALL T500MSD LCALL KILLXS LCALL T500MSD LCALL XSF LCALL T500MSD LCALL KILLXS LCALL T500MSD LCALL XSF LCALL T500MSD LCALL XSA AJMP EXIT OPEN:MOV A, TIMERS1 CJNEA, #09H,CLT1 CLT1:JC GOON1 MOV TIMERS1,#00H GOON1:INC TIMERS1 MOV TIMERS2,#00H SETB L3 CLR PSW_F LCALL XSB CLR JDQ LCALL BP LCALL BP LCALL BP LCALL BP LCALL SEC LCALL SEC LCALL SEC LCALL SEC LCALL SEC LCALL SEC LCALL SEC LCALL SEC SETB JDQ LCALL XSA NOP AJMP EXITCLR_BUF:MOV R7, #06H MOV R0, #6FH LOOP1:MOV A, #00H MOV R0, A DEC R0 DJNZ R7,LOOP1 RETINITPS:PUSH ACC PUSH PSW MOV R7, #06H MOV R1, #PS1 MOV A, #00HINIT_PS:MOV R1, A DEC R1 DJNZ R7, INIT_PS POP PSW POP ACC RET INITAT:PUSH ACC PUSH PSW MOV R7,#06H MOV R1,#AT1 MOV A, #00HINIT_AT:MOV R1, A DEC R1 DJNZ R7, INIT_AT MOV TIMERS,#00H POP PSW POP ACC RET;按鍵識(shí)別子程序 SBIE:MOV R2, #0EFH MOV R4, #00H LK4:MOV A, R2 MOV P0, A NOP MOV A, P0 JB ACC.0,LONE MOV A, #00H AJMP LKP LONE:JB ACC.1,LTWO MOV A, #08H AJMP LKP LTWO:JB ACC.2,LTHR MOV A, #10H AJMP LKP LTHR:JB ACC.3,NEXTT MOV A, #18H LKP:ADD A, R4 PUSH ACC LK3:ACALL KS JZ LK3 POP ACC RET NEXTT:INC R4 MOV A, R2 JNB ACC.7,KND RL A MOV R2, A AJMP LK4 KND:AJMP CH_KEY KS:MOV P0, #0FH MOV A, P0 CPL A ANL A, #0FH RET CH_KF:CLR CMOV A, BUFF CJNE A, #17H, KY KY:JC SET_CH SETB FLAG1 AJMP CHKE_END SET_CH:CLR C MOV A, BUFF SUBB A, #00H JNZ EN_CH SETB FLAG1 AJMP CH_END EN_CH:MOV A, BUFF SUBB A, #03H JNZ DIG SETB FLAG1 AJMP CH_END DIG:CLR FLAG1 CHKE_END:RET T12MS:MOV R7, #18H TM1:MOV R6, #0FFH TM66:DJNZ R6, TM66 DJNZ R7, TM1 RET;檢驗(yàn)密碼正誤 C_PSW:PUSH PSW PUSH ACC MOV R2,#06H MOV R0,#PS1 MOV R1,#AT1 C_P:CLR C MOV A,R0 SUBB A,R1 JNZ RETURN DEC R0 DEC R1 DJNZ R2,C_P SETB PSW_F AJMP EXIT7 RETURN:CLR PSW_F EXIT7:NOP POP ACC POP PSW RET;鎖定,鳴笛子程序 LOCK_1M:MOV R4,#3CH M1_LOOP:LCALL SEC DJNZ R4,M1_LOOP RET WARN2S:PUSH PSW PUSH ACC MOV R5, #14H WARN:LCALL BP DJNZ R5,WARN POP ACC POP PSW RET BP:CLR SPK LCALL T100MSD SETB SPK RET ; 顯示子程序 XSA:PUSH ACC PUSH PSW MOV A, TIMERS1 MOV DPTR, #TAB MOVCA, A+DPTR MOV SBUF, A JNB TI, $ CLR TI MOV SBUF, #0FEH JNB TI, $ CLR TI MOV SBUF, #0FEH JNB TI, $ CLR TI MOV SBUF, #78H JNB TI, $ CLR TI MOV SBUF, #78H JNB TI, $ CLR TI MOV SBUF, #11H JNB TI, $ CLR TI POP PSW POP ACC RET XSB:PUSH ACC PUSH PSW MOV A, TIMERS1 MOV DPTR, #TAB MOVCA, A+DPTR MOV SBUF, A JNB TI, $ CLR TI MOV SBUF, #0FEH JNB TI, $ CLR TI MOV SBUF, #0FEH JNB TI, $ CLR TI MOV SBUF, #10H JNB TI, $ CLR TI MOV SBUF, #10H JNB TI, $ CLR TI MOV SBUF, #10H JNB TI, $ CLR TI POP PSW POP ACC RET XSC:PUSH ACC PUSH PSW LCALL KILLXS SETB RS1 MOV R6, TIMERS MOV A, R6 SUBB A, #01H JNC SC0 JZ SC1 SC0:MOV SBUF, #0FEH JNB TI, $ CLR TI SC1:MOV A, R6 SUBB A, #02H JNC SC11 JNZ SC2 SC11:MOV SBUF,#0FEH JNB TI, $ CLR TI SC2:MOV A, R6 SUBB A, #03H JNC SC22 JNZ SC3 SC22:MOV SBUF, #0FEH JNB TI, $ CLR TI SC3:MOV A, R6 SUBB A, #04H JNC SC33 JNZ SC4 SC33:MOV SBUF, #0FEH JNB TI, $ CLR TI SC4:MOV A, R6 SUBB A, #05H JNC SC44 JNZ SC5 SC44:MOV SBUF, #0FEH JNB TI, $ CLR TI SC5:MOV A, R6 SUBB A, #06H JNC SC55 JNZ SC6 SC55:MOV SBUF, #0FEH JNB TI, $ CLR TI SC6:MOV A, R6 SUBB A, #07H JNC SC66 JNZ EXIT_C SC66:MOV SBUF, #0FEH JNB TI, $ CLR TI NOP NOP EXIT_C:NOP CLR RS1 POP PSW POP ACC NOP RET XSD:PUSH ACC PUSH PSW MOV SBUF, #98H JNB TI, $ CLR TI MOV SBUF, #79H JNB TI, $ CLR TI MOV SBUF, #11H JNB TI, $ CLR TI MOV SBUF, #79H JNB TI, $ CLR TI MOV SBUF, #79H JNB TI, $ CLR TI MOV SBUF, #38H JNB TI, $ CLR TI POP PSW POP ACC RET XSE:PUSH ACC PUSH PSW MOV SBUF, #0FEH JNB TI, $ CLR TI MOV SBUF, #54H JNB TI, $ CLR TI MOV SBUF, #39H JNB TI, $ CLR TI MOV SBUF, #11H JNB TI, $ CLR TI MOV SBUF, #3DH JNB TI, $ CLR TI MOV SBUF, #0FEH JNB TI, $ CLR TI POP PSW POP ACC RET XSF:PUSH ACC PUSH PSW MOV SBUF, #98H JNB TI, $ CLR TI MOV SBUF, #38H JNB TI, $ CLR TI MOV SBUF, #39H JNB TI, $ CLR TI MOV SBUF, #39H JNB TI, $ CLR TI MOV SB

溫馨提示

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

評(píng)論

0/150

提交評(píng)論