📄 1420.asm
字号:
;zy1420语音芯片控制
REC BIT P0.0
PLE BIT P0.1
PLL BIT P0.2
RECLED BIT P0.3
ORG 0000H
LJMP START
START:
MOV R7,#0070H
MOV R6,#HIGH(1500) ;1S
MOV R5,#LOW(1500)
CALL PLAYL
MOV R7,#50 ;控制延时50ms
WAIT1:
LCALL DELAY1MS
DJNZ R7,WAIT1
;SJMP $
MOV R7,#10H
MOV R6,#HIGH(1500)
MOV R5,#LOW(1500)
CALL PLAYL
MOV R7,#50 ;控制延时50ms
WAIT2:
LCALL DELAY1MS
DJNZ R7,WAIT2
;SJMP $
MOV R7,#20H
MOV R6,#HIGH(1500)
MOV R5,#LOW(1500)
CALL PLAYL
MOV R7,#50 ;控制延时50ms
WAIT3:
LCALL DELAY1MS
DJNZ R7,WAIT3
;SJMP $
MOV R7,#00H
MOV R6,#HIGH(1500)
MOV R5,#LOW(1500)
CALL PLAYE
SJMP $
;**************************************
; 名称:RECORD
; 功能:录音
; 入口:R7(开始地址),R6(H),R5(L)(录音时间,单位:ms)
; 如果R6,R5>剩余录音时间,则录完为止
;**************************************
RECORD:
MOV A,R7
LCALL ADDR_OUT ;设定开始录音地址
CLR REC ;控制开始录音
MOV R7,#50 ;控制延时50ms
RECORD1:
LCALL DELAY1MS
DJNZ R7,RECORD1
RECORD2:
LCALL DELAY1MS ;延时1ms
JB RECLED,RECORD3 ;录音模块录满结束判断
DJNZ R5,RECORD2 ;录音时间控制
DJNZ R6,RECORD2
RECORD3:
SETB REC ;释放录音按键
RET
;**************************************
;名称:PLAYL
;功能:电平控制放音
;入口:R7(开始地址),R6(H),R5(L)(放音时间,单位:ms)
; 如果R6,R5>剩余放音时间,则放完为止
;**************************************
PLAYL:
MOV A,R7
LCALL ADDR_OUT ;设定开始播放地址
CLR PLL ;控制播放
PLAYL1:
LCALL DELAY1MS ;延时1ms
JNB RECLED,PLAYL2 ;检测语音模块是否播放完毕
DJNZ R5,PLAYL1 ;播放时间控制
DJNZ R6,PLAYL1
PLAYL2:
SETB PLL ;释放播放按键
RET
;**************************************
;名称:PLAYE
;功能:脉冲触发放音
;入口:R7(开始地址)
;**************************************
PLAYE:
MOV A,R7
LCALL ADDR_OUT ;设定开始播放地址
CLR PLE ;控制脉冲触发播放
MOV R7,#50 ;延时50ms
PLAYE1:
LCALL DELAY1MS
DJNZ R7,PLAYE1
SETB PLE ;结束控制信号
RET
;**************************************
;名称:ADDR_OUT
;功能:发送地址
;入口:A(地址)
;**************************************
ADDR_OUT:
RLC A
MOV P1.7,C
RLC A
MOV P1.6,C
RLC A
MOV P1.5,C
RLC A
MOV P1.4,C
RLC A
MOV P1.3,C
RLC A
MOV P1.2,C
RLC A
MOV P1.1,C
RLC A
MOV P1.0,C
RET
;**************************************
; 名称:DELAY1MS
; 功能:延时1MS
; 入口:R6,R5
;**************************************
DELAY1MS:
MOV R4, #249 ;12M晶振:1000=2+2+(1+1+2)*249
DELAY1MS1:
NOP
NOP
DJNZ R4,DELAY1MS1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -