亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: YS-M3A4語(yǔ)音播放模塊的資料與單片機(jī)源程序分享 [打印本頁(yè)]

作者: samzhu    時(shí)間: 2018-8-11 01:32
標(biāo)題: YS-M3A4語(yǔ)音播放模塊的資料與單片機(jī)源程序分享
分享一下YS-M3A4語(yǔ)音播放模塊的資料。有需要自取

注意:此模塊的連接方法主要是串口連接,即利用 RXD 和 TXD 2 個(gè)端口,當(dāng)然也需要接上電源正負(fù)極。同時(shí)注意串口連接是需要 RXD 和 TXD 交叉進(jìn)行連接,部分廠家下載器的標(biāo)號(hào)是標(biāo)反的,自行判斷!

YS-M3A3是一個(gè)提供串口的MP3芯片,完美的集成了MP3、WMV的硬解碼。支持FAT16、FAT32 文件系統(tǒng)。通過(guò)簡(jiǎn)單的串口指令即可完成播放指定的音樂(lè),以及如何播放音樂(lè)等功能,無(wú)需繁瑣的底層操作,直接播放 TF 卡內(nèi)部歌曲,使用方便,穩(wěn)定可靠是此款產(chǎn)品的最大特點(diǎn).

1.2 功能
1、支持采樣率(KHz):8/11.025/12/16/22.05/24/32/44.1/48
2、24 位 DAC 輸出,動(dòng)態(tài)范圍支持 90dB,信噪比支持 85dB
3、完全支持 FAT16、FAT32 文件系統(tǒng),最大支持 16G 的 TF 卡
4、具備串口控制模式
5、廣播語(yǔ)插播功能,可以暫停正在播放的背景音樂(lè)
6、音頻數(shù)據(jù)按文件夾排序,最多支持 255 個(gè)文件夾,每個(gè)文件夾可以分配 500 首歌曲
7、30 級(jí)音量可調(diào),5 級(jí) EQ 可調(diào)
8、可以通過(guò)單片機(jī)串口進(jìn)行控制播放指定的音樂(lè);
9、具備循環(huán)播放、單曲不循環(huán)、隨機(jī)等多種播放模式
1.3 應(yīng)用
1、 車載導(dǎo)航語(yǔ)音播報(bào)
2、 公路運(yùn)輸稽查、收費(fèi)站語(yǔ)音提示;
3、 火車站、汽車站安全檢查語(yǔ)音提示;
4、 電力、通信、金融營(yíng)業(yè)廳語(yǔ)音提示;
5、 車輛進(jìn)、出通道驗(yàn)證語(yǔ)音提示;
6、 公安邊防檢查通道語(yǔ)音提示;
7、 多路語(yǔ)音告警或設(shè)備操作引導(dǎo)語(yǔ)音;
8、 電動(dòng)觀光車安全行駛語(yǔ)音告示;
9、 機(jī)電設(shè)備故障自動(dòng)報(bào)警;
10、消防語(yǔ)音報(bào)警提示;
11、自動(dòng)廣播設(shè)備,定時(shí)播報(bào)

3. 串口通訊協(xié)議
串口作為一種在控制領(lǐng)域常用的通信,我們進(jìn)行了工業(yè)級(jí)別的優(yōu)化,加入的幀的校驗(yàn)、重發(fā)、錯(cuò)誤處理等措施,大大加強(qiáng)通信的穩(wěn)定性和可靠性,同時(shí)可以在此基礎(chǔ)上擴(kuò)展更加強(qiáng)大的 RS485 進(jìn)行組網(wǎng)功能,串口的通信波特率可自行設(shè)置,默認(rèn)為 9600
3.1 通訊格式
支持異步串口通訊模式,通過(guò)串口接受上位機(jī)發(fā)送的命令
通訊標(biāo)準(zhǔn):9600 bps
數(shù)據(jù)位 :1
校驗(yàn)位 :none
流控制 :none

例如,如果我們指定播放,就需要發(fā)送:FD 04 41 00 01 DF
數(shù)據(jù)長(zhǎng)度為 4 ,這 4 個(gè)字節(jié)分別是[04 41 00 01] 。不計(jì)算起始、結(jié)束。
連續(xù)播放【FD 04 41 00 01 DF】【FD 04 41 00 02 DF】【FD 04 41 00 03 DF】三段
播放完暫停




例:讀取音量大小發(fā)送【FD 02 11 DF】 則直接返回音量大小(十六位)
注:1.當(dāng)為單曲播放時(shí),放完一曲停止,并返回 STOP,全盤播放時(shí)會(huì)一直播放,放完最后一曲,播放第一曲 默認(rèn)最大聲音和單曲播放。
2.返回‘err’時(shí)表示指令無(wú)法識(shí)別
3.每發(fā)一條正確指令會(huì)返回‘OK’



(16 位設(shè)定)
例如,選指定歌曲,發(fā)送:FD 04 41 00 08 DF , FD 起始地址 04 位長(zhǎng)度,41 指令,00 08 第 8
曲,DF 結(jié)束地址
連續(xù)播放,發(fā)送:
FD 04 41 00 01 DF
FD 04 41 00 02 DF
FD 04 41 00 03 DF
FD 04 41 00 04 DF
播放第 1,2,3,4 曲,最多連續(xù)播放 10 曲。
指定文件夾播放,文件夾名必須為 0-99 文件號(hào),內(nèi)總曲目名字必須改為 1-255.MP3/WAV
開機(jī)后發(fā)播放,上一曲,下一曲,都可以播放,默認(rèn)播放 SPI FLASH ,沒(méi)帶 SPI FLASH
播放以有設(shè)備,開機(jī)后,后插入設(shè)置,系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)為所插設(shè)置模式,發(fā)播放指令或按鍵可以播放
插播功能:當(dāng)前正在播放音樂(lè),當(dāng)插播 MP3 或 WAV 進(jìn)來(lái)時(shí),立即播放插播文件,放完接著播放當(dāng)前音樂(lè)。 插播指定文件夾內(nèi)曲目也如此。
如圖,指定文件夾名字:

插播指定文件夾內(nèi)文件名也是如此,如:插播 010 十樓到了.MP3 發(fā)送:FD 04 44 01 0A DF
如:插播 001 一樓到了.MP3 發(fā)送:FD 04 44 01 01 DF
根目錄文件排序技巧(先存入的為第一首,故采用以下方式安排好位置再存入)由于 TF 卡里面的文件在根目錄的存儲(chǔ)地址順序是按索引先后順序的,即誰(shuí)先拷貝進(jìn)去誰(shuí)額存儲(chǔ)地址排在先。而 M3A1 模塊也是根據(jù)這種順序播放,則先按計(jì)劃的順序存放入 TF 卡,下面是存放文件的方法:

1、外接喇叭功率不得超過(guò) 2W,功率過(guò)大芯片發(fā)熱需要加散熱片,如聲音大小不滿足建議加更大的功放板或者接音箱。
2、在通電前注意檢查正負(fù)極連接正確后進(jìn)行通電工作,模塊不帶防接反和短路保護(hù)功能。
3、如此說(shuō)明書未及時(shí)更新不另行通知、以實(shí)物為準(zhǔn)。

此模塊與電腦的應(yīng)該方法是采用電腦串口軟件向本模塊發(fā)送 16 進(jìn)制數(shù)據(jù)進(jìn)行播放。
1、首先需要安裝 USB 轉(zhuǎn) TTL 的驅(qū)動(dòng)到電腦中。( )
2、根據(jù)以下接線圖進(jìn)行連接電路。
3、打開串口軟件如下圖,最后點(diǎn)擊發(fā)送即可播放對(duì)應(yīng)指令的聲音

單片機(jī)源程序如下:
  1. #include "reg51.h"
  2. #include "intrins.h"

  3. typedef unsigned char BYTE;
  4. typedef unsigned int WORD;

  5. #define FOSC 11059200L      //System frequency
  6. #define BAUD 9600           //UART baudrate

  7. bit busy;

  8. void SendData(BYTE dat);
  9. void SendString(char *s);

  10. unsigned int MP3data1[5]={0xfd,0x02,0x01,0xdf}  //播放
  11. unsigned int MP3data2[5]={0xfd,0x02,0x02,0xdf}  //暫停
  12. unsigned int MP3data3[6]={0xfd,0x04,0x41,0x00,0x01,0xdf}  //播放第一首歌

  13. sbit key1=P1^0; //定義按鍵1
  14. sbit key2=P1^0; //定義按鍵2


  15. void Delay20ms()                //@11.0592MHz
  16. {
  17.         unsigned char i, j;

  18.         i = 36;
  19.         j = 217;
  20.         do
  21.         {
  22.                 while (--j);
  23.         } while (--i);
  24. }


  25. void main()
  26. {
  27. unsigned int i;       

  28.     SCON = 0x50;            //8-bit variable UART
  29.     TMOD = 0x20;            //Set Timer1 as 8-bit auto reload mode
  30.     TH1 = TL1 = -(FOSC/12/32/BAUD); //Set auto-reload vaule
  31.     TR1 = 1;                //Timer1 start run
  32.     ES = 1;                 //Enable UART interrupt
  33.     EA = 1;                 //Open master interrupt switch

  34.     while(1)
  35.         {
  36.                 if(key1==0)
  37.                  {
  38.                         Delay20ms();
  39.                         if(key1==0)
  40.                         {
  41.                                 while(key1==0);
  42.                                 for(i=0;i<5;i++)
  43.                                 {
  44.                                   SendData(MP3data3[i]);//按下按鍵1 播放第一首歌曲               
  45.                                 }
  46.                         }       
  47.                   }       
  48.        
  49.          };
  50. }

  51. /*----------------------------
  52. UART interrupt service routine
  53. ----------------------------*/
  54. void Uart_Isr() interrupt 4 using 1
  55. {
  56.     if (RI)
  57.     {
  58.         RI = 0;             //Clear receive interrupt flag
  59.     }
  60.     if (TI)
  61.     {
  62.         TI = 0;             //Clear transmit interrupt flag
  63.         busy = 0;           //Clear transmit busy flag
  64.     }
  65. }

  66. /*----------------------------
  67. Send a byte data to UART
  68. Input: dat (data to be sent)
  69. Output:None
  70. ----------------------------*/
  71. void SendData(BYTE dat)
  72. {
  73.     while (busy);           //Wait for the completion of the previous data is sent
  74.     ACC = dat;              //Calculate the even parity bit P (PSW.0)
  75.     busy = 1;
  76.     SBUF = ACC;             //Send data to UART buffer
  77. }

  78. /*----------------------------
  79. Send a string to UART
  80. Input: s (address of string)
  81. Output:None
  82. ----------------------------*/
  83. void SendString(char *s)
  84. {
  85.     while (*s)              //Check the end of the string
  86.     {
  87.         SendData(*s++);     //Send current char and increment string ptr
  88.     }
  89. }


復(fù)制代碼

所有資料51hei提供下載:
YS-M3A3串口語(yǔ)音播放模塊--配套資料(20151011).zip (1.36 MB, 下載次數(shù): 70)



作者: 泊秦    時(shí)間: 2018-12-11 09:41
居然這都有
作者: hzy_yang    時(shí)間: 2019-1-6 16:45
感謝分享




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1