📄 main.lst
字号:
474 0093 0775 mov a,DAC_FIFO_COUNTER
475 0094 0083 mov mp1,a
476 0095 kmov R1,RECORD_DATA_L
477 0097 1483 inc mp1
478 0098 kmov R1,RECORD_DATA_H
479 009A
480 009A
481 009A EXIT_AUDIO_INT_ISR:
482 009A 0757 MOV A,isr_play_bp ;restone bp
483 009B 0084 MOV BP,A
484 009C 0756 MOV A,isr_play_tblp ;restore TBLP
485 009D 0087 MOV TBLP,A
486 009E 0755 MOV A,isr_play_mp0 ;restore MP0
487 009F 0081 MOV MP0,A
488 00A0 0754 MOV A,isr_play_mp1 ;restore MP1
489 00A1 0083 MOV MP1,A
490 00A2 0753 MOV A,isr_play_status ;restore STATUS
491 00A3 008A MOV STATUS,A
492 00A4 0752 MOV A,isr_play_acc ;restore ACC
493 00A5
494 00A5 0004 RETI
495 00A6
496 00A6 ;***************************************************************
497 00A6 ; RECORD_INT_ISR
498 00A6 ; 1. 8Khz
499 00A6 ;
500 00A6 ;***************************************************************
501 00A6 RECORD_INT_ISR:
502 00A6 00D8 MOV isr_rec_acc,A ;save ACC
503 00A7 070A MOV A,STATUS
504 00A8 00D9 MOV isr_rec_status,A ;save status
505 00A9 0703 MOV A,MP1
506 00AA 00DA MOV isr_rec_mp1,A ;save mp1
507 00AB 0701 MOV A,MP0
508 00AC 00DB MOV isr_rec_mp0,A ;save mp0
509 00AD 0707 MOV A,TBLP
510 00AE 00DC MOV isr_rec_tblp,A ;save TBLP
511 00AF 0704 MOV A,BP
512 00B0 00DD MOV isr_rec_bp,A ;save bp
513 00B1
514 00B1 1F04 clr BP
515 00B2
516 00B2 RECORD_My_Function:
517 00B2
518 00B2 ;-----------------------------------------------------------
519 00B2 ; Here to add your another code !!
520 00B2
521 00B2 ;cpl PB
522 00B2
523 00B2 EXIT_RECORD_INT_ISR:
524 00B2 075D MOV A,isr_rec_bp ;restone bp
525 00B3 0084 MOV BP,A
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 10
526 00B4 075C MOV A,isr_rec_tblp ;restore TBLP
527 00B5 0087 MOV TBLP,A
528 00B6 075B MOV A,isr_rec_mp0 ;restore MP0
529 00B7 0081 MOV MP0,A
530 00B8 075A MOV A,isr_rec_mp1 ;restore MP1
531 00B9 0083 MOV MP1,A
532 00BA 0759 MOV A,isr_rec_status ;restore STATUS
533 00BB 008A MOV STATUS,A
534 00BC 0758 MOV A,isr_rec_acc ;restore ACC
535 00BD
536 00BD 0004 RETI
537 00BE
538 00BE ;***************************************************************
539 00BE ; Timer_0_ISR
540 00BE ; 1.Timer time = 21.2 ms
541 00BE ; 2.Do this procedure is 3.6ms
542 00BE ;***************************************************************
543 00BE Timer_0_ISR:
544 00BE 360E clr TMR0C.4
545 00BF 00C6 MOV isr_tmr0_acc,A ;save ACC
546 00C0 070A MOV A,STATUS
547 00C1 00C7 MOV isr_tmr0_status,A ;save status
548 00C2 0703 MOV A,MP1
549 00C3 00C8 MOV isr_tmr0_mp1,A ;save mp1
550 00C4 0701 MOV A,MP0
551 00C5 00C9 MOV isr_tmr0_mp0,A ;save mp0
552 00C6 0707 MOV A,TBLP
553 00C7 00CA MOV isr_tmr0_tblp,A ;save TBLP
554 00C8 0704 MOV A,BP
555 00C9 00CB MOV isr_tmr0_bp,A ;save bp
556 00CA
557 00CA 1F04 clr BP
558 00CB
559 00CB Timer_0_My_Function:
560 00CB ;-----------------------------------------------------------
561 00CB ; Here to add your another code !!
562 00CB ;-----------------------------------------------------------
563 00CB 0000 NOP
564 00CC 0001 clr wdt
565 00CD
566 00CD Timer_0_ISR_END:
567 00CD 074B MOV A,isr_tmr0_bp ;restone bp
568 00CE 0084 MOV BP,A
569 00CF 074A MOV A,isr_tmr0_tblp ;restore TBLP
570 00D0 0087 MOV TBLP,A
571 00D1 0749 MOV A,isr_tmr0_mp0 ;restore MP0
572 00D2 0081 MOV MP0,A
573 00D3 0748 MOV A,isr_tmr0_mp1 ;restore MP1
574 00D4 0083 MOV MP1,A
575 00D5 0747 MOV A,isr_tmr0_status ;restore STATUS
576 00D6 008A MOV STATUS,A
577 00D7 0746 MOV A,isr_tmr0_acc ;restore ACC
578 00D8 320E SET TMR0C.4 ;start timer0
579 00D9
580 00D9 0004 RETI
581 00DA
582 00DA ;***************************************************************
583 00DA ; Timer_1_ISR
584 00DA ; 1.Timer time = 21.2 ms
585 00DA ; 2.Do this procedure is 3.6ms
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 11
586 00DA ;***************************************************************
587 00DA Timer_1_ISR:
588 00DA 3611 CLR TMR1C.4
589 00DB
590 00DB 00CC MOV isr_tmr1_acc,A ;save ACC
591 00DC 070A MOV A,STATUS
592 00DD 00CD MOV isr_tmr1_status,A ;save status
593 00DE 0703 MOV A,MP1
594 00DF 00CE MOV isr_tmr1_mp1,A ;save mp1
595 00E0 0701 MOV A,MP0
596 00E1 00CF MOV isr_tmr1_mp0,A ;save mp0
597 00E2 0707 MOV A,TBLP
598 00E3 00D0 MOV isr_tmr1_tblp,A ;save TBLP
599 00E4 0704 MOV A,BP
600 00E5 00D1 MOV isr_tmr1_bp,A ;save bp
601 00E6
602 00E6 1F04 clr BP
603 00E7
604 00E7 0001 clr wdt
605 00E8
606 00E8
607 00E8 0751 MOV A,isr_tmr1_bp ;restone bp
608 00E9 0084 MOV BP,A
609 00EA 0750 MOV A,isr_tmr1_tblp ;restore TBLP
610 00EB 0087 MOV TBLP,A
611 00EC 074F MOV A,isr_tmr1_mp0 ;restore MP0
612 00ED 0081 MOV MP0,A
613 00EE 074E MOV A,isr_tmr1_mp1 ;restore MP1
614 00EF 0083 MOV MP1,A
615 00F0 074D MOV A,isr_tmr1_status ;restore STATUS
616 00F1 008A MOV STATUS,A
617 00F2 074C MOV A,isr_tmr1_acc ;restore ACC
618 00F3
619 00F3 Timer_1_ISR_End:
620 00F3 3211 SET TMR1C.4
621 00F4 0004 RETI
622 00F5
623 00F5 ;***************************************************************
624 00F5 ;
625 00F5 ;
626 00F5 ;
627 00F5 ;***************************************************************
628 00F5 Delay_20ms:
629 00F5 0001 clr wdt
630 00F6 0F75 mov a,075H
631 00F7 00DE mov Delay_1,a
632 00F8 0FFF mov a,0FFH
633 00F9 00DF mov Delay_2,a
634 00FA Delay_20ms_Wait:
635 00FA 0001 clr wdt
636 00FB 17DF SDZ Delay_2
637 00FC 28FA JMP Delay_20ms_Wait
638 00FD 17DE SDZ Delay_1
639 00FE 28FA JMP Delay_20ms_Wait
640 00FF 0003 RET
641 0100
642 0100 Delay_5ms:
643 0100 0001 clr wdt
644 0101 0F3A mov a,03AH
645 0102 00DE mov Delay_1,a
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 12
646 0103 0FFF mov a,0FFH
647 0104 00DF mov Delay_2,a
648 0105 Delay_5ms_Wait:
649 0105 0001 clr wdt
650 0106 17DF SDZ Delay_2
651 0107 2905 JMP Delay_5ms_Wait
652 0108 17DE SDZ Delay_1
653 0109 2905 JMP Delay_5ms_Wait
654 010A 0003 RET
655 010B
656 010B
657 010B Delay PROC
658 010B 0001 clr wdt
659 010C 0FFF MOV A,0FFH
660 010D 00DE MOV Delay_1,A
661 010E 00DF MOV Delay_2,A
662 010F
663 010F Wait:
664 010F 0001 clr wdt
665 0110 17DF SDZ Delay_2
666 0111 290F JMP Wait
667 0112 17DE SDZ Delay_1
668 0113 290F JMP Wait
669 0114 0003 RET
670 0115
671 0115 Delay ENDP
672 0115
673 0115 ;***************************************************************
674 0115 ; Key_Debounced Module
675 0115 ; Key_Defined : bits want to detect
676 0115 ; Key_Process : set the bit when proces
677 0115 ; Key_CheckIn : set the bit if detect a pressed key first
678 0115 ; Key_Counter : i th bit pressed
679 0115 ; If supportc key press continuously, do not set Key_Process (Ex: INC,DEC Volume)
680 0115 ; If supportc key press continuously, should set Key_Process (Ex: Mute,Play,Stop)
681 0115 ;***************************************************************
682 0115 #define UseReportID 1
683 0115 IF UseMediaKey
684 0115 Key_Debounced:
685 0115 0001 clr wdt
686 0116 0712 mov a,VIOP
687 0117 0185 cpl acc
688 0118 00E4 mov PortC_Data,a
689 0119
690 0119 0F0E mov a,Key_Defined
691 011A 0664 and a,PortC_Data
692 011B 3D0A sz z
693 011C 2948 jmp Key_Debounced_ClearReg ;//no key pressed
694 011D
695 011D
696 011D Key_Debounced_Detect_In:
697 011D kmov Key_Temp,PortC_Data
698 011F 1F6B clr Key_Counter
699 0120 Key_Debounced_Detect:
700 0120 340A clr C
701 0121 1BEC RRC Key_Temp
702 0122 3C0A sz C
703 0123 292A jmp Key_Debounced_Detect_End
704 0124 14EB inc Key_Counter
705 0125 0F08 mov a,8
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 13
706 0126 ;xor a,Key_Temp
707 0126 046B xor a,Key_Counter
708 0127 3D0A sz z
709 0128 292A jmp Key_Debounced_Detect_End
710 0129 2920 jmp Key_Debounced_Detect
711 012A Key_Debounced_Detect_End:
712 012A 076B mov a,Key_Counter
713 012B ;call GetPipeBit
714 012B
715 012B 046A xor a,Key_CheckIn
716 012C 390A snz z
717 012D 2941 jmp Key_Debounced_SetCheckIn
718 012E
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -