單片機(jī)綜合設(shè)計(jì)實(shí)驗(yàn) 單片機(jī)密碼鎖.doc_第1頁(yè)
單片機(jī)綜合設(shè)計(jì)實(shí)驗(yàn) 單片機(jī)密碼鎖.doc_第2頁(yè)
單片機(jī)綜合設(shè)計(jì)實(shí)驗(yàn) 單片機(jī)密碼鎖.doc_第3頁(yè)
單片機(jī)綜合設(shè)計(jì)實(shí)驗(yàn) 單片機(jī)密碼鎖.doc_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)綜合設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆涨度胧较到y(tǒng)的設(shè)計(jì)原理、程序編寫(xiě)與調(diào)試的開(kāi)發(fā)過(guò)程。二、實(shí)驗(yàn)內(nèi)容電子密碼鎖設(shè)計(jì)(A類):根據(jù)設(shè)定好的密碼,采用8個(gè)按鍵實(shí)現(xiàn)密碼的輸入功能,當(dāng)密碼輸入正確之后,鎖就打開(kāi),顯示某個(gè)字符;如果輸入的三次的密碼不正確,就鎖定按鍵3秒鐘,同時(shí)發(fā)出報(bào)警聲顯示另一個(gè)字符,直到?jīng)]有按鍵按下3秒后,才打開(kāi)按鍵鎖定功能;否則在3秒鐘內(nèi)仍有按鍵按下,就重新鎖定按鍵3秒時(shí)間并報(bào)警。在單片機(jī)實(shí)驗(yàn)板上實(shí)現(xiàn)二、實(shí)驗(yàn)要求1、 根據(jù)給定題目設(shè)計(jì)Proteus仿真原理圖;2、 根據(jù)給定題目設(shè)計(jì)有關(guān)的51匯編語(yǔ)言(或C語(yǔ)言)源程序,并編譯成可執(zhí)行文件;3、 在Proteus仿真界面下運(yùn)行程序?qū)崿F(xiàn)給定的功能。三程序設(shè)計(jì)內(nèi)容 (1)密碼的設(shè)定,在此程序中密碼是固定在程序存儲(chǔ)器ROM中,假設(shè)預(yù)設(shè)的密碼為“21213232”共8位密碼。(2)密碼的輸入問(wèn)題:由于采用按鍵來(lái)完成密碼的輸入,首先輸入密碼的長(zhǎng)度,接著根據(jù)密碼的長(zhǎng)度輸入密碼的位數(shù),直到所有長(zhǎng)度的密碼都已經(jīng)輸入完畢,才能完成密碼的輸入過(guò)程。進(jìn)入密碼的判斷比較處理狀態(tài)并給出相應(yīng)的處理過(guò)程。(3)按鍵禁止功能:初始化時(shí),是允許按鍵輸入密碼,當(dāng)有按鍵按下并開(kāi)始進(jìn)入按鍵識(shí)別狀態(tài)時(shí),按鍵禁止功能被激活,但啟動(dòng)的狀態(tài)在3次密碼輸入不正確的情況下發(fā)生的。開(kāi)始初始化有鍵按下?調(diào)用顯示啟動(dòng)定時(shí)識(shí)別按鍵按鍵數(shù)=8?超時(shí)?比較密碼開(kāi)門(mén)開(kāi)始自動(dòng)清除3次?報(bào)警NNYYYYNN主程流程圖Proteus仿真原理圖:程序 TIM EQU -2000DISP DATA 30H ; 30-34HDIS DATA 35HKEY DATA 36HWRONG DATA 50HCNT DATA 51HCLK BIT P0.0DAT BIT P0.1 STR BIT P0.2BEEP BIT P0.7S4 BIT P2.7S3 BIT P2.6S2 BIT P2.5S1 BIT P2.4K1 BIT P2.3K2 BIT P2.2K3 BIT P2.1K4 BIT P2.0ORG 0000HLJMP MAINORG 000BHLJMP TIM0ORG 001BHLJMP DT1MAIN:MOV SP,#60H;MOV IE,#82HSETB EASETB ET0SETB ET1MOV TMOD,#11HMOV TH0,#HIGH(TIM)MOV TL0,#LOW(TIM)MOV TH1,#70H ;定時(shí)20msMOV TL1,#00H ;SETB TR0MOV KEY,#0MOV R5,#08HMOV R0,#40HMOV WRONG ,#00HMOV DISP+0,#0FFHMOV DISP+1,#0FFHMOV DISP+2,#0FFHMOV DISP+3,#0FFH;.;大循環(huán);.START: MOV R5,#08HMOV R0,#40H LCALL INPUT LCALL COMPARE LJMP START;.LOOP: INC WRONGMOV DISP+1,#0EH ;第二個(gè)數(shù)碼管顯示E表示密碼輸入錯(cuò)誤,鎖沒(méi)有打開(kāi)MOV KEY,#0SJMP START ;. ;輸入8位密碼 ;.INPUT:MOV A,KEYJZ INPUTMOV R0,AMOV A,R0;MOV DISP+3,AMOV DISP+3,ALCALL DELAY_S ;消抖INC R0MOV KEY,#0DJNZ R5,INPUTMOV KEY,#0RET;.;判斷輸入的密碼是否正確;.COMPARE: MOV R1,#00HMOV R5,#08H MOV R0,#40H MOV A,WRONG CJNE A,#2,NEXT ;判斷輸入錯(cuò)誤次數(shù)是否等于3,不等于跳轉(zhuǎn)NEXT MOV WRONG,#00H;等于3調(diào)用按鍵鎖定子程序 MOV KEY,#0 LCALL LOCK ;調(diào)用鍵盤(pán)鎖定程序 SJMP NEXT_1;子程序返回 NEXT:MOV DPTR,#TAB;輸入的密碼與預(yù)先設(shè)定的密碼相比較 MOV A,R1MOVC A,A+DPTR;MOV A,R1MOV B,R0CJNE A,B, LOOPINC R1INC R0DJNZ R5, NEXT ;判斷8位有沒(méi)有比較完;MOV DISP+3,#0FFH;MOV DISP+2,#0FFHMOV DISP+1,#0AH ;密碼正確顯示A ;MOV DISP+0,#0FFH NEXT_1:RET;.;鎖定按鍵3秒鐘;.LOCK: MOV KEY,#00HMOV DISP+1,#0FH ;第二個(gè)數(shù)碼管顯示F表示 三次密碼輸入錯(cuò)誤,鎖定按鍵 鎖定三秒過(guò)后第二個(gè)數(shù)碼管顯示關(guān)SETB TR1MOV CNT,#00HLOCK_N:CLR BEEP MOV A,KEY JNZ LOCK ;A=0說(shuō)明沒(méi)有按鍵按下,不需要重新鎖定,程序順序執(zhí)行,A!=0說(shuō)明有鍵按下,重新鎖定 MOV A,CNT MOV KEY,#0CJNE A,#150,LOCK_N ;判斷鎖定時(shí)間是否到3秒CLR TR1;關(guān)中斷SETB BEEP; 關(guān)蜂鳴器MOV DISP+1,#0ffhMOV CNT,#00H;計(jì)數(shù)器清零RET;中斷返回;.;中斷0的子程序;.TIM0:PUSH ACCPUSH PSWMOV TH0,#HIGH(TIM)MOV TL0,#LOW(TIM)MOV A,DISLCALL GETDISMOV A,DISADD A,#DISPMOV R1,AMOV A,R1LCALL GETSEGKEY0P: JB K1,KEY1PMOV A,DISADD A,#1MOV KEY,AKEY1P: JB K2,KEY2PMOV A,DISADD A,#5MOV KEY,AKEY2P: JB K3,KEY3PMOV A,DISADD A,#9MOV KEY,AKEY3P: JB K4,KEYPMOV A,DISADD A,#13MOV KEY,AKEYP:INC DISMOV A,DISCJNE A,#4,TIMEMOV DIS,#0TIME:POP PSWPOP ACCRETI ;. ;中斷服務(wù)程序2 DT1: MOV TH1,#70H MOV TL1,#00H INC CNT RETI ;. ;延時(shí)子程序1 ;.DLYTIM:MOV R6,#200DLYR7:MOV R7,#200DJNZ R7,$DJNZ R6,DLYR7RET;.;延時(shí)子程序2;.DELAY_S:MOV R4,#10MOV R6,#200DLYR8:MOV R7,#200DJNZ R7,$DLAY1:DJNZ R6,DLYR8DJNZ R4, DLAY1RET ;. ;.GETSEG: MOV R1,ALCALL DISPLAYRET ;. ;.GETDIS: MOV DPTR,#NUMTABMOVC A,A+DPTRCPL AMOV P2,ARET;.;.DISPLAY:MOV A,R1MOV DPTR,#TABLEMOVC A,A+DPTRCPL AMOV R2,#8CLR CLK;.;.DLP: RRC AMOV DAT,CCLR CLKSETB CLKDJNZ R2,DLPSETB STRCLR STRRET;.;.;數(shù)碼管譯碼;.TABLE: DB 0F5H,05H,0E3H,67H,17H,76

溫馨提示

  • 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)論