標(biāo)題:
51單片機(jī)驅(qū)動(dòng)syn6288源程序
[打印本頁]
作者:
永恒的真理
時(shí)間:
2021-6-22 12:22
標(biāo)題:
51單片機(jī)驅(qū)動(dòng)syn6288源程序
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]); //對(duì)發(fā)送的字節(jié)進(jìn)行異或校驗(yàn)
}
for(i= 0; i<HZ_Length; i++) //依次發(fā)送待合成的文本數(shù)據(jù)
{
ecc=ecc^(HZdata[i]); //對(duì)發(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
作者:
wangwenhai8
時(shí)間:
2021-6-30 16:57
這個(gè)程序,驗(yàn)證了,編譯、調(diào)試通過了。
作者:
pabblo
時(shí)間:
2022-1-22 23:17
這個(gè)有沒有stm32f103的例程
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1