📄 crc.lst
字号:
C51 COMPILER V6.02 CRC 09/28/2006 21:46:50 PAGE 5
241 6 }
242 5 }else{
243 5 if(transparence_valid==1&&REVSTATUS==0){
244 6 transparence_valid=0;
245 6 transparence=0;
246 6 valid_data=0;
247 6 valid_data_num=0;
- }
248 5 }
249 4
250 4 break;
251 4 case 3:check_transparence();
252 4 if(transparence_valid==0){
253 5 valid_data=valid_data+(testbit<<(7-valid_data_num));
254 5 if(++valid_data_num==8){
255 6 if(valid_data==0xcc/*cc*/){
256 7 //transparence=0;
257 7 REVSTATUS=4;
258 7 valid_data=0;
259 7 valid_data_num=0;
260 7 checkdata[2]=0xcc/*cc*/;
261 7 }else{
262 7 transparence=0;
263 7 REVSTATUS=0;
264 7 valid_data=0;
265 7 valid_data_num=0;
266 7 }
267 6 }
268 5 }else{
269 5 if(transparence_valid==1&&REVSTATUS==0){
270 6 transparence_valid=0;
271 6 transparence=0;
272 6 valid_data=0;
273 6 valid_data_num=0;
274 6 }
275 5 }
276 4 break;
277 4 case 4:check_transparence();
278 4 if(transparence_valid==0){
279 5 valid_data=valid_data+(testbit<<(7-valid_data_num));
280 5 if(++valid_data_num==8){
281 6 if(valid_data==0xc1){
282 7 //transparence=0;
283 7 REVSTATUS=5;
284 7 valid_data=0;
285 7 valid_data_num=0;
286 7 checkdata[3]=0xc1;
287 7 }else{
288 7 transparence=0;
289 7 REVSTATUS=0;
290 7 valid_data=4;
291 7 valid_data_num=0;
292 7 }
293 6 }
294 5 }else{
295 5 if(transparence_valid==1&&REVSTATUS==0){
296 6 transparence_valid=0;
297 6 transparence=0;
298 6 valid_data=0;
299 6 valid_data_num=0;
300 6 }
301 5 }
C51 COMPILER V6.02 CRC 09/28/2006 21:46:50 PAGE 6
302 4 break;
303 4 case 5:check_transparence();
304 4 if(transparence_valid==0){
305 5 valid_data=valid_data+(testbit<<(7-valid_data_num));
306 5 if(++valid_data_num==8){
307 6 checkdata[data_num]=valid_data;
308 6 data_num++;
309 6 REVSTATUS=6;
310 6 // transparence=0;
311 6 valid_data=0;
312 6 valid_data_num=0;
313 6 }
314 5 }else{
315 5 if(transparence_valid==1&&REVSTATUS==0){
316 6 transparence_valid=0;
317 6 transparence=0;
318 6 valid_data=0;
319 6 valid_data_num=0;
320 6 }
321 5 }
322 4 break;
323 4 case 6:check_transparence();
324 4 if(transparence_valid==0){
325 5 valid_data=valid_data+(testbit<<(7-valid_data_num));
326 5 if(++valid_data_num==8){
327 6 checkdata[data_num]=valid_data;
328 6 data_num++;
329 6 REVSTATUS=6;
330 6 //transparence=0;
331 6 valid_data=0;
332 6 valid_data_num=0;
333 6 }
334 5 }else if(transparence_valid==1 && transparence==0 && REVSTATU
-S!=0){
335 5 transparence_valid=0;
336 5 break;
337 5 }else{{
338 6 if(transparence_valid==1&&REVSTATUS==0){
339 7 transparence_valid=0;
340 7 transparence=0;
341 7 valid_data=0;
342 7 p=&checkdata[0];
343 7 check_write=cal_crc(p,(data_num-2));
344 7 check_temp=(checkdata[data_num-2]<<8)+checkdata[da
-ta_num-1];
345 7 data_num=4;
346 7 WatchDog =!WatchDog;
347 7 if(check_write==check_temp){ //CRC校验相等
348 8
349 8 // EA=0;
350 8 receive_flag=checkdata[4]; //主要标志
351 8 second_flag=checkdata[5]; //付标志
352 8 com_receive_deal();
353 8 valid_data_num=0;
354 8
355 8 }
356 7
357 7 }
358 6 }
359 5
360 5 break; }
361 4 break;
C51 COMPILER V6.02 CRC 09/28/2006 21:46:50 PAGE 7
362 4 default:break;
363 4 }
364 3 }
365 2 if(++tail>500)tail=0;
366 2 //if(head==0)tail=0;
367 2 }
368 1 }
369 void comm() interrupt 4 using 1
370 {
371 1 if(RI==1){
372 2 RI=0;
373 2 EA=0;
374 2 RX_BUF[head]=SBUF;
375 2 if(++head>500)head=0;
376 2 comm_state=0;//有接收
377 2 EA=1;
378 2
379 2 }
380 1
381 1 }
C51 COMPILER V6.02 CRC 09/28/2006 21:46:50 PAGE 8
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
com_receive_deal . . . . . . . . . . . EXTERN CODE PROC ----- -----
transparence_valid . . . . . . . . . . PUBLIC XDATA U_INT 0000H 2
testbit. . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0002H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
transparence . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0003H 1
valid_data . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0004H 1
check_write. . . . . . . . . . . . . . PUBLIC XDATA U_INT 0005H 2
head . . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0007H 2
WatchDog . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
check_temp . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0009H 2
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
checkdata. . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 000BH 512
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
_cal_crc . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ptr. . . . . . . . . . . . . . . . . AUTO XDATA PTR 0000H 3
len. . . . . . . . . . . . . . . . . AUTO XDATA U_INT 0003H 2
i. . . . . . . . . . . . . . . . . . AUTO XDATA U_CHAR 0005H 1
crc. . . . . . . . . . . . . . . . . * REG * DATA U_INT 0004H 2
tail . . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 020BH 2
comm . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SBUF . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0099H 1
h_address. . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
comm_state . . . . . . . . . . . . . . EXTERN XDATA U_INT ----- 2
watch_dog. . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
l_address. . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
checktemp. . . . . . . . . . . . . . . PUBLIC XDATA U_INT 020DH 2
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
crc_main . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO XDATA U_CHAR 0000H 1
p. . . . . . . . . . . . . . . . . . * REG * DATA PTR 0001H 3
valid_data_num . . . . . . . . . . . . PUBLIC XDATA U_CHAR 020FH 1
beginbit . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0210H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
data_num . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0211H 2
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
C51 COMPILER V6.02 CRC 09/28/2006 21:46:50 PAGE 9
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
REVSTATUS. . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0213H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
receive_flag . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0214H 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
RX_BUF . . . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 0215H 512
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
check_frame. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
check_transparence . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
second_flag. . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0415H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1989 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 1046 7
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -