📄 main.lst
字号:
530 0072 1F16 clr pc ;for volume control
531 0073 1F97 set pcc
532 0074
533 0074 ;-----------------------------------------------------------
534 0074 ; config_usb_speaker_register :
535 0074 ;-----------------------------------------------------------
536 0074 1F1C clr USVC ;mute & 0db
537 0075
538 0075 ;for test
539 0075 ;set DA_R_ENB ;Right Channel Disable
540 0075
541 0075
542 0075 ;-----------------------------------------------------------
543 0075 ; reset variable :
544 0075 ;-----------------------------------------------------------
545 0075 3576 clr bFlag_Audio_Mute
546 0076 3676 clr bFlag_Mute_Detect
547 0077 36F6 clr bFlag_INC_Detect
548 0078 3776 clr bFlag_DEC_Detect
549 0079 ;-----------------------------------------------------------
550 0079 ; config_usb : do usb config
551 0079 ;-----------------------------------------------------------
552 0079 config_usb:
553 0079 1F0B CLR INTC0
554 007A 308B SET INTC0.@INTC0_EEI ;enable USB
555 007B 300B SET INTC0.@INTC0_EMI ;Global interrupt
556 007C
557 007C 3226 set MISC.@MISC_ISOEN ;ISO Output Interrupt Enable
558 007D 31A6 set MISC.@MISC_ISIEN ;ISO Input Interrupt Enable
559 007E 1F24 clr STALL
560 007F 3622 clr UCC.@UCC_SUSP2
561 0080
562 0080 ;SYSCLK
563 0080 ;set UCC.6 //set to 6 MHz
564 0080
565 0080 31A2 set UCC.@UCC_USBCKEN
566 0081 0000 nop
567 0082 3220 set USC.@USC_V33C ;//pc start to send command
568 0083
569 0083
570 0083 if AUDIO_8K
571 0083 31B4 set MODE_CTRL.3
572 0084 endif
573 0084
574 0084 0001 clr wdt
575 0085 0003 RET
576 0086
577 0086 ;***************************************************************
578 0086 ; RECORD_INT_ISR
579 0086 ;
580 0086 ;
581 0086 ;***************************************************************
582 0086 RECORD_INT_ISR:
583 0086 ;set pa7
584 0086 00D8 MOV isr_rec_acc,A ;save ACC
585 0087 070A MOV A,STATUS
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 11
586 0088 00D9 MOV isr_rec_status,A ;save status
587 0089 0703 MOV A,MP1
588 008A 00DA MOV isr_rec_mp1,A ;save mp1
589 008B 0701 MOV A,MP0
590 008C 00DB MOV isr_rec_mp0,A ;save mp0
591 008D 0707 MOV A,TBLP
592 008E 00DC MOV isr_rec_tblp,A ;save TBLP
593 008F 0704 MOV A,BP
594 0090 00DD MOV isr_rec_bp,A ;save bp
595 0091
596 0091 2000 E call nRF_int
597 0092
598 0092 EXIT_RECORD_INT_ISR:
599 0092 075D MOV A,isr_rec_bp ;restone bp
600 0093 0084 MOV BP,A
601 0094 075C MOV A,isr_rec_tblp ;restore TBLP
602 0095 0087 MOV TBLP,A
603 0096 075B MOV A,isr_rec_mp0 ;restore MP0
604 0097 0081 MOV MP0,A
605 0098 075A MOV A,isr_rec_mp1 ;restore MP1
606 0099 0083 MOV MP1,A
607 009A 0759 MOV A,isr_rec_status ;restore STATUS
608 009B 008A MOV STATUS,A
609 009C 0758 MOV A,isr_rec_acc ;restore ACC
610 009D ;clr pa7
611 009D 0004 RETI
612 009E
613 009E ;***************************************************************
614 009E ; Timer_0_ISR
615 009E ; 1.Timer time = 21.2 ms
616 009E ; 2.Do this procedure is 3.6ms
617 009E ;***************************************************************
618 009E Timer_0_ISR:
619 009E 360E clr TMR0C.4
620 009F 00C6 MOV isr_tmr0_acc,A ;save ACC
621 00A0 070A MOV A,STATUS
622 00A1 00C7 MOV isr_tmr0_status,A ;save status
623 00A2 0703 MOV A,MP1
624 00A3 00C8 MOV isr_tmr0_mp1,A ;save mp1
625 00A4 0701 MOV A,MP0
626 00A5 00C9 MOV isr_tmr0_mp0,A ;save mp0
627 00A6 0707 MOV A,TBLP
628 00A7 00CA MOV isr_tmr0_tblp,A ;save TBLP
629 00A8 0704 MOV A,BP
630 00A9 00CB MOV isr_tmr0_bp,A ;save bp
631 00AA
632 00AA 1F04 clr BP
633 00AB
634 00AB Timer_0_My_Function:
635 00AB ;-----------------------------------------------------------
636 00AB ; Here to add your another code !!
637 00AB ;-----------------------------------------------------------
638 00AB ;call RX_mode_set
639 00AB
640 00AB 0000 NOP
641 00AC 0001 clr wdt
642 00AD
643 00AD Timer_0_ISR_END:
644 00AD 074B MOV A,isr_tmr0_bp ;restone bp
645 00AE 0084 MOV BP,A
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 12
646 00AF 074A MOV A,isr_tmr0_tblp ;restore TBLP
647 00B0 0087 MOV TBLP,A
648 00B1 0749 MOV A,isr_tmr0_mp0 ;restore MP0
649 00B2 0081 MOV MP0,A
650 00B3 0748 MOV A,isr_tmr0_mp1 ;restore MP1
651 00B4 0083 MOV MP1,A
652 00B5 0747 MOV A,isr_tmr0_status ;restore STATUS
653 00B6 008A MOV STATUS,A
654 00B7 0746 MOV A,isr_tmr0_acc ;restore ACC
655 00B8 ;SET TMR0C.4 ;start timer0
656 00B8
657 00B8 0004 RETI
658 00B9
659 00B9 ;***************************************************************
660 00B9 ; Timer_1_ISR
661 00B9 ; 1.Timer time = 21.2 ms
662 00B9 ; 2.Do this procedure is 3.6ms
663 00B9 ;***************************************************************
664 00B9 Timer_1_ISR:
665 00B9 3611 CLR TMR1C.4
666 00BA 300B SET INTC0.@INTC0_EMI
667 00BB
668 00BB 00CC MOV isr_tmr1_acc,A ;save ACC
669 00BC 070A MOV A,STATUS
670 00BD 00CD MOV isr_tmr1_status,A ;save status
671 00BE 0703 MOV A,MP1
672 00BF 00CE MOV isr_tmr1_mp1,A ;save mp1
673 00C0 0701 MOV A,MP0
674 00C1 00CF MOV isr_tmr1_mp0,A ;save mp0
675 00C2 0707 MOV A,TBLP
676 00C3 00D0 MOV isr_tmr1_tblp,A ;save TBLP
677 00C4 0704 MOV A,BP
678 00C5 00D1 MOV isr_tmr1_bp,A ;save bp
679 00C6
680 00C6 1F04 clr BP
681 00C7
682 00C7 0001 clr wdt
683 00C8 33F6 SET TMR1_KEY_FG
684 00C9 IF UseMediaKey
685 00C9 2277 call Key_Debounced
686 00CA ENDIF
687 00CA 2247 call Run_Volume_Step
688 00CB
689 00CB 0751 MOV A,isr_tmr1_bp ;restone bp
690 00CC 0084 MOV BP,A
691 00CD 0750 MOV A,isr_tmr1_tblp ;restore TBLP
692 00CE 0087 MOV TBLP,A
693 00CF 074F MOV A,isr_tmr1_mp0 ;restore MP0
694 00D0 0081 MOV MP0,A
695 00D1 074E MOV A,isr_tmr1_mp1 ;restore MP1
696 00D2 0083 MOV MP1,A
697 00D3 074D MOV A,isr_tmr1_status ;restore STATUS
698 00D4 008A MOV STATUS,A
699 00D5 074C MOV A,isr_tmr1_acc ;restore ACC
700 00D6
701 00D6 Timer_1_ISR_End:
702 00D6 3211 SET TMR1C.4
703 00D7 0004 RETI
704 00D8
705 00D8 ;***************************************************************
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 13
706 00D8 ; USB_ISR : USB Interrupt Routine
707 00D8 ; 1.Back up every status register
708 00D8 ; 2.check which endpoint is interrupt
709 00D8 ;***************************************************************
710 00D8 USB_ISR:
711 00D8 348B CLR INTC0.@INTC0_EEI ;disable USB interrupt
712 00D9 ;modify 2006-09-11
713 00D9 358B CLR ET1I
714 00DA 300B SET INTC0.@INTC0_EMI
715 00DB
716 00DB 00C0 MOV isr_usb_acc,A ;save ACC
717 00DC 070A MOV A,STATUS
718 00DD 00C1 MOV isr_usb_status,A ;save status
719 00DE 0703 MOV A,MP1
720 00DF 00C2 MOV isr_usb_mp1,A ;save mp1
721 00E0 0701 MOV A,MP0
722 00E1 00C3 MOV isr_usb_mp0,A ;save mp0
723 00E2 0707 MOV A,TBLP
724 00E3 00C4 MOV isr_usb_tblp,A ;save TBLP
725 00E4 0704 MOV A,BP
726 00E5 00C5 MOV isr_usb_bp,A ;save bp
727 00E6
728 00E6 1F04 clr BP
729 00E7
730 00E7 0001 clr wdt
731 00E8 ;;Check Which FIFO is interrupt
732 00E8 28F7 JMP Check_Access_FIFO
733 00E9
734 00E9 USB_ISR_END:
735 00E9 0745 MOV A,isr_usb_bp ;restone bp
736 00EA 0084 MOV BP,A
737 00EB 0744 MOV A,isr_usb_tblp ;restore TBLP
738 00EC 0087 MOV TBLP,A
739 00ED 0743 MOV A,isr_usb_mp0 ;restore MP0
740 00EE 0081 MOV MP0,A
741 00EF 0742 MOV A,isr_usb_mp1 ;restore MP1
742 00F0 0083 MOV MP1,A
743 00F1 0741 MOV A,isr_usb_status ;restore STATUS
744 00F2 008A MOV STATUS,A
745 00F3 0740 MOV A,isr_usb_acc ;restore ACC
746 00F4
747 00F4 ;modify 2006-08-18
748 00F4 ;CLR INTC0.@INTC0_EMI
749 00F4 318B SET ET1I
750 00F5 308B SET INTC0.@INTC0_EEI
751 00F6
752 00F6
753 00F6 0004 RETI
754 00F7
755 00F7
756 00F7 ;***************************************************************
757 00F7 ; USB_EPX_ISR
758 00F7 ;***************************************************************
759 00F7 Check_Access_FIFO:
760 00F7 0001 clr wdt
761 00F8 3C21 SZ USR.@USR_EP0F
762 00F9 2903 JMP USB_EP0_ISR
763 00FA 3CA1 SZ USR.@USR_EP1F
764 00FB 297D JMP USB_EP1_ISR
765 00FC 3D21 SZ USR.@USR_EP2F
"File: MAIN.ASM Holtek Cross-Assembler Version 2.86 Page 14
766 00FD 297F JMP USB_EP2_ISR
767 00FE 3DA1 SZ USR.@USR_EP3F
768 00FF 2982 JMP USB_EP3_ISR
769 0100 3E21 SZ USR.@USR_EP4F
770 0101 2985 JMP USB_EP4_ISR
771 0102
772 0102 28E9 JMP USB_ISR_END
773 0103
774 0103 ;-----------------------------------------------------
775 0103 ;EPNPOINT 0
776 0103 ;-----------------------------------------------------
777 0103 USB_EP0_ISR:
778 0103 ;modify 2006-07-27
779 0103 ;CLR USR.@USR_EP0F ;Fix Bus Enumeration Stress
780 0103
781 0103 ;;case1
782 0103 3EA6 SZ MISC.@MISC_SCMD ;check setup token
783 0104 290F JMP USB_EP0_SETUP_TOKEN
784 0105
785 0105 3FA6 SZ MISC.@MISC_LEN0 ;check out ack token
786 0106 2916 JMP USB_EP0_OUT_ACK_TOKEN
787 0107
788 0107 2000 E CALL FIFO0_RD_CHECK
789 0108 3DF5 SZ bFlag_FIFO_Ready
790 0109 291A JMP USB_EP0_OUT_TOKEN
791 010A ;clr MISC.@MISC_REQ
792 010A
793 010A 2000 E CALL FIFO0_WR_CHECK
794 010B 3DF5 SZ bFlag_FIFO_Ready
795 010C 2912 JMP USB_EP0_IN_TOKEN ;else is in token
796 010D ;clr MISC.@MISC_REQ
797 010D
798 010D ;modify 2006-08-28
799 010D 3421 CLR USR.@USR_EP0F ;Fix OHCI Volume
800 010E
801 010E 297B JMP USB_EP0_ISR_END
802 010F
803 010F
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -