【正文】
//***********************************// mydelay(25)。 WriteCMD(0x80)。 } } if(key4==0)//key4為曲目4或mi) { delay_ms(9)。}//*********************************************************************//endif main(){ unsigned char temp。LCDPORT=dat。 //先延時。i) //音符間的間隔 { while(TF1==0)。 else LDiv1=LDiv*SOUND_SPACE。 //計算出音符 SM=Tone/10%10。 if(j 11) {j = j12。 TMOD = 0x11。unsigned char code tab1[]=PLAYING MUSIC IS。 TR1= 0。z++) { WriteData(num[z])。 for(x=xms。 while(!key4)。因此可以通過口線的電平高、低狀態(tài)檢測,來確認(rèn)按鍵是否按下。我們將每一音符的時間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)非械乃谐?shù)排列成一個表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實現(xiàn)演奏效果。 LCD顯示電路的設(shè)計。本系統(tǒng)采用按鍵手動復(fù)位,在上電瞬間,RST引腳電位與VCC相同,隨著電容上充電電壓的增加,RST引腳電位逐漸下降。 常見的基于單片機(jī)設(shè)計的音樂播放器基本不能顯示歌曲信息。而同屬指令系統(tǒng)規(guī)范完整這一范疇所帶來的便利還包括了二進(jìn)制—十進(jìn)制調(diào)整指令DA,可將二進(jìn)制變?yōu)锽CD碼,這使得十進(jìn)制的計量更為快捷簡便,省去了其他系列單片機(jī)還需要編寫調(diào)用相應(yīng)子程序的冗余過程,節(jié)省了大量的勞動力和時間。家用音樂播放器產(chǎn)品及其它有關(guān)消費電器產(chǎn)品都是一些開環(huán)或閉環(huán)控制系統(tǒng),都由核心控制部分,執(zhí)行部分與人機(jī)界面三部分組成。要為現(xiàn)代人工作、生活提供更好的更方便的服務(wù)就需要從單片機(jī)技術(shù)著手,一切向著數(shù)字化控制、智能化控制方向發(fā)展。本設(shè)計由硬件電路設(shè)計和軟件程序設(shè)計兩大部分組成。 播放模塊播放模塊是由8050 NPN三極管和電磁蜂鳴器組成。7個按鍵分別代表7個音符,包括中音段的全部音符。此外,上拉電阻保證了按鍵斷開時,I/O口線有確定的高電平。圖5 LCD顯示電路 彩燈伴奏電路的設(shè)計根據(jù)設(shè)計要求,本設(shè)計中設(shè)計了彩燈伴奏電路,彩燈采用普通發(fā)光二級管。記數(shù)脈沖值與頻率的關(guān)系公式如:N=Fi/2/Fr。//延時,用于消抖動 if(key1==0)//延時后再次確認(rèn)按鍵按下 { while(!key1)。//延時,用于消抖動 if(key6==0)//延時后再次確認(rèn)按鍵按下 { suo=1。}開始是否x0x結(jié)束是否y0yyesnonoyes圖9 延時程序流程圖 LCD顯示子程序設(shè)計本設(shè)計中利用LCD1602顯示當(dāng)前播放曲目名稱以及彈奏時的音符。 mydelay(5)。在做此畢業(yè)設(shè)計中遇到不少的難點,有的原理,根本就不知道怎樣去實現(xiàn)。//********************************************************************////********************************************************************//ifndef __SOUNDPLAY_H_REVISION_FIRST__define __SOUNDPLAY_H_REVISION_FIRST__//******************************************************************//define SYSTEM_OSC 12000000 define SOUND_SPACE 4/5 sbit BeepIO=P3^0。 EA = 1。 } SoundLength = 0。 //高音 Temp_T = 65536(50000/CurrentFre)*10/(12000000/SYSTEM_OSC)。 //算出不發(fā)音的長度 if (SL!=0) { TR0=1。 Tone=Sound[Point]。 LCDPORT=Command。LCDE=0。 inicry()。 while(!key5)。 } mydelay(2)。據(jù)我所知,除文中加以標(biāo)注和致謝的地方外,論中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得內(nèi)江師范學(xué)院或其他教育機(jī)構(gòu)的學(xué)位證書而使用過的材料。 } for(x=0。 while(!key7)。//延時,用于消抖動 if(key2==0)//延時后再次確認(rèn)按鍵按下 { duo=1。 for(i=x。 //先延時。void Delay(){uint uiCount。TF1=0。 //算出是幾分音符 XG=Length/10%10。 // 算出1分音符的長度(幾個10ms) LDiv4 = LDiv0/4。 int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLengt。 //音長定時器初值暫存//**************************************************************************//void InitialSound(void){ BeepIO = 0。要想在競爭異常激烈的現(xiàn)代社會立足,就必須有實力。 TL1 = Sound_Temp_TL1。 mydelay(5)。//延時,用于消抖動 if(key8==0)//延時后再次確認(rèn)按鍵按下 { xi=1。 } } if(key3==0)//key3為曲目3或ruai) { delay_ms(9)。1/,假設(shè)1/4拍為 DELAY,則1拍為4 DELAY。音符的節(jié)拍我們可以用定時器T0來控制,送入不同的初值,就可以產(chǎn)生不同的定時時間。圖3 按鍵輸入電路 揚(yáng)聲器播放模塊的設(shè)計揚(yáng)聲器播放模塊是由8050 NPN三極管和無源蜂鳴器組成,如圖4所示。AT89S51單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入和輸出端。我們知道,發(fā)光二極管(英文縮寫為LED)是由半導(dǎo)體材料制成的、能將電信號轉(zhuǎn)換成光信號的結(jié)型電致發(fā)光器件。彩燈伴奏模塊則是LED通過控制模塊的控制伴隨音樂節(jié)奏閃亮。 MP3 music player。關(guān)鍵詞:多功能;MP3音樂播放器;單片機(jī);按鍵彈奏AbstractThe current popular MP3 player sound has been quite good, but feel regretful slightly is in addition to the choice of songs and display the song name, most players without such as random play music rhythm, music and other functions. But as people living standard rise ceaselessly, SCM control is one of the goals that people pursue. For the modern life of work, to provide better and more convenient service needs from proceed toward the SCM technology, all digital control, intelligent control direction.This design is the use of singlechip microputer as the core design of the digital music player. The design in the implementation of music playing and the song name display and other basic functions based on the expansion, adding lights acpaniment, play button, display the beat of the music and other functions.This paper gives a system scheme, hardware establishment detailed circuit design and software program. And through the software and hardware of simultaneous debugging, verify the feasibility of the design sch