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

📄 wl003.lst

📁 本例程单片机唱歌的汇编语言程序,使用的开发工具是keil工具
💻 LST
字号:
A51 MACRO ASSEMBLER  WL003                                                                02/04/2005 14:23:49 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ;********************************************************************************
                       2     ;*                                                                              *
                       3     ;*    File       : wl003.asm                                                      *
                       4     ;*    Date       : 2004-1-5                                                     *
                       5     ;*    Version    : 1.0                                                          *
                       6     ;*                                                                              *
                       7     ;*    Author     : Freeman          freeman@willar.com                          *
                       8     ;*    Company    : Willar           www.willar.com                              *
                       9     ;*                                                                              *
                      10     ;********************************************************************************
                      11     ;*    Descriptoon:                                                              *
                      12     ;*                 单片机播放音乐                                               *
                      13     ;*                                                                              *
                      14     ;*                                                                              *
                      15     ;*                                                                              *
                      16     ;********************************************************************************
                      17     
  00B7                18     SPK     EQU     P3.7                    ; 蜂鸣器所在端口
                      19     
0000                  20             ORG     0000H
0000 8000             21             JMP     START
                      22             
0002                  23     START:
0002 7B00             24             MOV     R3,#00H
0004                  25     NEXT:
0004 EB               26             MOV     A,R3
0005 9000B7           27             MOV     DPTR,#TABLE
0008 93               28             MOVC    A,@A+DPTR
0009 60F7             29             JZ      START
000B FF               30             MOV     R7,A
000C 0B               31             INC     R3
000D EB               32             MOV     A,R3
000E 93               33             MOVC    A,@A+DPTR
000F FA               34             MOV     R2,A
0010 1115             35             ACALL   SONG
0012 0B               36             INC     R3
0013 80EF             37             SJMP    NEXT
                      38     
                      39     
                      40     ;===============================================================================        
                      41     ;===  歌曲播放子程序 ===
0015                  42     SONG:
0015 EA               43             MOV     A,R2                                    ; 取出节拍
0016 23               44             RL      A
0017 7002             45             JNZ     KEEP
0019 7401             46             MOV     A,#01H
001B                  47     KEEP:
001B FA               48             MOV     R2,A
001C                  49     REPEAT:
001C 1121             50             ACALL   EIGHTH
001E DAFC             51             DJNZ    R2,REPEAT
0020 22               52             RET
                      53             
                      54     ;===============================================================================        
                      55     ;===  产生1/8拍延时子程序  ===          
0021                  56     EIGHTH:
0021 EF               57             MOV     A,R7                                    ; 查表取出廷时参数,保存到R4
0022 90007E           58             MOV     DPTR,#DELAY_T
A51 MACRO ASSEMBLER  WL003                                                                02/04/2005 14:23:49 PAGE     2

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

00C1 2702                    
00C3 2502            115             DW      2502H,2702H,2502H,2402H,2208H           ;带着兰花草
00C5 2702                    
00C7 2502                    
00C9 2402                    
00CB 2208                    
00CD 2E02            116             DW      2E02H,2E02H,2E02H,2E02H,2E06H,2C02H     ;种在小园中
00CF 2E02                    
00D1 2E02                    
00D3 2E02                    
00D5 2E06                    
00D7 2C02                    
00D9 2902            117             DW      2902H,2C02H,2D02H,2A02H,2908H           ;祈祷花开早
00DB 2C02                    
00DD 2D02                    
00DF 2A02                    
00E1 2908                    
00E3 2902            118             DW      2902H,2E02H,2E02H,2C02H,2906H,2702H     ;一日看三回
00E5 2E02                    
00E7 2E02                    
00E9 2C02                    
00EB 2906                    
00ED 2702                    
00EF 2502            119             DW      2502H,2702H,2502H,2402H,2206H,1D02H     ;看得花时过
00F1 2702                    
00F3 2502                    
00F5 2402                    
00F7 2206                    
00F9 1D02                    
00FB 1D02            120             DW      1D02H,2502H,2502H,2402H,2206H,2902H     ;兰花却依然
00FD 2502                    
00FF 2502                    
0101 2402                    
0103 2206                    
0105 2902                    
0107 2702            121             DW      2702H,2502H,2402H,2002H,2208H           ;苞也无一个
0109 2502                    
010B 2402                    
010D 2002                    
010F 2208                    
0111 0000            122             DW      0000H                                   ;
                     123             
                     124             END     
A51 MACRO ASSEMBLER  WL003                                                                02/04/2005 14:23:49 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   
P3 . . . . . . . .  D ADDR   00B0H   A   
REPEAT . . . . . .  C ADDR   001CH   A   
SDELAY . . . . . .  C ADDR   003BH   A   
SONG . . . . . . .  C ADDR   0015H   A   
SOUND. . . . . . .  C ADDR   0032H   A   
SPK. . . . . . . .  B ADDR   00B0H.7 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 + -