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

📄 comsre.lst

📁 采用ST的UPSD33XX系列单片机的双串口
💻 LST
📖 第 1 页 / 共 3 页
字号:
MACRO ASSEMBLER COMSRE                                      09/06/05 09:25:05 PAGE     1


WIN32 MACRO ASSEMBLER MA51 V06.04.14OBJECT MODULE PLACED IN E:\UPSD\COM9_3\COMSRE.OBJ
ASSEMBLER INVOKED BY: MA51.EXE E:\UPSD\COM9_3\COMSRE.A51 OJ(E:\UPSD\COM9_3\COMSRE.OBJ) PIN(D:\CIRCUITSOFT\RIDE\INC;D:\CIRCUITSOFT\RIDE\INC\51) PIN(D:\CIRCUITSOFT\RIDE\INC\51\ST\UPSD3354DV-40\) EP LINES SYNTAX(ASM51) PR(E:\UPSD\COM9_3\COMSRE.LST) XR DB PW(80) RB(0) 

LOC     OBJ           LINE    SOURCE
                         1     $INCLUDE(REG51.INC)
                        80     $INCLUDE(UPSD3300.INC)
                       328     
  0030                 329     BAUDRATEUART0      EQU 30H
  0031                 330     BAUDRATEUART1_H    EQU 31H
  0032                 331     BAUDRATEUART1_L    EQU 32H
                       332     
  0033                 333     DPHUART0_R         EQU 33H
  0034                 334     DPLUART0_R         EQU 34H
  0035                 335     DPHUART0_S         EQU 35H
  0036                 336     DPLUART0_S         EQU 36H
                       337     
  0037                 338     DPHUART1_R         EQU 37H
  0038                 339     DPLUART1_R         EQU 38H
  0039                 340     DPHUART1_S         EQU 39H
  003A                 341     DPLUART1_S         EQU 3AH
                       342     
  8006                 343     PORTA_DIR          EQU 8006H
  8000                 344     PORTA_DATA         EQU 8000H
                       345     
  00D8                 346     TH0_TEMP           EQU 0D8H 
  00F0                 347     TL0_TEMP           EQU 0F0H  ;1MS, 2MS:0F060,3MS:0E890, 4MS:0E0C0, 5MS:0D8F0, 10MS:0B1E0
                       348     
  0000                 349     FLAG_UART0_S       BIT 00H
  0001                 350     FLAG_UART1_S       BIT 01H
                       351      
                       352     
  0000                 353         ORG 0000H
0000    020080         354         LJMP  MAIN
  000B                 355         ORG 000BH
000B    02011E         356         LJMP TIMER0_INTT
  0023                 357         ORG 0023H
0023    02012D         358         LJMP SRE_INTT0   ;uart0 data receive and send int
  004B                 359         ORG 004BH
004B    020188         360         LJMP SRE_INTT1   ;uart1 data receive and send int
                       361             
  0080                 362         ORG  0080H
                       363     MAIN:    
0080    908006         364     MOV DPTR , # 32774 
0083    7400           365         MOV  A,#00H
0085    F0             366         MOVX @DPTR,A
0086    908000         367     MOV DPTR , # 32768 
0089    E0             368         MOVX A,@DPTR
008A    F9             369         MOV  R1,A
008B    54F0           370         ANL  A,#0F0H
008D    FA             371         MOV  R2,A         ;UART1 BAUDRATE CHOOSE
008E    E9             372         MOV  A,R1
008F    540F           373         ANL  A,#0FH
0091    FB             374         MOV  R3,A         ;UART0 BAUDRATE CHOOSE
                       375         
                       376     UART1_BAUDSET0:     
0092    BA8009         377         CJNE R2,#80H,UART1_BAUDSET1
0095    7531FF         378     MOV 49 , # 0FFH 
0098    7532DC         379     MOV 50 , # 0DCH 
009B    0200BC         380         LJMP UART0_BUADSET0
                       381     UART1_BAUDSET1:  
009E    BA4009         382         CJNE R2,#40H,UART1_BAUDSET2
00A1    7531FF         383     MOV 49 , # 0FFH 
00A4    7532B8         384     MOV 50 , # 0B8H 
00A7    0200BC         385         LJMP UART0_BUADSET0    
                       386     UART1_BAUDSET2: 
00AA    BA2009         387         CJNE R2,#20H,UART1_BAUDSET3
00AD    7531FF         388     MOV 49 , # 0FFH 
00B0    753270         389     MOV 50 , # 70H 
00B3    0200BC         390         LJMP UART0_BUADSET0  
                       391     UART1_BAUDSET3: 
                       392         ;CJNE R2,#10H,UART1_BAUDSET4
00B6    7531FE         393     MOV 49 , # 0FEH 
00B9    7532E0         394     MOV 50 , # 0E0H 
                       395                      
                       396     UART0_BUADSET0: 
00BC    BB0106         397         CJNE R3,#01H,UART0_BAUDSET1
00BF    7530A0         398     MOV 48 , # 0A0H 
00C2    0200DA         399         LJMP MAIN_UART
                       400     UART0_BAUDSET1: 
