📄 kmain.lst
字号:
328 //-------------------------------------------
329
330 //-----------xugy------begin-------------
331
332 //-----------xugy------end---------------
333
334
335 //-------------------------------------------
336
337 void main()
338 {
339 1 // unsigned char key, i;
340 1 //bNoRam=1;
341 1
342 1 init_port();
343 1 init_serial();
344 1 init_timer0();
345 1 EA = 1;
346 1 //for test
347 1 MCU_LED0=0;
348 1 MCU_LED1=0;
349 1 MCU_LED0=1;
350 1 MCU_LED1=1;
351 1 //--------------
352 1 printf("Re-connect PDIUSBD12 evaluation board to USB.\n");
353 1 IE0=0;
354 1 IT0=0;
355 1 EX0=1;
356 1 //--------------------------
357 1 // MCU_D12RST = 0;
358 1 // MCU_D12RST = 1;
359 1 //--------------------
360 1
361 1 MCU_D12CS = 0x1;
362 1
363 1 bNoRAM = TRUE;
C51 COMPILER V7.06 KMAIN 11/11/2003 20:11:04 PAGE 20
364 1
365 1 MCU_D12CS = 0x0;
366 1
367 1 reconnect_USB();
368 1
369 1 while( TRUE ){
370 2 SBUF= 0xAA;
371 2 if (bEPPflags.bits.timer){
372 3 DISABLE;
373 3 bEPPflags.bits.timer = 0;
374 3 ENABLE;
375 3
376 3 if(bEPPflags.bits.configuration)
377 3 check_key_LED();
378 3 }
379 2
380 2 if (bEPPflags.bits.bus_reset) {
381 3 DISABLE;
382 3 bEPPflags.bits.bus_reset = 0;
383 3 ENABLE;
384 3 // Release D12's SUSPEND pin after bus reset
385 3 // Enable 74HCT123 pulse generation before disconnect
386 3 ///D12SUSPD = 1;
387 3 D12SUSPD=0;
388 3 } // if bus reset
389 2
390 2 if (bEPPflags.bits.suspend) {
391 3 DISABLE;
392 3 bEPPflags.bits.suspend= 0;
393 3 ENABLE;
394 3
395 3 if(D12SUSPD == 1) {
396 4 D12SUSPD = 0;
397 4 P0 = 0xFF;
398 4 P1 = 0xFF;
399 4 P2 = 0xFF;
400 4 P3 = 0xFF;
401 4 D12_SetDMA(0xC3);
402 4 D12SUSPD = 1;
403 4 PCON |= 0x02;
404 4 while (1);
405 4
406 4 }
407 3
408 3 } // if suspend change
409 2
410 2 if (bEPPflags.bits.setup_packet){
411 3 DISABLE;
412 3 bEPPflags.bits.setup_packet = 0;
413 3 ENABLE;
414 3 control_handler();
415 3 //D12SUSPD = 1;
416 3 D12SUSPD=0;
417 3 } // if setup_packet
418 2
419 2 if(bEPPflags.bits.setup_dma != 0) {
420 3 DISABLE;
421 3 bEPPflags.bits.setup_dma --;
422 3 ENABLE;
423 3 setup_dma();
424 3 } // if setup_dma
425 2
C51 COMPILER V7.06 KMAIN 11/11/2003 20:11:04 PAGE 21
426 2 } // Main Loop
427 1
428 1 on_exit();
429 1 //=======================================
430 1
431 1 }
432
C51 COMPILER V7.06 KMAIN 11/11/2003 20:11:04 PAGE 22
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION init_timer0 (BEGIN)
; SOURCE LINE # 96
; SOURCE LINE # 97
; SOURCE LINE # 98
0000 5389F0 ANL TMOD,#0F0H
; SOURCE LINE # 99
0003 438901 ORL TMOD,#01H
; SOURCE LINE # 100
0006 E4 CLR A
0007 F58A MOV TL0,A
; SOURCE LINE # 101
0009 F58C MOV TH0,A
; SOURCE LINE # 102
000B D2A9 SETB ET0
; SOURCE LINE # 103
000D D28C SETB TR0
; SOURCE LINE # 104
000F D2B9 SETB PT0
; SOURCE LINE # 107
0011 22 RET
; FUNCTION init_timer0 (END)
; FUNCTION init_port (BEGIN)
; SOURCE LINE # 110
; SOURCE LINE # 111
; SOURCE LINE # 112
0000 7580FF MOV P0,#0FFH
; SOURCE LINE # 113
0003 7590FF MOV P1,#0FFH
; SOURCE LINE # 114
0006 75A0FF MOV P2,#0FFH
; SOURCE LINE # 115
0009 75B0FF MOV P3,#0FFH
; SOURCE LINE # 116
000C C296 CLR MCU_D12CS
; SOURCE LINE # 117
000E C2B3 CLR D12SUSPD
; SOURCE LINE # 118
0010 22 RET
; FUNCTION init_port (END)
; FUNCTION init_serial (BEGIN)
; SOURCE LINE # 125
; SOURCE LINE # 126
; SOURCE LINE # 127
0000 759852 MOV SCON,#052H
; SOURCE LINE # 128
0003 438780 ORL PCON,#080H
; SOURCE LINE # 129
0006 758920 MOV TMOD,#020H
; SOURCE LINE # 130
0009 758869 MOV TCON,#069H
; SOURCE LINE # 131
000C 758DF3 MOV TH1,#0F3H
; SOURCE LINE # 132
000F 22 RET
; FUNCTION init_serial (END)
; FUNCTION disconnect_USB (BEGIN)
C51 COMPILER V7.06 KMAIN 11/11/2003 20:11:04 PAGE 23
; SOURCE LINE # 150
; SOURCE LINE # 151
; SOURCE LINE # 153
0000 7D43 MOV R5,#043H
0002 7F02 MOV R7,#02H
0004 020000 E LJMP _D12_SetMode
; FUNCTION disconnect_USB (END)
; FUNCTION connect_USB (BEGIN)
; SOURCE LINE # 156
; SOURCE LINE # 157
; SOURCE LINE # 160
0000 C2AF CLR EA
; SOURCE LINE # 161
0002 E4 CLR A
0003 F500 E MOV bEPPflags,A
0005 F500 E MOV bEPPflags+01H,A
; SOURCE LINE # 162
0007 D2AF SETB EA
; SOURCE LINE # 165
0009 7FC0 MOV R7,#0C0H
000B 120000 E LCALL _D12_SetDMA
; SOURCE LINE # 170
000E 7D43 MOV R5,#043H
0010 7F12 MOV R7,#012H
0012 020000 E LJMP _D12_SetMode
; FUNCTION connect_USB (END)
; FUNCTION reconnect_USB (BEGIN)
; SOURCE LINE # 175
; SOURCE LINE # 176
; SOURCE LINE # 179
0000 C292 CLR MCU_LED0
; SOURCE LINE # 180
0002 C293 CLR MCU_LED1
; SOURCE LINE # 185
0004 C2B3 CLR D12SUSPD
; SOURCE LINE # 186
0006 120000 R LCALL disconnect_USB
; SOURCE LINE # 190
0009 850000 R MOV clk_cnt+03H,ClockTicks+03H
000C 850000 R MOV clk_cnt+02H,ClockTicks+02H
000F 850000 R MOV clk_cnt+01H,ClockTicks+01H
0012 850000 R MOV clk_cnt,ClockTicks
0015 ?C0006:
; SOURCE LINE # 191
0015 E500 R MOV A,clk_cnt+03H
0017 2414 ADD A,#014H
0019 FF MOV R7,A
001A E4 CLR A
001B 3500 R ADDC A,clk_cnt+02H
001D FE MOV R6,A
001E E4 CLR A
001F 3500 R ADDC A,clk_cnt+01H
0021 FD MOV R5,A
0022 E4 CLR A
0023 3500 R ADDC A,clk_cnt
0025 FC MOV R4,A
0026 AB00 E MOV R3,ClockTicks+03H
0028 AA00 E MOV R2,ClockTicks+02H
002A A900 E MOV R1,ClockTicks+01H
002C A800 E MOV R0,ClockTicks
C51 COMPILER V7.06 KMAIN 11/11/2003 20:11:04 PAGE 24
002E C3 CLR C
002F 120000 E LCALL ?C?ULCMP
0032 40E1 JC ?C0006
0034 ?C0007:
; SOURCE LINE # 194
0034 120000 R LCALL connect_USB
; SOURCE LINE # 196
0037 D292 SETB MCU_LED0
; SOURCE LINE # 197
0039 D293 SETB MCU_LED1
; SOURCE LINE # 199
003B 22 RET
; FUNCTION reconnect_USB (END)
; FUNCTION stall_ep0 (BEGIN)
; SOURCE LINE # 201
; SOURCE LINE # 202
; SOURCE LINE # 203
0000 7D01 MOV R5,#01H
0002 E4 CLR A
0003 FF MOV R7,A
0004 120000 E LCALL _D12_SetEndpointStatus
; SOURCE LINE # 204
0007 7D01 MOV R5,#01H
0009 7F01 MOV R7,#01H
000B 020000 E LJMP _D12_SetEndpointStatus
; FUNCTION stall_ep0 (END)
; FUNCTION on_exit (BEGIN)
; SOURCE LINE # 208
; SOURCE LINE # 209
; SOURCE LINE # 211
0000 22 RET
; FUNCTION on_exit (END)
; FUNCTION check_key_LED (BEGIN)
; SOURCE LINE # 213
; SOURCE LINE # 214
; SOURCE LINE # 217
0000 A291 MOV C,MCU_SWM1
0002 8290 ANL C,MCU_SWM0
0004 E4 CLR A
0005 33 RLC A
0006 F500 R MOV c,A
; SOURCE LINE # 218
0008 53000F R ANL c,#0FH
; SOURCE LINE # 219
000B E500 R MOV A,c
000D 6500 R XRL A,last_key
000F 600D JZ ?C0011
; SOURCE LINE # 220
0011 7B00 MOV R3,#00H
0013 7A00 R MOV R2,#HIGH c
0015 7900 R MOV R1,#LOW c
0017 7D01 MOV R5,#01H
0019 7F03 MOV
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -