|
单片机怎样控制OTP语音芯片的样例程序代码
单片机怎样控制OTP语音芯片的样例程序代码
ST单片机控制语音芯片程序代码(无需定时器代码)样例AC8040,AC9020:
应用于串行通信模式:
/*******单片机控制语音芯片程序代码样例AC8040,AC9020主程序****************/
void speak(uint8 i)
{
xdata uint16 c=0,c1=0;
while(c<1000)
{
_nop_();
sp2=1;
c++;
}
sp2=0;
while(c<600)
{
_nop_();
sp2=0;
c++;
}
c=0;
sp1=0;
while(c<i)
{
c1=0;
while(c1<60)
{
sp1=0;
c1++;
}
c1=0;
while(c1<60)
{
sp1=1;
c1++;
}
c++;
}
sp2=0;
sp1=0;
}
SP2是复位脚,SP1是信号脉冲脚,整个工作流程是给复位脚上升沿高电平2MS,再下降沿1.2MS,然后再给信号脉冲脚发信号脉冲, 是给复位脚下降沿100us,再上升沿高电平100us,如此循环,第一个上升沿高电平播放第一段。
单片机控制语音芯片程序代码带定时器样例AC8040,AC9020:
/*****单片机控制语音芯片程序代码样例AC8040,AC9020主程序******/
main (void)
{
AC8_MCURST=0;
delay_us(100);
AC8_MCURST=1;
delay_us(1000); //上电复位防止干扰上电时语音芯片发出第一段声音
AC8_MCURST=0;
delay_us(100);
}
/**************************************
;单片机控制语音芯片地址段放音
;参数:act=要触发控制语音芯片放音的地址
**************************************/
void AC80E_MCUEX(unsigned int act)
{
unsigned char i;
AC8_MCURST=0;
delay_us(200);
AC8_MCURST=1;
delay_us(2000);
AC8_MCURST=0;
delay_us(800);
for(i=0;i<act;i++)
{
AC_MCUDATA=0; //输出低电平
delay_us(100); //延时100US
AC_MCUDATA=1; //输出高电平
delay_us(100); //延时100us
}
}
更多参考资料:
反复实验得到的数值 //1141是在8MHz晶振下,通过软件仿真反复实验得到的数,这个延时关键看使用的晶振多大,比如12M晶振for(j=0;j<120;j++);大概延时1毫秒,11.0592M晶振那么for(j=0;j<110;j++);延时1毫秒,你这里的for(j=0;j<100;j++);
延时1毫秒的话,晶振应该是10M,不太常见,特别是在单片机方面。
void AC8Delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;i for(j=0;j<120;j++);
}
OTP语音芯片 串行通讯模式(三线通讯)时序资料 / 单片机与MCU连接方法
适用于OTP系列:
OTPG系列语音芯片: AC9020,AC9040,AC9080
OTPH系列语音芯片: AC8080
语音芯片串行通信模式时序接线图 单片机MCU连接方法 PDF 下载 右键点击另存为
TG1=Edge/Unhold/Retriger TG2
(or TG3)=Reset PIN
TG3=Busy High
OTP语音芯片串行通信模式时序 / DAC外接功放电路声音输出模式
DAC第一个脉冲后低电平等待时间长度是100ms
建议:Reset PIN (TG2 or TG3) 复位脉冲时长用2ms高电平,然后2ms低电平后,再给TG1脉冲脚位发100us信号
OTPG 系列OTP语音芯片 Serial Mode Timing 串行通信模式 时序 / PWM直推喇叭模式
PWM的脉冲时长都为100us
更多相关资料,请访问/otp.asp
语音芯片 Serial Mode / 串行通讯触发模式 三极管功放推喇叭 / MCU单片机连接方法
MCU单片机与语音芯片DAC应用电路方案接线图 (AC9080为例)
更多相关应用资料说明:
导 环 体
差异比较应用电路资料适用于环芯公司的AC8040和AC9080两款OTP语音芯片.
其它产品使用仅供参考
此份资料是AC8040/8脚封装OTP语音芯片资料,更多请访问otp主页面
AC8040_OTP40S 串行通讯方式应用简要说明
TG2对vdd复位, 高电平信号2ms,复位信号后等待时间800us,
再给TG1高电平脉冲信号
触发一次一个声音,mcu高电平发出几个脉冲识别第几个声音,但在每次发出脉冲之前,必须先给otp复位
更多资料请参照:/otp/TriggerSerialModeUserGuide.asp
(附接线参考图,更多详细资料请访问相关产品原理图)
封装形式DIP8 / SOP8
|
如图的AC3030-DIP8/SOP8 脚位资料
PIN |
NAME |
1 |
VDD5 |
2 |
PWM2 |
3 |
PWM1 |
4 |
VDD |
5 |
VSS |
6 |
IO1 |
7 |
Ka1 |
8 |
IO2 |
|
DIP8双列直插封装尺寸大小 (PDIP SIZE):
|
SOP8贴片芯片封装尽寸大小(SOP SIZE):
|
AC8DZE1致爱丽丝软封装形式 /// 可选用的COB软封装形式
SIP COB 单列直插COB软封装
适用于插槽单面焊接方案,小家电产品.
MusicCarcd COB Information 音乐贺卡机芯3V/4.5V软封装资料
适用于语音音乐贺卡方案.
Squeeze Box COB 软封装挤压盒COB资料
适用于玩具机芯产品方案。
AC80A 2032电池 3V供电 常用语音机芯COB
适用于各种音乐礼盒和光控小批量方案.
AC90Y 钮扣电池 3V供电COB.
适用钮扣式电池AG10,LR54; AG12,LR43; AG13,LR44的3V机芯COB
适用于各种音乐礼盒和光控小批量方案.
无开模具费用(限纸板PCB),提供各种常用软封装COB,详情请点击
|
6Pin六脚 / AC80E SIP单列直插语音COB脚位资料.
实物图片,仅供参考.
若有改动,恕不另行通知.
直插6脚COB脚位资料:
PIN |
NAME |
1 |
Ka1 |
2 |
IO2 |
3 |
PWM1 |
4 |
PWM2 |
5 |
VDD |
6 |
VSS |
|
更多封装资料,请访问公司网站: /YuYinic/ICPackageDipSopCob.asp
单片机C语言简谱程序实例
[导读]#i nclude
#i nclude "SoundPlay.h"
void Delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;i for(j=0;j<120;j++);
}
//*****************************Music******************************
#i nclude
#i nclude "SoundPlay.h"
void Delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;i for(j=0;j<120;j++);
}
//*****************************Music******************************
//挥着翅膀的女孩
unsigned char code Music_Girl[]={
//同一首歌
unsigned char code Music_Same[]={
0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03,
0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02, 0x10,0x02,
0x15,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02,
0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x02, 0x18,0x66,
0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00,
0x17,0x01, 0x19,0x02, 0x1B,0x02, 0x1B,0x70, 0x1A,0x03,
0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02,
0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0x03,
0x19,0x02, 0x1A,0x02, 0x19,0x0C, 0x18,0x0D, 0x17,0x03,
0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0F,0x0C,
0x10,0x02, 0x15,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66,
0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03, 0x1B,0x03,
0x1B,0x0C, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x1F,0x01,
0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x10,0x02,
0x10,0x03, 0x10,0x03, 0x1A,0x0C, 0x18,0x0D, 0x17,0x03,
0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70,
0x18,0x03, 0x17,0x02, 0x15,0x03, 0x15,0x03, 0x16,0x66,
0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x02,
0x10,0x01, 0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0F,0x0C,
0x1A,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03, 0x18,0x66,
0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00,
0x00,0x00 };
//5/4是在8MHz晶振下,通过软件仿真反复实验得到的数值
//1141是在8MHz晶振下,通过软件仿真反复实验得到的数值
//==================================================
void delay_us(unsigned int us)
{
unsigned int i;
us=us*5/4; //5/4是在8MHz晶振下,通过软件仿真反复实验得到的数值
for( i=0;i<us;i++);
}
void delay_ms(unsigned int ms)
{
unsigned int i,j;
for( i=0;i<ms;i++)
for(j=0;j<1141;j++); //1141是在8MHz晶振下,通过软件仿真反复实验得到的数值
}
推荐环芯公司系列产品:
AC3030_OTP30秒 AC3060_OTP60秒 AC3120_OTP120秒(长秒数语音OTP)
AC8040-OTP40秒 AC9020-OTP20秒 AC9080-OTP80秒
环芯公司销售团队竭诚为您服务,同时我们将以最好的产品质量和价格为您和您的企业带来更好的产品和效益。欢迎来电咨询!
本着平等互惠原则,期待与您携手合作,共创辉煌。
单片机怎样控制OTP语音芯片的样例程序代码
|