📄 c8051f020.inc
字号:
LCALL DEL65S ;连续放音65秒
005A 1200EC 264 LCALL STOP ;停止放音。
265
005D 015D 266 AJMP $
267
268 ;⑵主机向ISD4004连续发送茸纸谥噶畹淖映绦駽OMM:
269 ;操作指令(单字节)在COM中,起始地址的高8位在ADDRH中,低8位在ADDRL中。
005F C291 270 COMM: CLR CS
0061 E522 271 MOV A,ADDRL
0063 1200FE 272 LCALL TRANSFER
0066 E520 273 MOV A,ADDRH
0068 1200FE 274 LCALL TRANSFER
006B E523 275 MOV A,COM
006D 1200FE 276 LCALL TRANSFER
0070 D291 277 SETB CS
0072 22 278 RET
279 ;实验30 16分种语音录放芯片ISD4004实验
280 ;⒀延时25毫秒的子程序DEL25MS:
0073 7F19 281 DEL25MS: MOV R7,#25 ;延时25毫秒的子程序(假设主机晶振为6MHZ)
0075 7E00 282 PPP: MOV R6,#00
0077 DEFE 283 DJNZ R6,$
0079 DFFA 284 DJNZ R7 ,PPP
007B 22 285 RET
286 ;⒁延时65秒的子程序DEL65S:
007C 7F00 287 DEL65S: MOV R7,#0H ;延时65秒(假设主机晶振为6MHZ)
007E 7E00 288 PP : MOV R6,#0
0080 7D00 289 PK : MOV R5,#00
0082 DDFE 290 DJNZ R5,$
0084 DEFA 291 DJNZ R6 ,PK
0086 DFF6 292 DJNZ R7, PP
0088 22 293 RET
294 ;⒂延时10秒的子程序DEL10S:
0089 7F28 295 DEL10S: MOV R7 , #40 ;延时10秒(假设主机晶振为6MHZ)
008B 017E 296 AJMP PP
297 ;实验30 16分种语音录放芯片ISD4004实验
298 ;⑼送快进指令的子程序MC:
299
008D 74F8 300 MC: MOV A ,#0F8H ; 单字节指令:F8H
008F C291 301 CLR CS
0091 11FE 302 ACALL TRANSFER
0093 D291 303 SETB CS
0095 22 304 RET
305 ;实验30 16分种语音录放芯片ISD4004实验
306 ;⑺送连续录音指令的子程序:
307
0096 74F0 308 PLAY: MOV A ,#0F0H ;送单字节指令:F0H
0098 C291 309 CLR CS
009A 11FE 310 ACALL TRANSFER
009C D291 311 SETB CS
009E 22 312 RET
313 ;实验30 16分种语音录放芯片ISD4004实验
314 ;⑶送上电指令(20H)的子程序POWERUP:
315
009F 7420 316 POWERUP: MOV A,#20H ; 发送上电指令
00A1 C291 317 CLR CS
00A3 11FE 318 ACALL TRANSFER
00A5 1173 319 ACALL DEL25MS ;延时25毫秒
00A7 D291 320 SETB CS
00A9 22 321 RET
A51 MACRO ASSEMBLER ISD4004PLAY 11/08/2005 16:12:09 PAGE 6
322 ;
323 ;实验30 16分种语音录放芯片ISD4004实验
324 ;⑸送连续录音指令的子程序:
325
00AA 74B0 326 REC: MOV A,#0B0H ;送单字节指令:B0H
00AC C291 327 CLR CS
00AE 11FE 328 ACALL TRANSFER
00B0 D291 329 SETB CS
00B2 22 330 RET
331
332 ;实验30 16分种语音录放芯片ISD4004实验
333 ;⑿送读状态位指令的子程序RINT:
334
00B3 7430 335 RINT: MOV A ,#30H ; 单字节指令:30H
00B5 C291 336 CLR CS
00B7 11FE 337 ACALL TRANSFER
00B9 D291 338 SETB CS
00BB 22 339 RET
340
341 ;实验30 16分种语音耂TER FOR PCA 0 MODULE 2PCA0CPM3 DATA 0DDH ; CONTROL REGISTER FOR PCA 0 MODULE 3PCA0CPM4 DATA 0DEH ; CONTROL REGISTER FOR PCA 0 MODULE 4ACC DATA 0E0H ; ACCUMULATORXBR0 DATA 0E1H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 0XBR1 DATA 0E2H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 1XBR2 DATA 0E3H ; DIGITAL CROSSBAR CONFIGURATION REGISTER 2RCAP4L DATA 0E4H ; TIMER 4 CAPTURE REGISTER - LOW BYTERCAP4H DATA 0E5H ; TIMER 4 CAPTURE REGISTER - HIGH BYTEEIE1 DATA 0E6H ; EXTERNAL INTERRUPT ENABLE 1EIE2 DATA 0E7H ; EXTERNAL INTERRUPT ENABLE 2ADC0CN DATA 0E8H ; ADC 0 CONTROLPCA0L DATA 0E9H ; PCA 0 TIMER - LOW BYTEPCA0CPL0 DATA 0EAH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 0 - LOW BYTEPCA0CPL1 DATA 0EBH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 1 - LOW BYTEPCA0CPL2 DATA 0ECH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 2 - LOW BYTEPCA0CPL3 DATA 0EDH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 3 - LOW BYTEPCA0CPL4 DATA 0EEH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 4 - LOW BYTERSTSRC DATA 0EFH ; RESET SOURCE B DATA 0F0H ; B REGISTERSCON1 DATA 0F1H ; SERIAL PORT 1 CONTROLSBUF1 DATA 0F2H ; SERAIL PORT 1 DATASADDR1 DATA 0F3H ; SERAIL PORT 1 TL4 DATA 0F4H ; TIMER 4 DATA - LOW BYTETH4 DATA 0F5H ; TIMER 4 DATA - HIGH BYTEEIP1 DATA 0F6H ; EXTERNAL INTERRUPT PRIORITY REGISTER 1EIP2 DATA 0F7H ; EXTERNAL INTERRUPT PRIORITY REGISTER 2SPI0CN DATA 0F8H ; SERIAL PERIPHERAL INTERFACE 0 CONTROL PCA0H DATA 0F9H ; PCA 0 TIMER - HIGH BYTEPCA0CPH0 DATA 0FAH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 0 - HIGH BYTEPCA0CPH1 DATA 0FBH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 1 - HIGH BYTEPCA0CPH2 DATA 0FCH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 2 - HIGH BYTEPCA0CPH3 DATA 0FDH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 3 - HIGH BYTEPCA0CPH4 DATA 0FEH ; CAPTURE/COMPARE REGISTER FOR PCA 0 MODULE 4 - HIGH BYTEWDTCN DATA 0FFH ; WATCHDOG TIMER CONTROL ;;------------------------------------------------------------------------------;BIT DEFINITIONS;; TCON 88HIT0 BIT TCON.0 ; EXT. INTERRUPT 0 TYPEIE0 BIT TCON.1 ; EXT. INTERRUPT 0 EDGE FLAGIT1 BIT TCON.2 ; EXT. INTERRUPT 1 TYPEIE1 BIT TCON.3 ; EXT. INTERRUPT 1 EDGE FLAGTR0 BIT TCON.4 ; TIMER 0 ON/OFF CONTROLTF0 BIT TCON.5 ; TIMER 0 OVERFLOW FLAGTR1 BIT TCON.6 ; TIMER 1 ON/OFF CONTROLTF1 BIT TCON.7 ; TIMER 1 OVERFLOW FLAG;; SCON0 98HRI BIT SCON0.0 ; RECEIVE INTERRUPT FLAGTI BIT SCON0.1 ; TRANSMIT INTERRUPT FLAGRB8 BIT SCON0.2 ; RECEIVE BIT 8TB8 BIT SCON0.3 ; TRANSMIT BIT 8REN BIT SCON0.4 ; RECEIVE ENABLESM2 BIT SCON0.5 ; MULTIPROCESSOR COMMUNICATION ENABLESM1 BIT SCON0.6 ; SERIAL MODE CONTROL BIT 1SM0 BIT SCON0.7 ; SERIAL MODE CONTROL BIT 0; ; IE A8HEX0 BIT IE.0 ; EXTERNAL INTERRUPT 0 ENABLEET0 BIT IE.1 ; TIMER 0 INTERRUPT ENABLEEX1 BIT IE.2 ; EXTERNAL INTERRUPT 1 ENABLEET1 BIT IE.3 ; TIMER 1 INTERRUPT ENABLEES BIT IE.4 ; SERIAL PORT INTERRUPT ENABLEET2 BIT IE.5 ; TIMER 2 INTERRUPT ENABLEEA BIT IE.7 ; GLOBAL INTERRUPT ENABLE;; IP B8HPX0 BIT IP.0 ; EXTERNAL INTERRUPT 0 PRIORITYPT0 BIT IP.1 ; TIMER 0 PRIORITYPX1 BIT IP.2 ; EXTERNAL INTERRUPT 1 PRIORITYPT1 BIT IP.3 ; TIMER 1 PRIORITYPS BIT IP.4 ; SERIAL PORT PRIORITYPT2 BIT IP.5 ; TIMER 2 PRIORITY;; SMB0CN C0HSMBTOE BIT SMB0CN.0 ; SMBUS 0 TIMEOUT ENABLESMBFTE BIT SMB0CN.1 ; SMBUS 0 FREE TIMER ENABLEAA BIT SMB0CN.2 ; SMBUS 0 ASSERT/ACKNOWLEDGE FLAGSI BIT SMB0CN.3 ; SMBUS 0 INTERRUPT PENDING FLAGSTO BIT SMB0CN.4 ; SMBUS 0 STOP FLAGSTA BIT SMB0CN.5 ; SMBUS 0 START FLAGENSMB BIT SMB0CN.6 ; SMBUS 0 ENABLE ;; T2CON C8HCPRL2 BIT T2CON.0 ; CAPTURE OR RELOAD SELECTCT2 BIT T2CON.1 ; TIMER OR COUNTER SELECTTR2 BIT T2CON.2 ; TIMER 2 ON/OFF CONTROLEXEN2 BIT T2CON.3 ; TIMER 2 EXTERNAL ENABLE FLAGTCLK BIT T2CON.4 ; TRANSMIT CLOCK FLAGRCLK BIT T2CON.5 ; RECEIVE CLOCK FLAGEXF2 BIT T2CON.6 ; EXTERNAL FLAGTF2 BIT T2CON.7 ; TIMER 2 OVERFLOW FLAG;; PSW D0HP BIT PSW.0 ; ACCUMULATOR PARITY FLAGF1 BIT PSW.1 ; USER FLAG 1OV BIT PSW.2 ; OVERFLOW FLAGRS0 BIT PSW.3 ; REGISTER BANK SELECT 0RS1 BIT PSW.4 ; REGISTER BANK SELECT 1F0 BIT PSW.5 ; USER FLAG 0AC BIT PSW.6 ; AUXILIARY CARRY FLAGCY BIT PSW.7 ; CARRY FLAG;; PCA0CN D8HCCF0 BIT PCA0CN.0 ; PCA 0 MODULE 0 INTERRUPT FLAGCCF1 BIT PCA0CN.1 ; PCA 0 MODULE 1 INTERRUPT FLAGCCF2 BIT PCA0CN.2 ; PCA 0 MODULE 2 INTERRUPT FLAGCCF3 BIT PCA0CN.3 ; PCA 0 MODULE 3 INTERRUPT FLAGCCF4 BIT PCA0CN.4 ; PCA 0 MODULE 4 INTERRUPT FLAGCR BIT PCA0CN.6 ; PCA 0 COUNTER RUN CONTROL BITCF BIT PCA0CN.7 ; PCA 0 COUNTER OVERFLOW FLAG;; ADC0CN E8HAD0LJST BIT ADC0CN.0 ; ADC 0 RIGHT JUSTIFY DATA BITAD0WINT BIT ADC0CN.1 ; ADC 0 WINDOW COMPARE INTERRUPT FLAGAD0STM0 BIT ADC0CN.2 ; ADC 0 START OF CONVERSION MODE BIT 0AD0STM1 BIT ADC0CN.3 ; ADC 0 START OF CONVERSION MODE BIT 1AD0BUSY BIT ADC0CN.4 ; ADC 0 BUSY FLAGAD0INT BIT ADC0CN.5 ; ADC 0 CONVERISION COMPLETE INTERRUPT FLAG AD0TM BIT ADC0CN.6 ; ADC 0 TRACK MODEAD0EN BIT ADC0CN.7 ; ADC 0 ENABLE;; SPI0CN F8HSPIEN BIT SPI0CN.0 ; SPI 0 SPI ENABLEMSTEN BIT SPI0CN.1 ; SPI 0 MASTER ENABLESLVSEL BIT SPI0CN.2 ; SPI 0 SLAVE SELECTTXBSY BIT SPI0CN.3 ; SPI 0 TX BUSY FLAGRXOVRN BIT SPI0CN.4 ; SPI 0 RX OVERRUN FLAGMODF BIT SPI0CN.5 ; SPI 0 MODE FAULT FLAGWCOL BIT SPI0CN.6 ; SPI 0 WRITE COLLISION FLAGSPIF BIT SPI0CN.7 ; SPI 0 INTERRUPT FLAG
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -