📄 16x16.lst
字号:
A51 MACRO ASSEMBLER 16X16 04/21/2005 10:52:50 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN 16x16.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 16x16.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 H1 BIT 00H
0000 5 ORG 00H
0000 020030 6 LJMP START1
0030 7 ORG 0030H
0030 900116 8 START1: MOV DPTR,#TAB
0033 7580FF 9 START: MOV P0,#0FFH
0036 75A0FF 10 MOV P2,#0FFH
0039 7900 11 MOV R1,#0 ;表变址
003B 7A08 12 MOV R2,#8 ;数据移位控制变量
003D 7B00 13 MOV R3,#0 ;行控制数
003F 7C00 14 MOV R4,#0 ;控制字的个数
0041 7DFF 15 MOV R5,#0FFH ;一个字显示次数
0043 7EFE 16 MOV R6,#0FEH ;行初始值
0045 D200 17 SETB H1
0047 E9 18 WRITE: MOV A,R1
0048 93 19 MOVC A,@A+DPTR
0049 F52A 20 MOV 2AH,A
004B 1200A9 21 LCALL WR_595
004E 09 22 INC R1
004F E9 23 MOV A,R1
0050 93 24 MOVC A,@A+DPTR
0051 F52A 25 MOV 2AH,A
0053 1200A9 26 LCALL WR_595
0056 1200A0 27 LCALL OUT_595
0059 120073 28 LCALL OUT_8550
005C 7580FF 29 MOV P0,#0FFH
005F 75A0FF 30 MOV P2,#0FFH
0062 09 31 INC R1
0063 B920E1 32 CJNE R1,#32,WRITE
0066 7900 33 MOV R1,#0 ;表变址
0068 7A08 34 MOV R2,#8 ;数据移位控制变量
006A 7B00 35 MOV R3,#0 ;行控制数
006C DDC5 36 DJNZ R5,START
006E 7DFF 37 MOV R5,#0FFH
0070 020070 38 LJMP $
39 ;---------------------------------------------------------------
40 ;行输出子程序
41 ;---------------------------------------------------------------
0073 42 OUT_8550:
43
0073 200016 44 JB H1,P0KSC
45
0076 EE 46 P2KSC: MOV A,R6
0077 0B 47 P2KSC1: INC R3
0078 F5A0 48 MOV P2,A
007A 1200BC 49 LCALL DELAY
007D 23 50 RL A
007E FE 51 MOV R6,A
007F BB081D 52 CJNE R3,#8,LOOP
0082 D200 53 SETB H1
0084 7EFE 54 MOV R6,#0FEH
0086 7B00 55 MOV R3,#00H
0088 75A0FF 56 MOV P2,#0FFH
008B 22 57 RET
A51 MACRO ASSEMBLER 16X16 04/21/2005 10:52:50 PAGE 2
008C EE 58 P0KSC: MOV A,R6
008D 0B 59 P0KSC1: INC R3
008E F580 60 MOV P0,A
0090 1200BC 61 LCALL DELAY
0093 23 62 RL A
0094 FE 63 MOV R6,A
0095 BB0807 64 CJNE R3,#8,LOOP
0098 C200 65 CLR H1
009A 7B00 66 MOV R3,#00H
009C 7580FF 67 MOV P0,#0FFH
009F 22 68 LOOP: RET
69 ;---------------------------------------------------------------
70 ;输出锁存器输出数据子程序
71 ;---------------------------------------------------------------
00A0 72 OUT_595:
00A0 C290 73 CLR RCK_595
00A2 00 74 NOP
00A3 D290 75 SETB RCK_595 ;上升沿将数据送到输出锁存器
00A5 00 76 NOP
00A6 C290 77 CLR RCK_595
00A8 22 78 RET
79 ;--------------------------------------------------------------
80 ;移位寄存器接收数据子程序
81 ;--------------------------------------------------------------
00A9 82 WR_595:
00A9 7A08 83 MOV R2,#08H
00AB E52A 84 MOV A,2AH
00AD F4 85 cpl a
00AE 86 WR_LOOP:
00AE 33 87 RLC A
00AF 9291 88 MOV SDATA_595,C
00B1 D292 89 SETB SCLK_595 ;上升沿发生移位
00B3 00 90 NOP
00B4 C292 91 CLR SCLK_595
00B6 00 92 NOP
00B7 DAF5 93 DJNZ R2,WR_LOOP
00B9 7A08 94 MOV R2,#8
00BB 22 95 RET
96 ;--------------------------------------------------------------
97 ;延时子程序
98 ;--------------------------------------------------------------
00BC 99 DELAY:
00BC 754314 100 MOV 43H,#14H ; every LED(2ms) 14H
00BF 754414 101 DL2: MOV 44H,#14H
00C2 102 DL1:
00C2 D544FD 103 DJNZ 44H,DL1
00C5 D543F7 104 DJNZ 43H,DL2
00C8 22 105 RET
00C9 757AFF 106 DELAY1: MOV 7AH,#255
00CC 757BFF 107 DLL2: MOV 7BH,#255
00CF D57BFD 108 DLL1: DJNZ 7BH,DLL1
00D2 D57AF7 109 DJNZ 7AH,DLL2
00D5 22 110 RET
111
00D6 112 TAB2:
113 ;大 CB4F3
00D6 80008000 114 DB 080H,000H,080H,000H,080H,000H,080H,000H
00DA 80008000
00DE 8000FF7F 115 DB 080H,000H,0FFH,07FH,080H,000H,040H,001H
00E2 80004001
00E6 40014002 116 DB 040H,001H,040H,002H,020H,002H,020H,004H
00EA 20022004
00EE 10080818 117 DB 010H,008H,008H,018H,004H,070H,002H,020H
00F2 04700220
00F6 118 TAB1:
119 ;家 CBCD2
A51 MACRO ASSEMBLER 16X16 04/21/2005 10:52:50 PAGE 3
00F6 40008000 120 DB 040H,000H,080H,000H,0FCH,07FH,002H,020H
00FA FC7F0220
00FE FA178000 121 DB 0FAH,017H,080H,000H,040H,000H,0F0H,004H
0102 4000F004
0106 4E0D2003 122 DB 04EH,00DH,020H,003H,098H,003H,066H,00DH
010A 9803660D
010E 18710621 123 DB 018H,071H,006H,021H,0A0H,000H,040H,000H
0112 A0004000
0116 124 tab:
125 ;好 CBAC3
0116 0800883F 126 DB 008H,000H,088H,03FH,008H,010H,008H,008H
011A 08100808
011E 3F042404 127 DB 03FH,004H,024H,004H,024H,004H,0E4H,07FH
0122 2404E47F
0126 22042604 128 DB 022H,004H,026H,004H,018H,004H,010H,004H
012A 18041004
012E 28046404 129 DB 028H,004H,064H,004H,022H,005H,001H,002H
0132 22050102
130
131 ;! CA3A1
0136 00000000 132 DB 000H,000H,000H,000H,000H,000H,000H,000H
013A 00000000
013E 08000800 133 DB 008H,000H,008H,000H,008H,000H,008H,000H
0142 08000800
0146 08000800 134 DB 008H,000H,008H,000H,008H,000H,008H,000H
014A 08000800
014E 08000000 135 DB 008H,000H,000H,000H,008H,000H,000H,000H
0152 08000000
136
137 ; 黑屏
0156 00000000 138 DB 000H,000H,000H,000H,000H,000H,000H,000H
015A 00000000
015E 00000000 139 DB 000H,000H,000H,000H,000H,000H,000H,000H
0162 00000000
0166 00000000 140 DB 000H,000H,000H,000H,000H,000H,000H,000H
016A 00000000
016E 00000000 141 DB 000H,000H,000H,000H,000H,000H,000H,000H
0172 00000000
142 END
A51 MACRO ASSEMBLER 16X16 04/21/2005 10:52:50 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
DELAY. . . . . . . C ADDR 00BCH A
DELAY1 . . . . . . C ADDR 00C9H A
DL1. . . . . . . . C ADDR 00C2H A
DL2. . . . . . . . C ADDR 00BFH A
DLL1 . . . . . . . C ADDR 00CFH A
DLL2 . . . . . . . C ADDR 00CCH A
H1 . . . . . . . . B ADDR 0020H.0 A
LOOP . . . . . . . C ADDR 009FH A
OUT_595. . . . . . C ADDR 00A0H A
OUT_8550 . . . . . C ADDR 0073H A
P0 . . . . . . . . D ADDR 0080H A
P0KSC. . . . . . . C ADDR 008CH A
P0KSC1 . . . . . . C ADDR 008DH A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P2KSC. . . . . . . C ADDR 0076H A
P2KSC1 . . . . . . C ADDR 0077H 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 0033H A
START1 . . . . . . C ADDR 0030H A
TAB. . . . . . . . C ADDR 0116H A
TAB1 . . . . . . . C ADDR 00F6H A
TAB2 . . . . . . . C ADDR 00D6H A
WRITE. . . . . . . C ADDR 0047H A
WR_595 . . . . . . C ADDR 00A9H A
WR_LOOP. . . . . . C ADDR 00AEH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -