首页 » 互联网 » 单片机C51汇编控制串行脉冲语音芯片参考轨范_语音_脉冲

单片机C51汇编控制串行脉冲语音芯片参考轨范_语音_脉冲

神尊大人 2024-09-30 23:05:21 0

扫一扫用手机浏览

文章目录 [+]

单片机C51汇编掌握串行脉冲语音芯片参考程序。
适用型号:SC8120B,SC8065B,SC8035B,SC8021B等串行脉冲掌握语音芯片。

;

单片机C51汇编控制串行脉冲语音芯片参考轨范_语音_脉冲 单片机C51汇编控制串行脉冲语音芯片参考轨范_语音_脉冲 互联网

;https://www.stchip.com

单片机C51汇编控制串行脉冲语音芯片参考轨范_语音_脉冲 单片机C51汇编控制串行脉冲语音芯片参考轨范_语音_脉冲 互联网
(图片来自网络侵删)

;STCHIP语音芯片串行脉冲三线模式测试程序

;主芯片:MPC82L52(1T)

;事情频率:6MHz

;适用型号:SC8120B,SC8065B,SC8035B......

;广东速佑半导体有限公司

;

include "REG_MPC82L52.H"

sbit SC_RST=P3^0; ;P3.0是脉冲复位脚

sbit SC_DATA=P3^1; ;P3.1是脉冲数据脚

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 ;设置P3.0/P3.1为输出,P3.2为输入

MOV P3M0,#11111011B ;其他为默认的

CLR A

MOV SP1,A ;清第1语音数据

MOV SP2,A ;清第2语音数据

MOV SP3,A ;清第3语音数据

CLR SC_RST

CLR SC_DATA

LCALL SCRESET ;上电复位防止误触发放音

LOOP:

MOV SP1,#5

MOV SP2,#8

MOV SP3,#2 ;组合放5,8,2地址段语音

LCALL SPEECHS ;调用组合语音放音子程序

LCALL Delay5S ;延时5秒等声音放完

SJMP LOOP

;

;组合语音放音

;入口参数:SP0,SP1,SP2

;出口参数:无

;

SPEECHS:

MOV R0,SP1 ;发第1语音数据

LCALL SCDATA ;调用放音子程序

LCALL Delay15MS ;调节放音间隔

LCALL BUSYWAIT ;等待放音BUSY旗子暗记变低电平

MOV R0,SP2 ;发第2语音数据

LCALL SCDATA ;调用放音子程序

LCALL Delay15MS ;调节放音段间隔

LCALL BUSYWAIT ;等待放音BUSY旗子暗记变低电平

MOV R0,SP3 ;发第3语音数据

LCALL SCDATA ;调用放音子程序

CLR A

MOV SP1,A ;清第1语音数据

MOV SP2,A ;清第2语音数据

MOV SP3,A ;清第3语音数据

RET

;

;等待放音BUSY旗子暗记变低电平

;入口参数:无

;出口参数:无

;

BUSYWAIT:

MOV R3,#200

LCALL Delay15MS

LCALL Delay15MS

DJNZ R3,BOUT ;等待韶光超过6秒BUSY脚旗子暗记没变低自动退出

JB SC_BUSY,BUSYWAIT ;等待BUSY脚旗子暗记变低

BOUT: RET

;

;掌握放音子程序

;入口参数:R0

;出口参数:无

;

SCDATA:

LCALL SCRESET ;复位脉冲计数

SCTG: LCALL TG ;发N个脉冲

DJNZ R0,SCTG

RET

;

;复位脉冲计数

;入口参数:无

;出口参数:无

;

SCRESET:

SETB SC_RST ;复位高电平

LCALL Delay100US ;延时100uS,DAC模式或大于32段延时时间=15mS

CLR SC_RST ;复位低电平

LCALL Delay100US ;延时100uS

RET

;

;发1个脉冲旗子暗记

;入口参数:无

;出口参数:无

;

TG:

SETB SC_DATA ;脉冲高电平

LCALL Delay100US ;延时100uS,延时时间>50uS

CLR SC_DATA ;脉冲低电平

LCALL Delay100US ;延时100uS 延时时间>50uS

RET

;

;延时100微秒

;不同的事情环境,须要调度此函数

;入口参数:无

;出口参数:无

;

Delay100US: ;延时100uS

MOV R5,#150

DJNZ R5,$

RET

;

;延时15毫秒

;不同的事情环境,须要调度此函数

;入口参数:无

;出口参数:无

;

Delay15MS:

MOV R4,#150 ;延时15MS

L0: MOV R5,#150

DJNZ R5,$

DJNZ R4,L0

RET

;

;延时5秒

;不同的事情环境,须要调度此函数

;入口参数:无

;出口参数:无

;

Delay5S: ;延时5秒钟

MOV R3,#200

D3: MOV R4,#250 ;25MS

D5: MOV R5,#150

DJNZ R5,$

DJNZ R4,D5

DJNZ R3,D3

RET

;--------------------------------

END

标签:

相关文章