📄 usb_main.lst
字号:
75 2 }
76 1 }
77
78 void PrikSerKom(void) /* Obsluha seriove linky */
79 {
80 1 if(!CisloB)
81 1 { /* Cti dolni B */
82 2 PrikLo=getCharR(); CisloB=1;
83 2 }
84 1 else
85 1 { /* Cti horni B */
86 2 PrikHi=getCharR();
87 2 PrikInt=PrikLo; PrikInt=PrikInt<<8;
88 2 PrikInt=PrikInt+PrikHi;
89 2 CisloB=0;
C51 COMPILER V5.50, USB_MAIN 02/12/99 16:05:15 PAGE 6
90 2 switch(PrikInt) /* Plneni prikazu */
91 2 {
92 3 /*................................*/
93 3 case 0x5645: /* Prikaz VE(R) */
94 3 pomLo=getCharR();
95 3 switch(pomLo)
96 3 {
97 4 case 'R':
98 4 putkeyR(VER_konst_1);
99 4 putkeyR(VER_konst_2);
100 4 putkeyR(VER_konst_3);
101 4 putkeyR(VER_konst_4);
102 4 break;
103 4 }
104 3 break;
105 3 /*................................*/
106 3 case 0x5748: _printfR(JmenoWH); break; /* Prikaz WH kdo je ? */
107 3 /*................................*/
108 3 case 0x5744: _printfR("ND"); break; /* Prikaz WD co se dela */
109 3 /*................................*/
110 3 case 0x5454: /* Prikaz TT vypsani statusu */
111 3 for(pomLo=0;pomLo<=PointCh;pomLo++)
112 3 {
113 4 putkeyR(PoleCh[pomLo]);
114 4 }
115 3 PointCh=0;
116 3 break;
117 3 /*................................*/
118 3 case 0x5400: /* Prikaz T0 Start mereni */
119 3 XBYTE[0xC001]=0x01; /* set Adr 01 */
120 3 XBYTE[0xC000]=0x87; /* Zapis 0x87 */
121 3
122 3 XBYTE[0xC001]=0x01; /* set Adr 01 */
123 3 pomLo=XBYTE[0xC000]; /* Cteni Adr */
124 3 pomHi=XBYTE[0xC000];
125 3 putkeyR(pomLo);
126 3 putkeyR(pomHi);
127 3 break;
128 3 /*................................*/
129 3 case 0x5401: /* Prikaz T1 Start mereni */
130 3 while(!RxCount)
131 3 {
132 4 XBYTE[0xc001]=0x01; /* set Adr 01 */
133 4 pomLo=XBYTE[0xc000]; /* Cteni Adr */
134 4 }
135 3 // putkeyR(XBYTE[0xc001]);
136 3 break;
137 3 /*................................*/
138 3 case 0x5402: /* Prikaz T2 Start mereni */
139 3 XBYTE[0xc001]=0x01; /* set Adr 01 */
140 3 pomLo=XBYTE[0xc000];
141 3 putkeyR(pomLo);
142 3 break;
143 3 /*................................*/
144 3 // case 0x5403: /* Prikaz T3 Start mereni */
145 3 // break;
146 3 /*................................*/
147 3
148 3 default :
149 3 {
150 4 CisloB=1; /* Nebyl zadny prikaz */
151 4 PrikLo=PrikHi;
152 4 }
153 3 }
154 2 }
155 1 }
C51 COMPILER V5.50, USB_MAIN 02/12/99 16:05:15 PAGE 7
156
157
158 /*************************************************/
159
160 void main(void)
161 {
162 1 beep(40,20); /* vykopni pouze nedbal */
163 1 serial_init ();
164 1 PointCh=255;
165 1 _printfR("USB_ON");
166 1 init_usb();
167 1 while(1)
168 1 {
169 2 if(RxCount) PrikSerKom(); /* Seriova komunikace */
170 2 }
171 1 }
C51 COMPILER V5.50, USB_MAIN 02/12/99 16:05:15 PAGE 8
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _beep (BEGIN)
;---- Variable 'frek' assigned to Register 'R7' ----
;---- Variable 'delka' assigned to Register 'R5' ----
; SOURCE LINE # 33
; SOURCE LINE # 34
; SOURCE LINE # 37
;---- Variable 'bi' assigned to Register 'R6' ----
0000 E4 CLR A
0001 FE MOV R6,A
0002 ?C0001:
0002 EE MOV A,R6
0003 C3 CLR C
0004 9D SUBB A,R5
0005 501B JNC ?C0010
; SOURCE LINE # 38
; SOURCE LINE # 39
0007 D297 SETB beepr
;---- Variable 'bq' assigned to Register 'R4' ----
0009 E4 CLR A
000A FC MOV R4,A
000B ?C0004:
000B EC MOV A,R4
000C C3 CLR C
000D 9F SUBB A,R7
000E 5003 JNC ?C0005
0010 0C INC R4
0011 80F8 SJMP ?C0004
0013 ?C0005:
; SOURCE LINE # 40
0013 C297 CLR beepr
0015 E4 CLR A
0016 FC MOV R4,A
0017 ?C0007:
0017 EC MOV A,R4
0018 C3 CLR C
0019 9F SUBB A,R7
001A 5003 JNC ?C0003
001C 0C INC R4
001D 80F8 SJMP ?C0007
; SOURCE LINE # 41
001F ?C0003:
001F 0E INC R6
0020 80E0 SJMP ?C0001
; SOURCE LINE # 42
0022 ?C0010:
0022 22 RET
; FUNCTION _beep (END)
; FUNCTION serial (BEGIN)
0000 C0E0 PUSH ACC
0002 C0F0 PUSH B
0004 C083 PUSH DPH
0006 C082 PUSH DPL
0008 C0D0 PUSH PSW
000A 75D010 MOV PSW,#010H
; SOURCE LINE # 46
; SOURCE LINE # 48
000D 120000 E LCALL serial_int
; SOURCE LINE # 49
0010 D0D0 POP PSW
0012 D082 POP DPL
0014 D083 POP DPH
0016 D0F0 POP B
C51 COMPILER V5.50, USB_MAIN 02/12/99 16:05:15 PAGE 9
0018 D0E0 POP ACC
001A 32 RETI
; FUNCTION serial (END)
; FUNCTION serial_init (BEGIN)
; SOURCE LINE # 51
; SOURCE LINE # 52
0000 E4 CLR A
0001 F587 MOV PCON,A
0003 759852 MOV SCON,#052H
; SOURCE LINE # 53
0006 758869 MOV TCON,#069H
0009 758920 MOV TMOD,#020H
; SOURCE LINE # 54
000C 758DFC MOV TH1,#0FCH
; SOURCE LINE # 55
000F 120000 E LCALL init_Bafr
0012 D2AC SETB ES
; SOURCE LINE # 56
0014 D2AF SETB EA
; SOURCE LINE # 57
0016 D28C SETB TR0
; SOURCE LINE # 58
0018 22 RET
; FUNCTION serial_init (END)
; FUNCTION __printfR (BEGIN)
0000 8B00 R MOV s,R3
0002 8A00 R MOV s+01H,R2
0004 8900 R MOV s+02H,R1
; SOURCE LINE # 60
; SOURCE LINE # 61
; SOURCE LINE # 63
0006 E4 CLR A
0007 F500 R MOV i,A
0009 ?C0013:
; SOURCE LINE # 64
0009 AB00 R MOV R3,s
000B AA00 R MOV R2,s+01H
000D A900 R MOV R1,s+02H
000F AF00 R MOV R7,i
0011 EF MOV A,R7
0012 33 RLC A
0013 95E0 SUBB A,ACC
0015 8F82 MOV DPL,R7
0017 F583 MOV DPH,A
0019 120000 E LCALL ?C?CLDOPTR
001C 6013 JZ ?C0015
001E 0500 R INC i
0020 EF MOV A,R7
0021 33 RLC A
0022 95E0 SUBB A,ACC
0024 8F82 MOV DPL,R7
0026 F583 MOV DPH,A
0028 120000 E LCALL ?C?CLDOPTR
002B FF MOV R7,A
002C 120000 E LCALL _putkeyR
002F 80D8 SJMP ?C0013
; SOURCE LINE # 65
0031 ?C0015:
0031 22 RET
; FUNCTION __printfR (END)
; FUNCTION _getLInt (BEGIN)
0000 8B00 R MOV Uk,R3
0002 8A00 R MOV Uk+01H,R2
C51 COMPILER V5.50, USB_MAIN 02/12/99 16:05:15 PAGE 10
0004 8900 R MOV Uk+02H,R1
; SOURCE LINE # 67
; SOURCE LINE # 68
; SOURCE LINE # 70
0006 7403 MOV A,#03H
0008 2500 R ADD A,Uk+02H
000A F500 R MOV Uk+02H,A
000C E4 CLR A
000D 3500 R ADDC A,Uk+01H
000F F500 R MOV Uk+01H,A
; SOURCE LINE # 71
0011 E4 CLR A
0012 F500 R MOV i,A
0014 ?C0016:
; SOURCE LINE # 72
; SOURCE LINE # 73
0014 120000 E LCALL getCharR
;---- Variable 'd' assigned to Register 'R7' ----
; SOURCE LINE # 74
0017 AB00 R MOV R3,Uk
0019 AA00 R MOV R2,Uk+01H
001B A900 R MOV R1,Uk+02H
001D EF MOV A,R7
001E 120000 E LCALL ?C?CSTPTR
0021 74FF MOV A,#0FFH
0023 2500 R ADD A,Uk+02H
0025 F500 R MOV Uk+02H,A
0027 74FF MOV A,#0FFH
0029 3500 R ADDC A,Uk+01H
002B F500 R MOV Uk+01H,A
; SOURCE LINE # 75
002D 0500 R INC i
002F E500 R MOV A,i
0031 C3 CLR C
0032 9404 SUBB A,#04H
0034 40DE JC ?C0016
; SOURCE LINE # 76
0036 ?C0019:
0036 22 RET
; FUNCTION _getLInt (END)
; FUNCTION PrikSerKom (BEGIN)
; SOURCE LINE # 78
; SOURCE LINE # 79
; SOURCE LINE # 80
0000 200008 R JB CisloB,?C0020
; SOURCE LINE # 81
; SOURCE LINE # 82
0003 120000 E LCALL getCharR
0006 8F00 R MOV PrikLo,R7
0008 D200 R SETB CisloB
; SOURCE LINE # 83
000A 22 RET
000B ?C0020:
; SOURCE LINE # 85
; SOURCE LINE # 86
000B 120000 E LCALL getCharR
000E 8F00 R MOV PrikHi,R7
; SOURCE LINE # 87
0010 750000 R MOV PrikInt,#00H
0013 850000 R MOV PrikInt+01H,PrikLo
0016 E500 R MOV A,PrikInt+01H
0018 750000 R MOV PrikInt+01H,#00H
001B F500 R MOV PrikInt,A
; SOURCE LINE # 88
001D EF MOV A,R7
C51 COMPILER V5.50, USB_MAIN 02/12/99 16:05:15 PAGE 11
001E 2500 R ADD A,PrikInt+01H
0020 F500 R MOV PrikInt+01H,A
0022 E4 CLR A
0023 3500 R ADDC A,PrikInt
0025 F500 R MOV PrikInt,A
; SOURCE LINE # 89
0027 C200 R CLR CisloB
; SOURCE LINE # 90
0029 FE MOV R6,A
002A E500 R MOV A,PrikInt+01H
002C 8EF0 MOV B,R6
002E 120000 E LCALL ?C?ICASE
0031 0000 R DW ?C0032
0033 5400 DW 05400H
0035 0000 R DW ?C0034
0037 5401 DW 05401H
0039 0000 R DW ?C0036
003B 5402 DW 05402H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -