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

📄 唱歌9.lst

📁 这个是大学的计算机接口实验课上经常用到的原程序
💻 LST
字号:
A51 MACRO ASSEMBLER  唱歌9                                                                04/14/2005 16:12:22 PAGE     1


MACRO ASSEMBLER A51 V1.10
OBJECT MODULE PLACED IN 唱歌9.OBJ
ASSEMBLER INVOKED BY: H:\239\A51.EXE 唱歌9.ASM DB

LOC  OBJ            LINE     SOURCE

                       1     ;实验九:单片机唱歌
0000                   2             ORG     0000H
0000 020014            3             LJMP    START
000B                   4             ORG     000BH
000B 0520              5             INC     20H     ;中断服务,中断计数器加1
000D 758CD8            6             MOV     TH0,#0D8H
0010 758AEF            7             MOV     TL0,#0EFH  ;12M晶振,形成10毫秒中断
0013 32                8             RETI
0014                   9     START:  
0014 758150           10             MOV     SP,#50H
0017 758CD8           11             MOV     TH0,#0D8H
001A 758AEF           12             MOV     TL0,#0EFH
001D 758901           13             MOV     TMOD,#01H
0020 75A882           14             MOV     IE,#82H
0023                  15     MUSIC0:
0023 00               16             NOP
0024 90007D           17             MOV     DPTR,#DAT      ;表头地址送DPTR
0027 752000           18             MOV     20H,#00H        ;中断计数器清0
002A 75F000           19             MOV     B,#00H          ;表序号清0
002D                  20     MUSIC1:
002D 00               21             NOP
002E E4               22             CLR     A
002F 93               23             MOVC    A,@A+DPTR       ;查表取代码
0030 6033             24             JZ      END0     ;是00H,则结束
0032 B4FF03           25             CJNE    A,#0FFH,MUSIC5
0035 020054           26             LJMP    MUSIC3
0038                  27     MUSIC5:
0038 00               28             NOP
0039 FE               29             MOV     R6,A
003A A3               30             INC     DPTR
003B E5F0             31             MOV     A,B
003D 93               32             MOVC    A,@A+DPTR       ;取节拍代码送R7
003E FF               33             MOV     R7,A
003F D28C             34             SETB    TR0             ;启动计数
0041                  35     MUSIC2:
0041 00               36             NOP
0042 B2A0             37             CPL     P2.0
0044 EE               38             MOV     A,R6
0045 FB               39             MOV     R3,A
0046 120072           40             LCALL   DEL
0049 EF               41             MOV     A,R7
004A B520F4           42             CJNE    A,20H,MUSIC2    ;中断计数器(20H)=R7否?
                      43                                     ;不等,则继续循环
004D 752000           44             MOV     20H,#00H        ;等于,则取下一代码
0050 A3               45             INC     DPTR
                      46     ;        INC     B
0051 02002D           47             LJMP    MUSIC1
0054                  48     MUSIC3:
0054 00               49             NOP
0055 C28C             50             CLR     TR0     ;休止100毫秒
0057 7A0D             51             MOV     R2,#0DH
0059                  52     MUSIC4:
0059 00               53             NOP
005A 7BFF             54             MOV     R3,#0FFH
005C 120072           55             LCALL   DEL
005F DAF8             56             DJNZ    R2,MUSIC4
0061 A3               57             INC     DPTR
0062 02002D           58             LJMP    MUSIC1
A51 MACRO ASSEMBLER  唱歌9                                                                04/14/2005 16:12:22 PAGE     2

0065                  59     END0:
0065 00               60             NOP
0066 7A64             61             MOV     R2,#64H ;歌曲结束,延时1秒后继续
0068                  62     MUSIC6:
0068 7B00             63             MOV     R3,#00H
006A 120072           64             LCALL   DEL
006D DAF9             65             DJNZ    R2,MUSIC6
006F 020023           66             LJMP    MUSIC0
0072                  67     DEL:
0072 00               68             NOP
0073                  69     DEL3:                  
0073 7C02             70             MOV     R4,#02H
0075                  71     DEL4:   
0075 00               72             NOP
0076 DCFD             73             DJNZ    R4,DEL4
0078 00               74             NOP
0079 DBF8             75             DJNZ    R3,DEL3
007B 22               76             RET
007C 00               77             NOP
007D                  78     DAT:
007D 26202020         79      db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h
0081 20202610
0085 20102080
0089 26203020
008D 30203910         80      db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h
0091 30103080
0095 26202020
0099 20201C20
009D 20802B20         81      db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h
00A1 26202020
00A5 2B102610
00A9 2B802620
00AD 30203020         82      db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h
00B1 39102610
00B5 26604010
00B9 39102620
00BD 30203020         83      db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h
00C1 39102610
00C5 26802620
00C9 2B102B10
00CD 2B203010         84      db 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h
00D1 39102610
00D5 2B102B20
00D9 2B404020
00DD 20102010         85      db 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h
00E1 2B102630
00E5 30801820
00E9 18202620
00ED 20202040         86      db 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h
00F1 26202B20
00F5 30203020
00F9 1C202020
00FD 20801C20         87      db 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h
0101 1C201C20
0105 30203060
0109 39103010
010D 20202B10         88      db 20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h
0111 26102B10
0115 26102610
0119 2B102B80
011D 18201820         89      db 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h
0121 26202020
0125 20602610
0129 2B203020
012D 30201C20         90      db 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h
0131 20202080
A51 MACRO ASSEMBLER  唱歌9                                                                04/14/2005 16:12:22 PAGE     3

0135 26203010
0139 30103020
013D 39202610         91      db 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h
0141 2B102B20
0145 2B404010
0149 40102010
014D 20102B10         92      db 20h,10h,2bh,10h,26h,30h,30h,80h,00H
0151 26303080
0155 00
                      93     
                      94     END 
A51 MACRO ASSEMBLER  唱歌9                                                                04/14/2005 16:12:22 PAGE     4

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


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

B. . . . . . . . .  D ADDR   00F0H   A   
DAT. . . . . . . .  C ADDR   007DH   A   
DEL. . . . . . . .  C ADDR   0072H   A   
DEL3 . . . . . . .  C ADDR   0073H   A   
DEL4 . . . . . . .  C ADDR   0075H   A   
END0 . . . . . . .  C ADDR   0065H   A   
IE . . . . . . . .  D ADDR   00A8H   A   
MUSIC0 . . . . . .  C ADDR   0023H   A   
MUSIC1 . . . . . .  C ADDR   002DH   A   
MUSIC2 . . . . . .  C ADDR   0041H   A   
MUSIC3 . . . . . .  C ADDR   0054H   A   
MUSIC4 . . . . . .  C ADDR   0059H   A   
MUSIC5 . . . . . .  C ADDR   0038H   A   
MUSIC6 . . . . . .  C ADDR   0068H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
SP . . . . . . . .  D ADDR   0081H   A   
START. . . . . . .  C ADDR   0014H   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   


REGISTER BANK(S) USED: 0 


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

⌨️ 快捷键说明

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