611 lines
23 KiB
Plaintext
611 lines
23 KiB
Plaintext
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 1
|
||
|
||
|
||
C51 COMPILER V9.57.0.0, COMPILATION OF MODULE UART
|
||
OBJECT MODULE PLACED IN .\Objects\uart.obj
|
||
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE ..\UsrSrc\uart\uart.c ROM(COMPACT) OPTIMIZE(9,SIZE) BROWSE INCDIR(..\Usr
|
||
-Inc\adc;..\UsrInc\charger;..\UsrInc\discharge;..\UsrInc\gpio;..\UsrInc\hall;..\UsrInc\i2c_simu;..\UsrInc\inc;..\UsrInc\k
|
||
-ey;..\UsrInc\led;..\UsrInc\mtp;..\UsrInc\pwm;..\UsrInc\sleep;..\UsrInc\system;..\UsrInc\uart;..\UsrInc\userapp;..\UsrInc
|
||
-\vox;..\UsrInc\vox_comm;..\UsrInc\watchdog;..\UsrInc\bat;..\UsrInc\timer) DEBUG OBJECTEXTEND CODE PRINT(.\Listings\uart.
|
||
-lst) TABS(2) OBJECT(.\Objects\uart.obj)
|
||
|
||
line level source
|
||
|
||
1 /*
|
||
2 ******************************************************************************
|
||
3 *
|
||
4 * @file uart.c
|
||
5 * @brief uart module
|
||
6 *
|
||
7 *
|
||
8 * @version 1.0
|
||
9 * @date 2022/12/14 15:00:40
|
||
10 * @author Alex Xu
|
||
11 *
|
||
12 * Copyright (c) 2013-2099,Tkplusemi Technology Co.,Ltd.
|
||
13 * All Rights Reserved
|
||
14 *
|
||
15 * History:
|
||
16 * Revision Date Author Desc
|
||
17 * 1.0.0 2022/12/14 Alex build this file
|
||
18 ******************************************************************************/
|
||
19 /*_____ I N C L U D E S ____________________________________________________*/
|
||
20 #include "uart.h"
|
||
21 #include "system.h"
|
||
22 #include "vox_module.h"
|
||
23
|
||
24
|
||
25 #if UART0_ENABLE
|
||
26
|
||
27 /******************************************************************************\
|
||
28 Macro definitions
|
||
29 \******************************************************************************/
|
||
30 #define NONE_PARITY 0 //<2F><>У<EFBFBD><D0A3>
|
||
31 #define ODD_PARITY 1 //<2F><>У<EFBFBD><D0A3>
|
||
32 #define EVEN_PARITY 2 //żУ<C5BC><D0A3>
|
||
33 #define MARK_PARITY 3 //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>
|
||
34 #define SPACE_PARITY 4 //<2F>հ<EFBFBD>У<EFBFBD><D0A3>
|
||
35
|
||
36 #define PARITYBIT EVEN_PARITY //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>λ
|
||
37
|
||
38 /******************************************************************************\
|
||
39 Variables definitions
|
||
40 \******************************************************************************/
|
||
41
|
||
42 bit busy0;
|
||
43
|
||
44 #ifdef VOX_RX
|
||
45 idata uint8_t RX0_Buffer[COM0_Data_Lenth] = 0; //<2F><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD>
|
||
46 bit Uart0_RX_Finish_Flag = 0;
|
||
47 #endif
|
||
48
|
||
49 #endif
|
||
50
|
||
51 #ifdef _DEBUG_ALL
|
||
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 2
|
||
|
||
char putchar(char c)
|
||
{
|
||
|
||
while(!TI0);
|
||
TI0 = 0;
|
||
return (S0BUF = c);
|
||
|
||
// Uart0SendData(c);
|
||
// return(c);
|
||
}
|
||
#endif
|
||
63
|
||
64 #if UART0_ENABLE
|
||
65
|
||
66 /*
|
||
67 *******************************************************************************
|
||
68 * void UART0_Init(void)
|
||
69 *
|
||
70 * Description : UART0 Initialization UART0<54><30><EFBFBD><EFBFBD>debug<75><67><EFBFBD><EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
71 *
|
||
72 * Arguments : NONE
|
||
73
|
||
74 * Returns : NONE
|
||
75
|
||
76 * Notes : NONE
|
||
77 *
|
||
78 *******************************************************************************
|
||
79 */
|
||
80 #if 0
|
||
void UART0_Init(void)
|
||
{
|
||
SFRADDR = MFP_CTL0;
|
||
SFRDATA &= ~0x0C;
|
||
SFRDATA |= 0x04; //P01 as UART's TX
|
||
|
||
BD = 1; //Select additional Baudrate generator
|
||
PCON |= 0x80; //Baudrate double enable
|
||
|
||
//baudrate set
|
||
S0RELH = HIBYTE(S0REL_VALUE);
|
||
S0RELL = LOBYTE(S0REL_VALUE);//s0rel=1023, baudrate = fclk/32 = 187.5k
|
||
|
||
S0CON = 0xD0; //SCON: MODE 3, 9-bit UART, RI enable, EVEN Parity
|
||
|
||
TI0 = 1;
|
||
RI0 = 1;
|
||
ES0 = 1; //Enable UART0 IRQ
|
||
}
|
||
#endif
|
||
101 /*
|
||
102 *******************************************************************************
|
||
103 * void Uart0SendData(uint8_t Txdata)
|
||
104 *
|
||
105 * Description : UART0 Send Data
|
||
106 *
|
||
107 * Arguments : NONE
|
||
108
|
||
109 * Returns : NONE
|
||
110
|
||
111 * Notes : NONE
|
||
112 *
|
||
113 *******************************************************************************
|
||
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 3
|
||
|
||
114 */
|
||
115 #if 0
|
||
void Uart0SendData(uint8_t Txdata)
|
||
{
|
||
while(busy0);
|
||
ACC = Txdata;
|
||
if (P) //<2F><><EFBFBD><EFBFBD>P<EFBFBD><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3>λ
|
||
{
|
||
#if (PARITYBIT == ODD_PARITY)
|
||
TB80 = 0; //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>λΪ0
|
||
#elif (PARITYBIT == EVEN_PARITY)
|
||
TB80 = 1; //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>λΪ1
|
||
#endif
|
||
}
|
||
else
|
||
{
|
||
#if (PARITYBIT == ODD_PARITY)
|
||
TB80 = 1; //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>λΪ1
|
||
#elif (PARITYBIT == EVEN_PARITY)
|
||
TB80 = 0; //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>λΪ0
|
||
#endif
|
||
}
|
||
busy0 = 1;
|
||
S0BUF = ACC;
|
||
}
|
||
#endif
|
||
140
|
||
141 /*
|
||
142 *******************************************************************************
|
||
143 * void Uart0SendPacket(uint8_t Length,uint8_t *TransBuf)
|
||
144 *
|
||
145 * Description : UART0 Send Packet
|
||
146 *
|
||
147 * Arguments : NONE
|
||
148
|
||
149 * Returns : NONE
|
||
150
|
||
151 * Notes : NONE
|
||
152 *
|
||
153 *******************************************************************************
|
||
154 */
|
||
155 #ifdef VOX_TX
|
||
156
|
||
157 void Uart0SendPacket(uint16_t Length,uint8_t *TransBuf)
|
||
158 {
|
||
159 1 uint8_t i = 0;
|
||
160 1 for(i=0;i<Length;i++)
|
||
161 1 {
|
||
162 2 //Uart0SendData(*TransBuf++);
|
||
163 2
|
||
164 2 while(busy0);
|
||
165 2 ACC = *TransBuf++;
|
||
166 2 busy0 = 1;
|
||
167 2 S0BUF = ACC;
|
||
168 2 }
|
||
169 1 }
|
||
170 #endif
|
||
171
|
||
172 #endif
|
||
173
|
||
174 #if UART0_ENABLE
|
||
175
|
||
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 4
|
||
|
||
176 #if defined(QIANCHENG) //<2F><>ة
|
||
|
||
#define Vox_Comm_Data_Len 5
|
||
|
||
#elif defined(ZHONGKELANXUN) //<2F>п<EFBFBD><D0BF><EFBFBD>Ѷ
|
||
|
||
#define Vox_Comm_Data_Len 5
|
||
|
||
#elif defined(XIAOMI)
|
||
185
|
||
186 #define Vox_Comm_Data_Len 7
|
||
187
|
||
188 #endif
|
||
189
|
||
190
|
||
191 /*uart0<74>жϴ<D0B6><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||
192 void uart0_Interrupt(void) interrupt Interrupt_Vector_RI_TI
|
||
193 {
|
||
194 1 static uint8_t Rx0Status;
|
||
195 1 #ifdef XIAOMI
|
||
196 1
|
||
197 1 static uint16_t RX0_Cnt;
|
||
198 1 static uint16_t RX0DataLen;
|
||
199 1
|
||
200 1 #else
|
||
|
||
static uint8_t RX0_Cnt;
|
||
static uint8_t RX0DataLen;
|
||
|
||
#endif
|
||
206 1 /*<2A><><EFBFBD><EFBFBD>UART0<54><30><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>*/
|
||
207 1 if(TI0)
|
||
208 1 {
|
||
209 2 TI0 = 0;
|
||
210 2 busy0 = 0;
|
||
211 2 }
|
||
212 1
|
||
213 1 /*<2A><><EFBFBD><EFBFBD>UART0<54><30><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>*/
|
||
214 1 if(RI0)
|
||
215 1 {
|
||
216 2 RI0 = 0;
|
||
217 2
|
||
218 2 #ifdef VOX_RX
|
||
219 2
|
||
220 2 #if defined(QIANCHENG) //<2F><>ة
|
||
|
||
switch(Rx0Status)
|
||
{
|
||
case 0:
|
||
if(S0BUF == 0xA5)
|
||
{
|
||
Rx0Status = 1;
|
||
|
||
RX0_Cnt = 0;
|
||
|
||
RX0_Buffer[RX0_Cnt] = S0BUF;
|
||
|
||
RX0_Cnt++;
|
||
}
|
||
else
|
||
{
|
||
Rx0Status = 0;
|
||
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 5
|
||
|
||
|
||
RX0_Cnt = 0;
|
||
}
|
||
break;
|
||
|
||
case 1:
|
||
RX0_Buffer[RX0_Cnt] = S0BUF;
|
||
|
||
RX0_Cnt++;
|
||
|
||
if( RX0_Cnt == Vox_Comm_Data_Len )
|
||
{
|
||
RX0DataLen = RX0_Buffer[4] + 5; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
||
}
|
||
|
||
if( (RX0DataLen == RX0_Cnt) || (RX0_Cnt > COM0_Data_Lenth) ) //<2F><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>data<74><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RX0DataLen<65><6E><EFBFBD><EFBFBD><EFBFBD>
|
||
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>䡣
|
||
{
|
||
RX0_Cnt = 0;
|
||
Rx0Status = 0;
|
||
Uart0_RX_Finish_Flag = 1;
|
||
}
|
||
}
|
||
|
||
#elif defined(ZHONGKELANXUN) //<2F>п<EFBFBD><D0BF><EFBFBD>Ѷ
|
||
|
||
switch(Rx0Status)
|
||
{
|
||
case 0:
|
||
if( S0BUF == (BOXHEADER >> 8) )
|
||
{
|
||
Rx0Status = 1;
|
||
|
||
RX0_Cnt = 0;
|
||
|
||
RX0_Buffer[RX0_Cnt] = S0BUF;
|
||
|
||
RX0_Cnt++;
|
||
}
|
||
else
|
||
{
|
||
Rx0Status = 0;
|
||
|
||
RX0_Cnt = 0;
|
||
}
|
||
break;
|
||
|
||
case 1:
|
||
if(S0BUF == BOXHEADER)
|
||
{
|
||
Rx0Status = 2;
|
||
|
||
RX0_Buffer[RX0_Cnt] = S0BUF;
|
||
|
||
RX0_Cnt++;
|
||
}
|
||
else
|
||
{
|
||
Rx0Status = 0;
|
||
|
||
RX0_Cnt = 0;
|
||
}
|
||
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 6
|
||
|
||
break;
|
||
case 1:
|
||
RX0_Buffer[RX0_Cnt] = S0BUF;
|
||
|
||
if(RX0DataLen == RX0_Cnt - 6)
|
||
{
|
||
RX0_Cnt = 0;
|
||
Rx0Status = 0;
|
||
Uart0_RX_Finish_Flag = 1;
|
||
}
|
||
else
|
||
{
|
||
RX0_Cnt++;
|
||
|
||
if(RX0_Cnt == 5)
|
||
{
|
||
RX0DataLen = RX0_Buffer[4]; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD> length,length<74><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Checksum
|
||
}
|
||
}
|
||
}
|
||
|
||
#elif defined(XIAOMI) //С<><D0A1>
|
||
321 2
|
||
322 2 switch(Rx0Status)
|
||
323 2 {
|
||
324 3 case 0:
|
||
325 3
|
||
326 3 if(S0BUF == 0xAA)
|
||
327 3 {
|
||
328 4 Rx0Status = 1;
|
||
329 4
|
||
330 4 RX0_Cnt = 0;
|
||
331 4
|
||
332 4 RX0_Buffer[RX0_Cnt] = S0BUF;
|
||
333 4
|
||
334 4 RX0_Cnt++;
|
||
335 4 }
|
||
336 3 else
|
||
337 3 {
|
||
338 4 Rx0Status = 0;
|
||
339 4
|
||
340 4 RX0_Cnt = 0;
|
||
341 4 }
|
||
342 3 break;
|
||
343 3
|
||
344 3 case 1:
|
||
345 3
|
||
346 3 RX0_Buffer[RX0_Cnt] = S0BUF;
|
||
347 3
|
||
348 3 RX0_Cnt++;
|
||
349 3
|
||
350 3 if( RX0_Cnt == Vox_Comm_Data_Len )
|
||
351 3 {
|
||
352 4 RX0DataLen = RX0_Buffer[5] | (RX0_Buffer[6] << 8) + 9; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ݳ<EFBFBD><DDB3>ȣ<EFBFBD>Headr(1Byte) + Trandsmit Dir(1
|
||
-Byte) + CMD(2Bytes) + datalen(2Bytes) + CRC16(2Bytes)
|
||
353 4 }
|
||
354 3
|
||
355 3 if( (RX0DataLen == RX0_Cnt) || (RX0_Cnt > COM0_Data_Lenth) ) //<2F><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>data<74><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RX0DataLen<65><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
-<2D><><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>䡣
|
||
356 3 {
|
||
357 4 RX0_Cnt = 0;
|
||
358 4 Rx0Status = 0;
|
||
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 7
|
||
|
||
359 4 Uart0_RX_Finish_Flag = 1;
|
||
360 4 }
|
||
361 3 }
|
||
362 2
|
||
363 2
|
||
364 2
|
||
365 2 #endif
|
||
366 2
|
||
367 2 #endif
|
||
368 2 }
|
||
369 1 }
|
||
370
|
||
371 #endif
|
||
372
|
||
373
|
||
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 8
|
||
|
||
ASSEMBLY LISTING OF GENERATED OBJECT CODE
|
||
|
||
|
||
; FUNCTION Com0015 (BEGIN)
|
||
0000 L?0022:
|
||
0000 7400 R MOV A,#LOW RX0_Buffer
|
||
0002 2500 R ADD A,RX0_Cnt+01H
|
||
0004 F8 MOV R0,A
|
||
0005 A699 MOV @R0,S0BUF
|
||
0007 0500 R INC RX0_Cnt+01H
|
||
0009 E500 R MOV A,RX0_Cnt+01H
|
||
000B 22 RET
|
||
000C L?0023:
|
||
000C L?0024:
|
||
000C 750000 R MOV RX0_Cnt,#00H
|
||
000F 750000 R MOV RX0_Cnt+01H,#00H
|
||
0012 22 RET
|
||
; FUNCTION Com0015 (END)
|
||
|
||
; FUNCTION _Uart0SendPacket (BEGIN)
|
||
; SOURCE LINE # 157
|
||
0000 8E00 R MOV Length,R6
|
||
0002 8F00 R MOV Length+01H,R7
|
||
0004 8B00 R MOV TransBuf,R3
|
||
0006 8A00 R MOV TransBuf+01H,R2
|
||
0008 8900 R MOV TransBuf+02H,R1
|
||
; SOURCE LINE # 158
|
||
; SOURCE LINE # 159
|
||
;---- Variable 'i' assigned to Register 'R7' ----
|
||
000A E4 CLR A
|
||
000B FF MOV R7,A
|
||
; SOURCE LINE # 160
|
||
000C ?C0001:
|
||
000C EF MOV A,R7
|
||
000D C3 CLR C
|
||
000E 9500 R SUBB A,Length+01H
|
||
0010 E4 CLR A
|
||
0011 9500 R SUBB A,Length
|
||
0013 5016 JNC ?C0006
|
||
; SOURCE LINE # 161
|
||
0015 ?C0004:
|
||
; SOURCE LINE # 164
|
||
0015 2000FD R JB busy0,?C0004
|
||
; SOURCE LINE # 165
|
||
0018 7800 R MOV R0,#LOW TransBuf
|
||
001A E4 CLR A
|
||
001B 75F001 MOV B,#01H
|
||
001E 120000 E LCALL ?C?PLDIIDATA
|
||
0021 120000 E LCALL ?C?CLDPTR
|
||
; SOURCE LINE # 166
|
||
0024 D200 R SETB busy0
|
||
; SOURCE LINE # 167
|
||
0026 F599 MOV S0BUF,A
|
||
; SOURCE LINE # 168
|
||
0028 0F INC R7
|
||
0029 80E1 SJMP ?C0001
|
||
; SOURCE LINE # 169
|
||
002B ?C0006:
|
||
002B 22 RET
|
||
; FUNCTION _Uart0SendPacket (END)
|
||
|
||
; FUNCTION uart0_Interrupt (BEGIN)
|
||
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 9
|
||
|
||
0000 C0E0 PUSH ACC
|
||
0002 C0D0 PUSH PSW
|
||
0004 75D000 MOV PSW,#00H
|
||
0007 C000 PUSH AR0
|
||
0009 C005 PUSH AR5
|
||
000B C006 PUSH AR6
|
||
000D C007 PUSH AR7
|
||
; SOURCE LINE # 192
|
||
; SOURCE LINE # 207
|
||
000F 309904 JNB TI0,?C0007
|
||
; SOURCE LINE # 208
|
||
; SOURCE LINE # 209
|
||
0012 C299 CLR TI0
|
||
; SOURCE LINE # 210
|
||
0014 C200 R CLR busy0
|
||
; SOURCE LINE # 211
|
||
0016 ?C0007:
|
||
; SOURCE LINE # 214
|
||
0016 309867 JNB RI0,?C0017
|
||
; SOURCE LINE # 215
|
||
; SOURCE LINE # 216
|
||
0019 C298 CLR RI0
|
||
; SOURCE LINE # 322
|
||
001B E500 R MOV A,Rx0Status
|
||
001D 14 DEC A
|
||
001E 601F JZ ?C0013
|
||
0020 04 INC A
|
||
0021 705D JNZ ?C0017
|
||
; SOURCE LINE # 323
|
||
; SOURCE LINE # 324
|
||
0023 ?C0010:
|
||
; SOURCE LINE # 326
|
||
0023 E599 MOV A,S0BUF
|
||
0025 B4AA0F CJNE A,#0AAH,?C0011
|
||
; SOURCE LINE # 327
|
||
; SOURCE LINE # 328
|
||
0028 750001 R MOV Rx0Status,#01H
|
||
; SOURCE LINE # 330
|
||
002B 120000 R LCALL L?0023
|
||
; SOURCE LINE # 332
|
||
; SOURCE LINE # 334
|
||
002E 120000 R LCALL L?0022
|
||
0031 7002 JNZ ?C0018
|
||
0033 0500 R INC RX0_Cnt
|
||
0035 ?C0018:
|
||
; SOURCE LINE # 335
|
||
0035 8049 SJMP ?C0017
|
||
0037 ?C0011:
|
||
; SOURCE LINE # 337
|
||
; SOURCE LINE # 338
|
||
0037 750000 R MOV Rx0Status,#00H
|
||
; SOURCE LINE # 340
|
||
003A 120000 R LCALL L?0023
|
||
; SOURCE LINE # 341
|
||
; SOURCE LINE # 342
|
||
003D 8041 SJMP ?C0017
|
||
; SOURCE LINE # 344
|
||
003F ?C0013:
|
||
; SOURCE LINE # 346
|
||
; SOURCE LINE # 348
|
||
003F 120000 R LCALL L?0022
|
||
0042 7002 JNZ ?C0019
|
||
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 10
|
||
|
||
0044 0500 R INC RX0_Cnt
|
||
0046 ?C0019:
|
||
; SOURCE LINE # 350
|
||
0046 6407 XRL A,#07H
|
||
0048 4500 R ORL A,RX0_Cnt
|
||
004A 7015 JNZ ?C0014
|
||
; SOURCE LINE # 351
|
||
; SOURCE LINE # 352
|
||
004C 7800 R MOV R0,#LOW RX0_Buffer+06H
|
||
004E E6 MOV A,@R0
|
||
004F FE MOV R6,A
|
||
0050 E4 CLR A
|
||
0051 2409 ADD A,#09H
|
||
0053 FF MOV R7,A
|
||
0054 E4 CLR A
|
||
0055 3E ADDC A,R6
|
||
0056 FE MOV R6,A
|
||
0057 18 DEC R0
|
||
0058 E6 MOV A,@R0
|
||
0059 FD MOV R5,A
|
||
005A EE MOV A,R6
|
||
005B F500 R MOV RX0DataLen,A
|
||
005D EF MOV A,R7
|
||
005E 4D ORL A,R5
|
||
005F F500 R MOV RX0DataLen+01H,A
|
||
; SOURCE LINE # 353
|
||
0061 ?C0014:
|
||
; SOURCE LINE # 355
|
||
0061 E500 R MOV A,RX0DataLen+01H
|
||
0063 6500 R XRL A,RX0_Cnt+01H
|
||
0065 7004 JNZ ?C0020
|
||
0067 E500 R MOV A,RX0DataLen
|
||
0069 6500 R XRL A,RX0_Cnt
|
||
006B ?C0020:
|
||
006B 600B JZ ?C0016
|
||
006D D3 SETB C
|
||
006E E500 R MOV A,RX0_Cnt+01H
|
||
0070 940B SUBB A,#0BH
|
||
0072 E500 R MOV A,RX0_Cnt
|
||
0074 9400 SUBB A,#00H
|
||
0076 4008 JC ?C0017
|
||
0078 ?C0016:
|
||
; SOURCE LINE # 356
|
||
; SOURCE LINE # 357
|
||
0078 120000 R LCALL L?0024
|
||
; SOURCE LINE # 358
|
||
007B 750000 R MOV Rx0Status,#00H
|
||
; SOURCE LINE # 359
|
||
007E D200 R SETB Uart0_RX_Finish_Flag
|
||
; SOURCE LINE # 360
|
||
; SOURCE LINE # 361
|
||
; SOURCE LINE # 368
|
||
; SOURCE LINE # 369
|
||
0080 ?C0017:
|
||
0080 D007 POP AR7
|
||
0082 D006 POP AR6
|
||
0084 D005 POP AR5
|
||
0086 D000 POP AR0
|
||
0088 D0D0 POP PSW
|
||
008A D0E0 POP ACC
|
||
008C 32 RETI
|
||
; FUNCTION uart0_Interrupt (END)
|
||
C51 COMPILER V9.57.0.0 UART 06/14/2024 11:08:37 PAGE 11
|
||
|
||
|
||
|
||
|
||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||
CODE SIZE = 204 ----
|
||
CONSTANT SIZE = ---- ----
|
||
XDATA SIZE = ---- ----
|
||
PDATA SIZE = ---- ----
|
||
DATA SIZE = 5 5
|
||
IDATA SIZE = 11 ----
|
||
BIT SIZE = 2 ----
|
||
END OF MODULE INFORMATION.
|
||
|
||
|
||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|