?? key lock (1).lst
字號:
A51 MACRO ASSEMBLER KEY_LOCK__1_ 08/05/2006 18:25:58 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN Key Lock (1).OBJ
ASSEMBLER INVOKED BY: e:\Program Files\Keil\C51\BIN\A51.EXE Key Lock (1).asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;R3——輸入錯誤次數
2 ;R4——密碼個數
3 ;R7——輸入密碼暫存
4 ;R2——鍵值暫存
5 ;R6——延時參數
0000 6 ORG 00H
0000 8009 7 SJMP START
000B 8 ORG 0BH
000B 9 START:
10 ;設置初始密碼
000B 11 PASSWORD:
000B 7C08 12 MOV R4,#08H ;密碼個數8個
000D 7840 13 MOV R0,#40H ;密碼暫存區
000F 7400 14 MOV A,#00H ;初始密碼0,1,2,3,4,5,
6,7
0011 15 PASSNEXT:
0011 F6 16 MOV @R0,A
0012 08 17 INC R0
0013 04 18 INC A
0014 DCFB 19 DJNZ R4,PASSNEXT
0016 20 MLOOP:
0016 C2B0 21 CLR P3.0 ;鎖合
0018 D2B1 22 SETB P3.1 ;鎖開
001A D2B2 23 SETB P3.2 ;鍵有效
001C D2B3 24 SETB P3.3 ;錯誤
001E D2B4 25 SETB P3.4 ;報警
0020 7B03 26 MOV R3,#03H ;錯誤次數3次
27 ;輸入密碼
0022 7C08 28 GETPW: MOV R4,#08H ;密碼個數
0024 7830 29 MOV R0,#30H ;輸入密碼暫存區
0026 11BD 30 AGAIN: ACALL KEY ;輸入密碼
0028 B40A02 31 CJNE A,#0AH,CONTIUE ;按確認鍵無效
002B 80F9 32 SJMP AGAIN
002D 33 CONTIUE:
002D F6 34 MOV @R0,A
002E 11AB 35 ACALL DISPLED ;按鍵有效顯示
0030 08 36 INC R0
0031 DCF3 37 DJNZ R4,AGAIN
0033 11BD 38 AGAIN1: ACALL KEY ;按確認鍵
0035 B40AFB 39 CJNE A,#0AH,AGAIN1
0038 11AB 40 ACALL DISPLED ;按確認鍵有效顯示
003A 114C 41 ACALL COMP ;比較密碼
003C D2B0 42 SETB P3.0 ;息鎖合
003E C2B1 43 CLR P3.1 ;開鎖
0040 A2B5 44 WAIT: MOV C,P3.5 ;是否重新上鎖
0042 50D2 45 JNC MLOOP ;主循環
0044 11B4 46 ACALL TestKey ;是否有鍵按下,是否修改密碼
0046 60F8 47 JZ WAIT ;累加器的內容為0,則轉移;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -