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

📄 232.lst

📁 RS232串口C语言应用程序 基于51单片机
💻 LST
字号:
A51 MACRO ASSEMBLER  232                                                                  02/15/2002 17:36:10 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN 232.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 232.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

  0045                 1     BUF     DATA    45H
  0030                 2     DBUF0   EQU     30H
  0090                 3     FRIT    EQU     P1
  0090                 4     SDA     BIT     P1^0
  0091                 5     CLK     BIT     P1^1    
                       6     
0000                   7             ORG     0000H
0000 2100              8             AJMP    MAIN
0100                   9             ORG     0100H
0100                  10     MAIN:
0100 758160           11             MOV     SP,#60H
0103 758920           12             MOV     TMOD,#20H       ;设置T1为方式2
0106 758DFD           13             MOV     TH1,#0FDH       ;设置波特率为9600
0109 758BFD           14             MOV     TL1,#0FDH
010C D28E             15             SETB    TR1
010E 759840           16             MOV     SCON,#40H       ;设置串口位方式1
0111 758700           17             MOV     PCON,#00H
0114                  18     UPUP:
0114 7830             19             MOV     R0,#30H
0116 7F05             20             MOV     R7,#5H
0118                  21     RRU:
0118 D29C             22             SETB    REN
011A 109802           23     RRUP:   JBC     RI,RRD   ;接受一位
011D 211A             24             AJMP    RRUP
011F E599             25     RRD:    MOV     A,SBUF
0121 F6               26             MOV     @R0,A
0122 08               27             INC     R0
0123 DFF3             28             DJNZ    R7,RRU
                      29     
0125 7830             30             MOV     R0,#30H
0127 7F05             31             MOV     R7,#5H
0129 C29C             32     UP:     CLR     REN
012B E6               33             MOV     A,@R0
012C F599             34             MOV     SBUF,A  ;把它发送出去
012E 109902           35     NEXT:   JBC     TI,DOWN
0131 212E             36             AJMP    NEXT
0133 08               37     DOWN:   INC     R0
0134 DFF3             38             DJNZ    R7,UP
0136 313A             39     DIP:    ACALL   DISPLAY
0138 2136             40             AJMP    DIP
                      41     
                      42     
013A                  43     DISPLAY:  
013A C0D0             44                PUSH    PSW
013C C0E0             45                PUSH    ACC  
013E 7A7F             46                MOV     R2,       #7FH     ;给位码初值
0140 7830             47                MOV     R0,       #DBUF0   ;给显示缓冲区首值
0142 E6               48     ZCQ:       MOV     A,        @R0
0143 120185           49                LCALL   TAB                ;查表取段码
0146 3168             50                ACALL   TXDBYTE                    ;送段码输出
0148 859045           51                MOV     BUF,      FRIT
014B 534507           52                ANL     BUF,      #07H
014E EA               53                MOV     A,        R2       ;保证不影响其它位送位码
014F 4545             54                ORL     A,        BUF       
0151 F590             55                MOV     FRIT,     A
0153 12017C           56                LCALL   DELAY              ;调延时子程序
0156 7590FF           57                MOV     FRIT,#0FFH
0159 08               58                INC     R0
A51 MACRO ASSEMBLER  232                                                                  02/15/2002 17:36:10 PAGE     2

015A EA               59                MOV     A,        R2
015B 03               60                RR      A
015C FA               61                MOV     R2,       A
015D B845E2           62                CJNE    R0,       #45H,  ZCQ;5位显示完吗?
0160 7590FF           63                MOV     FRIT,     #0FFH
0163 D0E0             64                POP     ACC
0165 D0D0             65                POP     PSW  
0167 22               66                RET
                      67     
0168                  68     TXDBYTE:
0168 C0D0             69                PUSH    PSW
016A C0E0             70                PUSH    ACC  
016C 7B08             71                MOV     R3,#08H
016E 33               72     TXDUP:     RLC     A
016F 9290             73                MOV     SDA,C
0171 C291             74                CLR     CLK
0173 D291             75                SETB    CLK
0175 DBF7             76                DJNZ    R3,TXDUP
0177 D0E0             77                POP     ACC
0179 D0D0             78                POP     PSW
017B 22               79                RET
                      80     
                      81     ;延时子程序
017C 7F50             82     DELAY:     MOV     R7,      #50H     ;12M时钟下延时1MS  
017E 7E10             83     DELAY0:    MOV     R6,      #10H
0180 DEFE             84     DELAY1:    DJNZ    R6,      DELAY1
0182 DFFA             85                DJNZ    R7,      DELAY0
0184 22               86                RET
                      87     
                      88     ;查表子程序
0185 04               89     TAB:       INC     A                 ;基地址加一
0186 83               90                MOVC    A,       @A+PC    ;查段码表,取其相应的段码
0187 22               91                RET
0188 C0F9A4B0         92     DB         0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,80H,090H,088H,083H,0c6H,0a1H,86H,8eH,0bf
                             H,89H,8CH
018C 999282F8                
0190 80908883                
0194 C6A1868E                
0198 BF898C                  
                      93                ;(0-9 A-F)共阳段码表
                      94                END
A51 MACRO ASSEMBLER  232                                                                  02/15/2002 17:36:10 PAGE     3

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

ACC. . . . . . . .  D ADDR   00E0H   A   
BUF. . . . . . . .  D ADDR   0045H   A   
CLK. . . . . . . .  B ADDR   0090H.1 A   
DBUF0. . . . . . .  N NUMB   0030H   A   
DELAY. . . . . . .  C ADDR   017CH   A   
DELAY0 . . . . . .  C ADDR   017EH   A   
DELAY1 . . . . . .  C ADDR   0180H   A   
DIP. . . . . . . .  C ADDR   0136H   A   
DISPLAY. . . . . .  C ADDR   013AH   A   
DOWN . . . . . . .  C ADDR   0133H   A   
FRIT . . . . . . .  D ADDR   0090H   A   
MAIN . . . . . . .  C ADDR   0100H   A   
NEXT . . . . . . .  C ADDR   012EH   A   
P1 . . . . . . . .  D ADDR   0090H   A   
PCON . . . . . . .  D ADDR   0087H   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
REN. . . . . . . .  B ADDR   0098H.4 A   
RI . . . . . . . .  B ADDR   0098H.0 A   
RRD. . . . . . . .  C ADDR   011FH   A   
RRU. . . . . . . .  C ADDR   0118H   A   
RRUP . . . . . . .  C ADDR   011AH   A   
SBUF . . . . . . .  D ADDR   0099H   A   
SCON . . . . . . .  D ADDR   0098H   A   
SDA. . . . . . . .  B ADDR   0090H.0 A   
SP . . . . . . . .  D ADDR   0081H   A   
TAB. . . . . . . .  C ADDR   0185H   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR1. . . . . . . .  B ADDR   0088H.6 A   
TXDBYTE. . . . . .  C ADDR   0168H   A   
TXDUP. . . . . . .  C ADDR   016EH   A   
UP . . . . . . . .  C ADDR   0129H   A   
UPUP . . . . . . .  C ADDR   0114H   A   
ZCQ. . . . . . . .  C ADDR   0142H   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -