📄 jp01.lst
字号:
A51 MACRO ASSEMBLER JP01 01/08/2007 10:24:13 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN JP01.OBJ
ASSEMBLER INVOKED BY: C:\Keil7.06\C51\BIN\A51.EXE JP01.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;文件名:JP01.ASM
2 ;程序功能:键盘控制灯移动
3
0000 7590FF 4 START: MOV P1,#0FFH
0003 74FF 5 MOV A,#0FFH
0005 F5A0 6 MOV P2,A
0007 E5A0 7 LOOP: MOV A,P2
0009 B4FF02 8 CJNE A,#0FFH,LP0
000C 80F9 9 JMP LOOP
000E 1160 10 LP0: ACALL DELAY1
0010 E5A0 11 MOV A,P2
0012 B4FF02 12 CJNE A,#0FFH,LP1
0015 80F0 13 JMP LOOP
0017 30A40B 14 LP1: JNB P2.4, A1
001A 30A515 15 JNB P2.5, A2
001D 30A620 16 JNB P2.6, A3
0020 30A72D 17 JNB P2.7, A4
0023 80DB 18 JMP START
0025 7808 19 A1: MOV R0, #8 ;设置左移位数
0027 74FE 20 MOV A ,#0FEH ;设置左移初值
0029 F590 21 LOOP2: MOV P1, A ;输出至P1
002B 1169 22 ACALL DELAY ;调延时1秒子程序
002D 23 23 RL A ;左移一位
002E D8F9 24 DJNZ R0, LOOP2 ;判断移动位数
0030 80CE 25 JMP START
0032 7808 26 A2: MOV R0,#8
0034 74FC 27 MOV A ,#0FCH ;设置右移位数
0036 03 28 LOOP3: RR A ;右移一位
0037 F590 29 MOV P1, A ;输出至P1
0039 120069 30 LCALL DELAY ;调延时1秒子程序
003C D8F8 31 DJNZ R0, LOOP3 ;判断移动位数
003E 80C0 32 JMP START
0040 7806 33 A3: MOV R0,#6
0042 74F0 34 MOV A ,#0F0H ;设置右移位数
0044 35 LOOP4: ;右移一位
0044 F590 36 MOV P1, A ;输出至P1
0046 120069 37 LCALL DELAY
0049 F4 38 CPL A
004A F590 39 MOV P1,A
004C D8F6 40 DJNZ R0, LOOP4 ;判断移动位数
004E 80B0 41 JMP START
0050 780A 42 A4: MOV R0,#10 ; 设置闪烁次数
0052 7400 43 MOV A, #00H ; A存有P1口欲显值
0054 F590 44 LOOP5: MOV P1,A ; P1端口灯亮
0056 120069 45 LCALL DELAY ; 调延时1秒子程序
0059 F4 46 CPL A ; A存有P1口欲显值
005A F590 47 MOV P1,A ; P1端口灯
005C D8F6 48 DJNZ R0, LOOP5 ; 判断闪烁次数
005E 80A0 49 JMP START
50
0060 7B3C 51 DELAY1: MOV R3, #60 ;延时1秒子程序
0062 7CF8 52 MOV R4, #248
0064 DCFE 53 D2: DJNZ R4, $
0066 DBFC 54 DJNZ R3,D2
0068 22 55 RET
0069 7D32 56 DELAY: MOV R5, #50 ;延时1秒子程序
006B 7E64 57 DLY1: MOV R6, #100
006D 7F64 58 DLY2: MOV R7, #100
A51 MACRO ASSEMBLER JP01 01/08/2007 10:24:13 PAGE 2
006F DFFE 59 DJNZ R7, $
0071 DEFA 60 DJNZ R6, DLY2
0073 DDF6 61 DJNZ R5, DLY1
0075 22 62 RET
63 END ;程序结束
;
A51 MACRO ASSEMBLER JP01 01/08/2007 10:24:13 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
A1 . . . . . . . . C ADDR 0025H A
A2 . . . . . . . . C ADDR 0032H A
A3 . . . . . . . . C ADDR 0040H A
A4 . . . . . . . . C ADDR 0050H A
D2 . . . . . . . . C ADDR 0064H A
DELAY. . . . . . . C ADDR 0069H A
DELAY1 . . . . . . C ADDR 0060H A
DLY1 . . . . . . . C ADDR 006BH A
DLY2 . . . . . . . C ADDR 006DH A
LOOP . . . . . . . C ADDR 0007H A
LOOP2. . . . . . . C ADDR 0029H A
LOOP3. . . . . . . C ADDR 0036H A
LOOP4. . . . . . . C ADDR 0044H A
LOOP5. . . . . . . C ADDR 0054H A
LP0. . . . . . . . C ADDR 000EH A
LP1. . . . . . . . C ADDR 0017H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
START. . . . . . . C ADDR 0000H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -