?? 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 + -