標(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ī)源程序如下:


  1. #include "config.h"



  2. /**************芯片設(shè)置命令*********************/
  3. uint8_t SYN_StopCom[]={0xFD,0X00,0X02,0X02,0XFD};//停止合成
  4. uint8_t SYN_SuspendCom[]={0XFD,0X00,0X02,0X03,0XFC};//暫停合成
  5. uint8_t SYN_RecoverCom[]={0XFD,0X00,0X02,0X04,0XFB};//恢復(fù)合成
  6. uint8_t SYN_ChackCom[]={0XFD,0X00,0X02,0X21,0XDE};//狀態(tài)查詢
  7. uint8_t SYN_PowerDownCom[]={0XFD,0X00,0X02,0X88,0X77};//進(jìn)入POWER DOWN 狀態(tài)命令

  8. /***********************************************/



  9. /***********************************************************
  10. * 名    稱:  YS-SYN6288 文本合成函數(shù)
  11. * 功    能:  發(fā)送合成文本到SYN6288芯片進(jìn)行合成播放
  12. * 入口參數(shù):Music(背景音樂選擇):0無背景音樂。1-15:相關(guān)背景音樂
  13.             *HZdata:文本指針變量
  14. * 出口參數(shù):
  15. * 說    明: 本函數(shù)只用于文本合成,具備背景音樂選擇。默認(rèn)波特率9600bps。                                         
  16. * 調(diào)用方法:例: SYN_FrameInfo(0,“樂聲電子科技”);
  17. **********************************************************/
  18. void SYN_FrameInfo(uint8_t Music,uint8_t *HZdata)
  19. {
  20. /****************需要發(fā)送的文本**********************************/
  21.                  unsigned  char  Frame_Info[50];
  22.          unsigned  char  HZ_Length;  
  23.                  unsigned  char  ecc  = 0;                          //定義校驗(yàn)字節(jié)
  24.              unsigned  int i=0;
  25.                  HZ_Length =strlen(HZdata);                         //需要發(fā)送文本的長度

  26. /*****************幀固定配置信息**************************************/           
  27.                  Frame_Info[0] = 0xFD ;                         //構(gòu)造幀頭FD
  28.                  Frame_Info[1] = 0x00 ;                         //構(gòu)造數(shù)據(jù)區(qū)長度的高字節(jié)
  29.                  Frame_Info[2] = HZ_Length + 3;                 //構(gòu)造數(shù)據(jù)區(qū)長度的低字節(jié)
  30.                  Frame_Info[3] = 0x01 ;                         //構(gòu)造命令字:合成播放命令                                  
  31.                  Frame_Info[4] = 0x01 | Music<<4 ;  //構(gòu)造命令參數(shù):背景音樂設(shè)定

  32. /*******************校驗(yàn)碼計(jì)算***************************************/                 
  33.                  for(i = 0; i<5; i++)                                   //依次發(fā)送構(gòu)造好的5個(gè)幀頭字節(jié)
  34.              {  
  35.                  ecc=ecc^(Frame_Info[i]);                //對(duì)發(fā)送的字節(jié)進(jìn)行異或校驗(yàn)       
  36.              }

  37.                     for(i= 0; i<HZ_Length; i++)                   //依次發(fā)送待合成的文本數(shù)據(jù)
  38.              {  
  39.                  ecc=ecc^(HZdata[i]);                                 //對(duì)發(fā)送的字節(jié)進(jìn)行異或校驗(yàn)               
  40.              }                 
  41. /*******************發(fā)送幀信息***************************************/                  
  42.                   memcpy(&Frame_Info[5], HZdata, HZ_Length);
  43.                   Frame_Info[5+HZ_Length]=ecc;
  44.                   PrintCom(Frame_Info,5+HZ_Length+1);
  45. }


  46. /***********************************************************
  47. * 名    稱: void  main(void)
  48. * 功    能: 主函數(shù)        程序入口
  49. * 入口參數(shù): *Info_data:固定的配置信息變量
  50. * 出口參數(shù):
  51. * 說    明:本函數(shù)用于配置,停止合成、暫停合成等設(shè)置 ,默認(rèn)波特率9600bps。                                         
  52. * 調(diào)用方法:通過調(diào)用已經(jīng)定義的相關(guān)數(shù)組進(jìn)行配置。
  53. **********************************************************/
  54. void YS_SYN_Set(uint8_t *Info_data)
  55. {
  56.         uint8_t Com_Len;
  57.         Com_Len =strlen(Info_data);
  58.         PrintCom(Info_data,Com_Len);
  59. }
復(fù)制代碼


所有代碼51hei提供下載:
1f4f138f2f9f290d796201180af91be6.zip (57.11 KB, 下載次數(shù): 35)



作者: 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