📄 16x16.lst
字号:
A51 MACRO ASSEMBLER 16X16 06/24/2007 18:49:05 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 9000C2 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,#255 ;一个字显示次数
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 12009A 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 12009A 26 LCALL WR_595
0056 120091 27 LCALL OUT_595
0059 12006B 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 020030 34 LJMP START1
35 ;---------------------------------------------------------------
36 ;行输出子程序
37 ;---------------------------------------------------------------
006B 9000BA 38 OUT_8550: MOV DPTR,#TTAB
006E 200010 39 JB H1,P0KSC
0071 EB 40 P2KSC: MOV A,R3
0072 93 41 P2KSC1: MOVC A,@A+DPTR
0073 F5A0 42 MOV P2,A
0075 1200AD 43 LCALL DELAY
0078 0B 44 INC R3
0079 BB0814 45 CJNE R3,#8,LOOP
007C 7B00 46 MOV R3,#0
007E D200 47 SETB H1
0080 22 48 RET
0081 EB 49 P0KSC: MOV A,R3
0082 93 50 P0KSC1: MOVC A,@A+DPTR
0083 F580 51 MOV P0,A
0085 1200AD 52 LCALL DELAY
0088 0B 53 INC R3
0089 BB0804 54 CJNE R3,#8,LOOP
008C 7B00 55 MOV R3,#0
008E C200 56 CLR H1
0090 22 57 LOOP: RET
58
A51 MACRO ASSEMBLER 16X16 06/24/2007 18:49:05 PAGE 2
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 ;---------------------------------------------------------------
86 ;输出锁存器输出数据子程序
87 ;---------------------------------------------------------------
0091 88 OUT_595:
0091 C290 89 CLR RCK_595
0093 00 90 NOP
0094 D290 91 SETB RCK_595 ;上升沿将数据送到输出锁存器
0096 00 92 NOP
0097 C290 93 CLR RCK_595
0099 22 94 RET
95 ;--------------------------------------------------------------
96 ;移位寄存器接收数据子程序
97 ;--------------------------------------------------------------
009A 98 WR_595:
009A 7A08 99 MOV R2,#08H
009C E52A 100 MOV A,2AH
009E F4 101 cpl a
009F 102 WR_LOOP:
009F 33 103 RLC A
00A0 9291 104 MOV SDATA_595,C
00A2 D292 105 SETB SCLK_595 ;上升沿发生移位
00A4 00 106 NOP
00A5 C292 107 CLR SCLK_595
00A7 00 108 NOP
00A8 DAF5 109 DJNZ R2,WR_LOOP
00AA 7A08 110 MOV R2,#8
00AC 22 111 RET
112 ;--------------------------------------------------------------
113 ;延时子程序
114 ;--------------------------------------------------------------
00AD 115 DELAY:
00AD 754314 116 MOV 43H,#14H ; every LED(2ms)
00B0 754414 117 DL2: MOV 44H,#14H
00B3 118 DL1:
00B3 D544FD 119 DJNZ 44H,DL1
00B6 D543F7 120 DJNZ 43H,DL2
00B9 22 121 RET
00BA FEFDFBF7 122 TTAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
00BE EFDFBF7F
00C2 123 TAB:
A51 MACRO ASSEMBLER 16X16 06/24/2007 18:49:05 PAGE 3
124 ;大 CB4F3
00C2 80008000 125 DB 080H,000H,080H,000H,080H,000H,080H,000H
00C6 80008000
00CA 8000FF7F 126 DB 080H,000H,0FFH,07FH,080H,000H,040H,001H
00CE 80004001
00D2 40014002 127 DB 040H,001H,040H,002H,020H,002H,020H,004H
00D6 20022004
00DA 10080818 128 DB 010H,008H,008H,018H,004H,070H,002H,020H
00DE 04700220
129
130 ;家 CBCD2
00E2 40008000 131 DB 040H,000H,080H,000H,0FCH,07FH,002H,020H
00E6 FC7F0220
00EA FA178000 132 DB 0FAH,017H,080H,000H,040H,000H,0F0H,004H
00EE 4000F004
00F2 4E0D2003 133 DB 04EH,00DH,020H,003H,098H,003H,066H,00DH
00F6 9803660D
00FA 18710621 134 DB 018H,071H,006H,021H,0A0H,000H,040H,000H
00FE A0004000
135
136 ;好 CBAC3
0102 0800883F 137 DB 008H,000H,088H,03FH,008H,010H,008H,008H
0106 08100808
010A 3F042404 138 DB 03FH,004H,024H,004H,024H,004H,0E4H,07FH
010E 2404E47F
0112 22042604 139 DB 022H,004H,026H,004H,018H,004H,010H,004H
0116 18041004
011A 28046404 140 DB 028H,004H,064H,004H,022H,005H,001H,002H
011E 22050102
141
142 ;! CA3A1
0122 00000000 143 DB 000H,000H,000H,000H,000H,000H,000H,000H
0126 00000000
012A 08000800 144 DB 008H,000H,008H,000H,008H,000H,008H,000H
012E 08000800
0132 08000800 145 DB 008H,000H,008H,000H,008H,000H,008H,000H
0136 08000800
013A 08000000 146 DB 008H,000H,000H,000H,008H,000H,000H,000H
013E 08000000
147
148 ; 黑屏
0142 00000000 149 DB 000H,000H,000H,000H,000H,000H,000H,000H
0146 00000000
014A 00000000 150 DB 000H,000H,000H,000H,000H,000H,000H,000H
014E 00000000
0152 00000000 151 DB 000H,000H,000H,000H,000H,000H,000H,000H
0156 00000000
015A 00000000 152 DB 000H,000H,000H,000H,000H,000H,000H,000H
015E 00000000
153 END
A51 MACRO ASSEMBLER 16X16 06/24/2007 18:49:05 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
DELAY. . . . . . . C ADDR 00ADH A
DL1. . . . . . . . C ADDR 00B3H A
DL2. . . . . . . . C ADDR 00B0H A
H1 . . . . . . . . B ADDR 0020H.0 A
LOOP . . . . . . . C ADDR 0090H A
OUT_595. . . . . . C ADDR 0091H A
OUT_8550 . . . . . C ADDR 006BH A
P0 . . . . . . . . D ADDR 0080H A
P0KSC. . . . . . . C ADDR 0081H A
P0KSC1 . . . . . . C ADDR 0082H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P2KSC. . . . . . . C ADDR 0071H A
P2KSC1 . . . . . . C ADDR 0072H 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 00C2H A
TTAB . . . . . . . C ADDR 00BAH A
WRITE. . . . . . . C ADDR 0047H A
WR_595 . . . . . . C ADDR 009AH A
WR_LOOP. . . . . . C ADDR 009FH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -