📄 pccomm.lst
字号:
545 //////////////////////////////////////////////////////////////
546 void pcok()
547 {
548 1 if(removeeventflag)
549 1 {
550 2 removeeventflag=0;
C51 COMPILER V7.01 PCCOMM 03/08/2007 12:09:39 PAGE 10
551 2 removeoneevent();
552 2 }
553 1 else if(removeuserflag)
554 1 {
555 2 changenewuser();
556 2 removeuserflag=0;
557 2 }
558 1 //do nothing
559 1 }
560 //////////////////////////////////////////////////////////////
561 void pcchecklink()
562 {
563 1 ackpccmd(PCACHECKLINK,RETOK,0);
564 1 }
565 //////////////////////////////////////////////////////////////
566 void pcsetholindex()
567 {
568 1 uart02idata(PCPACKAGEPARAMP,tempbuff,10);
569 1
570 1 ram_write16(TSHOLINDEXSTART/16,0);
571 1 ackpccmd(PCASETHOLINDEX,RETOK,0);
572 1 }
573 //////////////////////////////////////////////////////////////
574 void pcgetusernum()
575 {
576 1 unsigned short tempdata;
577 1
578 1 tempdata=getusernum();
579 1
580 1 uart0buff[PCPACKAGEPARAMP]=tempdata;
581 1 uart0buff[PCPACKAGEPARAMP+1]=tempdata>>8;
582 1 ackpccmd(PCAGETUSERNUM,RETOK,2);
583 1 }
584 //////////////////////////////////////////////////////////////
585 /*unsigned short code pcpackagelen[]=
586 {
587 PCANPLEN,PCANPLEN+512,PCANPLEN,PCANPLEN+4,
588 PCANPLEN+8,PCANPLEN+161,PCANPLEN+65,PCANPLEN,
589 PCANPLEN+1,PCANPLEN+1,PCANPLEN,PCANPLEN,
590 PCANPLEN,PCANPLEN,PCANPLEN+2,PCANPLEN+2,
591 PCANPLEN+96,PCANPLEN+1,PCANPLEN+1,PCANPLEN,
592 PCANPLEN,PCANPLEN+1,PCANPLEN,PCANPLEN+1,
593 PCANPLEN
594 };
595 */
596 //////////////////////////////////////////////////////////////
597 void deal_pccomm()
598 {
599 1 unsigned char tempcrclow,tempcrchigh;
600 1 unsigned short datalen;
601 1
602 1 if(setflag)return;
603 1
604 1 datalen=(uart0buff[2]<<8)|uart0buff[1];
605 1 tempcrclow=uart0buff[datalen+1];
606 1 tempcrchigh=uart0buff[datalen+2];
607 1 checkcrc(datalen);
608 1 if(tempcrclow!=uart0buff[datalen+1]||tempcrchigh!=uart0buff[datalen+2])return ;
609 1 if(uart0buff[PCPACKAGEIDP]!=readcommid())return;
610 1
611 1 //if(datalen!=pcpackagelen[uart0buff[PCPACKAGECMDP]])return;
612 1
C51 COMPILER V7.01 PCCOMM 03/08/2007 12:09:39 PAGE 11
613 1 switch(uart0buff[PCPACKAGECMDP])
614 1 {
615 2
616 2 case PCRGETNEWEVENT: pcgetnewevent();break;
617 2 case PCRSETNEWUSER: pcsetnewuser();break;
618 2 case PCRGETNEWUSER: pcgetnewuser();break;
619 2 case PCRGETUSER: pcgetuser();break;
620 2 case PCRSETDATETIME: pcsetdatetime();break;
621 2 case PCRSETTS: pcsetts();break;
622 2 case PCRSETHOLIDAY: pcsetholiday();break;
623 2 case PCRGETDATE: pcgetdate();break;
624 2 case PCRGETTS: pcgetts();break;
625 2 case PCRGETHOLIDAY: pcgetholiday();break;
626 2 case PCRSYSINIT: pcsysinit();break;
627 2 case PCRIDCLEAR: pcidclear();break;
628 2 case PCRTSCLEAR: pctsclear();break;
629 2 case PCREVENTCLEAR: pceventclear();break;
630 2 case PCRSETMODE: pcsetmode();break;
631 2 case PCRSETDURESS: pcsetduress();break;
632 2 case PCRSETINOUT: pcsetinout();break;
633 2 case PCRSETAPB: pcsetapb();break;
634 2 case PCRSETKEY: pcsetkey();break;
635 2 case PCRGETKEY: pcgetkey();break;
636 2 case PCRGETDOOR: pcgetdoor();break;
637 2 case PCRSETDOOR: pcsetdoor();break;
638 2 case PCRSETRAM: pcsetram();break;
639 2 case PCRSETFUNC: pcsetfunc();break;
640 2 case PCOK: pcok();break;
641 2 case PCRGETSTATE: pcgetstate();break;
642 2 case PCRCHECKLINK: pcchecklink();break;
643 2 case PCRGETINOUT: pcgetinout();break;
644 2 case PCRSETHOLINDEX: pcsetholindex();break;
645 2 case PCRGETUSERNUM: pcgetusernum();break;
646 2 case PCRGETALLUSER: pcgetalluser();break;
647 2 default: break;
648 2 }
649 1 }
650 ///////////////////////////////////////////////////////////
651
C51 COMPILER V7.01 PCCOMM 03/08/2007 12:09:39 PAGE 12
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION pcgetstate (BEGIN)
; SOURCE LINE # 42
; SOURCE LINE # 43
; SOURCE LINE # 45
0000 7F00 E MOV R7,#LOW datetime
0002 7B08 MOV R3,#08H
0004 7D0C MOV R5,#0CH
0006 120000 E LCALL _idata2uart0
; SOURCE LINE # 46
0009 120000 E LCALL readsecumode
000C 900000 E MOV DPTR,#uart0buff+014H
000F EF MOV A,R7
0010 F0 MOVX @DPTR,A
; SOURCE LINE # 47
0011 120000 E LCALL readbaudrate
0014 A3 INC DPTR
0015 EF MOV A,R7
0016 F0 MOVX @DPTR,A
; SOURCE LINE # 48
0017 120000 E LCALL readpinkeyin
001A A3 INC DPTR
001B EF MOV A,R7
001C F0 MOVX @DPTR,A
; SOURCE LINE # 49
001D 120000 E LCALL readapbmode
0020 A3 INC DPTR
0021 EF MOV A,R7
0022 F0 MOVX @DPTR,A
; SOURCE LINE # 50
0023 A3 INC DPTR
0024 7401 MOV A,#01H
0026 F0 MOVX @DPTR,A
; SOURCE LINE # 51
0027 E4 CLR A
0028 A3 INC DPTR
0029 F0 MOVX @DPTR,A
; SOURCE LINE # 52
002A 7B0E MOV R3,#0EH
002C FA MOV R2,A
002D FD MOV R5,A
002E 7F19 MOV R7,#019H
0030 120000 E LCALL _ackpccmd
; SOURCE LINE # 53
0033 22 RET
; FUNCTION pcgetstate (END)
; FUNCTION fpdatapc2fim (BEGIN)
; SOURCE LINE # 55
; SOURCE LINE # 56
; SOURCE LINE # 60
0000 7E00 E MOV R6,#HIGH uart0buff+01F3H
0002 7F00 E MOV R7,#LOW uart0buff+01F3H
;---- Variable 'pchar' assigned to Register 'R6/R7' ----
; SOURCE LINE # 61
;---- Variable 'i' assigned to Register 'R4/R5' ----
0004 E4 CLR A
0005 FD MOV R5,A
0006 FC MOV R4,A
0007 ?C0002:
C51 COMPILER V7.01 PCCOMM 03/08/2007 12:09:39 PAGE 13
; SOURCE LINE # 62
; SOURCE LINE # 63
0007 8F82 MOV DPL,R7
0009 8E83 MOV DPH,R6
000B E0 MOVX A,@DPTR
000C FB MOV R3,A
000D E582 MOV A,DPL
000F 2418 ADD A,#018H
0011 F582 MOV DPL,A
0013 E4 CLR A
0014 3583 ADDC A,DPH
0016 F583 MOV DPH,A
0018 EB MOV A,R3
0019 F0 MOVX @DPTR,A
; SOURCE LINE # 64
001A EF MOV A,R7
001B 1F DEC R7
001C 7001 JNZ ?C0134
001E 1E DEC R6
001F ?C0134:
; SOURCE LINE # 65
001F 0D INC R5
0020 BD0001 CJNE R5,#00H,?C0135
0023 0C INC R4
0024 ?C0135:
0024 BC01E0 CJNE R4,#01H,?C0002
0027 BDE0DD CJNE R5,#0E0H,?C0002
; SOURCE LINE # 66
002A ?C0005:
002A 22 RET
; FUNCTION fpdatapc2fim (END)
; FUNCTION pcsetnewuser (BEGIN)
; SOURCE LINE # 69
; SOURCE LINE # 70
; SOURCE LINE # 71
0000 900000 E MOV DPTR,#uart0buff+013H
0003 E0 MOVX A,@DPTR
0004 540F ANL A,#0FH
0006 6061 JZ ?C0006
; SOURCE LINE # 72
; SOURCE LINE # 73
0008 7D00 E MOV R5,#LOW tempbuff
000A 7B08 MOV R3,#08H
000C 7F0C MOV R7,#0CH
000E 120000 E LCALL _uart02idata
; SOURCE LINE # 74
0011 120000 E LCALL getuserbytempid
0014 5021 JNC ?C0007
; SOURCE LINE # 75
; SOURCE LINE # 79
0016 120000 E LCALL deleteuserbysn
; SOURCE LINE # 80
0019 7800 E MOV R0,#LOW tempbuff+0FH
001B E6 MOV A,@R0
001C 540F ANL A,#0FH
001E 600E JZ ?C0008
; SOURCE LINE # 81
; SOURCE LINE # 82
0020 7D00 E MOV R5,#LOW tempbuff
0022 7B08 MOV R3,#08H
0024 7F0C MOV R7,#0CH
C51 COMPILER V7.01 PCCOMM 03/08/2007 12:09:39 PAGE 14
0026 120000 E LCALL _uart02idata
; SOURCE LINE # 83
0029 120000 E LCALL rdeleteuserbysn
; SOURCE LINE # 84
002C 8009 SJMP ?C0007
002E ?C0008:
; SOURCE LINE # 86
; SOURCE LINE # 87
002E 7D00 E MOV R5,#LOW tempbuff
0030 7B08 MOV R3,#08H
0032 7F0C MOV R7,#0CH
0034 120000 E LCALL _uart02idata
; SOURCE LINE # 88
; SOURCE LINE # 89
0037 ?C0007:
; SOURCE LINE # 91
0037 120000 E LCALL adduser
003A 5022 JNC ?C0010
; SOURCE LINE # 92
; SOURCE LINE # 94
003C 120000 R LCALL fpdatapc2fim
; SOURCE LINE # 95
003F 7F01 MOV R7,#01H
0041 120000 E LCALL _radduser
0044 500A JNC ?C0011
0046 E4 CLR A
0047 FB MOV R3,A
0048 FA MOV R2,A
0049 FD MOV R5,A
004A 7F01 MOV R7,#01H
004C 120000 E LCALL _ackpccmd
004F 22 RET
0050 ?C0011:
; SOURCE LINE # 97
; SOURCE LINE # 98
0050 120000 E LCALL deleteuserbysn
; SOURCE LINE # 99
0053 E4 CLR A
0054 FB MOV R3,A
0055 FA MOV R2,A
0056 7D02 MOV R5,#02H
0058 7F01 MOV R7,#01H
005A 120000 E LCALL _ackpccmd
; SOURCE LINE # 100
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -