freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)控制的mp3音樂播放器的設(shè)計(jì)-在線瀏覽

2025-02-04 14:36本頁面
  

【正文】 52最小系統(tǒng) 按鍵模塊的設(shè)計(jì)鍵盤在系統(tǒng)中作用在于手動(dòng)切換播放器模式、音樂彈奏時(shí)音符的輸入以及曲目的選擇。如圖示,按鍵均低電平有效。在設(shè)計(jì)鍵盤的時(shí)候,還要考慮去抖問題。單片機(jī)中常用軟件法,因此在硬件方面將不做處理。而在播放器為自行彈奏模式時(shí),七個(gè)鍵就對(duì)應(yīng)著七個(gè)音符,即按下某一按鍵,播放器就發(fā)出對(duì)應(yīng)音符的節(jié)奏[3]。無源蜂鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。如圖所示,蜂鳴器的負(fù)極直接接地,蜂鳴器的正極接到三極管的發(fā)射極E上,三極管的基級(jí)B經(jīng)過限流電阻R9后由單片機(jī)的P22引腳控制,當(dāng)P22輸出高電平時(shí),三極管 Q1截止,沒有電流流過線圈,蜂鳴器不發(fā)聲;當(dāng)P22輸出低電平時(shí),三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。 LCD顯示電路的設(shè)計(jì)。硬件連接如圖5所示。LCD的顯示驅(qū)動(dòng)在軟件中完成,硬件中不做處理。播放器工作時(shí),發(fā)光二級(jí)管根據(jù)音樂節(jié)拍閃亮。在程序執(zhí)行過程中,單片機(jī)對(duì)發(fā)出的音符進(jìn)行檢測(cè),再輸出對(duì)應(yīng)的彩燈信號(hào)。圖6 彩燈伴奏電路3 軟件設(shè)計(jì) 單片機(jī)發(fā)聲的基本原理我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單處機(jī)某個(gè)口線的高電平或低電平,則在該口線上就能產(chǎn)生一定頻率形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制高 、低電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào)。便如某歌曲的節(jié)奏為每分鐘94拍。我們可以用T0來產(chǎn)生10毫秒的時(shí)間基準(zhǔn),然后設(shè)置一個(gè)中斷計(jì)數(shù)器,通過判別中斷計(jì)數(shù)器的值來控制節(jié)拍時(shí)間的長短。我們將每一音符的時(shí)間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)非械乃谐?shù)排列成一個(gè)表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實(shí)現(xiàn)演奏效果。為了產(chǎn)生手彈的節(jié)奏感,在某些音符(例如兩個(gè)相同音符)音插入一個(gè)時(shí)間單位的頻率略有不同的音符[4]。利用半周期時(shí)間定時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出的I/O反向,然后重復(fù)計(jì)時(shí)此半周期再對(duì)I/O反向,就可以在I/O腳上得到此頻率的脈沖。N:記數(shù)值;Fi:內(nèi)部計(jì)時(shí)依次為1us,故其頻率為1 MHZ;Fr:要產(chǎn)生的頻率。例:設(shè)K=65536,F(xiàn)=1000000=Fi=1 MHZ。 每個(gè)音符使用1個(gè)音節(jié),字節(jié)的高四位代表音符的高低,低四位代表音符的節(jié)拍。 切換原理播放器具有手動(dòng)彈奏和自行播放兩種模式,對(duì)于這兩種模式的切換,本設(shè)計(jì)是通過軟件判斷模式轉(zhuǎn)換按鍵按下的次數(shù)來實(shí)現(xiàn)的。在軟件中的流程圖大致如圖7所示。因此可以通過口線的電平高、低狀態(tài)檢測(cè),來確認(rèn)按鍵是否按下。軟件中去抖動(dòng)的措施即在第一次檢測(cè)到有鍵按下時(shí),執(zhí)行一段延時(shí)10ms的子程序,然后再次檢測(cè)該鍵的電平狀態(tài),如果該鍵電平仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下[5]。程序流程圖如圖8所示:開始有否鍵按下有否鍵按下延時(shí)去抖返回計(jì)算并保存鍵值按鍵是否釋放恢復(fù)鍵值yesnonoyesyesno圖8 按鍵掃描子程序流程圖程序如下:void key_scan(){ if(key1==0)//key1為模式轉(zhuǎn)換鍵) { delay_ms(9)。 set++。//模式轉(zhuǎn)換按鍵選擇模式 } } if(key2==0)//key2為曲目2或音符duo) { delay_ms(9)。 while(!key2)。//延時(shí),用于消抖動(dòng) if(key3==0)//延時(shí)后再次確認(rèn)按鍵按下 { ru=1。 } } if(key4==0)//key4為曲目4或mi) { delay_ms(9)。 while(!key4)。//延時(shí),用于消抖動(dòng) if(key5==0)//延時(shí)后再次確認(rèn)按鍵按下 { fa=1。 } } if(key6==0)//key6為曲目6或suo) { delay_ms(9)。 while(!key6)。//延時(shí),用于消抖動(dòng) if(key7==0)//延時(shí)后再次確認(rèn)按鍵按下 { la=1。 } } if(key8==0)//key8為曲目8或xi) { delay_ms(9)。 while(!key8)。由于該系統(tǒng)的晶振選用的是12M,所以執(zhí)行每條指令所所用時(shí)間為2us,程序執(zhí)行流程如圖9所示[7]。 for(x=xms。x) for(y=110。y)。LCD開始工作是靠軟件來實(shí)現(xiàn)的[8]。 for(y=0。y++) {WriteData(name[y])。 } mydelay(2)。for(z=0。z++) { WriteData(num[z])。 }for(x=0。x++) {WriteCMD(0x18)。}}開始液晶初始化寫指令選擇第一行數(shù)據(jù)地址指針LCD專用延時(shí)時(shí)間FOR循環(huán)將顯示數(shù)據(jù)逐位寫入顯示在第一行寫指令選擇第二行數(shù)據(jù)地址指針LCD專用延時(shí)時(shí)間FOR循環(huán)將顯示數(shù)據(jù)逐位寫入顯示在第二行返回圖10 LCD顯示子程序流程圖 函數(shù)初始化子程序設(shè)計(jì)函數(shù)初始化程序即把在主函數(shù)內(nèi)對(duì)某些參數(shù)和標(biāo)記位賦初值編寫成一個(gè)函數(shù),這樣使程序更具有條理化,清晰易懂。EA=1ET0=1ET1=1TH0,TL0賦值TR0=1TH1,TL1賦值圖11 初始化程序框圖TR1=1程序如下:void InitialSound(void){ Sound_Temp_TH1 = (65536(1/1200)*SYSTEM_OSC)/256。 // 計(jì)算TH1應(yīng)裝入的初值 TH1 = Sound_Temp_TH1。 TMOD = 0x11。 ET1 = 0。 TR1= 0。} 系統(tǒng)主程序設(shè)計(jì)播放器工作時(shí),程序工作流程圖如圖12所示,先對(duì)在程序過程中所需的各種標(biāo)記位及參數(shù)進(jìn)行初始化賦值,再執(zhí)行按鍵掃描子程序并計(jì)算及保存鍵值,根據(jù)其中的模式轉(zhuǎn)換鍵的按鍵次數(shù)進(jìn)行模式判斷,按鍵次數(shù)為1時(shí)播放器處于自動(dòng)播放模式,揚(yáng)聲器播放模塊開始工作,同時(shí)彩燈伴奏模塊隨著單片機(jī)端口高低電平的變換閃爍達(dá)到伴奏的效果,另一方面顯示模塊進(jìn)入工作狀態(tài)對(duì)當(dāng)前曲目的曲目名進(jìn)行顯示;按鍵次數(shù)為2時(shí)播放器處于手動(dòng)彈奏模式,再次對(duì)按鍵進(jìn)行掃描,對(duì)按下的鍵值進(jìn)行分析,單片機(jī)輸出相應(yīng)的音符,彩燈伴奏模塊也伴隨音符閃亮,同時(shí)LCD顯示模塊對(duì)當(dāng)前音符進(jìn)行顯示。本文從理論上分析了該設(shè)計(jì)方案的可行性,并預(yù)計(jì)能達(dá)到設(shè)計(jì)要求,主要體現(xiàn)在:擁有彩燈伴奏功能;具有音頻D/A轉(zhuǎn)換功能,可以輸出音頻模擬信號(hào)并能播放音頻文件;顯示歌曲信息功能;播放器具有手動(dòng)彈奏和自動(dòng)播放兩個(gè)模式。最后通過自己仔細(xì)查資料,一點(diǎn)一點(diǎn)的就慢慢懂了。設(shè)計(jì)完后,感覺到平時(shí)掌握的東西實(shí)在太少了,要真正實(shí)現(xiàn)學(xué)有所成、學(xué)有所用還有很長的路要走。因此在學(xué)校要學(xué)的不僅是書本上的東西,更重要的是自學(xué)的能力、獨(dú)立思考的能力和動(dòng)手的能力。在學(xué)校的時(shí)間是最好的學(xué)習(xí)機(jī)會(huì),一定要珍惜好這有限的時(shí)間,多學(xué)知識(shí),盡量充實(shí)自己,為以后進(jìn)入社會(huì)多做準(zhǔn)備。unsigned char code name[]=1234567 。unsigned char code tab1[]=PLAYING MUSIC IS。unsigned char code tab3[]=THE TONE IS。//兩只蝴蝶Unsigned char code Music_Two[] ={ 0x17,0x03,0x16,0x03,0x17,0x01,0x16,0x03, 0x17,0x03,0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x16,0x03, 0x17,0x01,0x16,0x03,0x17,0x03,0x16,0x03,0x15,0x01,0x10,0x03,0x15,0x03,0x16,0x02,0x16,0x0D,0x17,0x03,0x16,0x03,0x15,0x03,0x10,0x03,0x15,0x03,0x16,0x01,0x17,0x03,0x16,0x03, 0x17,0x01,0x16,0x03,0x17,0x03,0x16,0x03,0x15,0x01,0x10,0x03,0x15,0x03,0x16,0x02,0x16,0x0D,0x17,0x03,0x16,0x03,0x15,0x03,0x10,0x03,0x10,0x0E,0x15,0x04,0x0F,0x01,0x17,0x03,0x19,0x03, 0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x01,0x16,0x03, 0x16,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03,0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0D, 0x15,0x00,
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1