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

正文內(nèi)容

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

2025-06-25 17:29本頁(yè)面
  

【正文】 北京:清華大學(xué)出版社,2005。上海:復(fù)旦大學(xué)出版社,2003【5】。南京:南京大學(xué)出版社,1997【4】。微型計(jì)算機(jī)控制技術(shù)?,F(xiàn)代微機(jī)原理與接口技術(shù)。在學(xué)校的時(shí)間是最好的學(xué)習(xí)機(jī)會(huì),一定要珍惜好這有限的時(shí)間,多學(xué)知識(shí),盡量充實(shí)自己,為以后進(jìn)入社會(huì)多做準(zhǔn)備。因此在學(xué)校要學(xué)的不僅是書(shū)本上的東西,更重要的是自學(xué)的能力、獨(dú)立思考的能力和動(dòng)手的能力。專周實(shí)驗(yàn)完后,感覺(jué)到平時(shí)掌握的東西實(shí)在太少了,要真正實(shí)現(xiàn)學(xué)有所成、學(xué)有所用還有很長(zhǎng)的路要走。最后通過(guò)自己仔細(xì)查資料,一點(diǎn)一點(diǎn)的就慢慢懂了。仔細(xì)讀過(guò)程序,發(fā)現(xiàn)其實(shí)復(fù)雜的程序都是由一些簡(jiǎn)單的程序組成的,感覺(jué)看不懂是因?yàn)榍懊娴幕A(chǔ)知識(shí)沒(méi)掌握好,對(duì)語(yǔ)法不熟悉就不能很好地理解程序的含義。 此次課程設(shè)計(jì)主要做了一個(gè)程序:音樂(lè)發(fā)生器。 } }}設(shè)計(jì)心得:在做次設(shè)計(jì)中,感覺(jué)比平時(shí)上課學(xué)習(xí)了很多東西,一方面自己在獨(dú)立思考和動(dòng)手的能力上有了一定的提高。 } Play(Music_Two,0,3,360)。x++) {WriteCMD(0x18)。 } for(x=0。z++) { WriteData(tab2[z])。 for(z=0。 } mydelay(2)。y++) { WriteData(tab1[y])。for(y=0。 } if(P2==0x7f) {//*********************************//**********顯示歌曲模塊********* WriteCMD(0x01)。 if(m==4) { m=0。 } } m++。 0x0f。 while(temp!=0x0f) { temp=P1。 } temp=temp amp。x++) {WriteCMD(0x18)。 } for(x=0。z++) { WriteData(tab4[z])。for(z=counter。 WriteCMD(0x80+0x40)。 mydelay(3)。y11。WriteCMD(0x80)。TR0=1。 Sound_Temp_TH0=tab[key]/256。 } temp=P1。 case 0x07: key=3+4*m。 case 0x0b:key=2+4*m。 case 0x0d: key=1+4*m。 switch(temp) {case 0x0e: key=0+4*m。 temp=temp amp。 0x0f。 temp=P1。j0。i0。 0x0f。 temp=P1。while(1) {//********************鍵盤(pán)掃描************* P1=0xff。 }//************************************** k=0xef。x++) {WriteCMD(0x18)。 }for(x=0。z++) { WriteData(num[z])。 for(z=0。 } mydelay(2)。y++) {WriteData(name[y])。 for(y=0。 inicry()。unsigned char counter。unsigned char key。y)。i) for(y=255。 for(i=x。WriteCMD(0x01)。 WriteCMD(0x0f)。 LCDE=0。 //最后顯示數(shù)據(jù)。 //再輸出數(shù)據(jù)。 LCDRW=0。 //然后把LCD改為寫(xiě)入數(shù)據(jù)狀態(tài)。 //先延時(shí)。 //最后執(zhí)行命令。 Delay()。 LCDPORT=Command。 LCDRS=0。 LCDE=1。}void WriteCMD(uchar Command) { Delay()。uiCountvoid Delay(){uint uiCount。sbit LCDRW=P3^6。 } BeepIO = 0。 Tone=Sound[Point]。TF1=0。TH1 = Sound_Temp_TH1。i0。 BeepIO=0。TF1=0。TH1 = Sound_Temp_TH1。i0。 //算出不發(fā)音的長(zhǎng)度 if (SL!=0) { TR0=1。 if(SL==0) LDiv1=0。 else LDiv1=LDiv/2。 if(XG!=1) if(XG==0) //算出普通音符的演奏長(zhǎng)度 if (SLen=4) LDiv1=LDivLDiv4。 LDiv=LDiv0/SLen。 //算出是幾分音符 XG=Length/10%10。TL0 = Sound_Temp_TL0 + 12。Sound_Temp_TL0 = Temp_T%256。 //高音 Temp_T = 65536(50000/CurrentFre)*10/(12000000/SYSTEM_OSC)。 //查出對(duì)應(yīng)音符的頻率 if(SL!=0) {if (SM==1) CurrentFre = 2。 //計(jì)算出高低音 SH=Tone/100。while(Point SoundLength) {SL=Tone%10。 // 普通音最長(zhǎng)間隔標(biāo)準(zhǔn) TR0 = 0。 // 算出1分音符的長(zhǎng)度(幾個(gè)10ms) LDiv4 = LDiv0/4。 Length = Sound[Point+1]。}Point = 0。 } SoundLength = 0。 if(Octachord == 1) NewFreTab[i]=2。NewFreTab[i] = FreTab[j]*2。i++) // 根據(jù)調(diào)號(hào)及升降八度來(lái)生成新的頻率表 {j = i + Signature。 for(i=0。 unsigned int Point,LDiv,LDiv0,LDiv1,LDiv2,LDiv4,CurrentFre,Temp_T,SoundLength。}//**************************************************************************void Play(unsigned char *Sound,unsigned char Signature,unsigned Octachord,unsigned int Speed){unsigned int NewFreTab[12]。 TH0 = Sound_Temp_TH0。EA = 1。TR0 = 0。 ET0 = 1。 TL1 = Sound_Temp_TL1。 // 計(jì)算TL1應(yīng)裝入的初值 (10ms的初裝值) Sound_Temp_TL1 = (65535(1/1200)*SYSTEM_OSC)%256。 //音長(zhǎng)定時(shí)器初值暫存//**************************************************************************void InitialSound(void){ BeepIO = 0。unsi
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1