📄 测试行.lst
字号:
A51 MACRO ASSEMBLER _馐___ 04/19/2005 00:42:58 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN 测试行.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 测试行.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0092 1 SCLK_595 EQU P1.2 ;时钟
0091 2 SDATA_595 EQU P1.1 ;数据
0090 3 RCK_595 EQU P1.0 ;锁存
0000 4 ORG 00H
0000 020030 5 LJMP START
0030 6 ORG 30H
0030 7580FF 7 START: MOV P0,#0FFH
0033 75A0FF 8 MOV P2,#0FFH
0036 7800 9 MOV R0,#0
0038 7900 10 MOV R1,#0
003A 7A08 11 MOV R2,#8
003C 7B00 12 MOV R3,#0
003E 7D02 13 MOV R5,#2
0040 7521FF 14 MOV 21H,#0FFH
15
0043 16 START1:
0043 17 WRITE:
0043 08 18 INC R0
19
20
0044 752A00 21 MOV 2AH,#00H
0047 120090 22 LCALL WR_595
004A B802F6 23 CJNE R0,#2,WRITE
004D 7800 24 MOV R0,#0
004F 120087 25 LCALL OUT_595
0052 12005B 26 LCALL OUT_8550
27
28
0055 1200AD 29 LCALL DELAY1
0058 020030 30 LJMP START
31
32
33
34 ;---------------------------------------------------------------
35 ;行输出子程序
36 ;---------------------------------------------------------------
005B 37 OUT_8550:
005B DD15 38 DJNZ R5,P0KSC
005D 7D02 39 MOV R5,#2
005F C3 40 P2KSC: CLR C
0060 E521 41 MOV A,21H
0062 33 42 P2KSC1: RLC A
0063 F5A0 43 MOV P2,A
0065 1200AD 44 LCALL DELAY1
0068 0B 45 INC R3
0069 BB08F6 46 CJNE R3,#8,P2KSC1
006C 7B00 47 MOV R3,#00H
006E 75A0FF 48 MOV P2,#0FFH
0071 22 49 RET
50
0072 C3 51 P0KSC: CLR C
0073 E521 52 MOV A,21H
0075 33 53 P0KSC1: RLC A
0076 F580 54 MOV P0,A
0078 1200AD 55 LCALL DELAY1
007B 0B 56 INC R3
007C BB08F6 57 CJNE R3,#8,P0KSC1
007F 7B00 58 MOV R3,#00H
A51 MACRO ASSEMBLER _馐___ 04/19/2005 00:42:58 PAGE 2
0081 7580FF 59 MOV P0,#0FFH
60
61
0084 62 LOOP:
0084 02005B 63 LJMP OUT_8550
64 ;---------------------------------------------------------------
65 ;输出锁存器输出数据子程序
66 ;---------------------------------------------------------------
0087 67 OUT_595:
0087 C290 68 CLR RCK_595
0089 00 69 NOP
008A D290 70 SETB RCK_595 ;上升沿将数据送到输出锁存器
008C 00 71 NOP
008D C290 72 CLR RCK_595
008F 22 73 RET
74 ;--------------------------------------------------------------
75 ;移位寄存器接收数据子程序
76 ;--------------------------------------------------------------
0090 77 WR_595:
0090 7A08 78 MOV R2,#08H
0092 E52A 79 MOV A,2AH
0094 80 WR_LOOP:
0094 33 81 RLC A
0095 9291 82 MOV SDATA_595,C
0097 D292 83 SETB SCLK_595 ;上升沿发生移位
0099 C292 84 CLR SCLK_595
009B DAF7 85 DJNZ R2,WR_LOOP
009D 7A08 86 MOV R2,#8
009F 22 87 RET
88 ;--------------------------------------------------------------
89 ;延时子程序
90 ;--------------------------------------------------------------
00A0 91 DELAY:
00A0 754314 92 MOV 43H,#14H ; every LED(2ms)
00A3 754414 93 DL2: MOV 44H,#14H
00A6 94 DL1:
00A6 D544FD 95 DJNZ 44H,DL1
00A9 D543F7 96 DJNZ 43H,DL2
00AC 22 97 RET
98
00AD 757AFF 99 DELAY1: MOV 7AH,#255
00B0 757BFF 100 DLL1: MOV 7BH,#255
00B3 D57BFD 101 DLL2: DJNZ 7BH,DLL2
00B6 D57AF7 102 DJNZ 7AH,DLL1
00B9 22 103 RET
104
00BA 105 TAB:
106
107
108
109
110
111
112
113 END
A51 MACRO ASSEMBLER _馐___ 04/19/2005 00:42:58 PAGE 3
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
DELAY. . . . . . . C ADDR 00A0H A
DELAY1 . . . . . . C ADDR 00ADH A
DL1. . . . . . . . C ADDR 00A6H A
DL2. . . . . . . . C ADDR 00A3H A
DLL1 . . . . . . . C ADDR 00B0H A
DLL2 . . . . . . . C ADDR 00B3H A
LOOP . . . . . . . C ADDR 0084H A
OUT_595. . . . . . C ADDR 0087H A
OUT_8550 . . . . . C ADDR 005BH A
P0 . . . . . . . . D ADDR 0080H A
P0KSC. . . . . . . C ADDR 0072H A
P0KSC1 . . . . . . C ADDR 0075H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P2KSC. . . . . . . C ADDR 005FH A
P2KSC1 . . . . . . C ADDR 0062H A
RCK_595. . . . . . B ADDR 0090H.0 A
SCLK_595 . . . . . B ADDR 0090H.2 A
SDATA_595. . . . . B ADDR 0090H.1 A
START. . . . . . . C ADDR 0030H A
START1 . . . . . . C ADDR 0043H A
TAB. . . . . . . . C ADDR 00BAH A
WRITE. . . . . . . C ADDR 0043H A
WR_595 . . . . . . C ADDR 0090H A
WR_LOOP. . . . . . C ADDR 0094H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -