📄 main.lst
字号:
458 2 } //switch cProtocol end
459 1
460 1 } //end main
461
462
463
464
465
466
467
468 void receive_send(void) interrupt SIO_VECTOR
469 {
470 1
471 1 switch((char)RI)
472 1 {
473 2 case 1:
474 2
475 2 RI=0;
476 2 cKeyCodeReceiveState=1; //有接收时就置位 然后在主程序中清除
477 2 cKeyCodeReceive=SBUF;
478 2 break;
479 2
480 2 case 0:
481 2 TI=0;
482 2 if(flagTxd==0xff)
483 2 {
484 3 SBUF=(unsigned char)(comTxd>>countTxd);
485 3 ++countTxd;
486 3 if(countTxd==4)
487 3 flagTxd=0xee;
488 3 }
489 2 break;
C51 COMPILER V8.01 MAIN 12/13/2008 17:52:30 PAGE 9
490 2 }
491 1 }
492
493
494 struct structSwitchStatus GetSwitchStatus()
495 {
496 1 volatile struct structSwitchStatus statu;
497 1 bflag=0;
498 1 ID0=ID1=ID3=ID4=ID5=ID6=1;
499 1 bflag_0=!ID0 ;bflag_1=!ID1 ;bflag_2=!ID2 ;bflag_3=!ID3 ;bflag_4=!ID4 ;
500 1 bflag_5=!ID5 ;bflag_6=!ID6 ;
501 1 statu.id=bflag;
502 1 bflag=0;
503 1 PROTOCOL0=PROTOCOL1=PROTOCOL2=PROTOCOL3=1;
504 1 bflag_0=!PROTOCOL3 ;bflag_1=!PROTOCOL2 ;bflag_2=!PROTOCOL1;bflag_3=!PROTOCOL0 ;
505 1 statu.protocol=bflag;
506 1 bflag=0;
507 1 BAUD0=BAUD1=1;
508 1 bflag_0=!BAUD1 ; bflag_1=!BAUD0 ;
509 1 statu.rxdBaud=bflag;
510 1 bflag=0;
511 1 CAMBAUD0=CAMBAUD1=1;
512 1 bflag_0=!CAMBAUD1 ; bflag_1=!CAMBAUD0 ;
513 1 statu.cameraBaud=bflag;
514 1 bflag=0;
515 1 CAMERA0=CAMERA1=1;
516 1 bflag_0=!CAMERA1 ; bflag_1=!CAMERA0 ;
517 1 statu.cameraType=bflag;
518 1 return(statu);
519 1 }
520 void TxdString(unsigned long com)
521 {
522 1 if(flagTxd==0xee)
523 1 {
524 2 flagTxd=0xff;
525 2 countTxd=0;
526 2 comTxd=com;
527 2 SBUF=0xff;
528 2 }
529 1 }
C51 COMPILER V8.01 MAIN 12/13/2008 17:52:30 PAGE 10
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION main (BEGIN)
; SOURCE LINE # 37
; SOURCE LINE # 38
; SOURCE LINE # 44
0000 ERRor:
; SOURCE LINE # 45
0000 75E1FF MOV WDT_CONTR,#0FFH
; SOURCE LINE # 46
0003 120000 E LCALL GlobalSet
; SOURCE LINE # 47
0006 120000 E LCALL IntDisable
; SOURCE LINE # 48
0009 120000 E LCALL T0Stop
; SOURCE LINE # 49
000C 120000 E LCALL T1Stop
; SOURCE LINE # 50
000F 120000 E LCALL T2Stop
; SOURCE LINE # 51
0012 120000 E LCALL IntSet
; SOURCE LINE # 52
0015 120000 E LCALL TimerSet
; SOURCE LINE # 53
0018 120000 E LCALL SciSet
; SOURCE LINE # 54
001B 120000 E LCALL IntEnable
; SOURCE LINE # 55
001E 750000 R MOV x,#00H
0021 750000 R MOV x+01H,#00H
0024 ?C0002:
0024 7FFF MOV R7,#0FFH
0026 7EFF MOV R6,#0FFH
0028 7D00 MOV R5,#00H
002A 7C00 MOV R4,#00H
002C AB00 R MOV R3,y+03H
002E AA00 R MOV R2,y+02H
0030 A900 R MOV R1,y+01H
0032 A800 R MOV R0,y
0034 C3 CLR C
0035 120000 E LCALL ?C?ULCMP
0038 500D JNC ?C0003
; SOURCE LINE # 56
003A 75E1FF MOV WDT_CONTR,#0FFH
003D ?C0004:
003D 0500 R INC x+01H
003F E500 R MOV A,x+01H
0041 7002 JNZ ?C0112
0043 0500 R INC x
0045 ?C0112:
0045 80DD SJMP ?C0002
0047 ?C0003:
; SOURCE LINE # 57
0047 7500EE R MOV flagTxd,#0EEH
; SOURCE LINE # 58
004A 750000 R MOV countTxd,#00H
; SOURCE LINE # 59
004D 120000 E LCALL T1Start
; SOURCE LINE # 60
0050 E500 R MOV A,programFlyOff
0052 6011 JZ ?C0005
C51 COMPILER V8.01 MAIN 12/13/2008 17:52:30 PAGE 11
; SOURCE LINE # 61
; SOURCE LINE # 62
0054 120000 E LCALL TxdBaud9600
; SOURCE LINE # 63
0057 750001 R MOV programFlyOff,#01H
; SOURCE LINE # 64
005A 7F00 MOV R7,#00H
005C 7E00 MOV R6,#00H
005E 7D00 MOV R5,#00H
0060 7C00 MOV R4,#00H
0062 120000 R LCALL _TxdString
; SOURCE LINE # 65
0065 ?C0005:
; SOURCE LINE # 66
0065 120000 R LCALL GetSwitchStatus
0068 C003 PUSH AR3
006A C002 PUSH AR2
006C C001 PUSH AR1
006E 7B00 MOV R3,#00H
0070 7A00 R MOV R2,#HIGH struSwitchTemp
0072 7900 R MOV R1,#LOW struSwitchTemp
0074 A801 MOV R0,AR1
0076 AC02 MOV R4,AR2
0078 AD03 MOV R5,AR3
007A D001 POP AR1
007C D002 POP AR2
007E D003 POP AR3
0080 7E00 MOV R6,#00H
0082 7F05 MOV R7,#05H
0084 120000 E LCALL ?C?COPY
; SOURCE LINE # 67
0087 E500 R MOV A,struSwitchTemp+02H
0089 120000 E LCALL ?C?CCASE
008C 0000 R DW ?C0007
008E 00 DB 00H
008F 0000 R DW ?C0008
0091 01 DB 01H
0092 0000 R DW ?C0009
0094 02 DB 02H
0095 0000 R DW ?C0010
0097 03 DB 03H
0098 0000 DW 00H
009A 0000 R DW ?C0006
; SOURCE LINE # 68
; SOURCE LINE # 69
009C ?C0007:
009C 120000 E LCALL TxdBaud2400
009F 800D SJMP ?C0006
; SOURCE LINE # 70
00A1 ?C0008:
00A1 120000 E LCALL TxdBaud9600
00A4 8008 SJMP ?C0006
; SOURCE LINE # 71
00A6 ?C0009:
00A6 120000 E LCALL TxdBaud4800
00A9 8003 SJMP ?C0006
; SOURCE LINE # 72
00AB ?C0010:
00AB 120000 E LCALL TxdBaud19200
; SOURCE LINE # 73
00AE ?C0006:
; SOURCE LINE # 74
C51 COMPILER V8.01 MAIN 12/13/2008 17:52:30 PAGE 12
00AE E500 R MOV A,struSwitchTemp+03H
00B0 120000 E LCALL ?C?CCASE
00B3 0000 R DW ?C0012
00B5 00 DB 00H
00B6 0000 R DW ?C0013
00B8 01 DB 01H
00B9 0000 R DW ?C0014
00BB 02 DB 02H
00BC 0000 R DW ?C0015
00BE 03 DB 03H
00BF 0000 DW 00H
00C1 0000 R DW ?C0011
; SOURCE LINE # 75
; SOURCE LINE # 76
00C3 ?C0012:
00C3 120000 E LCALL RxdBaud2400
00C6 800D SJMP ?C0011
; SOURCE LINE # 77
00C8 ?C0013:
00C8 120000 E LCALL RxdBaud9600
00CB 8008 SJMP ?C0011
; SOURCE LINE # 78
00CD ?C0014:
00CD 120000 E LCALL RxdBaud4800
00D0 8003 SJMP ?C0011
; SOURCE LINE # 79
00D2 ?C0015:
00D2 120000 E LCALL RxdBaud19200
; SOURCE LINE # 80
00D5 ?C0011:
; SOURCE LINE # 81
00D5 120000 E LCALL T2Start
; SOURCE LINE # 82
00D8 850000 R MOV id,struSwitchTemp
; SOURCE LINE # 83
00DB 850000 R MOV cProtocol,struSwitchTemp+01H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -