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

📄 wl003.lst

📁 单片机播放音乐程序
💻 LST
字号:
A51 MACRO ASSEMBLER  WL003                                                                04/14/2007 15:39:21 PAGE     1


MACRO ASSEMBLER A51 V7.01
OBJECT MODULE PLACED IN wl003.OBJ
ASSEMBLER INVOKED BY: D:\Tool\Keil\C51\BIN\A51.EXE wl003.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;********************************************************************************
                       2     ;*  标题:  ME300系列单片机开发系统演示程序 - 单片机播放音乐                     *
                       3     ;*  硬件: ME300A,ME300S,ME300A+,ME300B                                         *
                       4     ;*  文件:  wl003.asm                                                            *
                       5     ;*  日期:  2004-1-5                                                             *
                       6     ;*  版本:  1.0                                                                  *
                       7     ;*  作者:  伟纳电子 - Freeman                                                   *
                       8     ;*  邮箱:  freeman@willar.com                                                   *
                       9     ;*  网站: http://www.willar.com                                                *
                      10     ;********************************************************************************
                      11     ;*  描述:                                                                       *
                      12     ;*         单片机播放歌曲《兰花草》                                             *
                      13     ;*                                                                              *
                      14     ;********************************************************************************
                      15     ;*  跳线设置:                                                                  *
                      16     ;*     ME300A+    JP1 全部短接,                                                *
                      17     ;*     ME300B     JP1 短接,                                                    *
                      18     ;*                                                                              *
                      19     ;*                                                                              *
                      20     ;********************************************************************************
                      21     ;* 【版权】 Copyright(C)伟纳电子 www.willar.com  All Rights Reserved            *
                      22     ;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
                      23     ;********************************************************************************
                      24     
  0091                25     SPK     EQU     P1.1                    ; 蜂鸣器所在端口
                      26     
0000                  27             ORG     0000H
0000 8000             28             JMP     START
                      29             
0002                  30     START:
0002 7B00             31             MOV     R3,#00H
0004                  32     NEXT:
0004 EB               33             MOV     A,R3
0005 9000B7           34             MOV     DPTR,#TABLE
0008 93               35             MOVC    A,@A+DPTR
0009 60F7             36             JZ      START
000B FF               37             MOV     R7,A
000C 0B               38             INC     R3
000D EB               39             MOV     A,R3
000E 93               40             MOVC    A,@A+DPTR
000F FA               41             MOV     R2,A
0010 1115             42             ACALL   SONG
0012 0B               43             INC     R3
0013 80EF             44             SJMP    NEXT
                      45     
                      46     
                      47     ;===============================================================================        
                      48     ;===  歌曲播放子程序 ===
0015                  49     SONG:
0015 EA               50             MOV     A,R2                                    ; 取出节拍
0016 23               51             RL      A
0017 7002             52             JNZ     KEEP
0019 7401             53             MOV     A,#01H
001B                  54     KEEP:
001B FA               55             MOV     R2,A
001C                  56     REPEAT:
001C 1121             57             ACALL   EIGHTH
001E DAFC             58             DJNZ    R2,REPEAT
A51 MACRO ASSEMBLER  WL003                                                                04/14/2007 15:39:21 PAGE     2

0020 22               59             RET
                      60             
                      61     ;===============================================================================        
                      62     ;===  产生1/8拍延时子程序  ===          
0021                  63     EIGHTH:
0021 EF               64             MOV     A,R7                                    ; 查表取出廷时参数,保存到R4
0022 90007E           65             MOV     DPTR,#DELAY_T
0025 93               66             MOVC    A,@A+DPTR
0026 FC               67             MOV     R4,A
0027 EF               68             MOV     A,R7                                    ; 查表取出1/8拍周期数,保存到R5
0028 900045           69             MOV     DPTR,#S_PARA
002B 93               70             MOVC    A,@A+DPTR
002C FD               71             MOV     R5,A
002D                  72     NEXTCYC:
002D 1132             73             ACALL   SOUND
002F DDFC             74             DJNZ    R5,NEXTCYC
0031 22               75             RET
                      76             
                      77     ;===============================================================================        
                      78     ;===  发声子程序 ===    
0032                  79     SOUND:
0032 D291             80             SETB    SPK
0034 113B             81             ACALL   SDELAY
0036 C291             82             CLR     SPK
0038 113B             83             ACALL   SDELAY
003A 22               84             RET
                      85             
                      86     ;===============================================================================        
                      87     ;===  延时子程序  ===
003B                  88     SDELAY:
003B EC               89             MOV     A,R4                                    ; 廷时值在R4内
003C F8               90             MOV     R0,A
003D                  91     XL2:
003D 7903             92             MOV     R1,#03H
003F                  93     DL1:
003F 00               94             NOP
0040 D9FD             95             DJNZ    R1,DL1
0042 D8F9             96             DJNZ    R0,XL2
0044 22               97             RET
                      98     ;===============================================================================        
                      99     ;===  1/8拍周期表  ===
0045                 100     S_PARA:
0045                 101             DS      1DH
0062 151600          102             DB      15H,16H,00
0065 19001C00        103             DB      19H,00H,1CH,00H,1FH,21H,00H,25H
0069 1F210025                
006D 00292C00        104             DB      00H,29H,2CH,00H,31H,34H,37H,00H
0071 31343700                
0075 3E410049        105             DB      3EH,41H,00H,49H,00H,52H,57H,00H
0079 00525700                
007D 62              106             DB      62H
                     107             
                     108     ;===============================================================================        
                     109     ;===  延时参数表  ===
007E                 110     DELAY_T:
007E                 111             DS      1DH
009B 7E7700          112             DB      7EH,77H,00H
009E 6A005E00        113             DB      6AH,00H,5EH,00H,54H,4FH,00H,46H
00A2 544F0046                
00A6 003F3B00        114             DB      00H,3FH,3BH,00H,35H,32H,2FH,00H
00AA 35322F00                
00AE 2A270023        115             DB      2AH,27H,00H,23H,00H,1FH,1DH,0C0H
00B2 001F1DC0                
00B6 1A              116             DB      1AH
                     117             
                     118     ;===============================================================================        
A51 MACRO ASSEMBLER  WL003                                                                04/14/2007 15:39:21 PAGE     3

                     119     ;===  歌曲表  ===
00B7                 120     TABLE:
00B7 2202            121             DW      2202H,2902H,2902H,2902H,2906H,2702H     ;我从山中来
00B9 2902                    
00BB 2902                    
00BD 2902                    
00BF 2906                    
00C1 2702                    
00C3 2502            122             DW      2502H,2702H,2502H,2402H,2208H           ;带着兰花草
00C5 2702                    
00C7 2502                    
00C9 2402                    
00CB 2208                    
00CD 2E02            123             DW      2E02H,2E02H,2E02H,2E02H,2E06H,2C02H     ;种在小园中
00CF 2E02                    
00D1 2E02                    
00D3 2E02                    
00D5 2E06                    
00D7 2C02                    
00D9 2902            124             DW      2902H,2C02H,2D02H,2A02H,2908H           ;祈祷花开早
00DB 2C02                    
00DD 2D02                    
00DF 2A02                    
00E1 2908                    
00E3 2902            125             DW      2902H,2E02H,2E02H,2C02H,2906H,2702H     ;一日看三回
00E5 2E02                    
00E7 2E02                    
00E9 2C02                    
00EB 2906                    
00ED 2702                    
00EF 2502            126             DW      2502H,2702H,2502H,2402H,2206H,1D02H     ;看得花时过
00F1 2702                    
00F3 2502                    
00F5 2402                    
00F7 2206                    
00F9 1D02                    
00FB 1D02            127             DW      1D02H,2502H,2502H,2402H,2206H,2902H     ;兰花却依然
00FD 2502                    
00FF 2502                    
0101 2402                    
0103 2206                    
0105 2902                    
0107 2702            128             DW      2702H,2502H,2402H,2002H,2208H           ;苞也无一个
0109 2502                    
010B 2402                    
010D 2002                    
010F 2208                    
0111 0000            129             DW      0000H                                   ;
                     130             
                     131             END     
A51 MACRO ASSEMBLER  WL003                                                                04/14/2007 15:39:21 PAGE     4

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

DELAY_T. . . . . .  C ADDR   007EH   A   
DL1. . . . . . . .  C ADDR   003FH   A   
EIGHTH . . . . . .  C ADDR   0021H   A   
KEEP . . . . . . .  C ADDR   001BH   A   
NEXT . . . . . . .  C ADDR   0004H   A   
NEXTCYC. . . . . .  C ADDR   002DH   A   
P1 . . . . . . . .  D ADDR   0090H   A   
REPEAT . . . . . .  C ADDR   001CH   A   
SDELAY . . . . . .  C ADDR   003BH   A   
SONG . . . . . . .  C ADDR   0015H   A   
SOUND. . . . . . .  C ADDR   0032H   A   
SPK. . . . . . . .  B ADDR   0090H.1 A   
START. . . . . . .  C ADDR   0002H   A   
S_PARA . . . . . .  C ADDR   0045H   A   
TABLE. . . . . . .  C ADDR   00B7H   A   
XL2. . . . . . . .  C ADDR   003DH   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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