📄 main.lst
字号:
229 0020 3134 set AD_ENB ;AD_ENB=1 =>ADC Power Down
230 0021 20F5 call Delay_20ms
231 0022 3534 clr AD_ENB ;AD_ENB=0 =>ADC Power On
232 0023 ;---------------------------------------
233 0023 2030 call System_Initial
234 0024 2000 E call nRF_initial
235 0025 ;-----------------------------------------------------------
236 0025 ; Main LOOP Function :
237 0025 ;-----------------------------------------------------------
238 0025 Main:
239 0025
240 0025
241 0025 Main_My_Function:
242 0025 ;-----------------------------------------------------------
243 0025 ; Here to add your another code !!
244 0025 ;-----------------------------------------------------------
245 0025 0001 clr wdt
246 0026 0000 NOP
247 0027 ;---------------------------------------------------
248 0027 ;modify 2006-07-27
249 0027 3FE5 SZ ADC_POR_FG
250 0028 282D JMP Main_End1
251 0029 3134 set AD_ENB ;AD_ENB=1 =>ADC Power Down
252 002A 20F5 call Delay_20ms
253 002B 3534 clr AD_ENB ;AD_ENB=0 =>ADC Power On
254 002C 33E5 SET ADC_POR_FG
255 002D ;---------------------------------------------------
256 002D Main_End1:
257 002D ;;sz NRF_IRQ
258 002D ;;jmp Main_My_Function
259 002D 3012 set pa.0
260 002E 301E set EPLAYI
261 002F Main_End2:
262 002F ;call TX_RX_Switch
263 002F ;call nRF_TX_Transmit
264 002F ;call nRF_RX_Receive
265 002F 282F JMP Main_End2
266 0030
267 0030 ;***************************************************************
268 0030 ; System Initial
269 0030 ; 1.ram_initial
270 0030 ; 1.Timer Initial
271 0030 ; 2.USB Config
272 0030 ;***************************************************************
273 0030 System_Initial:
274 0030 ;-----------------------------------------------------------
275 0030 ; Debug
276 0030 ;-----------------------------------------------------------
277 0030 0001 clr wdt
278 0031
279 0031 ;-----------------------------------------------------------
280 0031 ; Modify Pop Noise
281 0031 ;-----------------------------------------------------------
282 0031 kmov WDTS,07h
283 0033 0709 mov a,WDTS
284 0034 00E3 mov FIFO_TEMP,a
285 0035
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 6
286 0035 0F57 mov a,01010111b
287 0036 0089 mov WDTS,a
288 0037
289 0037 1F2D clr [02DH]
290 0038
291 0038
292 0038 0F80 mov a,80H
293 0039 00AE mov [02EH],a
294 003A 0000 nop
295 003B 0000 nop
296 003C 31AF set [02FH].3
297 003D 0000 nop
298 003E 0000 nop
299 003F 35AF clr [02FH].3
300 0040 0000 nop
301 0041 0000 nop
302 0042
303 0042 0763 mov a,FIFO_TEMP
304 0043 0089 mov WDTS,a
305 0044 ;-----------------------------------------------------------
306 0044 ; Wait Bais and ROUT LOUT Capacity rise about 1.98ms
307 0044 ; delay time = 255*255*30*3(sdz,jmp) cycle * 0.3333us/cycle = 1.98 ms
308 0044 ;-----------------------------------------------------------
309 0044 IF WaitBias
310 0044 clr pac
311 0044
312 0044 clr FIFO_OUT1
313 0044 clr FIFO_OUT2
314 0044 clr FIFO_OUT3
315 0044 mov a,9
316 0044 mov FIFO_OUT3,a
317 0044 clr pa
318 0044
319 0044
320 0044
321 0044 System_Initial_Loop:
322 0044 clr wdt
323 0044 sdz FIFO_OUT1
324 0044 jmp System_Initial_Loop
325 0044 sdz FIFO_OUT2
326 0044 jmp System_Initial_Loop
327 0044 sdz FIFO_OUT3
328 0044 jmp System_Initial_Loop
329 0044 nop
330 0044 clr wdt
331 0044 set pa
332 0044 ENDIF
333 0044 ;-----------------------------------------------------------
334 0044 ; Codec Limit
335 0044 ;-----------------------------------------------------------
336 0044 1F2D clr [02DH]
337 0045 1FAE set [02EH]
338 0046 ;-----------------------------------------------------------
339 0046 ; ram_initial : clear the ram of bank 0
340 0046 ;-----------------------------------------------------------
341 0046 ram_initial: ;clear RAM (040H--0FFH)
342 0046 0F40 MOV A,040H
343 0047 0081 MOV MP0,A
344 0048 0FC0 MOV A,192
345 0049 ram_initial_next_addr:
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 7
346 0049 0001 clr wdt
347 004A 1F00 CLR R0
348 004B 1481 INC MP0
349 004C 1785 SDZ acc
350 004D 2849 JMP ram_initial_next_addr
351 004E
352 004E ram_initial_1: ;clear RAM (040H--0FFH)
353 004E 0F40 MOV A,040H
354 004F 0083 MOV MP1,A
355 0050 KMOV TBLP,192
356 0052 kmov BP,001h
357 0054 ram_initial_next_addr_1:
358 0054 0001 clr wdt
359 0055 KMOV R1,080h
360 0057 1483 INC MP1
361 0058 1787 SDZ TBLP
362 0059 2854 JMP ram_initial_next_addr_1
363 005A 1F04 clr BP
364 005B
365 005B ;-----------------------------------------------------------
366 005B ; timer_initial : do timer initial
367 005B ;-----------------------------------------------------------
368 005B timer_initial:
369 005B 0F82 MOV A,82H ; low to high edge trigger, internal timer mode
370 005C 008E MOV TMR0C,A ;
371 005D 0F00 MOV A,00H ; 1ms
372 005E 008D MOV TMR0L,A
373 005F 0F00 MOV A,000H
374 0060 008C MOV TMR0H,A
375 0061
376 0061 0F80 mov a,80H
377 0062 0091 mov TMR1C,a
378 0063 0F00 mov a,00H
379 0064 0090 mov TMR1L,a
380 0065 008F mov TMR1H,a
381 0066
382 0066 ;-----------------------------------------------------------
383 0066 ; config_io_port :
384 0066 ;-----------------------------------------------------------
385 0066 1F12 clr pa
386 0067 ;kmov pac,0FEH
387 0067
388 0067 IF UseMediaKey
389 0067 kmov pac,Key_Defined
390 0069 ENDIF
391 0069 IFE UseMediaKey
392 0069 kmov pac,00000000b
393 0069 ENDIF
394 0069
395 0069 1F14 clr pb
396 006A 1F95 set pbc
397 006B 1F16 clr pc ;for volume control
398 006C 1F97 set pcc
399 006D
400 006D ;-----------------------------------------------------------
401 006D ; config_usb_speaker_register :
402 006D ;-----------------------------------------------------------
403 006D 1F1C clr USVC ;mute & 0db
404 006E
405 006E ;for test
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 8
406 006E ;set DA_R_ENB ;Right Channel Disable
407 006E
408 006E
409 006E ;-----------------------------------------------------------
410 006E ; config_usb : do usb config
411 006E ;-----------------------------------------------------------
412 006E config_usb:
413 006E 1F0B CLR INTC0
414 006F ;SET INTC0.@INTC0_EEI ;enable USB
415 006F 300B SET INTC0.@INTC0_EMI ;Global interrupt
416 0070
417 0070 ;set MISC.@MISC_ISOEN ;ISO Output Interrupt Enable
418 0070 ;set MISC.@MISC_ISIEN ;ISO Input Interrupt Enable
419 0070 ;clr STALL
420 0070 3622 clr UCC.@UCC_SUSP2
421 0071
422 0071 ;SYSCLK
423 0071 ;set UCC.6 //set to 6 MHz
424 0071
425 0071 31A2 set UCC.@UCC_USBCKEN
426 0072 0000 nop
427 0073 ;set USC.@USC_V33C ;//pc start to send command
428 0073
429 0073
430 0073 if AUDIO_8K
431 0073 31B4 set MODE_CTRL.3
432 0074 endif
433 0074
434 0074 0001 clr wdt
435 0075 0003 RET
436 0076
437 0076 ;***************************************************************
438 0076 ; AUDIO_INT_ISR
439 0076 ;
440 0076 ;
441 0076 ;***************************************************************
442 0076 AUDIO_INT_ISR:
443 0076 00D2 MOV isr_play_acc,A ;save ACC
444 0077 070A MOV A,STATUS
445 0078 00D3 MOV isr_play_status,A ;save status
446 0079 0703 MOV A,MP1
447 007A 00D4 MOV isr_play_mp1,A ;save mp1
448 007B 0701 MOV A,MP0
449 007C 00D5 MOV isr_play_mp0,A ;save mp0
450 007D 0707 MOV A,TBLP
451 007E 00D6 MOV isr_play_tblp,A ;save TBLP
452 007F 0704 MOV A,BP
453 0080 00D7 MOV isr_play_bp,A ;save bp
454 0081
455 0081 ;call nRF_int
456 0081
457 0081 ;------- RAM to DAC (play)
458 0081 xmov FIFO_TEMP,WDTS ;save WDT
459 0083 xmov WDTS,01010000b ;dac write mode
460 0085 0779 mov A,RX_FIFO_ADDR_temp ;RX ADDRESS start
461 0086 0375 ADD A,DAC_FIFO_COUNTER
462 0087 0083 mov MP1,A
463 0088 kmov DAC_LIMIT_L,R1
464 008A 1483 inc MP1
465 008B kmov DAC_LIMIT_H,R1
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 9
466 008D ;------- write DAC trigger
467 008D 31AF set DAC_WR.3
468 008E 0000 nop
469 008F 35AF clr DAC_WR.3
470 0090 0000 nop
471 0091 xmov WDTS,FIFO_TEMP
472 0093
473 0093 ;------- ADC to RAM (rec)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -