⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bus-tx.lst

📁 无线遥控玩具汽车源程序
💻 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 + -