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

📄 rem.asm

📁 10首儿歌音乐的程序源码
💻 ASM
📖 第 1 页 / 共 3 页
字号:
         JMP     LOOPMC            ; TO  200H ADR(CAN USE TABRDC THIS PAGE)  
 
           ;  ****  Music mid/end  come here ,check  anjian & Tv call 100ms ***
 YWAKEAB:                          ; Anjian wake ?     
     CLR     LSBITA
     SZ      RAMS.6                ; 80h is musci rest-anjian check,COH music over!     
     SET     LSBITA 
     CLR     SPK                   ; STOP  SPK=PA0                   
     CLR     WDT                   ;CLR  PA1    ; OFFSET TV Call Vcc   
 POLLINGA:
     ;CALL    SCAN_KEY_MATRIX       ; SCAN KEY PROCEDURE
     ;CALL    F_DELAY               ; TIME DELAY PROCEDURE
     ;CALL    SEND_REMOTE_CODE      ; SEND CODE PROCEDURE
     ;SZ      MultiBIT              ; Check Invalid Key
     ;JMP     POLLINGA              ; <>0
     ;SZ      SENDBIT               ; =0 Check Validity Key
     ;JMP     POLLINGA              ; <>0 FA
     ;SZ      NOWKEY                ; =0 Check NO Key Press
     ;JMP     POLLINGA              ; <>0  
     MOV     A,00000000B            ; clr  spk clr vcc     
     MOV     PA,A                   ; Scan Column PA PORT OUTPUT       
     SET     PB                     ; PB=FF SET PB0,PB1 Pull-Up
     MOV     A,PB                   ; Read on column value to PBVALUE   
     OR      A,11000001B            ; PB7\PB6(NO)PB0(CALL IN),NO ANJIAN=FF
     SIZA    ACC                    ; FF+1=0 NO ANJIAN
     JMP     YWAKE                  ; YOU ANJIAN
          
          SET     PA1              ; gnd TO GND
          SZ      LSBITA           ; 80H song goon..          
          INC     MUSICTIM         ; C0H is NEXT MUSIC C0H is song over!
          CLR     WDT              ; 80H  spend 37ms again check call signal ***
          CLR     RAMC             ; Jishu
          MOV     A,PB
          MOV     RAMLS,A           ; Ls Save
          MOV     A,247D
          MOV     RAMS,A            ; Ys Ram 37MS/8.79US=4209
 YS37MSR:                           ; 37ms Have 53-61 changes
          MOV     A,PB
          XOR     A,RAMLS           ; Yihuo last time -> A
          SZ      ACC.0             ; = Is 0 ; <> Is 1  
          JMP     BUTONGAR
          NOP2                      ; 17X(?-1)+11+10 = 4209 --> Shiji=36.944MS
          NOP2
          NOP2
          NOP2
          NOP
          CLR     WDT               ; WDT=2048X8.79US=18MS       
 OVERYAR:     
          SDZ     RAMS              ; = XIANGTONG [m]
          JMP     YS37MSR
  CALTAR:                           ; Lilun=3-6 changes Fast judge
          MOV     A,RAMC
          SUB     A,040D            ; tiaojian jiangdi
          SZ      STA_C             ; C-FLAG=0 A<40 
          JMP     DAYD53R           ; C=1 A>=40
          JMP     YWAKE             ; TV NO CALL -- EXIT
 BUTONGAR: 
          NOP2
          NOP2
          CLR     WDT
          INC     RAMC              ; Jishu+1
          CPL     RAMLS             ; /RAMLS.5=PB.5(This time)
          JMP     OVERYAR
 DAYD53R:                           ; >=40 ok!    <=75?
          MOV     A,RAMC
          SUB     A,075D
          SZ      STA_C             ; C=0 A<75
          JMP     YWAKE             ; TV NO CALL -- C=1 A>=75                
          SZ      LSBITA            ; TV CALL    
          JMP     STASONG           ; C0H is NEXT Song
          INC     RAMR              ; 80H This Song is go on! Music Next Dat 
          JMP     LOOPMC              
     ; === Up Tv call music over! ====











; ==== MUSIC ADR OFFSET ,True Adr is 02xxH & 03xxH ,This is xx =====
        ORG     1F0H
        DW      0028H          ; MUSIC O     adr: 0228h
        DW      0058H          ; MUSIC 1     adr: 0258h
        DW      0002H          ; MUSIC 2   
        DW      0003H          ; MUSIC 3    
        DW      0004H          ; MUSIC 4
        DW      0005H          ; MUSIC 5    
        DW      0006H          ; MUSIC 6   
        DW      0007H          ; MUSIC 7   
        DW      0008H          ; MUSIC 8    
        DW      0009H          ; MUSIC 9
        DW      000AH          ; MUSIC 1O    
        DW      000BH          ; MUSIC 11   
        DW      1041H          ; MUSIC 12    adr: 0341h
        DW      1041H          ; MUSIC 13    
        DW      1041H          ; MUSIC 14
        DW      1041H          ; MUSIC 15  


         ORG     200H              ; CAN USE TABRDC
LOOPMC:
         MOV     A,RAMR
         MOV     TBLP,A            ; TABLE LOW 8BIT ADR   TABRDL=LAST PAGE 0300H 
         TABRDC  RAMS              ; RAMS=LOW      DAT8   MO REN       
         SZ      RAMWA.4           ; 1-03xxH(TABRDL)  0-02xxH(TABRDC) 
         TABRDL  RAMS              ; Ramwa.4=1 is 03xxH     
         CLR     WDT
         SZ      RAMS.7            ; RAMS<>0 ? STOP ? YS1S (65MS)
         JMP     YWAKEAB           ; Songs over! --->CLR SPK(ANJIAN +CALL=22MS+43MS=65MS)
         MOV     A,TBLH            ; TBLH=00+HIGH  DAT6   FRE/2
         MOV     RAMT,A            ; FRE/2         
         MOV     A,RAMS
         MOV     RAMLS,A           ; YS USED 
         MOV     RAMD,A            ; (TBLH X TBLH)X[9+3(RAMT-1)]X8.79US=0.5S(Jipai)
 SPKON:         
         MOV     A,00000001B
         XORM    A,PA              ; /PA0 PA1-PA7 NOT CHANGE SPK ; [8+(RAMT-1)X3]X8.79  
         MOV     A,RAMT
 YSFRE:  
          SDZ     ACC
          JMP     YSFRE
          CLR     WDT
          SDZ     RAMS
          JMP     SPKON
          CLR     WDT              ; 1Cycles
           MOV     A,00000001B     ; KEEP Goon
           XORM    A,PA       
           MOV     A,RAMD
           MOV     RAMS,A          ; 1
           MOV     A,RAMT          ; 2 
           SUB     A,002D          ; 3+3 TOTAL=6 (SUB A-2)X3                                 
          SDZ     RAMLS
          JMP     YSFRE            ; CLR  SPK  ; No noise
           INC     RAMR
           JMP     LOOPMC 




  
    
        ORG    228H
  ; =====  Music  Dat =====
  ;  ** Songs1 -->liang zhi lao hu **
        ;    --000000  00000000
        ;    00||||||  ||||||||
        ;    00||||||  ++++++++-> 8 bit Jipai
        ;    00++++++->           6 bit  Fre
        ;        low fre                  high fre
        DW        1A17H             ;      101DH  
        DW        1719H             ;      0E1FH
        DW        151AH             ;      0C21H
        DW        1A17H             ;      101DH
        DW       0180H            ;     rest
        DW        1A17H             ;      101DH 
        DW        1719H             ;      0E1FH
        DW        151AH             ;      0C21H
        DW        1A17H             ;      101DH
        DW       0180H            ;     rest
        DW        151AH             ;      0C21H
        DW        131BH             ;      0B22H
        DW        1128H             ;      0A32H
        DW       0180H            ;     rest
        DW        151AH             ;      0C21H
        DW        131BH             ;      0B22H 
        DW        1128H             ;      0A32H
        DW       0180H            ;     rest
        DW        1114H             ;      0A19H
        DW        0F15H             ;      091AH
        DW        1114H             ;      0A19H
        DW        1313H             ;      0B18H
        DW        151AH             ;      0C21H
        DW        1A17H             ;      101DH
        DW       0180H            ;     rest
        DW        1114H             ;      0A19H 
        DW        0F15H             ;      091AH
        DW        1114H             ;      0A19H
        DW        1313H             ;      0B18H
        DW        151AH             ;      0C21H
        DW        1A17H             ;      101DH
        DW       0180H            ;     rest
        DW        1A17H             ;      101DH
        DW        111CH             ;      0A23H
        DW        1A21H             ;      1029H
        DW       0180H            ;     rest 
        DW        1A17H             ;      101DH
        DW        111CH             ;      0A23H
        DW        1A21H             ;      1029H               
        DW       01C0H              ; 80H is rest,check anjian; C0h is over    
        DW       01C0H            

       ORG     258H       
  ;  ** Songs2 -->Zhao peng you **
        DW        3E0DH;1A10H    
        DW        3E0DH;1A10H 
        DW        3E0FH;1A0CH   
        DW        370CH;1715H           
        DW       0180H             ; rest    
        DW        310FH;1512H    
        DW        2910H;1114H 
        DW        2917H;111CH   
        DW       0180H             ; rest 
        DW        2910H;1114H
        DW        2411H;0F15H    
        DW        2910H;1114H 
        DW        310FH;1512H   
        DW       0180H
        DW        370EH;1711H       
        DW        310FH;1512H    
        DW        3714H;1719H 
        DW       0180H             ; rest 
        DW        310FH;1512H   
        DW        3E0DH;1A10H       
        DW        3E13H;1A17H    
        DW       0180H             ; rest 
        DW        2910H;1114H 
        DW        310FH;1512H   
        DW        3714H;1719H
        DW       0180H             ; rest        
        DW        3E0DH;1A10H    
        DW        370EH;1711H 
        DW        310FH;1512H   
        DW        2910H;1114H 
        DW       0180H             ; rest          
        DW        370EH;1711H    
        DW        310FH;1512H 
        DW        3E13H;1A17H   
        DW       01C0H             ; 80H is rest,check anjian; C0h is over  
        DW       01C0H                  


; =====  Remote Table Array ====== DW 14BIT  MAX: 3FFFH
        ORG     300H
  ;    --000000 00000000
  ;      ||       ||||||
  ;      ||       ++++++-> 6 bit Data code
  ;      |+++++->          5 bit System code    START BIT (11 & 10)
  ;      0 4P30(PT2210)  1 REMOTE CAR 4GE500HZ(3/4)@8BIT 1KHZ(1/2) RIGHT: 2040H(--10 0000 0100 0000)
        DW      00FFH              ; Key XX :                  :00
        DW      00FFH              ; Key 1  : --->             :01
        DW      00FFH              ; Key 2  : --->             :02
        DW      00FFH              ; Key 3  :                  :03
        DW      00FFH              ; Key 4  :                  :04
        DW      00FFH              ; Key 5  :                  :05
        DW      00FFH              ; Key 6  :  ALLTIME-00FF    :06
        DW      00FFH              ; Key 7  :  ALLTIME-00FF    :07
        DW      00FFH              ; Key 8  :  ALLTIME-00FF    :08
        DW      00FFH              ; Key 9  :                  :09
        DW      000CH              ; Key 10 :                  :10
        DW      00FFH              ; Key 11 :                  :11
        DW      002AH              ; Key 12 :                  :12
        DW      0001H              ; Key 13 :                  :13
        DW      001DH              ; Key 14 :  ALLTIME-00FF    :14
        DW      00FFH              ; Key 15 :  ALLTIME-00FF    :15
        DW      00FFH              ; Key 16 :  ALLTIME-00FF    :16
        DW      00FFH              ; Key 17 :                  :17
        DW      0004H              ; Key 18 :                  :18
        DW      002FH              ; Key 19 :                  :19
        DW      0015H              ; Key 20 :                  :20
        DW      0005H              ; Key 21 :                  :21
        DW      0010H              ; Key 22 :  ALLTIME-00FF    :22
        DW      00FFH              ; Key 23 :  ALLTIME-00FF    :23
        DW      00FFH              ; Key 24 :  ALLTIME-00FF    :24
        DW      00FFH              ; Key 25 :                  :25
        DW      0007H              ; Key 26 :                  :26
        DW      000FH              ; Key 27 :                  :27
        DW      0016H              ; Key 28 : RHT  001A-HRS    :28
        DW      0000H              ; Key 29 :                  :29
        DW      000AH              ; Key 30 :  ALLTIME-00FF    :30
        DW      00FFH              ; Key 31 :  ALLTIME-00FF    :31
        DW      00FFH              ; Key 32 :  ALLTIME-00FF    :32
        DW      00FFH              ; Key 33 :                  :33
        DW      0008H              ; Key 34 :                  :34
        DW      0009H              ; Key 35 :                  :35
        DW      0013H              ; Key 36 :  LFT 0019H-LTS   :36
        DW      0006H              ; Key 37 :                  :37
        DW      0011H              ; Key 38 :  ALLTIME-00FF    :38
        DW      00FFH              ; Key 39 :  ALLTIME-00FF    :39
        DW      00FFH              ; Key 40 :  ALLTIME-00FF    :40
        DW      00FFH              ; Key 41 :                  :41
        DW      000BH              ; Key 42 :                  :42
        DW      001CH              ; Key 43 :                  :43
        DW      0014H              ; Key 44 :                  :44
        DW      0003H              ; Key 45 :                  :45
        DW      0017H              ; Key 46 :  ALLTIME-00FF    :46
        DW      00FFH              ; Key 47 :  ALLTIME-00FF    :47
        DW      00FFH              ; Key 48 :  ALLTIME-00FF    :48
        DW      00FFH              ; Key 49 :                  :49
        DW      0018H              ; Key 50 :                  :50
        DW      0029H              ; Key 51 :                  :51
        DW      0028H              ; Key 52 :  BK  001CH-PB    :52
        DW      0012H              ; Key 53 :                  :53
        DW      0019H              ; Key 54 :  ALLTIME-00FF    :54
        DW      00FFH              ; Key 55 :  ALLTIME-00FF    :55
        DW      00FFH              ; Key 56 :  ALLTIME-00FF    :56
        DW      00FFH              ; Key 57 :                  :57
        DW      000DH              ; Key 58 :                  :58
        DW      001AH              ; Key 59 :                  :59
        DW      0022H              ; Key 60 :                  :60
        DW      0002H              ; Key 61 :                  :61
        DW      000EH              ; Key 62 :  ALLTIME-00FF    :62
        DW      00FFH              ; Key 63 :  ALLTIME-00FF    :63
        DW      00FFH              ; Key 64 :  ALLTIME-00FF    :64
      END

⌨️ 快捷键说明

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