1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標(biāo)題:
SC50X0語音芯片匯編程序一線控制程序帶BUSY
[打印本頁]
作者:
hello_johy
時(shí)間:
2017-6-29 10:42
標(biāo)題:
SC50X0語音芯片匯編程序一線控制程序帶BUSY
;****************************************************
;OTP語音芯片串行三線模式測(cè)試程序
;主芯片:MPC82L52(1T)
;工作頻率:6MHz
;適用型號(hào):SC3010,SC3020,SC3040,SC3060,SC3080,SC5020,SC5040,SC5060,SC5080,SC5B01
;億矽特科技 400-160-3880
;****************************************************
include "REG_MPC82L52.H"
sbit SC_DATA=P3^1; ;P3.1是脈沖數(shù)據(jù)腳
sbit SC_BUSY=P3^2; ;P3.2是放音BUSY腳
SP0 DATA 20H ;組合第1語音
SP1 DATA 21H ;組合第2語音
SP2 DATA 22H ;組合第3語音
ORG 0000H
MOV P3M1,#00000100B ;設(shè)置P3.1為輸出,P3.2為輸入
MOV P3M0,#11111011B ;其他為默認(rèn)的
CLR A
MOV SP1,A ;清第1語音數(shù)據(jù)
MOV SP2,A ;清第2語音數(shù)據(jù)
MOV SP3,A ;清第3語音數(shù)據(jù)
LOOP:
MOV SP1,#05H
MOV SP2,#08H
MOV SP3,#02H ;組合放5,8,2地址段語音
LCALL SPEECHS ;調(diào)用組合語音放音子程序
; LCALL Delay5S ;延時(shí)5秒等聲音放完
SJMP LOOP
;**************************************
;組合語音放音
;入口參數(shù):SP0,SP1,SP2
;出口參數(shù):無
;**************************************
SPEECHS:
MOV R0,SP1 ;發(fā)第1語音數(shù)據(jù)
LCALL SCDATA ;調(diào)用放音子程序
LCALL Delay15MS ;調(diào)節(jié)放音間隔
LCALL BUSYWAIT ;等待放音BUSY信號(hào)變高電平
MOV R0,SP2 ;發(fā)第2語音數(shù)據(jù)
LCALL SCDATA ;調(diào)用放音子程序
LCALL Delay15MS ;調(diào)節(jié)放音段間隔
LCALL BUSYWAIT ;等待放音BUSY信號(hào)變高電平
MOV R0,SP3 ;發(fā)第3語音數(shù)據(jù)
LCALL SCDATA ;調(diào)用放音子程序
CLR A
MOV SP1,A ;清第1語音數(shù)據(jù)
MOV SP2,A ;清第2語音數(shù)據(jù)
MOV SP3,A ;清第3語音數(shù)據(jù)
RET
;**************************************
;等待放音BUSY信號(hào)變高電平
;入口參數(shù):無
;出口參數(shù):無
;**************************************
BUSYWAIT:
MOV R3,#200
LCALL Delay15MS
LCALL Delay15MS
DJNZ R3,BOUT ;等待時(shí)間超過6秒BUSY腳信號(hào)沒變高自動(dòng)退出
JBC SC_BUSY,BUSYWAIT ;等待BUSY腳信號(hào)變高
BOUT: RET
;**************************************
;控制放音子程序
;入口參數(shù):R0
;出口參數(shù):無
;**************************************
SCDATA:
CLR SC_RST ;復(fù)位低電平
LCALL Delay5MS: ;延時(shí)5MS
MOV R1,#08H ;發(fā)送8BIT數(shù)據(jù)低位先發(fā)
MOV A,R0
CLR C
LOOP0:
RRC A
JC DATA1
DATA0:
SETB SC_DATA ;高電平
LCALL Delay500US ;延時(shí)500uS,
CLR SC_DATA ;低電平
LCALL Delay1500US ;延時(shí)1500uS
JMP LOOPDATA:
DATA1:
SETB SC_DATA ;高電平
LCALL Delay1500US ;延時(shí)15000uS
CLR SC_DATA ;低電平
LCALL Delay500US ;延時(shí)500uS
LOOPDATA:
DJNZ R1,LOOP0
SETB SC_DATA ;高電平
LCALL Delay100US: ;延時(shí)100US
RET
;**************************************
;延時(shí)100微秒
;不同的工作環(huán)境,需要調(diào)整此函數(shù)
;入口參數(shù):無
;出口參數(shù):無
;**************************************
Delay100US: ;延時(shí)100uS
MOV R5,#150
DJNZ R5,$
RET
;**************************************
;延時(shí)400微秒
;不同的工作環(huán)境,需要調(diào)整此函數(shù)
;入口參數(shù):無
;出口參數(shù):無
;**************************************
Delay400US:
MOV R4,#4 ;延時(shí)400US
L4: LCALL Delay100US
DJNZ R4,L4
RET
;**************************************
;延時(shí)1200微秒
;不同的工作環(huán)境,需要調(diào)整此函數(shù)
;入口參數(shù):無
;出口參數(shù):無
;**************************************
Delay1200US:
MOV R4,#120 ;延時(shí)1200US
L12: LCALL Delay100US
DJNZ R4,L12
RET
;**************************************
;延時(shí)15毫秒
;不同的工作環(huán)境,需要調(diào)整此函數(shù)
;入口參數(shù):無
;出口參數(shù):無
;**************************************
Delay15MS:
MOV R4,#150 ;延時(shí)15MS
L150: LCALL Delay100US
DJNZ R4,L150
RET
;**************************************
;延時(shí)3毫秒
;不同的工作環(huán)境,需要調(diào)整此函數(shù)
;入口參數(shù):無
;出口參數(shù):無
;**************************************
Delay3MS:
MOV R4,#30 ;延時(shí)3MS
L30: LCALL Delay100US
DJNZ R4,L30
RET
;延時(shí)5秒
;不同的工作環(huán)境,需要調(diào)整此函數(shù)
;入口參數(shù):無
;出口參數(shù):無
;**************************************
Delay5S: ;延時(shí)5秒鐘
MOV R3,#200
D3: MOV R4,#250 ;25MS
D5: MOV R5,#150
DJNZ R5,$
DJNZ R4,D5
DJNZ R3,D3
RET
;--------------------------------
END
復(fù)制代碼
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1