00C5    BB0206         401         CJNE R3,#02H,UART0_BAUDSET2
00C8    7530D0         402     MOV 48 , # 0D0H 
00CB    0200DA         403         LJMP MAIN_UART
                       404     UART0_BAUDSET2: 
00CE    BB0406         405         CJNE R3,#04H,UART0_BAUDSET3
00D1    7530E8         406     MOV 48 , # 0E8H 
00D4    0200DA         407         LJMP MAIN_UART
                       408     UART0_BAUDSET3: 
                       409         ;CJNE R3,#01H,UART0_BAUDSET4
00D7    7530F4         410     MOV 48 , # 0F4H 
                       411         ;sjmp $      
                       412               
                       413     MAIN_UART: 
00DA    758180         414         MOV  SP,#80H
00DD    759850         415         MOV  SCON,#50H
00E0    75D850         416         MOV  SCON1,#50H
                       417         
00E3    759103         418         MOV  P3SFS, #03H ;SET P3.1,P3.0 AS UART0,THE OTHERS AS GPIO
00E6    758E0C         419         MOV  P1SFS0,#0CH
00E9    758F00         420         MOV  P1SFS1,#00H  ;SET P1.2,P1.3 AS UART1,THE OTHERS AS GPIO
                       421         
                       422         
00EC    75A892         423         MOV   IE,#92H
00EF    75A710         424         MOV   IEA,#10H 
00F2    75B800         425         MOV   IP, #00H
                       426         ;MOV   IPA,#10H   ;uart1 has high interrupt preference  
                       427         
00F5    75878C         428         MOV   PCON,#8CH ;use timer2 as uart1 baudrate generator
                       429         
                       430       ;uart0  baudrate SET,22.1184M xtal
                       431       ;use timer1 as the uart0 baudrate generator
00F8    758921         432         MOV  TMOD,#21H
00FB    85308B         433     MOV TL1 , 48 
00FE    85308D         434     MOV TH1 , 48 
0101    D28E           435         SETB TR1 
                       436       
                       437       ;uart1 baudrate SET,22.1184M xtal
                       438       ;use timer2 as the uart1 baudrate generator
0103    8531CB         439     MOV RCAP2H , 49 
0106    8532CA         440     MOV RCAP2L , 50 
0109    8531CD         441     MOV TH2 , 49 
010C    8532CC         442     MOV TL2 , 50 
010F    75C804         443         MOV  T2CON,#04H
                       444         
0112    1201E3         445         LCALL RESETDPTR0 
0115    1201F3         446         LCALL RESETDPTR1
0118    C200           447         CLR   FLAG_UART0_S
011A    C201           448         CLR   FLAG_UART1_S
                       449          
011C    80FE           450         SJMP  $
                       451         
                       452     TIMER0_INTT: 
011E    C28C           453        CLR  TR0
0120    100007         454        JBC  FLAG_UART0_S,UART1_SEND
0123    C201           455        CLR  FLAG_UART1_S
0125    D2D9           456        SETB TI1   ;when one data package finished,uart0 start to send data
0127    02012C         457        LJMP RETURN_TIMER0
                       458        
                       459      UART1_SEND: 
012A    D299           460        SETB TI
                       461      RETURN_TIMER0:        
012C    32             462        RETI     
                       463         
                       464     SRE_INTT0: 
012D    109931         465         JBC  TI, SENDINT0
0130    C298           466         CLR  RI
                       467         
0132    758CD8         468     MOV TH0 , # 216 
0135    758AF0         469     MOV TL0 , # 240 
0138    D28C           470         SETB  TR0          ;use timer0 as data package discrimination
013A    D201           471         SETB  FLAG_UART1_S
                       472        
013C    E599           473         MOV  A,SBUF   
013E    853383         474     MOV DPH , 51 
0141    853482         475     MOV DPL , 52 
0144    F0             476         MOVX @DPTR,A
                       477         
                       478      OVERFLOW_CHECK0: 
0145    E583           479        MOV  A,DPH
0147    B43F0D         480        CJNE A,#3FH,RETURNINC_R0
014A    E582           481        MOV  A,DPL
014C    B4FF08         482        CJNE A,#0FFH,RETURNINC_R0
014F    C29C           483        CLR  REN       ;when overflow,forbide receiving data
0151    120203         484        LCALL LED_BLINK  
0154    020187         485        LJMP  RETURN0
                       486        
                       487      RETURNINC_R0: 
0157    A3             488        INC  DPTR
0158    858333         489     MOV 51 , DPH 
015B    858234         490     MOV 52 , DPL 
015E    020187         491        LJMP RETURN0    
                       492        
                       493      SENDINT0: 
0161    853783         494     MOV DPH , 55 
0164    853882         495     MOV DPL , 56 
0167    E535           496     MOV A , 53 
0169    B5830B         497         CJNE A,DPH,RETURNINC_S0
016C    E536           498     MOV A , 54 
016E    B58206         499         CJNE A,DPL,RETURNINC_S0
0171    1201E3         500         LCALL RESETDPTR0
                       501         ;;;;;;;mov  scon1, #50h   ;when return from overflow,SCON1 must be reset
0174    020187         502         LJMP  RETURN0
                       503         
                       504       RETURNINC_S0: 

⌨️ 快捷键说明

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