📄 rf.lst
字号:
A51 MACRO ASSEMBLER RF 12/23/2007 21:23:31 PAGE 1
MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN RF.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE RF.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0097 1 EN EQU P1.7
0096 2 DOUT EQU P1.6
0093 3 CLK EQU P1.3
0030 4 DOT EQU 30H
0031 5 D_1 EQU 31H
0032 6 D_2 EQU 32H
0033 7 D_3 EQU 33H
0034 8 D_4 EQU 34H
0035 9 D_5 EQU 35H
0036 10 D_6 EQU 36H
0037 11 ID EQU 37H
0038 12 BZ EQU 38H
0000 13 ORG 0000H
0000 010D 14 AJMP START
000B 15 ORG 000BH
000B 014A 16 AJMP MAIN_PRO_0
000D 17 START:
000D 753701 18 MOV ID,#01H
0010 753800 19 MOV BZ,#00H
0013 753000 20 MOV DOT,#00H
0016 753100 21 MOV D_1,#00H
0019 753200 22 MOV D_2,#00H
001C 753300 23 MOV D_3,#00H
001F 753400 24 MOV D_4,#00H
0022 753500 25 MOV D_5,#00H
0025 753600 26 MOV D_6,#00H
27
0028 11CB 28 ACALL TS_LED
002A 755C00 29 MOV 5CH,#00H
002D 755D00 30 MOV 5DH,#00H
0030 756200 31 MOV 62H,#00H
0033 756300 32 MOV 63H,#00H ;数据5CH,5DH,62H,63H区清零
0036 758906 33 MOV TMOD,#06H ;T0工作于计数模式;方式2:自动装载;1 TO 0
0039 758CFF 34 MOV TH0,#0FFH
003C 758AFF 35 MOV TL0,#0FFH
36
37
003F D2AF 38 SETB EA
0041 D2A9 39 SETB ET0 ;允许T0中断
0043 D28C 40 SETB TR0 ;T0运行
41
0045 108D02 42 MAIN: JBC TF0,MAIN_PRO_0 ;检测T0是否溢出
0048 80FB 43 SJMP MAIN
44 ; SJMP MAIN
004A 7E08 45 MAIN_PRO_0: MOV R6,#08H
004C 11A3 46 PROCESS_0: ACALL DL0MS
004E 20B44F 47 JB P3.4,PRO_END ;P3.4=1跳出
0051 DEF9 48 DJNZ R6,PROCESS_0 ;P3.4=0的时间是否=0.887*8
0053 30B4FD 49 JNB P3.4,$ ;时间满足后,当P3.4=0,等待
0056 11AC 50 ACALL DL5MS
0058 795C 51 MOV R1,#5CH
005A 7A02 52 MOV R2,#02H
005C 7B08 53 MAIN_PRO_1: MOV R3,#08H
005E 30B4FD 54 PROCESS_1: JNB P3.4,$ ;当P3.4=0,等待
0061 1200A3 55 LCALL DL0MS
0064 A2B4 56 MOV C,P3.4
0066 5003 57 JNC PROCESS_2 ;P3.4=0(即C=0),去处理
A51 MACRO ASSEMBLER RF 12/23/2007 21:23:31 PAGE 2
0068 1200B5 58 LCALL DL1MS ;P3.4=1(即C=1),延时1.005MS
006B E7 59 PROCESS_2: MOV A,@R1 ;处理程序
006C 13 60 RRC A
006D F7 61 MOV @R1,A
006E DBEE 62 DJNZ R3,PROCESS_1
0070 09 63 INC R1
0071 1200AC 64 LCALL DL5MS
0074 DAE6 65 DJNZ R2,MAIN_PRO_1
0076 855D63 66 MOV 63H,5DH ;
0079 855C62 67 MOV 62H,5CH
007C 7862 68 MOV R0,#62H
007E E6 69 MOV A,@R0
007F B4C41E 70 CJNE A,#0C4H,PRO_END ;判断是否是键盘按下
71
72 ;CLR EA ;是,就发送串口
0082 7863 73 MOV R0,#63H
0084 E6 74 MOV A,@R0
0085 B42002 75 CJNE A,#20H,LOOP1
0088 0145 76 AJMP MAIN
008A 77 LOOP1:
008A 4002 78 JC LOOP2
008C 0145 79 AJMP MAIN
008E 80 LOOP2:
008E 540F 81 ANL A,#0FH
0090 F531 82 MOV D_1,A
0092 E6 83 MOV A,@R0
0093 C4 84 SWAP A
0094 540F 85 ANL A,#0FH
0096 F532 86 MOV D_2,A
0098 753304 87 MOV D_3,#04H
009B 75340C 88 MOV D_4,#0CH
009E 11CB 89 ACALL TS_LED
90 ;MOV SBUF,A
91 ;JNB TI,$
92 ;ACALL DL
00A0 93 PRO_END: ;SETB EA
00A0 020045 94 LJMP MAIN
95 ;==========================================================================
00A3 7C13 96 DL0MS: MOV R4,#13H ;延时0.887MS
00A5 7D14 97 DL0LP: MOV R5,#14H
00A7 DDFE 98 DJNZ R5,$
00A9 DCFA 99 DJNZ R4,DL0LP
00AB 22 100 RET
101 ;==========================================================================
00AC 7C0A 102 DL5MS: MOV R4,#0AH ;延时4.743MS
00AE 7DD9 103 DL5LP: MOV R5,#0D9H
00B0 DDFE 104 DJNZ R5,$
00B2 DCFA 105 DJNZ R4,DL5LP
00B4 22 106 RET
107 ;==========================================================================
00B5 7C02 108 DL1MS: MOV R4,#02H ;延时1.005MS
00B7 7DE6 109 DL1LP: MOV R5,#0E6H
00B9 DDFE 110 DJNZ R5,$
00BB DCFA 111 DJNZ R4,DL1LP
00BD 22 112 RET
113 ;==========================================================================
00BE 114 DL:
00BE 7F03 115 MOV R7,#03H ;延时425.843MS
00C0 116 DL0:
00C0 7EFF 117 MOV R6,#0FFH
00C2 118 DL1:
00C2 7DFF 119 MOV R5,#0FFH
00C4 DDFE 120 DJNZ R5,$
00C6 DEFA 121 DJNZ R6,DL1
00C8 DFF6 122 DJNZ R7,DL0
00CA 22 123 RET
A51 MACRO ASSEMBLER RF 12/23/2007 21:23:31 PAGE 3
00CB 124 TS_LED:
00CB 7930 125 MOV R1,#30H
00CD 7A09 126 MOV R2,#09H
00CF C293 127 CLR CLK
00D1 C297 128 CLR EN
00D3 00 129 NOP
00D4 00 130 NOP
00D5 00 131 NOP
00D6 00 132 NOP
00D7 00 133 NOP
00D8 00 134 NOP
00D9 00 135 NOP
00DA 00 136 NOP
00DB 00 137 NOP
00DC 00 138 NOP
00DD 139 TS_LOOP1:
00DD E7 140 MOV A,@R1
00DE C4 141 SWAP A
00DF 7B04 142 MOV R3,#04H
00E1 143 TS_LOOP2:
00E1 D293 144 SETB CLK
00E3 33 145 RLC A
00E4 9296 146 MOV DOUT,C
00E6 C3 147 CLR C
00E7 00 148 NOP
00E8 00 149 NOP
00E9 00 150 NOP
00EA 00 151 NOP
00EB 00 152 NOP
00EC 00 153 NOP
00ED 00 154 NOP
00EE 00 155 NOP
00EF 00 156 NOP
00F0 C293 157 CLR CLK
00F2 00 158 NOP
00F3 00 159 NOP
00F4 00 160 NOP
00F5 00 161 NOP
00F6 00 162 NOP
00F7 00 163 NOP
00F8 00 164 NOP
00F9 00 165 NOP
00FA 00 166 NOP
00FB DBE4 167 DJNZ R3,TS_LOOP2
00FD 09 168 INC R1
00FE DADD 169 DJNZ R2,TS_LOOP1
0100 D297 170 SETB EN
0102 22 171 RET
172 END
A51 MACRO ASSEMBLER RF 12/23/2007 21:23:31 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
BZ . . . . . . . . N NUMB 0038H A
CLK. . . . . . . . B ADDR 0090H.3 A
DL . . . . . . . . C ADDR 00BEH A
DL0. . . . . . . . C ADDR 00C0H A
DL0LP. . . . . . . C ADDR 00A5H A
DL0MS. . . . . . . C ADDR 00A3H A
DL1. . . . . . . . C ADDR 00C2H A
DL1LP. . . . . . . C ADDR 00B7H A
DL1MS. . . . . . . C ADDR 00B5H A
DL5LP. . . . . . . C ADDR 00AEH A
DL5MS. . . . . . . C ADDR 00ACH A
DOT. . . . . . . . N NUMB 0030H A
DOUT . . . . . . . B ADDR 0090H.6 A
D_1. . . . . . . . N NUMB 0031H A
D_2. . . . . . . . N NUMB 0032H A
D_3. . . . . . . . N NUMB 0033H A
D_4. . . . . . . . N NUMB 0034H A
D_5. . . . . . . . N NUMB 0035H A
D_6. . . . . . . . N NUMB 0036H A
EA . . . . . . . . B ADDR 00A8H.7 A
EN . . . . . . . . B ADDR 0090H.7 A
ET0. . . . . . . . B ADDR 00A8H.1 A
ID . . . . . . . . N NUMB 0037H A
LOOP1. . . . . . . C ADDR 008AH A
LOOP2. . . . . . . C ADDR 008EH A
MAIN . . . . . . . C ADDR 0045H A
MAIN_PRO_0 . . . . C ADDR 004AH A
MAIN_PRO_1 . . . . C ADDR 005CH A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
PROCESS_0. . . . . C ADDR 004CH A
PROCESS_1. . . . . C ADDR 005EH A
PROCESS_2. . . . . C ADDR 006BH A
PRO_END. . . . . . C ADDR 00A0H A
START. . . . . . . C ADDR 000DH A
TF0. . . . . . . . B ADDR 0088H.5 A
TH0. . . . . . . . D ADDR 008CH A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
TS_LED . . . . . . C ADDR 00CBH A
TS_LOOP1 . . . . . C ADDR 00DDH A
TS_LOOP2 . . . . . C ADDR 00E1H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -