?? akey_s.lst
字號:
A51 MACRO ASSEMBLER AKEY_S 09/06/2003 18:27:24 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN akey_s.OBJ
ASSEMBLER INVOKED BY: C:\KEIL\C51\BIN\A51.EXE akey_s.asm SET(LARGE) DEBUG EP
LOC OBJ LINE SOURCE
1 ;參數(shù)定義
0060 2 SPBM DATA 60H
0092 3 KDKEY BIT P1.2 ;定義鍵盤檢測位
0090 4 FRIT EQU P1 ;定義P1口
5 ;程序開始
4000 6 ORG 4000H
4000 024100 7 LJMP MAIN
8
4100 9 ORG 4100H ;程序從4100H單元開始存放
4100 758160 10 MAIN: MOV SP,#SPBM;給堆棧指針賦初值
11
4103 12 KEY1:
4103 3107 13 ACALL KEY ;調(diào)KEY子程序
14
4105 2103 15 AJMP KEY1 ;繼續(xù)
16
4107 17 KEY:
4107 C0D0 18 PUSH PSW
4109 C0E0 19 PUSH ACC
410B 79FF 20 KEYREP: MOV R1,#0FFH;賦初值
410D 7400 21 MOV A,#00H
410F 3135 22 ACALL TXDBYTE
4111 2092F7 23 JB KDKEY,KEYREP
4114 3149 24 ACALL DELAY
4116 7900 25 MOV R1,#00H
4118 74FE 26 MOV A,#0FEH ;是,則判斷其鍵值
411A 27 KEYZHI:
411A C297 28 CLR P1.7
411C 3149 29 ACALL DELAY
411E D297 30 SETB P1.7
4120 C297 31 CLR P1.7
4122 3149 32 ACALL DELAY
4124 D297 33 SETB P1.7
4126 3135 34 ACALL TXDBYTE
4128 309205 35 JNB KDKEY,KEYRET ;是,則保存退出
412B 23 36 RL A ;否則檢測下一個鍵
412C 09 37 INC R1
412D B47FEA 38 CJNE A,#7FH,KEYZHI ;檢測完了嗎?
4130 39 KEYRET:
4130 D0E0 40 POP ACC
4132 D0D0 41 POP PSW
4134 22 42 RET
43
4135 44 TXDBYTE:
4135 C0D0 45 PUSH PSW
4137 C0E0 46 PUSH ACC
4139 7B08 47 MOV R3,#08H
413B 33 48 TXDUP: RLC A ;
413C 9290 49 MOV P1.0,C
413E C291 50 CLR P1.1
4140 D291 51 SETB P1.1
4142 DBF7 52 DJNZ R3,TXDUP
4144 D0E0 53 POP ACC
4146 D0D0 54 POP PSW
4148 22 55 RET
56
4149 7F10 57 DELAY: MOV R7,#10H
414B 7E10 58 DELAY0: MOV R6,#10H
A51 MACRO ASSEMBLER AKEY_S 09/06/2003 18:27:24 PAGE 2
414D DEFE 59 DELAY1: DJNZ R6,DELAY1
414F DFFA 60 DJNZ R7,DELAY0
4151 22 61 RET
62 END
A51 MACRO ASSEMBLER AKEY_S 09/06/2003 18:27:24 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
DELAY. . . . . . . C ADDR 4149H A
DELAY0 . . . . . . C ADDR 414BH A
DELAY1 . . . . . . C ADDR 414DH A
FRIT . . . . . . . D ADDR 0090H A
KDKEY. . . . . . . B ADDR 0090H.2 A
KEY. . . . . . . . C ADDR 4107H A
KEY1 . . . . . . . C ADDR 4103H A
KEYREP . . . . . . C ADDR 410BH A
KEYRET . . . . . . C ADDR 4130H A
KEYZHI . . . . . . C ADDR 411AH A
MAIN . . . . . . . C ADDR 4100H A
P1 . . . . . . . . D ADDR 0090H A
PSW. . . . . . . . D ADDR 00D0H A
SP . . . . . . . . D ADDR 0081H A
SPBM . . . . . . . D ADDR 0060H A
TXDBYTE. . . . . . C ADDR 4135H A
TXDUP. . . . . . . C ADDR 413BH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -