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

正文內(nèi)容

基于單片機(jī)的音樂(lè)播放器的設(shè)計(jì)(參考版)

2025-06-30 20:39本頁(yè)面
  

【正文】 這次畢業(yè)設(shè)計(jì)通過(guò)自己的努力,同學(xué)的幫助,還有老師的辛勤指導(dǎo)下,最終順利完成!致 謝 為期兩個(gè)月的畢業(yè)設(shè)計(jì)結(jié)束了,在這次設(shè)計(jì)中,我得到了蘭聰花老師悉心指導(dǎo),在此深表感謝,同時(shí),我也要向在設(shè)計(jì)過(guò)程中給予我?guī)椭膸孜煌瑢W(xué)以及班委的協(xié)助工作致以誠(chéng)摯的謝意。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。這次畢業(yè)設(shè)計(jì)我學(xué)到很多很多的東西,學(xué)會(huì)了怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過(guò)程中怎么樣去克服心理上的不良情緒。我的題目是基于單片機(jī)的音樂(lè)播放器的設(shè)計(jì), 對(duì)于我們這些工科學(xué)生來(lái)說(shuō),這是一次考驗(yàn)。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說(shuō)得是無(wú)處不在。 TL0=Sound_Temp_TL0。}void BeepTimer0(void) interrupt 1//音符發(fā)生中斷{ BeepIO=!BeepIO。 TR1=0。 ET1=0。 TMOD=0x11。//計(jì)算TH1應(yīng)裝入的初值 TH1=Sound_Temp_TH1。 Sound_Temp_TH1=(65535(1/1200)*SYSTEM_OSC)/256。 //在輸出數(shù)據(jù) LCDE=0。 LCDRW=0。 //先延時(shí) LCDE=1。 //在輸出命令 LCDE=0。 LCDRW=0。 //先延時(shí) LCDE=1。uiCount++)。 for(uiCount=0。break。break。break。break。 //保存列掃描時(shí)有鍵按下 Z=X|Y。 //保存行掃描時(shí)有鍵按下時(shí)狀態(tài) P1=0xFC。 //先對(duì)P0置數(shù),行掃描 if(P1!=0xF3) //判斷是否有鍵按下 { delay1()。 P1=0xFF。由此得到閉合鍵的行值和列值,然后可采用計(jì)算法或查表法將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值。如表41所示。當(dāng)檢測(cè)到有鍵按下后,延時(shí)一段時(shí)間再做下一步的檢測(cè)判斷?!?”,“1”,則無(wú)鍵閉合,否則有鍵閉合。4根行線和4根列線形成16個(gè)相交點(diǎn)。 }AT89C51單片機(jī)的P3口用作鍵盤(pán)I/O口,鍵盤(pán)的列線接到P3口的低4位,鍵盤(pán)的行線接到P3口的高4位。 if (P3 == KeyCodeTable[k]) return k。j 3。i++) { P3 = KeyScanCode[i]。//掃描鍵盤(pán)獲取按鍵序號(hào) if (P3! = 0x0F) { for (i = 0。 //鍵盤(pán)掃描碼 uchar KeyCodeTable[] ={0xEE,0xED,0xEB,0xDE,0xDD,0xDB, 0xBE,0xBD,0xBB,0x7E,0x7D,0x7B}。開(kāi)始 鍵盤(pán)掃描N有按鍵按下?去抖動(dòng)確定按鍵的物理位置計(jì)算鍵碼等待釋放返回返回圖43 鍵盤(pán)掃描子程序流程其源代碼如下:uchar GetKey (){ uchar i, j, k = 0。如果沒(méi)有鍵按下,則認(rèn)為按鍵值已釋放。 } }按鍵掃面程序事實(shí)上就是去抖動(dòng)程序。 mydelay(500)。 mydelay(50)。i6。 WriteCMD(0x80+0x40)。i10。 mydelay(500)。i6。 WriteCMD(0x80+0x40)。 mydelay(50)。i10。 mydelay(500)。 mydelay(50)。i11。 WriteCMD(0x80+0x40)。 mydelay(50)。i11。//播放第一首歌 mydelay(500)。i9。 WriteCMD(0x80+0x40)。 //寫(xiě)第一首歌曲序號(hào) mydelay(50)。i10。 init()。//發(fā)音初始化程序 Getch()。 mydelay(50)。i6。 WriteCMD(0x80+0x40+2)。 //LCD寫(xiě)數(shù)據(jù)函數(shù)寫(xiě)第一行 mydelay(50)。i15。 init()。順序播放函Order()函數(shù)代碼如下:void Order(){ uint i。EA=1。TR0=0。ET0=1。TL1=Sound_Temp_TL1。 //計(jì)算TL1應(yīng)裝入的初值Sound_Temp_TL1=(65536(1/1200)*SYSTEM_OSC)%256。由于整個(gè)程序要用到定時(shí)器0和定時(shí)器1,所以,初始化程序主要是對(duì)定時(shí)器相關(guān)內(nèi)容作說(shuō)明。y0。x0。開(kāi)始是否x0?x是否y0?y結(jié)束NYN圖42 延時(shí)程序流程圖程序如下:void delay_ms(uint xms){ uint x,y。 延時(shí)程序一般是通過(guò)一層或幾層循環(huán)實(shí)現(xiàn)的,整個(gè)過(guò)程延時(shí)的時(shí)間是程序執(zhí)行的指令總次數(shù)乘以每條指令所用的時(shí)間。程序的總體流程是當(dāng)P1由按鍵按下時(shí),讀鍵盤(pán),并儲(chǔ)存鍵值,若為F鍵則通過(guò)查表的方式,調(diào)用字符串下手鍵號(hào)/曲目子程序,將鍵號(hào)顯示出來(lái)。主要程序流程有:主程序、判斷有無(wú)按鍵子程序、鍵盤(pán)掃描子程序、顯示鍵號(hào)/歌曲號(hào)子程序、開(kāi)機(jī)畫(huà)面子程序、按鍵值播放歌曲子程序等。 鍵的閉合與否,反映在行線輸出電壓上就呈現(xiàn)高電平或低電平,如果高電平表示鍵斷開(kāi),低電平則表示鍵閉合,通過(guò)對(duì)行線電平高低狀態(tài)的檢測(cè),便可確認(rèn)按鍵按下與否。 鍵盤(pán)實(shí)質(zhì)上是一級(jí)按鍵開(kāi)關(guān)的集合。為了減少電路的復(fù)雜程度,節(jié)省單片機(jī)的I/O接口,因此非編碼鍵盤(pán)在單片機(jī)鍵盤(pán)中使用非常廣泛。鍵盤(pán)可以分為獨(dú)立連接式和矩陣式兩種,每一種按其譯碼方式都可以分為編碼及非編碼兩種。 圖34 按鍵電路 鍵盤(pán)是一組按鍵的集合,它是最常用的單片機(jī)輸入設(shè)備。本文采用的是獨(dú)立式按鍵,直接用I/O口線構(gòu)成單個(gè)按鍵電路,每個(gè)按鍵占用一條I/O口線,每個(gè)按鍵的工作狀態(tài)不會(huì)產(chǎn)生互相影響。抖動(dòng)持續(xù)時(shí)間的常長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般在510ms之間。按鍵閉合過(guò)程在相應(yīng)的I/O端口形成一個(gè)負(fù)脈沖。振蕩器電路如圖33所示。這種情
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1