|
51單片機(jī)加oled加syn6288
單片機(jī)源程序如下:
- #include "config.h"
- /**************芯片設(shè)置命令*********************/
- uint8_t SYN_StopCom[]={0xFD,0X00,0X02,0X02,0XFD};//停止合成
- uint8_t SYN_SuspendCom[]={0XFD,0X00,0X02,0X03,0XFC};//暫停合成
- uint8_t SYN_RecoverCom[]={0XFD,0X00,0X02,0X04,0XFB};//恢復(fù)合成
- uint8_t SYN_ChackCom[]={0XFD,0X00,0X02,0X21,0XDE};//狀態(tài)查詢
- uint8_t SYN_PowerDownCom[]={0XFD,0X00,0X02,0X88,0X77};//進(jìn)入POWER DOWN 狀態(tài)命令
- /***********************************************/
- /***********************************************************
- * 名 稱: YS-SYN6288 文本合成函數(shù)
- * 功 能: 發(fā)送合成文本到SYN6288芯片進(jìn)行合成播放
- * 入口參數(shù):Music(背景音樂選擇):0無背景音樂。1-15:相關(guān)背景音樂
- *HZdata:文本指針變量
- * 出口參數(shù):
- * 說 明: 本函數(shù)只用于文本合成,具備背景音樂選擇。默認(rèn)波特率9600bps。
- * 調(diào)用方法:例: SYN_FrameInfo(0,“樂聲電子科技”);
- **********************************************************/
- void SYN_FrameInfo(uint8_t Music,uint8_t *HZdata)
- {
- /****************需要發(fā)送的文本**********************************/
- unsigned char Frame_Info[50];
- unsigned char HZ_Length;
- unsigned char ecc = 0; //定義校驗(yàn)字節(jié)
- unsigned int i=0;
- HZ_Length =strlen(HZdata); //需要發(fā)送文本的長度
-
- /*****************幀固定配置信息**************************************/
- Frame_Info[0] = 0xFD ; //構(gòu)造幀頭FD
- Frame_Info[1] = 0x00 ; //構(gòu)造數(shù)據(jù)區(qū)長度的高字節(jié)
- Frame_Info[2] = HZ_Length + 3; //構(gòu)造數(shù)據(jù)區(qū)長度的低字節(jié)
- Frame_Info[3] = 0x01 ; //構(gòu)造命令字:合成播放命令
- Frame_Info[4] = 0x01 | Music<<4 ; //構(gòu)造命令參數(shù):背景音樂設(shè)定
- /*******************校驗(yàn)碼計(jì)算***************************************/
- for(i = 0; i<5; i++) //依次發(fā)送構(gòu)造好的5個(gè)幀頭字節(jié)
- {
- ecc=ecc^(Frame_Info[i]); //對發(fā)送的字節(jié)進(jìn)行異或校驗(yàn)
- }
- for(i= 0; i<HZ_Length; i++) //依次發(fā)送待合成的文本數(shù)據(jù)
- {
- ecc=ecc^(HZdata[i]); //對發(fā)送的字節(jié)進(jìn)行異或校驗(yàn)
- }
- /*******************發(fā)送幀信息***************************************/
- memcpy(&Frame_Info[5], HZdata, HZ_Length);
- Frame_Info[5+HZ_Length]=ecc;
- PrintCom(Frame_Info,5+HZ_Length+1);
- }
- /***********************************************************
- * 名 稱: void main(void)
- * 功 能: 主函數(shù) 程序入口
- * 入口參數(shù): *Info_data:固定的配置信息變量
- * 出口參數(shù):
- * 說 明:本函數(shù)用于配置,停止合成、暫停合成等設(shè)置 ,默認(rèn)波特率9600bps。
- * 調(diào)用方法:通過調(diào)用已經(jīng)定義的相關(guān)數(shù)組進(jìn)行配置。
- **********************************************************/
- void YS_SYN_Set(uint8_t *Info_data)
- {
- uint8_t Com_Len;
- Com_Len =strlen(Info_data);
- PrintCom(Info_data,Com_Len);
- }
復(fù)制代碼
所有代碼51hei提供下載:
1f4f138f2f9f290d796201180af91be6.zip
(57.11 KB, 下載次數(shù): 35)
2021-6-22 12:21 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|