亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

視頻<b>播放</b>器

  • 基于STM32微控制器的MP3播放器設(shè)計(jì)

    摘要:本文主要介紹了使用STM32F103RB芯片的32位閃存微控制器為內(nèi)核制作一個(gè)MP3播放器,此芯片是基于ARMCortex-M3為內(nèi)核,具有強(qiáng)大的功能。該MP3播放器由上述的微控制器、MP3解碼芯片(VS1003)、SD卡(FAT32文件系統(tǒng))和液晶顯示屏(Nokia5110)組成。關(guān)鍵詞:STM32;VS1003;SD;FAT32

    標(biāo)簽: STM MP3 32 微控制器

    上傳時(shí)間: 2013-10-13

    上傳用戶:569342831

  • 基于SPCE061A的聲控MP3播放器設(shè)計(jì)

    文中介紹了一種全新理念的聲控MP3播放器系統(tǒng)的設(shè)計(jì),并給出了基本硬件結(jié)構(gòu)與軟件設(shè)計(jì)。這種聲控MP3播放器系統(tǒng)采用語音識別技術(shù)實(shí)現(xiàn)自動控制等功能。

    標(biāo)簽: SPCE 061A 061 MP3

    上傳時(shí)間: 2014-12-27

    上傳用戶:s藍(lán)莓汁

  • PWM語音播放器——基于Luminary單片機(jī)

    PWM語音播放器——基于Luminary單片機(jī) 詳述PWM語音播放器原理、硬件和軟件設(shè)計(jì)

    標(biāo)簽: Luminary PWM 語音播放器 單片機(jī)

    上傳時(shí)間: 2013-10-15

    上傳用戶:1966640071

  • 單片機(jī)音樂中音調(diào)和節(jié)拍的確定方法

    單片機(jī)音樂中音調(diào)和節(jié)拍的確定方法:調(diào)號-音樂上指用以確定樂曲主音高度的符號。很明顯一個(gè)八度就有12個(gè)半音。A、B、C、D、E、F、G。經(jīng)過聲學(xué)家的研究,全世界都用這些字母來表示固定的音高。比如,A這個(gè)音,標(biāo)準(zhǔn)的音高為每秒鐘振動440周。 升C調(diào):1=#C,也就是降D調(diào):1=BD;277(頻率)升D調(diào):1=#D,也就是降E調(diào):1=BE;311升F調(diào):1=#F,也就是降G調(diào):1=BG;369升G調(diào):1=#G,也就是降A(chǔ)調(diào):1=BA;415升A調(diào):1=#A,也就是降B調(diào):1=BB。466,C 262   #C277   D 294   #D(bE)311  E 330   F 349   #F369   G 392  #G415A 440.    #A466    B 494 所謂1=A,就是說,這首歌曲的“導(dǎo)”要唱得同A一樣高,人們也把這首歌曲叫做A調(diào)歌曲,或叫“唱A調(diào)”。1=C,就是說,這首歌曲的“導(dǎo)”要唱得同C一樣高,或者說“這歌曲唱C調(diào)”。同樣是“導(dǎo)”,不同的調(diào)唱起來的高低是不一樣的。各調(diào)的對應(yīng)的標(biāo)準(zhǔn)頻率為: 單片機(jī)演奏音樂時(shí)音調(diào)和節(jié)拍的確定方法 經(jīng)??吹揭恍﹦倢W(xué)單片機(jī)的朋友對單片機(jī)演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機(jī)演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機(jī)演奏音樂基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂只需弄清楚兩個(gè)概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個(gè)音符唱多高的頻率,節(jié)拍表示一個(gè)音符唱多長的時(shí)間。 在音樂中所謂“音調(diào)”,其實(shí)就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標(biāo)準(zhǔn)音高,其頻率f=440Hz。當(dāng)兩個(gè)聲音信號的頻率相差一倍時(shí),也即f2=2f1時(shí),則稱f2比f1高一個(gè)倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個(gè)倍頻程,在音樂學(xué)中稱它相差一個(gè)八度音。在一個(gè)八度音內(nèi),有12個(gè)半音。以1—i八音區(qū)為例, 12個(gè)半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。這12個(gè)音階的分度基本上是以對數(shù)關(guān)系來劃分的。如果我們只要知道了這十二個(gè)音符的音高,也就是其基本音調(diào)的頻率,我們就可根據(jù)倍頻程的關(guān)系得到其他音符基本音調(diào)的頻率。 知道了一個(gè)音符的頻率后,怎樣讓單片機(jī)發(fā)出相應(yīng)頻率的聲音呢?一般說來,常采用的方法就是通過單片機(jī)的定時(shí)器定時(shí)中斷,將單片機(jī)上對應(yīng)蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發(fā)出聲音,為了讓單片機(jī)發(fā)出不同頻率的聲音,我們只需將定時(shí)器予置不同的定時(shí)值就可實(shí)現(xiàn)。那么怎樣確定一個(gè)頻率所對應(yīng)的定時(shí)器的定時(shí)值呢?以標(biāo)準(zhǔn)音高A為例:   A的頻率f = 440 Hz,其對應(yīng)的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機(jī)上對應(yīng)蜂鳴器的I/O口來回取反的時(shí)間應(yīng)為:t = T/2 = 2272/2 = 1136μs這個(gè)時(shí)間t也就是單片機(jī)上定時(shí)器應(yīng)有的中斷觸發(fā)時(shí)間。一般情況下,單片機(jī)奏樂時(shí),其定時(shí)器為工作方式1,它以振蕩器的十二分頻信號為計(jì)數(shù)脈沖。設(shè)振蕩器頻率為f0,則定時(shí)器的予置初值由下式來確定:    t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時(shí)器待確定的計(jì)數(shù)初值。因此定時(shí)器的高低計(jì)數(shù)器的初值為:     TH = THL / 256 = ( TALL – t* f0/12) / 256    TL = THL % 256 = ( TALL – t* f0/12) %256  將t=1136μs代入上面兩式(注意:計(jì)算時(shí)應(yīng)將時(shí)間和頻率的單位換算一致),即可求出標(biāo)準(zhǔn)音高A在單片機(jī)晶振頻率f0=12Mhz,定時(shí)器在工作方式1下的定時(shí)器高低計(jì)數(shù)器的予置初值為 :    TH440Hz = (65536 – 1136 * 12/12) /256 = FBH    TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應(yīng)的計(jì)數(shù)器的予置初值。 音符的節(jié)拍我們可以舉例來說明。在一張樂譜中,我們經(jīng)常會看到這樣的表達(dá)式,如1=C  、1=G …… 等等,這里1=C,1=G表示樂譜的曲調(diào),和我們前面所談的音調(diào)有很大的關(guān)聯(lián), 、 就是用來表示節(jié)拍的。以 為例加以說明,它表示樂譜中以四分音符為節(jié)拍,每一小結(jié)有三拍。比如:      其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時(shí)長為四分音符的一半,即為八分音符長,3、4的時(shí)長為八分音符的一半,即為十六分音符長,5的時(shí)長為四分音符的一半,即為八分音符長,6的時(shí)長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時(shí)長大約為400—500ms 。我們以一拍的時(shí)長為400ms為例,則當(dāng)以四分音符為節(jié)拍時(shí),四分音符的時(shí)長就為400ms,八分音符的時(shí)長就為200ms,十六分音符的時(shí)長就為100ms??梢姡趩纹瑱C(jī)上控制一個(gè)音符唱多長可采用循環(huán)延時(shí)的方法來實(shí)現(xiàn)。首先,我們確定一個(gè)基本時(shí)長的延時(shí)程序,比如說以十六分音符的時(shí)長為基本延時(shí)時(shí)間,那么,對于一個(gè)音符,如果它為十六分音符,則只需調(diào)用一次延時(shí)程序,如果它為八分音符,則只需調(diào)用二次延時(shí)程序,如果它為四分音符,則只需調(diào)用四次延時(shí)程序,依次類推。通過上面關(guān)于一個(gè)音符音調(diào)和節(jié)拍的確定方法,我們就可以在單片機(jī)上實(shí)現(xiàn)演奏音樂了。具體的實(shí)現(xiàn)方法為:將樂譜中的每個(gè)音符的音調(diào)及節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲器中,通過程序取出一個(gè)音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個(gè)音符的相關(guān)參數(shù)……,如此直到播放完畢最后一個(gè)音符,根據(jù)需要也可循環(huán)不停地播放整個(gè)樂曲。另外,對于樂曲中的休止符,一般將其音調(diào)參數(shù)設(shè)為FFH,F(xiàn)FH,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂曲結(jié)束用節(jié)拍參數(shù)為00H來表示。下面給出部分音符(三個(gè)八度音)的頻率以及以單片機(jī)晶振頻率f0=12Mhz,定時(shí)器在工作方式1下的定時(shí)器高低計(jì)數(shù)器的予置初值 : C調(diào)音符  頻率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC調(diào)音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7頻率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C調(diào)音符  頻率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02

    標(biāo)簽: 單片機(jī) 音調(diào)

    上傳時(shí)間: 2013-10-20

    上傳用戶:哈哈haha

  • 串行編程器源程序(Keil C語言)

    串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實(shí)現(xiàn)編程的讀,寫,擦等細(xì)節(jié)//AT89C2051的特殊處:給XTAL一個(gè)脈沖,地址計(jì)數(shù)加1;P1的引腳排列與AT89C51相反,需要用函數(shù)轉(zhuǎn)換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0  P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準(zhǔn)備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結(jié)束后的工作,設(shè)置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數(shù)據(jù){ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉(zhuǎn)換并設(shè)置P0口的數(shù)據(jù){ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 //寫一個(gè)單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗(yàn):循環(huán)讀,直到讀出與寫入的數(shù)相同 {  nTimeOut++;  if(nTimeOut>1000)//超時(shí)了  {   return 0;  } } C2051_XTAL=1; C2051_XTAL=0;//一個(gè)脈沖指向下一個(gè)單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 //讀一個(gè)單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個(gè)脈沖指向下一個(gè)單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設(shè)置成編程狀態(tài)//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=1;  C2051_P3_7=1;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); } if(ComBuf[2]>=2) {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=0;  C2051_P3_7=0;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設(shè)置pw中的函數(shù)指針,讓主程序可以調(diào)用上面的函數(shù){ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}

    標(biāo)簽: Keil 串行 C語言 編程器

    上傳時(shí)間: 2013-11-12

    上傳用戶:gut1234567

  • 《例說STM32》例程源碼(含MP3播放器源碼)

    《例說STM32》例程源碼(含MP3播放器源碼)

    標(biāo)簽: STM MP3 源碼 32

    上傳時(shí)間: 2013-11-12

    上傳用戶:2218870695

  • 基于STM32的mp3播放器的設(shè)計(jì)

    Cortex-M3 是ARM 公司為要求高性能(1.25 Dhrystone MIPS/MHz)、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計(jì)的內(nèi)核。STM32 系列產(chǎn)品得益于Cortex-M3 在架構(gòu)上進(jìn)行的多項(xiàng)改進(jìn),包括提升性能的同時(shí)又提高了代碼密度的Thumb-2 指令集和大幅度提高中斷響應(yīng)的緊耦合嵌套向量中斷控制器,所有新功能都同時(shí)具有業(yè)界最優(yōu)的功耗水平。本系統(tǒng)是基于Cortex-M3 內(nèi)核的STM32 微控制器的mp3 播放器,在硬件方面主要有VS1053硬件音頻解碼器和12864 點(diǎn)陣液晶屏,在軟件方面主要有VS1053 的驅(qū)動,SD 卡工作在SPI 模式下的讀寫驅(qū)動,F(xiàn)AT 文件系統(tǒng)的移植,12864 液晶的驅(qū)動,嵌入式操作系統(tǒng)ucOSii 的移植以及嵌入式圖形管理器ucGUI 的移植。整個(gè)設(shè)計(jì)過程包括電子系統(tǒng)的設(shè)計(jì)技術(shù)及調(diào)試技術(shù),包括需求分析,原理圖的繪制,pcb 板的繪制,制版,器件采購,安裝,焊接,硬件調(diào)試,軟件模塊編寫,軟件模塊測試,系統(tǒng)整體測試等整個(gè)開發(fā)調(diào)試過程。

    標(biāo)簽: STM mp3 32 播放器

    上傳時(shí)間: 2013-11-19

    上傳用戶:shaoyun666

  • 用JAVA寫的視頻播放器

    用JAVA寫的視頻播放器

    標(biāo)簽: JAVA 視頻播放器

    上傳時(shí)間: 2013-12-09

    上傳用戶:zhliu007

  • MP3播放器開發(fā)源碼及電路圖

    MP3播放器開發(fā)源碼及電路圖

    標(biāo)簽: MP3 播放器 源碼 電路圖

    上傳時(shí)間: 2013-12-22

    上傳用戶:shinesyh

  • csf文件播放器中文版

      CSF格式視頻必備的播放器。這是一款集視頻流、音頻流和屏幕流播放于一體的媒體播放軟件。播放科建流式的媒體文件(CSF格式)和其他媒體文件。

    標(biāo)簽: csf 文件播放器

    上傳時(shí)間: 2013-10-18

    上傳用戶:gxf2016

主站蜘蛛池模板: 宁河县| 科尔| 鄄城县| 突泉县| 抚远县| 凌源市| 桃园市| 柯坪县| 兴义市| 万全县| 镇安县| 五华县| 武胜县| 洪湖市| 保亭| 镇平县| 大埔区| 苍溪县| 宜都市| 霍邱县| 昌吉市| 昭苏县| 岫岩| 澄城县| 特克斯县| 师宗县| 禹州市| 历史| 木兰县| 长阳| 南部县| 晋州市| 庆阳市| 资兴市| 琼中| 恩施市| 高雄市| 名山县| 三原县| 泽州县| 西昌市|