📄 comm.ls1
字号:
0207 342 syncode:
0207 47505253 343 DB 'G' ,'P' ,'R' ,'S'
344
345
346
---- 347 RSEG ?C_INITSEG
0000 02 348 DB 002H
0001 00 F 349 DB CrcTabL
0002 0000 F 350 DW ?SC_0 ; ptr2
A51 MACRO ASSEMBLER COMM 12/03/2004 17:52:51 PAGE 8
351
0004 02 352 DB 002H
0005 00 F 353 DB CrcTabH
0006 0000 F 354 DW ?SC_257 ; ptr2
355
356 ; #include <reg52.h>
357 ; #include "MENUADDRESS.H"
358 ; #include <string.h>
359 ; #include <absacc.h>
360 ;
361 ; #define uchar unsigned char
362 ; #define uint unsigned int
363 ;
364 ; #define XTAL 11059200 /* CPU Oscillator Frequency *///
365 ; #define EXP_XTAL 11059200// 14745600
366 ;
367 ; #define EXP_RHR 0x8000
368 ; #define EXP_THR 0x8000
369 ; #define EXP_DLL 0x8000
370 ; #define EXP_DLM 0x8100
371 ; #define EXP_IER 0x8100
372 ; #define EXP_ISR 0x8200
373 ; #define EXP_FCR 0x8200
374 ; #define EXP_LCR 0x8300
375 ; #define EXP_MCR 0x8400
376 ; #define EXP_LSR 0x8500
377 ; #define EXP_EFR 0x8200
378 ;
379 ; sfr AUXR = 0x8E;
380 ;
381 ; sbit TR_485 = P1^1; //reset mc35 at least 100 ms. can't use P1_4.
382 ; sbit RTS = P1^0; //reset mc35 at least 100 ms. can't use P1_4.
383 ; sbit CTS = P1^5; //reset mc35 at least 100 ms. can't use P1_4.
384 ; sbit D3 = P1^2; //reset mc35 at least 100 ms. can't use P1_4.
385 ; sbit D4 = P3^5; //reset mc35 at least 100 ms. can't use P1_4.
386 ; sbit D5 = P3^4; //reset mc35 at least 100 ms. can't use P1_4.
387 ;
388 ; //define int number
389 ; #define DEF_INT_EX0 0
390 ; #define DEF_INT_TIME0 1
391 ; #define DEF_INT_EX1 2
392 ; #define DEF_INT_TIME1 3
393 ; #define DEF_INT_ASYNC 4
394 ;
395 ; #define DEF_COMMBUFF_LEN 520
396 ; #define EXP_COMMBUFF_LEN 520
397 ; #define DEF_PARITY_NON 0x00
398 ; #define DEF_PARITY_EVEN 0x01
399 ; #define DEF_PARITY_ODD 0x02
400 ; #define DEF_PARITY_2STOP 0x03
401 ; #define DEF_CRC_OK 0xB8F0
402 ;
403 ; uchar code *CrcTabL =
404 ; "\x00\x11\x23\x32\x46\x57\x65\x74\x8c\x9d\xaf\xbe\xca\xdb\xe9\xf8\x10\x01\x33\x22\x56\x47
\x75\x64\x9c\x8d\xbf\xae\xda\xcb\xf9\xe8"
405 ; "\x21\x30\x02\x13\x67\x76\x44\x55\xad\xbc\x8e\x9f\xeb\xfa\xc8\xd9\x31\x20\x12\x03\x77\x66
\x54\x45\xbd\xac\x9e\x8f\xfb\xea\xd8\xc9"
406 ; "\x42\x53\x61\x70\x04\x15\x27\x36\xce\xdf\xed\xfc\x88\x99\xab\xba\x52\x43\x71\x60\x14\x05
\x37\x26\xde\xcf\xfd\xec\x98\x89\xbb\xaa"
407 ; "\x63\x72\x40\x51\x25\x34\x06\x17\xef\xfe\xcc\xdd\xa9\xb8\x8a\x9b\x73\x62\x50\x41\x35\x24
\x16\x07\xff\xee\xdc\xcd\xb9\xa8\x9a\x8b"
408 ; "\x84\x95\xa7\xb6\xc2\xd3\xe1\xf0\x08\x19\x2b\x3a\x4e\x5f\x6d\x7c\x94\x85\xb7\xa6\xd2\xc3
\xf1\xe0\x18\x09\x3b\x2a\x5e\x4f\x7d\x6c"
409 ; "\xa5\xb4\x86\x97\xe3\xf2\xc0\xd1\x29\x38\x0a\x1b\x6f\x7e\x4c\x5d\xb5\xa4\x96\x87\xf3\xe2
\xd0\xc1\x39\x28\x1a\x0b\x7f\x6e\x5c\x4d"
410 ; "\xc6\xd7\xe5\xf4\x80\x91\xa3\xb2\x4a\x5b\x69\x78\x0c\x1d\x2f\x3e\xd6\xc7\xf5\xe4\x90\x81
A51 MACRO ASSEMBLER COMM 12/03/2004 17:52:51 PAGE 9
\xb3\xa2\x5a\x4b\x79\x68\x1c\x0d\x3f\x2e"
411 ; "\xe7\xf6\xc4\xd5\xa1\xb0\x82\x93\x6b\x7a\x48\x59\x2d\x3c\x0e\x1f\xf7\xe6\xd4\xc5\xb1\xa0
\x92\x83\x7b\x6a\x58\x49\x3d\x2c\x1e\x0f"
412 ; ;
413 ; uchar code *CrcTabH =
414 ; "\x00\x89\x12\x9b\x24\xad\x36\xbf\x48\xc1\x5a\xd3\x6c\xe5\x7e\xf7\x81\x08\x93\x1a\xa5\x2c
\xb7\x3e\xc9\x40\xdb\x52\xed\x64\xff\x76"
415 ; "\x02\x8b\x10\x99\x26\xaf\x34\xbd\x4a\xc3\x58\xd1\x6e\xe7\x7c\xf5\x83\x0a\x91\x18\xa7\x2e
\xb5\x3c\xcb\x42\xd9\x50\xef\x66\xfd\x74"
416 ; "\x04\x8d\x16\x9f\x20\xa9\x32\xbb\x4c\xc5\x5e\xd7\x68\xe1\x7a\xf3\x85\x0c\x97\x1e\xa1\x28
\xb3\x3a\xcd\x44\xdf\x56\xe9\x60\xfb\x72"
417 ; "\x06\x8f\x14\x9d\x22\xab\x30\xb9\x4e\xc7\x5c\xd5\x6a\xe3\x78\xf1\x87\x0e\x95\x1c\xa3\x2a
\xb1\x38\xcf\x46\xdd\x54\xeb\x62\xf9\x70"
418 ; "\x08\x81\x1a\x93\x2c\xa5\x3e\xb7\x40\xc9\x52\xdb\x64\xed\x76\xff\x89\x00\x9b\x12\xad\x24
\xbf\x36\xc1\x48\xd3\x5a\xe5\x6c\xf7\x7e"
419 ; "\x0a\x83\x18\x91\x2e\xa7\x3c\xb5\x42\xcb\x50\xd9\x66\xef\x74\xfd\x8b\x02\x99\x10\xaf\x26
\xbd\x34\xc3\x4a\xd1\x58\xe7\x6e\xf5\x7c"
420 ; "\x0c\x85\x1e\x97\x28\xa1\x3a\xb3\x44\xcd\x56\xdf\x60\xe9\x72\xfb\x8d\x04\x9f\x16\xa9\x20
\xbb\x32\xc5\x4c\xd7\x5e\xe1\x68\xf3\x7a"
421 ; "\x0e\x87\x1c\x95\x2a\xa3\x38\xb1\x46\xcf\x54\xdd\x62\xeb\x70\xf9\x8f\x06\x9d\x14\xab\x22
\xb9\x30\xc7\x4e\xd5\x5c\xe3\x6a\xf1\x78"
422 ; ;
423 ;
424 ; void _AsyncOpen(uint Baud, uchar Parity);
425 ; //void _AsyncClose(void);
426 ; //uchar _AsyncPutTest(void);
427 ; void _AsyncPut(uchar ucValue);
428 ; uchar _AsyncGetTest(void);
429 ; uchar _AsyncGet(void);
430 ;
431 ; void _EXP_Open(uint Baud, uchar Parity);
432 ; //void _EXP_Close(void);
433 ; //uchar _EXP_PutTest(void);
434 ; void _EXP_Put(uchar ucValue);
435 ; uchar _EXP_GetTest(void);
436 ; uchar _EXP_Get(void);
437 ; void _EXP_Puts(uchar *p);
438 ;
439 ; uchar xdata PUB_CommBuffR[DEF_COMMBUFF_LEN];
440 ; uchar xdata PUB_CommBuffT[16];
441 ; uint idata PUB_CountRH, PUB_CountRT;
442 ; uint idata PUB_CountTH, PUB_CountTT;
443 ; uchar idata PUB_ByteTT;
444 ; uchar idata PUB_CommParity;
445 ; extern bit PUB_Async_TI ;
446 ; extern bit PUB_Async_RI ;
447 ; uchar idata PUB_Async_RecData;
448 ;
449 ; uchar xdata EXP_CommBuffR[EXP_COMMBUFF_LEN];
450 ; uchar xdata EXP_CommBuffT[EXP_COMMBUFF_LEN];
451 ; uint idata EXP_CountRH, EXP_CountRT;
452 ; uint idata EXP_CountTH, EXP_CountTT;
453 ; uchar idata EXP_ByteTT;
454 ; uchar idata EXP_CommParity;
455 ; extern bit EXP_Async_TI ;
456 ; extern bit EXP_Async_RI ;
457 ; uchar idata EXP_Async_RecData;
458 ;
459 ; uint CrcData(uint CrcBuff, uchar dd);
460 ;
461 ; const unsigned char code syncode[4]={"GPRS"};
462 ; uchar idata NR, NS;
463 ; uchar idata RecStatus;
464 ; uchar idata RecCounter;
465 ; uchar idata DTUID[7];
466 ; uchar idata CtrlData;
A51 MACRO ASSEMBLER COMM 12/03/2004 17:52:51 PAGE 10
467 ; uint idata RecData;
468 ; uint idata CrcBuff;
469 ; uint idata CrcSend;
470 ;
471 ; //-------main.c-----------
472 ; extern uchar idata input[32];
473 ; extern bit Crc_Flag;
474 ; extern bit Frame_Flag;
475 ; extern unsigned long idata Ht_Bt ;
476 ; extern unsigned long idata TempCount;
477 ; extern unsigned long GET_COUNT();
478 ; extern void Delay(uint x);
479 ;
480 ; //------EEPROM.c----------
481 ; extern void ReadUserBlock(uchar idata *input,uint Address,uchar Number);
482 ;
483
---- 484 RSEG ?PR?COMM
0000 485 Com010F:
0000 486 L?0272:
487 USING 0
0000 488 L?0273:
0000 7800 F 489 MOV R0,#LOW (EXP_Async_RecData)
0002 E6 490 MOV A,@R0
0003 F9 491 MOV R1,A
0004 492 L?0274:
0004 7800 F 493 MOV R0,#LOW (CrcBuff)
0006 E6 494 MOV A,@R0
0007 FC 495 MOV R4,A
0008 08 496 INC R0
0009 E6 497 MOV A,@R0
000A FD 498 MOV R5,A
000B EC 499 MOV A,R4
000C 6201 500 XRL AR1,A
000E E500 F 501 MOV A,CrcTabH+01H
0010 29 502 ADD A,R1
0011 F582 503 MOV DPL,A
0013 E4 504 CLR A
0014 3500 F 505 ADDC A,CrcTabH
0016 F583 506 MOV DPH,A
0018 E4 507 CLR A
0019 93 508 MOVC A,@A+DPTR
001A FF 509 MOV R7,A
001B EF 510 MOV A,R7
001C 6D 511 XRL A,R5
001D FE 512 MOV R6,A
001E E500 F 513 MOV A,CrcTabL+01H
0020 29 514 ADD A,R1
0021 F582 515 MOV DPL,A
0023 E4 516 CLR A
0024 3500 F 517 ADDC A,CrcTabL
0026 F583 518 MOV DPH,A
0028 E4 519 CLR A
0029 93 520 MOVC A,@A+DPTR
002A FD 521 MOV R5,A
002B EE 522 MOV A,R6
002C 18 523 DEC R0
002D F6 524 MOV @R0,A
002E ED 525 MOV A,R5
002F 08 526 INC R0
0030 F6 527 MOV @R0,A
0031 22 528 RET
0032 529 L?0275:
530 USING 0
0032 531 L?0276:
0032 7800 F 532 MOV R0,#LOW (EXP_CountRH+01H)
A51 MACRO ASSEMBLER COMM 12/03/2004 17:52:51 PAGE 11
0034 533 L?0277:
0034 C3 534 CLR C
0035 535 L?0278:
0035 E6 536 MOV A,@R0
0036 9407 537 SUBB A,#07H
0038 18 538 DEC R0
0039 E6 539 MOV A,@R0
003A 9402 540 SUBB A,#02H
003C 22 541 RET
003D 542 L?0280:
543 USING 0
003D 544 L?0281:
003D 7800 F 545 MOV R0,#LOW (input)
003F 7C00 F 546 MOV R4,#HIGH (input)
0041 7D00 547 MOV R5,#00H
0043 7B00 548 MOV R3,#00H
0045 7A00 F 549 MOV R2,#HIGH (DTUID)
0047 7900 F 550 MOV R1,#LOW (DTUID)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -