⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 huangqipu.asm

📁 LCD+2314+功放 SONIX MCU
💻 ASM
📖 第 1 页 / 共 4 页
字号:
 VOLUP:      
      BTS0  XCVB1.0
      JMP   VOLUPBAL
      JMP   VOLUPBAL_1
 VOLUPBAL: 
     
      INCMS BALANCE
      NOP
      B0MOV A,BALANCE
      SUB   A,#12
      BTS1  FC
      JMP   VOLUPBAL_2
      MOV   a,#12
      B0MOV BALANCE,A
     
  VOLUPBAL_2:
      CALL  WRBALANCE    
      JMP   FUNCTION_1    
 
 VOLUPBAL_1:  
 
       BTS0 XCVB1.1
      JMP   VOLUPLOUD
      JMP   VOLUPLOUD_1
 VOLUPLOUD:
      BCLR  SWITCH.2 
      CALL  WRLOUD    
      JMP   FUNCTION_2    
 
 VOLUPLOUD_1: 
      BTS0 XCVB1.2
      JMP  VOLUPBASS
      JMP  VOLUPBASS_1
 VOLUPBASS:
       BSET  XO2.1        
       INCMS BASS
       NOP
       B0MOV A,BASS
       SUB   A,#14
       BTS1  FC
       JMP   VOLUPBASS_3
       MOV   a,#14       
       B0MOV BASS,A
  VOLUPBASS_3:
       CALL  WRBASS  
   //   MOV     A,#1 
  //    CALL    delay1MS
 //     CALL  RDNBYT3
   
       JMP   FUNCTION_3    
      
 
 VOLUPBASS_1: 
      BTS0 XCVB1.3
      JMP  VOLUPTRE
      JMP  VOLUPTRE_1
 VOLUPTRE:
      BSET   XO2.2      
      INCMS  TREBLE
       B0MOV A,TREBLE
       SUB   A,#14
       BTS1  FC
      JMP   VOLUPTRE_3
      MOV   a,#14       
      B0MOV TREBLE,A
  VOLUPTRE_3:  
      CALL  WRTREBLE
      JMP   FUNCTION_4    
 VOLUPTRE_1:    
      B0MOV A,VOLMAST    
      XOR   A,#0X3F
      BTS1  FZ
      JMP   VOLUP_00
      BSET  P2.7           //POWER ON
          
  VOLUP_00:          
      B0MOV A,VOLMAST        
      BTS0  FZ
      JMP   MAIN_END
      DECMS VOLMAST 
      B0MOV A,VOLMAST    
      CALL  VOLUPDN
      CALL  LCDSTR  
      JMP   MAIN_END
  
   POWERON:
      BSET  XO2.0
      MOV   a,#0XFF 
      B0MOV RF2,A
      BSET  XO.0
      BCLR  XO.5
      BSET  P2.7      //POWER ON
      BCLR  P5.0      //ON LCDLED
      BSET  XOMUTE.0 
      MOV   A,#10H
      MOV   MDT,A
      MOV   A,XCVB
      MOV   MDT1,A
      CALL  WRNBYT3
  
      RET
      
   S_CD: 
      CLR   XCVB
      CLR   XCVB1
      BSET  XCVB.4

      CALL  POWERON
      MOV   a,#0XFC
      AND   SWITCH,A     
      B0MOV A,SWITCH     
      B0MOV MDT,A
      B0MOV MDT1,A      
      CALL  WRNBYT      

       
      CALL  GETXS
      CALL  VOLUPDN
      CALL  LCDSTR      
      JMP   MAIN_END
   S_AUX1:
      CLR  XCVB
      CLR  XCVB1
      BSET   XCVB.1

      CALL   POWERON      
      MOV   A,#0XFC
      AND   A,SWITCH
      OR    A,#1
      B0MOV SWITCH,A
     
      B0MOV MDT,A
      B0MOV MDT1,A
      
      
      CALL WRNBYT
      

      
      CALL GETXS
      CALL VOLUPDN
      CALL LCDSTR    
      
      JMP MAIN_END
        
    S_AUX2:
             
      CLR  XCVB
      CLR  XCVB1
      BSET   XCVB.5

      CALL POWERON      
      MOV a,#0XFC
      AND A,SWITCH
      OR  A,#2
      B0MOV SWITCH,A
      
      B0MOV MDT,A
      B0MOV MDT1,A      
       
      CALL WRNBYT

       
      CALL GETXS  
      CALL VOLUPDN
      CALL LCDSTR    
      
      JMP MAIN_END  
 S_PHONO:
      CLR  XCVB
      CLR  XCVB1
      BSET   XCVB.2

      CALL POWERON
      
      MOV a,#0X03
      OR A,SWITCH     
      B0MOV SWITCH,A      
      
      B0MOV MDT,A
      B0MOV MDT1,A
      CALL WRNBYT
       
      MOV a,#0XFC
      
      AND  A,SWITCH1  
      or   A,#0x2   
      B0MOV   SWITCH1,A      
      
      B0MOV MDT,A
      B0MOV MDT1,A      
       
      CALL WRNBYT2

       
      CALL GETXS
     
      CALL VOLUPDN
      CALL LCDSTR        
      JMP MAIN_END
      
  ;;;;;;;;;;;;;
 S_DVD:
      CLR   XCVB
      CLR   XCVB1
      BSET  XCVB.3

      CALL  POWERON         
      MOV   a,#0X03
      OR    A,SWITCH     
      B0MOV SWITCH,A      
      
      B0MOV MDT,A
      B0MOV MDT1,A
      CALL  WRNBYT
      MOV   a,#0XFC
      AND   A,SWITCH1
      OR    A,#0X01     
      B0MOV SWITCH1,A      
      
      B0MOV MDT,A
      B0MOV MDT1,A      
       
      CALL  WRNBYT2      

       
      CALL  GETXS      
      CALL  VOLUPDN
      CALL  LCDSTR        
      JMP   MAIN_END
      ;;;;;;;;;;;;;;;
  S_TUNER:
      CLR  XCVB
      CLR  XCVB1
      BSET   XCVB.6
      CALL POWERON
      
      MOV a,#0X03
      OR A,SWITCH     
      B0MOV SWITCH,A      
      
      B0MOV MDT,A
      B0MOV MDT1,A
      
       
      CALL WRNBYT
       
       MOV a,#0XFC
      AND  A,SWITCH1
      ;OR   A,#0X02    
      B0MOV   SWITCH1,A      
      
      B0MOV MDT,A
      B0MOV MDT1,A      
       
      CALL WRNBYT2     
      

      
      CALL GETXS      
      CALL VOLUPDN
      CALL LCDSTR        
      JMP  MAIN_end     
  
  VOLUPDN:        
      
   //   CALL  GETXS
      B0MOV A,VOLMAST  
  
      B0MOV MDT,A       
      B0MOV MDT1,A       
      
      CALL  WRNBYT
      CALL  WRNBYT2
        
          
      MOV   A,#3FH     
      SUB   A,MDT    
      CALL  VOLTOLCD        
       RET   
   
  
  VOLTOLCD:
    
    B0MOV TEM1,A
    CLR   MDT
  @@:
    MOV   MDT1,A
    SUB   A,#10
    BTS1  FC
    JMP   @F 
    INCMS  MDT
    NOP
    JMP   @B  
  @@:    
    MOV A,MDT
    ADD A,#0X30
    B0MOV LCDBUF+14,A
    B0MOV A,MDT1    
    ADD A,#0X30
    B0MOV LCDBUF+15,A
    RET
   
 C_BASSB: 
      B0MOV A,TEM1
     ; B0MOV A,BASS
      SUB   A,#7
      BTS0  FC
      JMP   C_BASSB_2
      B0MOV A,TEM1
      B0MOV Y,#V_BASSH$M
      B0MOV Z,#V_BASSH$L
      ADD Z,A      
      MOVC
      
      B0MOV LCDBUF+11,A
      B0MOV A,TEM1

      B0MOV Y,#V_BASSL$M
      B0MOV Z,#V_BASSL$L
      ADD Z,A      
      MOVC          
    
      
      B0MOV LCDBUF+12,A
      
       JMP C_BASSB_3     
 C_BASSB_2:      
      MOV   A,#14
      SUB   A,TEM1
      B0MOV TEM1,A      
            
      B0MOV Y,#V_BASSH$M
      B0MOV Z,#V_BASSH$L
      ADD Z,A      
      MOVC
      
      B0MOV  LCDBUF+11,A
      B0MOV A,TEM1
            
      
      B0MOV Y,#V_BASSL$M
      B0MOV Z,#V_BASSL$L
      ADD Z,A      
      MOVC
      
      B0MOV  LCDBUF+12,A
       MOV A,#0X20
      B0MOV  LCDBUF+10,A
       MOV A,#8      
      OR   TEM1,A
      
  c_BASSB_3:  
  
      BTS1 XCVB1.2
      JMP  c_BASSB_4
      MOV  A,#0X60
      OR   A,TEM1
      JMP  c_BASSB_5
  c_BASSB_4:
      MOV  A,#0X70
      OR   A,TEM1
  
  c_BASSB_5:    
      
         
      B0MOV  MDT,A
      B0MOV  MDT1,A
      
      CALL WRNBYT
      CALL WRNBYT2    
      CALL LCDSTR   
      
      RET
               
  
  ORG 400H
  
  GETXS:

  MOV    A,#LCDBUF+15
  B0MOV  H,#0
  MOV    L,A 
  MOV    a,#16
  B0MOV  MTEM0,A  
C_V_B:    
  B0MOV A,MTEM0
  BTS0  XCVB1.7
  JMP   GETXS_7  
  BTS1  XCVB.0 
  JMP   GETXS_1
 
   B0MOV Y,#V_AMP$M
   B0MOV Z,#V_AMP$L
   B0ADD Z,A  
   MOVC    
  JMP   GETXS_15  
 GETXS_1:
  BTS1  XCVB.1 
  JMP  GETXS_2 
   B0MOV Y,#V_AUX1$M
   B0MOV Z,#V_AUX1$L
   B0ADD Z,A  
   MOVC 

 GETXS_1B:  
 ;  
  JMP   GETXS_15  
 GETXS_2:
   BTS1  XCVB.2 
   JMP  GETXS_3
   B0MOV Y,#V_PHONO$M
   B0MOV Z,#V_PHONO$L
   B0ADD Z,A  
   MOVC    

 
;   
  JMP   GETXS_15  
 GETXS_3:
   BTS1  XCVB.3
   JMP  GETXS_4
   B0MOV Y,#V_DVD$M
   B0MOV Z,#V_DVD$L
   B0ADD Z,A  
   MOVC   
   JMP   GETXS_15  
 GETXS_4:
   BTS1  XCVB.4
   JMP  GETXS_5
   B0MOV Y,#V_CD$M
   B0MOV Z,#V_CD$L
   B0ADD Z,A  
   MOVC       
   JMP   GETXS_15  
 GETXS_5:
   BTS1  XCVB.5 
   JMP  GETXS_6  
   XOR  A,#4
   BTS1  FZ
   JMP  GETXS_5A
   MOV A,#0X32
   JMP  GETXS_15  
 GETXS_5A:  
   B0MOV A,MTEM0
   B0MOV Y,#V_AUX1$M
   B0MOV Z,#V_AUX1$L
   B0ADD Z,A  
   MOVC
   JMP   GETXS_15  
 GETXS_6:
   BTS1  XCVB.6 
   JMP  GETXS_7
   B0MOV Y,#V_TUNER$M
   B0MOV Z,#V_TUNER$L
   B0ADD Z,A  
   MOVC 
   JMP   GETXS_15 
 GETXS_7:
  
   BTS1  XCVB1.0
   JMP  GETXS_8
   B0MOV Y,#V_BAL$M
   B0MOV Z,#V_BAL$L
   B0ADD Z,A  
   MOVC  
   JMP   GETXS_15  
 GETXS_8:   
   BTS1  XCVB1.1 
   JMP  GETXS_9
   B0MOV Y,#V_LOUDNESS$M
   B0MOV Z,#V_LOUDNESS$L
   B0ADD Z,A  
   MOVC     
   JMP   GETXS_15 
 GETXS_9:
   BTS1  XCVB1.2 
   JMP  GETXS_10
   B0MOV Y,#V_BASS$M
   B0MOV Z,#V_BASS$L
   B0ADD Z,A  
   MOVC    
   JMP   GETXS_15  
 GETXS_10: 
   BTS1  XCVB1.3 
   RET
   B0MOV Y,#V_TREBLE$M
   B0MOV Z,#V_TREBLE$L
   B0ADD Z,A  
   MOVC   
 GETXS_15:   
  
  B0MOV  @HL,A
  DECMS  L
  DECMS  MTEM0
  JMP    C_V_B  
  
  RET
////////////////////////////

 INTT0:
    
     B0MOV A,T1
     BTS1 FZ
     JMP INTT0_0
     MOV a,#22
     B0MOV T1,A    
    
   ;;;;;;;;;;;;;;;;;;;; 
     
     B0MOV A,P1
     AND   A,#0X60
     B0MOV CURBMQ,A

   
     
     BTS1   XO.7
     JMP    IBMQ_3
      
     BTS1   XO.0
     JMP    IBMQ_3        
     B0MOV  A,CURBMQ
     XOR    A,LASTBMQ
     B0MOV  TEM1,A         
     BTS1   TEM1.6
     JMP    IBMQ_1
     BTS1   CURBMQ.5
     JMP    IBMQ_1
     BTS1   CURBMQ.6
     JMP   IBMQ_1A
     
     MOV a,#KUP
     B0MOV RF2,A
     BSET  XO.1

     JMP IBMQ_1
  IBMQ_1A:
     MOV a,#KDN
     B0MOV RF2,A
     BSET XO.1     
     
  IBMQ_1: 
     
  
  IBMQ_3:   
     B0MOV A,CURBMQ
     B0MOV LASTBMQ,A
     BSET  XO.7    
      
     B0MOV A,T2
     BTS1 FZ
     JMP KEY_1
     MOV a,#3
     B0MOV T2,A  
      
     JMP KEY_2
 KEY_1:  
     
 
     DECMS T2      
           
 KEY_2:   
       
      B0MOV A,T2
      SUB   A,#4
      BTS0  FC
      CLR   T2
      INCMS T3
      JMP   KEY_2E
      
      
      ;;;;;;;;;;;;
      B0MOV A,FuncT
      SUB   A,#30
      BTS0  FC
      JMP   KEY_2A
      INCMS FuncT
      ;;;;;;;;;;;;
      jmp   KEY_2B
KEY_2A:
      BTS1 XCVB1.7
      JMP KEY_2B
      CLR XCVB1      
      BSET  XO.2
KEY_2B: 
            
KEY_2e:  

    
      B0MOV A,T2
      B0ADD  PCL,A
      JMP KEY_00
      JMP KEY_01
      JMP KEY_02
      JMP KEY_03
      JMP KEY_E
      
 KEY_00:
   
     BCLR  P1M.0
     BSET  P2M.2   
     BCLR  P2.2
     BCLR  P2M.1  

     BTS1  P1.0

     JMP  KEY_0A 
     CLR  PHCNT   
     JMP  KEY_E
 KEY_0A:
     
      B0MOV A,PHCNT     
      SUB   A,#200
      BTS1  FC      
      INCMS PHCNT
      B0MOV A,PHCNT   
      XOR   A,#20
      BTS1  FZ
      JMP   KEY_E
      BTS1  XO.0
      JMP   KEY_E 
      MOV   a,#KPHONO
      B0MOV RF2,A 
      BSET  XO.1     
      JMP   KEY_E       
 KEY_01:   
      BCLR  P0M.1
      BCLR  P2M.2
      BSET  P2M.1
      BCLR  P2.1


      BTS1  P0.1
      JMP   KEY_01A     
      CLR   AUCNT    
      JMP   KEY_01B
 KEY_01A:    
      B0MOV A,AUCNT      
      SUB   A,#200
      BTS1  FC      
      INCMS AUCNT
      B0MOV A,AUCNT      
      XOR   A,#20
      BTS1  FZ
      JMP   KEY_01B
      BTS1  XO.0
      JMP   KEY_01B
      MOV   a,#KAUX1
      B0MOV RF2,A 
      BSET  XO.1     
      JMP   KEY_01B  
  KEY_01B:

      BCLR  P5M.3
      BCLR  P2M.1
      BCLR  P2M.2 
      BTS1  P5.3
      JMP   KEY_E 
     
      BSET  P2M.2
      BCLR  P2.2 
  
      BTS1  P5.3
      JMP   KEY_01C     
      CLR   TUCNT     
      JMP   KEY_E
 KEY_01C:
       
      B0MOV A,TUCNT
      SUB   A,#200
      BTS1  FC       
      INCMS TUCNT
      B0MOV A,TUCNT      
      XOR   A,#20
      BTS1  FZ
      JMP   KEY_E
      BTS1  XO.0
      JMP   KEY_E
      MOV   a,#KTUNER
      B0MOV RF2,A 
      BSET  XO.1     
      JMP   KEY_E 
  KEY_02:  
      BCLR  P0M.1
      BCLR  P2M.1
      BSET  P2M.2
      BCLR  P2.2
     
      BTS1  P0.1
      JMP   KEY_02A
      CLR   CDCNT     
      JMP   KEY_02B
 KEY_02A:    
      B0MOV A,CDCNT     
      SUB   A,#200      
      BTS1  FC      
      INCMS CDCNT     
      B0MOV A,CDCNT
       
      XOR   A,#20
      BTS1  FZ
      JMP   KEY_02B
      BTS1  XO.0
      JMP   KEY_02B
      MOV   a,#KCD
      B0MOV RF2,A 
      BSET  XO.1     
      JMP   KEY_02B  
  KEY_02B:
      BCLR  P2M.1
      BCLR  P2M.2     
      BCLR  P5M.3
      BTS1  P5.3
      JMP   KEY_02C      
      CLR   DVCNT      
      JMP   KEY_E
 KEY_02C:       
      B0MOV A,DVCNT
      SUB   A,#200
      BTS1  FC      
      INCMS DVCNT
      B0MOV A,DVCNT      
      XOR   A,#20
      BTS1  FZ
      JMP   KEY_E
      BTS1  XO.0
      JMP   KEY_E
      MOV   a,#KDVD
      B0MOV RF2,A 
      BSET  XO.1     
      JMP   KEY_E 
KEY_03:  
      BCLR  P5M.3
      BCLR  P2M.1
      BCLR  P2M.2 
      BTS1  P5.3
      JMP   KEY_E    
    
      BSET  P2M.1
      BCLR  P2.1      
     
      BTS1  P5.3
      JMP   KEY_03A      
      CLR   A2CNT      
      JMP   KEY_03B
 KEY_03A:       
      B0MOV A,A2CNT
      SUB   A,#200
      BTS1  FC      
      INCMS A2CNT
      B0MOV A,A2CNT
       
      XOR   A,#20
      BTS1  FZ
      JMP   KEY_03B
      BTS1  XO.0
      JMP   KEY_03B
      MOV   a,#KAUX2
      B0MOV RF2,A 
      BSET  XO.1     
      JMP   KEY_03B  
  KEY_03B:
      BCLR  P1M.0
      BCLR  P2M.2
      BSET  P2M.1
      BCLR  P2.1


      BTS1  P1.0
      JMP   KEY_03C      
      CLR   FUCNT      
      JMP  KEY_E
 KEY_03C:       
      B0MOV A,FUCNT
      SUB   A,#200
      BTS1  FC      
      INCMS FUCNT
      B0MOV A,FUCNT       
      XOR   A,#20
      BTS1  FZ
      JMP   KEY_E
      MOV   A,#KFUNC
      B0MOV RF2,A 
      BSET  XO.1  
      BCLR  XCVB1.6   
      JMP   KEY_E      
 KEY_E:     
      JMP INTT0_2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -