|
單片機怎樣控制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語音芯片的樣例程序代碼
|