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

📄 electronic organ.lst

📁 用到Proteus软件来仿真51单片机
💻 LST
字号:
A51 MACRO ASSEMBLER  ELECTRONIC_ORGAN                                                     08/02/2006 11:02:15 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN Electronic Organ.OBJ
ASSEMBLER INVOKED BY: e:\Program Files\Keil\C51\BIN\A51.EXE Electronic Organ.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

  0030                 1     LINE    EQU             30H
  0031                 2     ROW             EQU             31H
  0032                 3     VAL             EQU             32H
0000                   4                     ORG             00H
0000 800C              5                     SJMP    START
000B                   6                     ORG             0BH
000B 0200B7            7                     LJMP    INT_T0
000E 758000            8     START:  MOV             P0,#00H
0011 758901            9                     MOV             TMOD,#01H
                      10     ;******************************************
                      11     ;按键扫描程序
                      12     ;******************************************
0014 75B0F0           13     LSCAN:  MOV             P3,#0F0H        
0017 30B00C           14     L1:             JNB             P3.0,L2
001A 1200CC           15                     LCALL   DELAY
001D 30B006           16                     JNB             P3.0,L2
0020 753000           17                     MOV             LINE,#00H
0023 020050           18                     LJMP    RSCAN
0026 30B10C           19     L2:             JNB             P3.1,L3
0029 1200CC           20                     LCALL   DELAY
002C 30B106           21                     JNB             P3.1,L3
002F 753001           22                     MOV             LINE,#01H
0032 020050           23                     LJMP    RSCAN
0035 30B20C           24     L3:             JNB             P3.2,L4
0038 1200CC           25                     LCALL   DELAY
003B 30B206           26                     JNB             P3.2,L4
003E 753002           27                     MOV             LINE,#02H
0041 020050           28                     LJMP    RSCAN
0044 30B3D0           29     L4:             JNB             P3.3,L1
0047 1200CC           30                     LCALL   DELAY
004A 30B3CA           31                     JNB             P3.3,L1
004D 753003           32                     MOV             LINE,#03H
                      33     
0050 75B00F           34     RSCAN:  MOV             P3,#0FH
0053 30B406           35     C1:             JNB             P3.4,C2
0056 753100           36                     MOV             ROW,#00H
0059 020074           37                     LJMP    CALCU
005C 30B506           38     C2:             JNB             P3.5,C3
005F 753101           39                     MOV             ROW,#01H
0062 020074           40                     LJMP    CALCU
0065 30B606           41     C3:             JNB             P3.6,C4
0068 753102           42                     MOV             ROW,#02H
006B 020074           43                     LJMP    CALCU
006E 30B7E2           44     C4:             JNB             P3.7,C1
0071 753103           45                     MOV             ROW,#03H                
                      46     
0074 E530             47     CALCU:  MOV             A,LINE                  ;计算键号
0076 75F004           48                     MOV             B,#04H
0079 A4               49                     MUL             AB
007A 2531             50                     ADD             A,ROW
007C F532             51                     MOV             VAL,A
                      52     ;*******************************************
                      53     ;根据键号查表得到定时器的定时常数,
                      54     ;从而发出不同频率的声音
                      55     ;*******************************************
007E 9000E5           56                     MOV             DPTR,#TABLE2    
0081 75F002           57                     MOV             B,#2
0084 A4               58                     MUL             AB
A51 MACRO ASSEMBLER  ELECTRONIC_ORGAN                                                     08/02/2006 11:02:15 PAGE     2

0085 F9               59                     MOV             R1,A
0086 93               60                     MOVC    A,@A+DPTR
0087 F58C             61                     MOV             TH0,A
0089 09               62                     INC             R1
008A E9               63                     MOV             A,R1
008B 93               64                     MOVC    A,@A+DPTR
008C F58A             65                     MOV             TL0,A
008E 75A882           66                     MOV             IE,#82H
0091 D28C             67                     SETB    TR0
                      68     
0093 E532             69                     MOV             A,VAL                   ;显示键号
0095 9000D5           70                     MOV             DPTR,#TABLE1
0098 93               71                     MOVC    A,@A+DPTR
0099 F580             72                     MOV             P0,A
                      73     ;*******************************************
                      74     ;等待按键释放
                      75     ;*******************************************
009B E5B0             76             W0:     MOV             A,P3                    
009D B40F08           77                     CJNE    A,#0FH,W1
00A0 758000           78                     MOV             P0,#00H
00A3 C28C             79                     CLR             TR0
00A5 020014           80                     LJMP    LSCAN
00A8 E5B0             81             W1:     MOV             A,P3
00AA B4F008           82                     CJNE    A,#0F0H,W2
00AD 758000           83                     MOV             P0,#00H
00B0 C28C             84                     CLR             TR0
00B2 020014           85                     LJMP    LSCAN
00B5 80E4             86             W2:     SJMP    W0      
                      87     ;****************************************
                      88     ;定时器0中断服务程序,输出特定频率的方波,
                      89     ;驱动扬声器发声
                      90     ;****************************************
00B7 9000E5           91     INT_T0: MOV             DPTR,#TABLE2
00BA E532             92                     MOV             A,VAL
00BC 75F002           93                     MOV             B,#2
00BF A4               94                     MUL             AB
00C0 F9               95                     MOV             R1,A
00C1 93               96                     MOVC    A,@A+DPTR
00C2 F58C             97                     MOV             TH0,A
00C4 09               98                     INC             R1
00C5 E9               99                     MOV             A,R1
00C6 93              100                     MOVC    A,@A+DPTR
00C7 F58A            101                     MOV             TL0,A
00C9 B290            102                     CPL             P1.0
00CB 32              103                     RETI    
                     104     
00CC 7E0A            105     DELAY:  MOV             R6,#10
00CE 7FFA            106     D1:             MOV             R7,#250
00D0 DFFE            107                     DJNZ    R7,$
00D2 DEFA            108                     DJNZ    R6,D1
00D4 22              109                     RET
                     110     
00D5 3F065B4F        111     TABLE1: DB              3FH,06H,5BH,4FH,66H,6DH,7DH,07H
00D9 666D7D07                
00DD 7F6F777C        112                     DB              7FH,6FH,77H,7CH,39H,5EH,79H,71H
00E1 395E7971                
00E5 FA15            113     TABLE2: DW              64021,64103,64260,64400
00E7 FA67                    
00E9 FB04                    
00EB FB90                    
00ED FC0C            114                     DW              64524,64580,64684,64777
00EF FC44                    
00F1 FCAC                    
00F3 FD09                    
00F5 FD34            115                     DW              64820,64898,64968,65030
00F7 FD82                    
A51 MACRO ASSEMBLER  ELECTRONIC_ORGAN                                                     08/02/2006 11:02:15 PAGE     3

00F9 FDC8                    
00FB FE06                    
00FD FE22            116                     DW              65058,65110,65157,65178
00FF FE56                    
0101 FE85                    
0103 FE9A                    
                     117                     END
A51 MACRO ASSEMBLER  ELECTRONIC_ORGAN                                                     08/02/2006 11:02:15 PAGE     4

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


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

B. . . . . . . . .  D ADDR   00F0H   A   
C1 . . . . . . . .  C ADDR   0053H   A   
C2 . . . . . . . .  C ADDR   005CH   A   
C3 . . . . . . . .  C ADDR   0065H   A   
C4 . . . . . . . .  C ADDR   006EH   A   
CALCU. . . . . . .  C ADDR   0074H   A   
D1 . . . . . . . .  C ADDR   00CEH   A   
DELAY. . . . . . .  C ADDR   00CCH   A   
IE . . . . . . . .  D ADDR   00A8H   A   
INT_T0 . . . . . .  C ADDR   00B7H   A   
L1 . . . . . . . .  C ADDR   0017H   A   
L2 . . . . . . . .  C ADDR   0026H   A   
L3 . . . . . . . .  C ADDR   0035H   A   
L4 . . . . . . . .  C ADDR   0044H   A   
LINE . . . . . . .  N NUMB   0030H   A   
LSCAN. . . . . . .  C ADDR   0014H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
ROW. . . . . . . .  N NUMB   0031H   A   
RSCAN. . . . . . .  C ADDR   0050H   A   
START. . . . . . .  C ADDR   000EH   A   
TABLE1 . . . . . .  C ADDR   00D5H   A   
TABLE2 . . . . . .  C ADDR   00E5H   A   
TH0. . . . . . . .  D ADDR   008CH   A   
TL0. . . . . . . .  D ADDR   008AH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   
VAL. . . . . . . .  N NUMB   0032H   A   
W0 . . . . . . . .  C ADDR   009BH   A   
W1 . . . . . . . .  C ADDR   00A8H   A   
W2 . . . . . . . .  C ADDR   00B5H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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