📄 bus-tx.lst
字号:
A51 MACRO ASSEMBLER BUS_TX 05/17/2008 17:12:38 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN BUS-TX.OBJ
ASSEMBLER INVOKED BY: D:\program Fies\keil\C51\BIN\A51.EXE BUS-TX.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;五功能遥控车发射程序.
2 ;MCU:8051
3 ;OSC:12M
4 ;DATE:08.05.18
5 ;功能:
6 ;前进(F)
7 ;后退(B),
8 ;左转(L),
9 ;右转(R).
10 ;加速(T).
11 ;作者:徐增钟
12 ;===================================================================================
13
00B0 14 KEY EQU P3
0090 15 DATAOUT BIT P1.0 ;数据输出口.
0091 16 LED BIT P1.1 ;发射指示灯.
0070 17 KEYBUF EQU 70H ;键号存放单元.
0001 18 KEYMASK BIT 01H
0005 19 KEYFLAG BIT 05H
0000 20 ORG 0000H
0000 0157 21 AJMP START
000B 22 ORG 000BH
000B 0164 23 AJMP INTTCC
0030 24 ORG 0030H
25 ;===================================================================================
0030 26 CLEAR_RAM:
0030 7830 27 MOV R0,#30H ;从30H单元开始.
0032 7B7F 28 MOV R3,#127 ;清除127个单元
0034 7600 29 NEXT: MOV @R0,#00 ;清除
0036 09 30 INC R1 ;
0037 DBFB 31 DJNZ R3,NEXT ;127个单元清完?;
0039 22 32 RET
33 ;==================================================================================
34 ;程序初始化;
003A 35 BEGIN:
003A 758150 36 MOV SP,#50H ;
003D 759000 37 MOV P1,#00H ;
0040 75B0FF 38 MOV P3,#0FFH ;
0043 758901 39 MOV TMOD,#01H
0046 758CB1 40 MOV TH0,#0B1H
0049 758AE0 41 MOV TL0,#0E0H
004C D28C 42 SETB TR0
004E D2AF 43 SETB EA
0050 D2A9 44 SETB ET0
0052 C205 45 CLR KEYFLAG
0054 D201 46 SETB KEYMASK
0056 22 47 RET
48 ;===================================================================================
0057 49 START:
0057 1130 50 CALL CLEAR_RAM ;清除RAM
0059 113A 51 CALL BEGIN ;程序初始化;
52
005B 53 LOOP:
005B 116D 54 CALL KEYON ;调用KEYSCAN
55
005D 015B 56 AJMP LOOP
005F 00 57 NOP
0060 00 58 NOP
A51 MACRO ASSEMBLER BUS_TX 05/17/2008 17:12:38 PAGE 2
0061 00 59 NOP
0062 0157 60 AJMP START
61 ;===================================================================================
0064 62 INTTCC:
0064 758CB1 63 MOV TH0,#0B1H
0067 758AE0 64 MOV TL0,#0E0H
006A D205 65 SETB KEYFLAG
006C 32 66 RETI
67 ;===================================================================================
006D 68 KEYON:
006D E5B0 69 MOV A,KEY
006F B4FF17 70 CJNE A,#0FFH,KEYSEND
0072 200113 71 JB KEYMASK,ET
0075 D201 72 SETB KEYMASK
0077 C291 73 CLR LED
0079 7D02 74 MOV R5,#2
007B 7B04 75 X2: MOV R3,#4
007D 11DE 76 CALL SEND
007F DDFA 77 DJNZ R5,X2
0081 D290 78 SETB DATAOUT
0083 11FB 79 CALL DY5MS
0085 759000 80 MOV P1,#00
0088 81 ET:
0088 22 82 RET
83 ;====================================================================================
0089 84 KEYSEND:
85
0089 D291 86 SETB LED
008B C201 87 CLR KEYMASK
008D B4DF05 88 CJNE A,#0DFH,K1
0090 7B0A 89 MOV R3,#10 ;发送10个脉冲.
0092 01DE 90 AJMP SEND
0094 22 91 RET
0095 B4EF05 92 K1: CJNE A,#0EFH,K2
0098 7B28 93 MOV R3,#40 ;发送40个脉冲.
009A 01DE 94 AJMP SEND
009C 22 95 RET
009D B4F705 96 K2: CJNE A,#0F7H,K3
00A0 7B40 97 MOV R3,#64 ;发送64个脉冲.
00A2 01DE 98 AJMP SEND
00A4 22 99 RET
00A5 B4FB05 100 K3: CJNE A,#0FBH,K4
00A8 7B3A 101 MOV R3,#58 ;发送58个脉冲.
00AA 01DE 102 AJMP SEND
00AC 22 103 RET
00AD B4D705 104 K4: CJNE A,#0D7H,K5
00B0 7B22 105 MOV R3,#34 ;发送34个脉冲.
00B2 01DE 106 AJMP SEND
00B4 22 107 RET
00B5 B4DB05 108 K5: CJNE A,#0DBH,K6
00B8 7B1C 109 MOV R3,#28 ;发送28个脉冲.
00BA 01DE 110 AJMP SEND
00BC 22 111 RET
00BD B4E705 112 K6: CJNE A,#0E7H,K7
00C0 7B2E 113 MOV R3,#46 ;发送46个脉冲.
00C2 01DE 114 AJMP SEND
00C4 22 115 RET
00C5 B4EB04 116 K7: CJNE A,#0EBH,K8
00C8 7B34 117 MOV R3,#52 ;发送52个脉冲.
00CA 01DE 118 AJMP SEND
00CC B4FF00 119 K8: CJNE A,#0FFH,KEXIT
00CF 120 KEXIT:
00CF 22 121 RET
122 ;===================================================================================
00D0 123 DOUT:
00D0 D290 124 SETB DATAOUT
A51 MACRO ASSEMBLER BUS_TX 05/17/2008 17:12:38 PAGE 3
00D2 11F6 125 CALL DYMS5
00D4 C290 126 CLR DATAOUT
00D6 11F6 127 CALL DYMS5
00D8 DBF6 128 DJNZ R3,DOUT
00DA 75A000 129 MOV P2,#00
00DD 22 130 RET
00DE 131 SEND:
00DE 7904 132 MOV R1,#04
00E0 D290 133 N1: SETB DATAOUT
00E2 7CFF 134 MOV R4,#255
00E4 00 135 D1: NOP
00E5 00 136 NOP
00E6 00 137 NOP
00E7 00 138 NOP
00E8 DCFA 139 DJNZ R4,D1
00EA C290 140 CLR DATAOUT
00EC 11F6 141 CALL DYMS5
00EE D9F0 142 DJNZ R1,N1
00F0 01D0 143 AJMP DOUT
00F2 00 144 NOP
00F3 00 145 NOP
00F4 0157 146 AJMP START
147 ;===================================================================================
00F6 148 DYMS5:
00F6 7EFA 149 MOV R6,#250
00F8 150 D2:
00F8 DEFE 151 DJNZ R6,D2
00FA 22 152 RET
153 ;==================================================================================
154
00FB 155 DY5MS:
00FB 7D04 156 MOV R5,#4
00FD 7BF8 157 D3: MOV R3,#248
00FF DBFE 158 DJNZ R3,$
0101 DDFA 159 DJNZ R5,D3
0103 22 160 RET
161 ;==================================================================================
162 END
A51 MACRO ASSEMBLER BUS_TX 05/17/2008 17:12:38 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
BEGIN. . . . . . . C ADDR 003AH A
CLEAR_RAM. . . . . C ADDR 0030H A
D1 . . . . . . . . C ADDR 00E4H A
D2 . . . . . . . . C ADDR 00F8H A
D3 . . . . . . . . C ADDR 00FDH A
DATAOUT. . . . . . B ADDR 0090H.0 A
DOUT . . . . . . . C ADDR 00D0H A
DY5MS. . . . . . . C ADDR 00FBH A
DYMS5. . . . . . . C ADDR 00F6H A
EA . . . . . . . . B ADDR 00A8H.7 A
ET . . . . . . . . C ADDR 0088H A
ET0. . . . . . . . B ADDR 00A8H.1 A
INTTCC . . . . . . C ADDR 0064H A
K1 . . . . . . . . C ADDR 0095H A
K2 . . . . . . . . C ADDR 009DH A
K3 . . . . . . . . C ADDR 00A5H A
K4 . . . . . . . . C ADDR 00ADH A
K5 . . . . . . . . C ADDR 00B5H A
K6 . . . . . . . . C ADDR 00BDH A
K7 . . . . . . . . C ADDR 00C5H A
K8 . . . . . . . . C ADDR 00CCH A
KEXIT. . . . . . . C ADDR 00CFH A
KEY. . . . . . . . D ADDR 00B0H A
KEYBUF . . . . . . N NUMB 0070H A
KEYFLAG. . . . . . B ADDR 0020H.5 A
KEYMASK. . . . . . B ADDR 0020H.1 A
KEYON. . . . . . . C ADDR 006DH A
KEYSEND. . . . . . C ADDR 0089H A
LED. . . . . . . . B ADDR 0090H.1 A
LOOP . . . . . . . C ADDR 005BH A
N1 . . . . . . . . C ADDR 00E0H A
NEXT . . . . . . . C ADDR 0034H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
SEND . . . . . . . C ADDR 00DEH A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 0057H A
TH0. . . . . . . . D ADDR 008CH A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
X2 . . . . . . . . C ADDR 007BH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -