uart.lst
来自「I2C slaver 的8051源码」· LST 代码 · 共 337 行 · 第 1/2 页
LST
337 行
C51 COMPILER V7.50 UART 03/02/2009 15:59:07 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN uart.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE uart.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "STC11L60XE.h"
2 #include "globe.h"
3
4 extern unsigned char xdata SDA_DATA[];
5 extern bit Buffer_Return;
6 extern unsigned int var;
7
8
9 unsigned int i_i;
10 unsigned int var_var;
11
12 void SendToPc(void)
13 {
14 1 static unsigned int i = 0;
15 1 static unsigned char j = 0;
16 1 static unsigned char SBUF_Bak;
17 1
18 1 static unsigned char First_Call = 0;
19 1 static unsigned char Buffer_End = 0;
20 1
21 1 if (((i == 0) &&(First_Call == 0)) ||((i == 0) &&(Buffer_End == 1)))
22 1 {
23 2 ;
24 2 }
25 1 else
26 1 {
27 2 i++;
28 2 }
29 1 First_Call = 1;
30 1 Buffer_End = 0;
31 1
32 1 if((i < var ) && (Buffer_Return == 0))//var 是放的次序数
33 1 {
34 2 if(SDA_DATA[i] == 0x7c)
35 2 {LED1 = !LED1;//////////////////////////////
36 3 i++;
37 3 if(SDA_DATA[i] == 0xc0)
38 3 {
39 4 i++;
40 4 if(SDA_DATA[i] == 0x20)
41 4 {
42 5 j = 1;
43 5 }
44 4 else
45 4 {
46 5 j = 0;
47 5
48 5 SBUF_Bak = SBUF;
49 5
50 5 SBUF = SDA_DATA[i];
51 5 while(TI == 0);
52 5 TI = 0;
53 5
54 5 SDA_DATA[i] = 0x20;//清空
55 5
C51 COMPILER V7.50 UART 03/02/2009 15:59:07 PAGE 2
56 5 }
57 4 }
58 3
59 3 if(SDA_DATA[i] == 0x00)
60 3 {
61 4
62 4 //SBUF = 0x0d;
63 4 //while(TI == 0);
64 4 //TI = 0;
65 4 //SBUF = 0x0a;
66 4 //while(TI == 0);
67 4 //TI = 0;
68 4
69 4 if(SBUF_Bak != '|')
70 4 {
71 5 SBUF = 0x0d;
72 5 while(TI == 0);
73 5 TI = 0;
74 5 SBUF =0x0a;
75 5 while(TI == 0);
76 5 TI = 0;
77 5
78 5 SBUF_Bak = '|';
79 5 }
80 4
81 4
82 4 i++; //处理7c 00 c0的c0
83 4 SDA_DATA[i] = 0x20;
84 4 }
85 3
86 3 }
87 2
88 2 if(SDA_DATA[i] == 0xc0)
89 2 {LED2 = !LED2;//////////////////////////////
90 3 i++;
91 3 if(SDA_DATA[i] == 0x20)
92 3 {
93 4 if(j == 0)
94 4 {
95 5 SBUF_Bak = SBUF;
96 5
97 5 SBUF = SDA_DATA[i];
98 5 while(TI == 0);
99 5 TI = 0;
100 5
101 5 SDA_DATA[i] = 0x20;//清空
102 5 }
103 4 }
104 3 else
105 3 {
106 4 SBUF_Bak = SBUF;
107 4
108 4 SBUF = SDA_DATA[i];
109 4 while(TI == 0);
110 4 TI = 0;
111 4
112 4 SDA_DATA[i] = 0x20;//清空
113 4
114 4 }
115 3 }
116 2
117 2 }
C51 COMPILER V7.50 UART 03/02/2009 15:59:07 PAGE 3
118 1 if(Buffer_Return == 1) //Buffer_Return等于1是返回的标志
119 1 {
120 2 while(i < Buffer_Len)
121 2 {
122 3 if(SDA_DATA[i] == 0x7c)
123 3 {
124 4 i++;
125 4 if(SDA_DATA[i] == 0xc0)
126 4 {
127 5 i++;
128 5 if(SDA_DATA[i] == 0x20)
129 5 {
130 6 j = 1;
131 6 }
132 5 else
133 5 {
134 6 j = 0;
135 6
136 6 SBUF_Bak = SBUF;
137 6
138 6 SBUF = SDA_DATA[i];
139 6 while(TI == 0);
140 6 TI = 0;
141 6
142 6 SDA_DATA[i] = 0x20;//清空
143 6
144 6 }
145 5 }
146 4
147 4 if(SDA_DATA[i] == 0x00)
148 4 {
149 5
150 5 //SBUF = 0x0d;
151 5 //while(TI == 0);
152 5 //TI = 0;
153 5 //SBUF =0x0a;
154 5 //while(TI == 0);
155 5 //TI = 0;
156 5
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?