?? 1420.lst
字號(hào):
A51 MACRO ASSEMBLER ASMSY53 09/29/2005 08:38:36 PAGE 1
MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN ASMSY53.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE ASMSY53.ASM SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1
2
3
4
5
6
7
8
9
10
11
0080 12 REC BIT P0.0
0081 13 PLE BIT P0.1
0082 14 PLL BIT P0.2
0083 15 RECLED BIT P0.3
16
0000 17 ORG 0000H
0000 020003 18 LJMP START
0003 19 START:
20
0003 7F70 21 MOV R7,#0070H
0005 7E05 22 MOV R6,#HIGH(1500) ;1S
0007 7DDC 23 MOV R5,#LOW(1500)
0009 1154 24 CALL PLAYL
000B 7F32 25 MOV R7,#50 ;控制延時(shí)50ms
000D 26 WAIT1:
000D 120090 27 LCALL DELAY1MS
0010 DFFB 28 DJNZ R7,WAIT1
29 ;SJMP $
30
0012 7F10 31 MOV R7,#10H
0014 7E05 32 MOV R6,#HIGH(1500)
0016 7DDC 33 MOV R5,#LOW(1500)
0018 1154 34 CALL PLAYL
35
001A 7F32 36 MOV R7,#50 ;控制延時(shí)50ms
001C 37 WAIT2:
001C 120090 38 LCALL DELAY1MS
001F DFFB 39 DJNZ R7,WAIT2
40 ;SJMP $
41
0021 7F20 42 MOV R7,#20H
0023 7E05 43 MOV R6,#HIGH(1500)
0025 7DDC 44 MOV R5,#LOW(1500)
0027 1154 45 CALL PLAYL
46
0029 7F32 47 MOV R7,#50 ;控制延時(shí)50ms
002B 48 WAIT3:
002B 120090 49 LCALL DELAY1MS
002E DFFB 50 DJNZ R7,WAIT3
51 ;SJMP $
52
0030 7F00 53 MOV R7,#00H
0032 7E05 54 MOV R6,#HIGH(1500)
0034 7DDC 55 MOV R5,#LOW(1500)
0036 1167 56 CALL PLAYE
57
0038 80FE 58 SJMP $
A51 MACRO ASSEMBLER ASMSY53 09/29/2005 08:38:36 PAGE 2
59
60
61 ;**************************************
62 ; 名稱:RECORD
63 ; 功能:錄音
64 ; 入口:R7(開(kāi)始地址),R6(H),R5(L)(錄音時(shí)間,單位:ms)
65 ; 如果R6,R5>剩余錄音時(shí)間,則錄完為止
66 ;**************************************
003A 67 RECORD:
003A EF 68 MOV A,R7
003B 120077 69 LCALL ADDR_OUT ;設(shè)定開(kāi)始錄音地址
003E C280 70 CLR REC ;控制開(kāi)始錄音
71
0040 7F32 72 MOV R7,#50 ;控制延時(shí)50ms
0042 73 RECORD1:
0042 120090 74 LCALL DELAY1MS
0045 DFFB 75 DJNZ R7,RECORD1
0047 76 RECORD2:
0047 120090 77 LCALL DELAY1MS ;延時(shí)1ms
004A 208304 78 JB RECLED,RECORD3 ;錄音模塊錄滿結(jié)束判斷
004D DDF8 79 DJNZ R5,RECORD2 ;錄音時(shí)間控制
004F DEF6 80 DJNZ R6,RECORD2
0051 81 RECORD3:
0051 D280 82 SETB REC ;釋放錄音按鍵
0053 22 83 RET
84
85
86 ;**************************************
87 ;名稱:PLAYL
88 ;功能:電平控制放音
89 ;入口:R7(開(kāi)始地址),R6(H),R5(L)(放音時(shí)間,單位:ms)
90 ; 如果R6,R5>剩余放音時(shí)間,則放完為止
91 ;**************************************
0054 92 PLAYL:
0054 EF 93 MOV A,R7
0055 120077 94 LCALL ADDR_OUT ;設(shè)定開(kāi)始播放地址
0058 C282 95 CLR PLL ;控制播放
005A 96 PLAYL1:
005A 120090 97 LCALL DELAY1MS ;延時(shí)1ms
005D 308304 98 JNB RECLED,PLAYL2 ;檢測(cè)語(yǔ)音模塊是否播放完畢
0060 DDF8 99 DJNZ R5,PLAYL1 ;播放時(shí)間控制
0062 DEF6 100 DJNZ R6,PLAYL1
0064 101 PLAYL2:
0064 D282 102 SETB PLL ;釋放播放按鍵
0066 22 103 RET
104
105
106 ;**************************************
107 ;名稱:PLAYE
108 ;功能:脈沖觸發(fā)放音
109 ;入口:R7(開(kāi)始地址)
110 ;**************************************
0067 111 PLAYE:
0067 EF 112 MOV A,R7
0068 120077 113 LCALL ADDR_OUT ;設(shè)定開(kāi)始播放地址
006B C281 114 CLR PLE ;控制脈沖觸發(fā)播放
006D 7F32 115 MOV R7,#50 ;延時(shí)50ms
006F 116 PLAYE1:
006F 120090 117 LCALL DELAY1MS
0072 DFFB 118 DJNZ R7,PLAYE1
0074 D281 119 SETB PLE ;結(jié)束控制信號(hào)
0076 22 120 RET
121
122 ;**************************************
123 ;名稱:ADDR_OUT
124 ;功能:發(fā)送地址
A51 MACRO ASSEMBLER ASMSY53 09/29/2005 08:38:36 PAGE 3
125 ;入口:A(地址)
126 ;**************************************
0077 127 ADDR_OUT:
0077 33 128 RLC A
0078 9297 129 MOV P1.7,C
007A 33 130 RLC A
007B 9296 131 MOV P1.6,C
007D 33 132 RLC A
007E 9295 133 MOV P1.5,C
0080 33 134 RLC A
0081 9294 135 MOV P1.4,C
0083 33 136 RLC A
0084 9293 137 MOV P1.3,C
0086 33 138 RLC A
0087 9292 139 MOV P1.2,C
0089 33 140 RLC A
008A 9291 141 MOV P1.1,C
008C 33 142 RLC A
008D 9290 143 MOV P1.0,C
008F 22 144 RET
145
146 ;**************************************
147 ; 名稱:DELAY1MS
148 ; 功能:延時(shí)1MS
149 ; 入口:R6,R5
150 ;**************************************
0090 151 DELAY1MS:
0090 7CF9 152 MOV R4, #249 ;12M晶振:1000=2+2+(1+1+2)*249
0092 153 DELAY1MS1:
0092 00 154 NOP
0093 00 155 NOP
0094 DCFC 156 DJNZ R4,DELAY1MS1
0096 22 157 RET
158
159
160 END
A51 MACRO ASSEMBLER ASMSY53 09/29/2005 08:38:36 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ADDR_OUT . . . . . C ADDR 0077H A
DELAY1MS . . . . . C ADDR 0090H A
DELAY1MS1. . . . . C ADDR 0092H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
PLAYE. . . . . . . C ADDR 0067H A
PLAYE1 . . . . . . C ADDR 006FH A
PLAYL. . . . . . . C ADDR 0054H A
PLAYL1 . . . . . . C ADDR 005AH A
PLAYL2 . . . . . . C ADDR 0064H A
PLE. . . . . . . . B ADDR 0080H.1 A
PLL. . . . . . . . B ADDR 0080H.2 A
REC. . . . . . . . B ADDR 0080H.0 A
RECLED . . . . . . B ADDR 0080H.3 A
RECORD . . . . . . C ADDR 003AH A
RECORD1. . . . . . C ADDR 0042H A
RECORD2. . . . . . C ADDR 0047H A
RECORD3. . . . . . C ADDR 0051H A
START. . . . . . . C ADDR 0003H A
WAIT1. . . . . . . C ADDR 000DH A
WAIT2. . . . . . . C ADDR 001CH A
WAIT3. . . . . . . C ADDR 002BH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -