📄 main.lst
字号:
258 0062 extern FIFO4_RD_CHECK:NEAR
259 0062 extern FIFO5_RD_CHECK:NEAR
260 0062 extern FIFO0_WR_CHECK:NEAR
261 0062 extern FIFO1_WR_CHECK:NEAR
262 0062 extern FIFO2_WR_CHECK:NEAR
263 0062 extern FIFO3_WR_CHECK:NEAR
264 0062 extern FIFO4_WR_CHECK:NEAR
265 0062 extern FIFO5_WR_CHECK:NEAR
266 0062 extern Read_FIFO0:NEAR
267 0062 extern Read_FIFO1:NEAR
268 0062 extern Read_FIFO2:NEAR
269 0062 extern Read_FIFO3:NEAR
270 0062 extern Read_FIFO4:NEAR
271 0062 extern Read_FIFO5:NEAR
272 0062 extern Write_FIFO0:NEAR
273 0062 extern Write_FIFO1:NEAR
274 0062 extern Write_FIFO2:NEAR
275 0062 extern Write_FIFO3:NEAR
276 0062 extern Write_FIFO4:NEAR
277 0062 extern Write_FIFO5:NEAR
278 0062 extern Send_Hand_Shake:NEAR
279 0062 extern get_descriptor_length:NEAR
280 0062
281 0062 extern SetAddress:NEAR
282 0062 extern SetConfiguration:NEAR
283 0062 extern SetInterface:NEAR
284 0062 extern GetInterface:NEAR
285 0062 extern GetDescriptor:NEAR
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 6
286 0062 extern SetIdle:NEAR
287 0062 extern GetDeviceDescriptor:NEAR
288 0062 extern GetConfigurationDescriptor:NEAR
289 0062 extern GetStringDescriptor:NEAR
290 0062 extern GetStatus:NEAR
291 0062 extern SetFeature:NEAR
292 0062 extern ClearFeature:NEAR
293 0062 extern SetReport:NEAR
294 0062 extern Execute:NEAR
295 0062 extern SendStall0:NEAR
296 0062 extern Delay_3us:NEAR
297 0062
298 0062 extern SetFeature_Endpoint:NEAR
299 0062 extern ClearFeature_Endpoint:NEAR
300 0062 extern GetStatus_Endpoint:NEAR
301 0062
302 0062 extern Check_Real_Cmd:NEAR
303 0062 extern GetConfiguration:NEAR
304 0062
305 0062
306 0062 ;audio
307 0062 extern SetCur:NEAR
308 0062 extern GetMin:NEAR
309 0062 extern GetMax:NEAR
310 0062 extern GetRes:NEAR
311 0062 extern GetCur:NEAR
312 0062
313 0062 extern GetPipeBit:NEAR
314 0062
315 0062 ;nRF 24L01
316 0062 extern TX_RX_Switch:NEAR
317 0062 extern RX_mode_set:NEAR
318 0062 extern nRF_TX_Transmit:NEAR
319 0062 extern nRF_RX_Receive:NEAR
320 0062 extern nRF_initial:NEAR
321 0062 extern nRF_int:NEAR
322 0062
323 0062 ;***************************************************************
324 0062 ; MCU Interrupt Table
325 0062 ;***************************************************************
326 0062
327 0062
328 0000 CODE .section AT 00H 'code'
329 0000 ORG 00H
330 0000 2820 jmp Start
331 0001 ORG 04H
332 0004 28D8 jmp USB_ISR
333 0005 ORG 08H
334 0008 289E jmp Timer_0_ISR
335 0009 ORG 0CH
336 000C 28B9 jmp Timer_1_ISR
337 000D ORG 18H
338 0018 2886 jmp RECORD_INT_ISR
339 0019
340 0019 ;-----------------------------------------------------------
341 0019 ; Start : ORG 20H avoid front interrupt
342 0019 ;-----------------------------------------------------------
343 0019 ORG 20H
344 0020 Start:
345 0020
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 7
346 0020 2038 call System_Initial
347 0021 2000 E call nRF_initial
348 0022 ;-----------------------------------------------------------
349 0022 ; Main LOOP Function :
350 0022 ;-----------------------------------------------------------
351 0022 Main:
352 0022 ;-----------------------------------------------------------
353 0022 ; Check Suspend Function :
354 0022 ; When check suspend first time, need delay 1 second check again
355 0022 ;-----------------------------------------------------------
356 0022 3820 SNZ USC.@USC_SUSP ;check SUSPEND ?
357 0023 282F JMP Main_My_Function
358 0024
359 0024 22FE call wait_about_1s
360 0025 3820 SNZ USC.@USC_SUSP
361 0026 282F JMP Main_My_Function
362 0027
363 0027
364 0027 0001 clr wdt
365 0028 3611 clr TMR1C.4
366 0029 3412 clr USB_LED_ON
367 002A 35A2 clr UCC.@UCC_USBCKEN
368 002B ;-----------------------------------------------------------
369 002B ; Resume Function :
370 002B ; recover state, enable USBCKEN
371 002B ;-----------------------------------------------------------
372 002B 0002 HALT
373 002C 3211 set TMR1C.4
374 002D 3012 set USB_LED_ON
375 002E 31A2 set UCC.@UCC_USBCKEN
376 002F
377 002F Main_My_Function:
378 002F ;-----------------------------------------------------------
379 002F ; Here to add your another code !!
380 002F ;-----------------------------------------------------------
381 002F 0001 clr wdt
382 0030 0000 NOP
383 0031 ;---------------------------------------------------
384 0031 ;modify 2006-07-27
385 0031 7C07 SZ ADC_POR_FG
386 0032 2837 JMP Main_End
387 0033 3875 SNZ bFlag_SetConfiguration_Ready
388 0034 2837 JMP Main_End
389 0035 7007 SET ADC_POR_FG
390 0036 ;---------------------------------------------------
391 0036 311E set ERECI
392 0037 ;set ET0I
393 0037 Main_End:
394 0037 ;call TX_RX_Switch
395 0037 ;call nRF_TX_Transmit
396 0037 ;call nRF_RX_Receive
397 0037 ;sz TMR1_KEY_FG
398 0037 ;call Run_Volume_Step
399 0037 2822 JMP Main
400 0038
401 0038 ;***************************************************************
402 0038 ; System Initial
403 0038 ; 1.ram_initial
404 0038 ; 1.Timer Initial
405 0038 ; 2.USB Config
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 8
406 0038 ;***************************************************************
407 0038 System_Initial:
408 0038 ;-----------------------------------------------------------
409 0038 ; Debug
410 0038 ;-----------------------------------------------------------
411 0038 0001 clr wdt
412 0039
413 0039 ;-----------------------------------------------------------
414 0039 ; Modify Pop Noise
415 0039 ;-----------------------------------------------------------
416 0039 kmov WDTS,07h
417 003B 0709 mov a,WDTS
418 003C 00F4 mov FIFO_TEMP,a
419 003D
420 003D 0F57 mov a,01010111b
421 003E 0089 mov WDTS,a
422 003F
423 003F 1F2D clr [02DH]
424 0040
425 0040
426 0040 0F80 mov a,80H
427 0041 00AE mov [02EH],a
428 0042 0000 nop
429 0043 0000 nop
430 0044 31AF set [02FH].3
431 0045 0000 nop
432 0046 0000 nop
433 0047 35AF clr [02FH].3
434 0048 0000 nop
435 0049 0000 nop
436 004A
437 004A 0774 mov a,FIFO_TEMP
438 004B 0089 mov WDTS,a
439 004C ;-----------------------------------------------------------
440 004C ; Wait Bais and ROUT LOUT Capacity rise about 1.98ms
441 004C ; delay time = 255*255*30*3(sdz,jmp) cycle * 0.3333us/cycle = 1.98 ms
442 004C ;-----------------------------------------------------------
443 004C IF WaitBias
444 004C clr pac
445 004C
446 004C clr FIFO_OUT1
447 004C clr FIFO_OUT2
448 004C clr FIFO_OUT3
449 004C mov a,9
450 004C mov FIFO_OUT3,a
451 004C clr pa
452 004C
453 004C
454 004C
455 004C System_Initial_Loop:
456 004C clr wdt
457 004C sdz FIFO_OUT1
458 004C jmp System_Initial_Loop
459 004C sdz FIFO_OUT2
460 004C jmp System_Initial_Loop
461 004C sdz FIFO_OUT3
462 004C jmp System_Initial_Loop
463 004C nop
464 004C clr wdt
465 004C set pa
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 9
466 004C ENDIF
467 004C ;-----------------------------------------------------------
468 004C ; Codec Limit
469 004C ;-----------------------------------------------------------
470 004C 1F2D clr [02DH]
471 004D 1FAE set [02EH]
472 004E ;-----------------------------------------------------------
473 004E ; ram_initial : clear the ram of bank 0
474 004E ;-----------------------------------------------------------
475 004E ram_initial: ;clear RAM (040H--0FFH)
476 004E 0F40 MOV A,040H
477 004F 0081 MOV MP0,A
478 0050 0FC0 MOV A,192
479 0051 ram_initial_next_addr:
480 0051 0001 clr wdt
481 0052 1F00 CLR R0
482 0053 1481 INC MP0
483 0054 1785 SDZ acc
484 0055 2851 JMP ram_initial_next_addr
485 0056
486 0056 ram_initial_1: ;clear RAM (040H--0FFH)
487 0056 0F40 MOV A,040H
488 0057 0083 MOV MP1,A
489 0058 KMOV TBLP,192
490 005A kmov BP,001h
491 005C ram_initial_next_addr_1:
492 005C 0001 clr wdt
493 005D KMOV R1,080h
494 005F 1483 INC MP1
495 0060 1787 SDZ TBLP
496 0061 285C JMP ram_initial_next_addr_1
497 0062 1F04 clr BP
498 0063
499 0063 36F5 CLR bFlag_RD_HTable
500 0064 ;-----------------------------------------------------------
501 0064 ; timer_initial : do timer initial
502 0064 ;-----------------------------------------------------------
503 0064 timer_initial:
504 0064 0F82 MOV A,82H ; low to high edge trigger, internal timer mode
505 0065 008E MOV TMR0C,A ;
506 0066 0F00 MOV A,00H ; 1ms
507 0067 008D MOV TMR0L,A
508 0068 0F00 MOV A,000H
509 0069 008C MOV TMR0H,A
510 006A
511 006A 0F80 mov a,80H
512 006B 0091 mov TMR1C,a
513 006C 0F00 mov a,00H
514 006D 0090 mov TMR1L,a
515 006E 008F mov TMR1H,a
516 006F
517 006F ;-----------------------------------------------------------
518 006F ; config_io_port :
519 006F ;-----------------------------------------------------------
520 006F 1F12 clr pa
521 0070 ;kmov pac,0FEH
522 0070
523 0070 IF UseMediaKey
524 0070 kmov pac,Key_Defined
525 0072 ENDIF
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 10
526 0072 IFE UseMediaKey
527 0072 kmov pac,00000000b
528 0072 ENDIF
529 0072
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -