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

📄 isd_play.asm

📁 MCS-51单片机实验 39个实用实验和源码
💻 ASM
字号:
	T_INIT EQU 30H      ;延时时间的初值
	TIME   EQU 31H      ;调用延时子程序的次数
	REC    EQU P1.0     ;录音控制
	PLAYL  EQU P1.1     ;电平放音控制 
	
	ORG    0000H
	SJMP   MAIN
	ORG    0030H
	
MAIN:
	MOV    SP,#60H
PLAY_CYC:				    
	MOV    DPTR,#PLAYADDR;查表发音地址
	MOV    A,#0CH	     ;总共
	MOVC   A,@A+DPTR
	MOV    40H,A
	LCALL  PLAY2
	MOV    A,#08H	     ;8
	MOVC   A,@A+DPTR
	MOV    40H,A
	LCALL  PLAY
	MOV    A,#0AH	     ;十
	MOVC   A,@A+DPTR
	MOV    40H,A
	LCALL  PLAY
	MOV    A,#06H	     ;6
	MOVC   A,@A+DPTR
	MOV    40H,A
	LCALL  PLAY
    MOV    A,#0BH	     ;分钟
	MOVC   A,@A+DPTR
	MOV    40H,A
	LCALL  PLAY2   
    SJMP   PLAY_CYC
 	
PLAY:                    ;调用放音子程序
	PUSH   DPH
	PUSH   DPL
	MOV    DPTR,#8000H   ;74LS273的控制口
	MOV    A,#0FFH       ;送停止录放音码
	MOVX   @DPTR,A
    MOV    A,40H         ;放音控制码由40H单元送入A
    LCALL  DELAY20       ;延时20MS
    MOVX   @DPTR,A
    CLR    PLAYL
    LCALL  DELAY500      ; 延时放音时间
    MOV    A,#0FFH
    MOVX   @DPTR,A       ;停止放音
    SETB   PLAYL
    POP    DPL
    POP    DPH
    RET	
PLAY2:  
    PUSH   DPH
	PUSH   DPL
    MOV    DPTR,#8000H
    MOV    A,#0FFH       ;送停止录放音码
	MOVX   @DPTR,A
    MOV    A,40H         ;放音控制码由40H单元送入A
    LCALL  DELAY20       ;延时20MS
    MOVX   @DPTR,A
    CLR    PLAYL
    LCALL  DELAY500      ; 延时放音时间
    LCALL  DELAY500
    MOV    A,#0FFH
    MOVX   @DPTR,A       ;停止放音
    SETB   PLAYL
    POP    DPL
    POP    DPH
    RET	
DELAY: 
	PUSH   TIME		     ; 延时TIMER1*1 MS FOR 12MHZ
	PUSH   T_INIT
DELAY1:
	MOV    T_INIT,#250   ;循环一次需要4个机器周期,时间为4*1ΜS
DELAY2:
	NOP 			     ; 1个周期
	NOP 			     ; 1个周期
	DJNZ   T_INIT,DELAY2 ;2个周期
	DJNZ   TIME,DELAY1
	POP    T_INIT
	POP    TIME
	RET
DELAY20:                 ; 延时20 MS
	PUSH   TIME
	MOV    TIME,#20
	LCALL  DELAY
	LCALL  DELAY
	POP    TIME
	RET
DELAY500:                ; 延时500 MS
	PUSH   TIME
	MOV    TIME,#250
	LCALL  DELAY
	LCALL  DELAY
	POP    TIME
	RET
PLAYADDR:
	DB 00H,04H,08H,0CH,10H,14H,18H,1CH,20H,24H,28H,2CH,34H
	;  0    1   2   3   4   5   6   7   8   9  十  分钟 总共	
END

⌨️ 快捷键说明

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