|
- /*********************************************************************************
- * 【作 者】: 深圳邁優(yōu)科技有限公司
- * 【Q Q】: 854544856
- * 【函數(shù)功能】: 基于51單片機(jī)的語音模塊串口驅(qū)動(dòng)程序
- **********************************************************************************/
- #include<reg52.h> //包括一個(gè)52標(biāo)準(zhǔn)內(nèi)核的頭文件
- #define uchar unsigned char //定義一下方便后面使用
- #define uint unsigned int //定義一下方便后面使用
- #define ulong unsigned long //定義一下方便后面使用
- #define COMM_BAUD_RATE 9600 //串口波特率
- #define OSC_FREQ 11059200 //運(yùn)行晶振:11.05926MHZ
- void Delay_Ms(int z)
- {
- int x=0 , y=0;
- for(x=110 ; x>0 ;x--)
- for(y=z; y>0;y-- );
- }
- /******************************************************************************
- - 功能描述: 串口1初始化
- - 注: 設(shè)置為9600波特率
- ******************************************************************************/
- void Serial_init(void)
- {
- TMOD = 0x20; // 設(shè)置 T1 為波特率發(fā)生器
- SCON = 0x50; // 0101,0000 8位數(shù)據(jù)位, 無奇偶校驗(yàn)
- PCON = 0x00; //PCON=0;
- TH1=256-(OSC_FREQ/COMM_BAUD_RATE/32/12);//設(shè)置為9600波特率
- TL1=256-(OSC_FREQ/COMM_BAUD_RATE/32/12);
- TR1 = 1; //定時(shí)器1打開
- REN = 1; //串口1接收使能
- ES = 1; //串口1中斷使能
- }
-
- /*********************************************************************************
- * 【函 數(shù) 名】: void send_cmd(uchar dat)
- * 【功 能】: 串口發(fā)送數(shù)據(jù)命令
- **********************************************************************************/
- void send_cmd(uchar dat)
- {
- SBUF=dat; //發(fā)送指令到SBUF
- while(!TI); //等待發(fā)送結(jié)束
- TI=0; //清除結(jié)束標(biāo)志,以便再發(fā)送數(shù)據(jù)
- }
- /*********************************************************************************
- * 【函 數(shù) 名】: void send_3dat_cmd(uchar cmd,uchar dat)
- * 【功 能】: 除了起始和結(jié)束標(biāo)志外,發(fā)三位長度的數(shù)據(jù)
- *send_3dat_cmd(0x11,0x12); // 播放
- *send_3dat_cmd(0x12,0x11); //暫停
- * send_3dat_cmd(0x13,0x10); // 下一曲
- * send_3dat_cmd(0x14,0x17); //上一曲
- *send_3dat_cmd(0x15,0x16); //音量加
- *send_3dat_cmd(0x16,0x15); //音量減
- * send_3dat_cmd(0x1A,0x19); //快進(jìn)
- *send_3dat_cmd(0x1B,0x18); //快退
- * send_3dat_cmd(0x1C,0x1F); //播放/暫停
- **********************************************************************************/
- void send_3dat_cmd(uchar cmd,uchar jy)
- {
- send_cmd(0x7E); //發(fā)送"開始命令"到SBUF
- send_cmd(0x03); //發(fā)送"命令長度"到SBUF
- send_cmd(cmd); //發(fā)送"命令"到SBUF
- send_cmd(jy); // 發(fā)送校驗(yàn)碼到SBUF
- send_cmd(0xEF); //發(fā)送"結(jié)束指令"到SBUF
- }
- /*********************************************************************************
- * 【函 數(shù) 名】: void send_4dat_cmd(uchar cmd,uchar cs,uchar jy )
- * 【功 能】: 除了起始和結(jié)束標(biāo)志外,發(fā)四位長度的數(shù)據(jù)
- * send_4dat_cmd(0x32,0x00,0x36 ) ; //設(shè)置EQ
- * send_4dat_cmd(0x34,0x01,0x31 ) ; //文件切換
- * send_4dat_cmd(0x35,0x01,0x30 ) ; //設(shè)備切換
- **********************************************************************************/
- void send_4dat_cmd(uchar cmd,uchar cs,uchar jy )
- {
- send_cmd(0x7E); //發(fā)送"開始命令"到SBUF
- send_cmd(0x04); //發(fā)送"命令長度"到SBUF
- send_cmd(cmd); //發(fā)送"插播指令"到SBUF
- send_cmd(cs); // 發(fā)送參數(shù) 到SBUF
- send_cmd(jy); // 發(fā)送校驗(yàn)碼到SBUF
- send_cmd(0xEF); //發(fā)送"結(jié)束指令"到SBUF
- }
- /*********************************************************************************
- * 【函 數(shù) 名】: void send_5dat_cmd(uchar cmd,uchar cs,uchar gq,uchar jy )
- * 【功 能】: 除了起始和結(jié)束標(biāo)志外,發(fā)四位長度的數(shù)據(jù)
- * send_5dat_cmd(0x43,0x00,0x03,0x45); //插播功能
- * send_5dat_cmd(0x44,0x01,0x06,0x46) ; //插播指定文件夾的歌曲播放,本指令為文件夾01的第6首歌曲
- **********************************************************************************/
- void send_5dat_cmd(uchar cmd,uchar cs,uchar gq,uchar jy )
- {
- send_cmd(0x7E); //發(fā)送"開始命令"到SBUF
- send_cmd(0x05); //發(fā)送"命令長度"到SBUF
- send_cmd(cmd); //發(fā)送"插播指令"到SBUF
- send_cmd(cs); // 發(fā)送參數(shù) 到SBUF
- send_cmd(gq); //發(fā)送第幾首歌曲到SBUF
- send_cmd(jy); // 發(fā)送校驗(yàn)碼到SBUF
- send_cmd(0xEF); //發(fā)送"結(jié)束指令"到SBUF
- }
-
- void main()
- {
- while(1)
- {
- Serial_init() ;//串口寄存器的初始化設(shè)置
- send_3dat_cmd(0x11,0x12); // 播放
- Delay_Ms(3800) ;
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
下載地址:http://www.torrancerestoration.com/bbs/dpj-84774-1.html
|
評(píng)分
-
查看全部評(píng)分
|