51單片機的LCD1602液晶屏密碼鎖匯編程序
; 輸入次三次錯誤報警10S,輸入正確開門,7秒后返回初態(tài)
; 以上參數(shù)均可在主程序里設(shè)定,修改系統(tǒng)密碼在程序的結(jié)尾
ORG 0000H
;========== 主程序開始 ==============
MAIN: MOV 30H,#07H ;輸入密碼為7位 最高只可設(shè)15位
MOV 43H,#250 ;設(shè)定開門時間 14的倍數(shù)(實際上液晶顯示器執(zhí)行指令占用了時間,開門時間會比14*250MS大)
;44H號單元存放輸入錯誤的次數(shù)
;46H為定時器1中斷次數(shù)
MOV SP,#60H
MOV TH1,#3CH
SETB ET0
SETB ET1
START: MOV R0,30H
SS1: MOV @R1,#00H
INC R1
MOV R1,#31H ;從31號單元開始存放按建輸入的密碼
CLR 21H ;密碼超時標(biāo)志
MOV 46H,#00H ;超時后對定時器中斷次數(shù)清零,便于下一輪重新計時
INIT: ACALL SELLCD ;設(shè)定液晶工作方式
setb EX0 ;開中斷,允許鍵盤輸入
KEYIN: JB 21H,ERR ;超時轉(zhuǎn)到錯誤程序
clr EX0 ;密碼輸入完后鎖定鍵盤
;當(dāng)使用邊沿觸發(fā)時用上面的指令為什么禁止不了中斷???
;========== 密碼判斷程序 ============
COMP:
LOOP: MOV R5,A
;正確
MATCH: MOV A,#01H
ACALL LINE2
MOV DPTR,#TAB_1
ACALL DISPLAY
MOV 44H,#00H ;輸入錯誤次數(shù)清零
CLR OPEN ;復(fù)位
;錯誤
ERR: ACALL BACK
ACALL BACK ;輸錯提示音,鳴兩下
INC 44H
MOV A,44H
EE0: JC ERROUT ;輸錯不到三次返回
MOV 44H,#00H ;清零
ACALL WRANING ;報警
ERROUT: JMP START
;=========== 按鍵中斷服務(wù)程序 ==========
KEY_INT:push acc
clr ex0
MOV A,KEYNUMBER ;返回按鍵號
clr tr1 ;按下確認(rèn)后關(guān)畢定時器
mov 46h,#00h ;對中斷次數(shù)清零
K1: ADD A,#30H ;將按鍵號轉(zhuǎn)換為ASCⅡ碼
KEY_RTN:pop psw
setb ex0
;=========== 按鍵識別程序 ==========
SMKEY:
ANL A,#0FH
WKEY: MOV B,A ;反轉(zhuǎn)法查詢
NOP
MOV A,P1
ANL A,#0F0H
ORL A,B
MOV P1,#0FH ;還原P1口初態(tài)
CJNE A,#0EEH,WKEY1
MOV KEYNUMBER,#00H
AJMP RETURN
WKEY1: CJNE A,#0EDH,WKEY2
MOV KEYNUMBER,#01H
AJMP RETURN
WKEY2: CJNE A,#0EBH,WKEY3
MOV KEYNUMBER,#02H
AJMP RETURN
WKEY3: CJNE A,#0E7H,WKEY4
MOV KEYNUMBER,#03H
AJMP RETURN
WKEY4: CJNE A,#0DEH,WKEY5
MOV KEYNUMBER,#04H
AJMP RETURN
WKEY5: CJNE A,#0DDH,WKEY6
MOV KEYNUMBER,#05H
AJMP RETURN
WKEY6: CJNE A,#0DBH,WKEY7
MOV KEYNUMBER,#06H
AJMP RETURN
WKEY7: CJNE A,#0D7H,WKEY8
MOV KEYNUMBER,#07H
AJMP RETURN
WKEY8: CJNE A,#0BEH,WKEY9
MOV KEYNUMBER,#08H
AJMP RETURN
WKEY9: CJNE A,#0BdH,WKEY10
MOV KEYNUMBER,#09H
AJMP RETURN
WKEY10: CJNE A,#0BbH,WKEY11
MOV KEYNUMBER,#0AH
AJMP RETURN
WKEY11: CJNE A,#0B7H,RETURN
MOV KEYNUMBER,#0BH ;判斷哪個鍵按下,返回相應(yīng)按鍵號碼
RETURN: MOV P1,#0FH
ANL A,#0FH
JNZ RETURN ;等待按鍵松開
關(guān)鍵詞:
51單片機LCD1602液晶屏密碼鎖匯編程
評論