技术资料

联系方式

广东速佑半导体有限公司
电  话:0755-81796865  

      400-160-3880
传  真:0755-28171850
手  机:13823368981
      15889550163
Q   Q:1321386535点击这里给我发消息
邮  编:518109
Email:stchip@stchip.com
网  址:
 www.stchip.com
 

当前位置: 首页 > 技术资料 > 应用笔记
应用笔记

SC50X0语音芯片汇编一线控制程序带BUSY

详细描述

****************************************************
;http://www.stchip.com
;OTP语音芯片串行三线模式测试程序
;主芯片:MPC82L52(1T)
;工作频率:6MHz
;适用型号:SC5020,SC5040,SC5060,SC5080
;亿矽特科技 400-160-3880
;****************************************************
include "REG_MPC82L52.H"
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.1为输出,P3.2为输入
      MOV P3M0,#11111011B    ;其他为默认的
      CLR A
      MOV SP1,A              ;清第1语音数据
      MOV SP2,A              ;清第2语音数据
      MOV SP3,A              ;清第3语音数据


LOOP:

      MOV SP1,#05H             
      MOV SP2,#08H           
      MOV SP3,#02H             ;组合放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脚信号没变高自动退出
      JBC SC_BUSY,BUSYWAIT    ;等待BUSY脚信号变高
BOUT: RET
;**************************************
;控制放音子程序
;入口参数:R0
;出口参数:无
;**************************************
SCDATA:                 
      CLR   SC_RST          ;复位低电平
      LCALL Delay5MS:    ;延时5MS 
      MOV R1,#08H        ;发送8BIT数据低位先发
      MOV A,R0
      CLR C
    
LOOP0:
      RRC A
      JC  DATA1
DATA0:                     
      SETB SC_DATA          ;高电平
      LCALL Delay400US      ;延时400uS,
      CLR SC_DATA           ;低电平
      LCALL Delay1200US     ;延时1200uS
      JMP LOOPDATA:
DATA1:                     
      SETB SC_DATA          ;高电平
      LCALL Delay1200US     ;延时12000uS
      CLR SC_DATA           ;低电平
      LCALL Delay400US      ;延时400uS
LOOPDATA:
      DJNZ R1,LOOP0 

      SETB SC_DATA          ;高电平
      LCALL Delay100US:    ;延时100US 
      RET


;**************************************
;延时100微秒
;不同的工作环境,需要调整此函数
;入口参数:无
;出口参数:无
;**************************************
Delay100US:           ;延时100uS
      MOV R5,#150
      DJNZ R5,$
      RET
;**************************************
;延时400微秒
;不同的工作环境,需要调整此函数
;入口参数:无
;出口参数:无
;**************************************
Delay400US:
      MOV R4,#4        ;延时400US
L4:   LCALL Delay100US   
      DJNZ R4,L4
      RET
;**************************************
;延时1200微秒
;不同的工作环境,需要调整此函数
;入口参数:无
;出口参数:无
;**************************************
Delay1200US:
      MOV R4,#120        ;延时1200US
L12:   LCALL Delay100US 
      DJNZ R4,L12
      RET
;**************************************
;延时15毫秒
;不同的工作环境,需要调整此函数
;入口参数:无
;出口参数:无
;**************************************
Delay15MS:
      MOV R4,#150        ;延时15MS
L150: LCALL Delay100US
      DJNZ R4,L150
      RET
;**************************************
;延时3毫秒
;不同的工作环境,需要调整此函数
;入口参数:无
;出口参数:无
;**************************************
Delay5MS:
      MOV R4,#50        ;延时5MS
L30:  LCALL Delay100US
      DJNZ R4,L30
      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

分享到:
点击次数:  更新时间:2021-01-24 18:40:35  【打印此页】  【关闭