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

正文內(nèi)容

片機課程設(shè)計--簡易電子琴設(shè)計-在線瀏覽

2024-07-31 08:19本頁面
  

【正文】 key_record=0。//錄音、回放、返回 case 0xe7:temp=0。 if(pause==2) pause=0。 // case 0xde:temp=6。 //6 case 0xdd:temp=7。 //7 6 / 16 case 0xdb:temp=11。 //11 case 0xd7:temp=12。 //12 case 0xbe:temp=13。 //13 case 0xbd:temp=14。 //14 case 0xbb:temp=15。 //15 case 0xb7:temp=16。 //16 case 0x7e:temp=17。 //17 case 0x7d:temp=21。 //21 case 0x7b:temp=22。 //22 case 0x77:temp=23。 //23 } display()。amp。//先把按鍵前的初始值記下 record[j+1]=temp。//下標值加 2 TH1=(655365000)/256。 TR1=1。 TL0=table[temp]%256。 } while(h!=0xf0)//檢查按鍵是否彈起 { P3=0xf0。0xf0。//彈起后關(guān)閉定時 if(key_record==1amp。temp!=0)//錄音時,如果有按鍵按下且不是功能鍵 { TR1=0。//把按鍵的時間記下 a=0。 b++。//把蜂鳴器關(guān)閉 } 回放功能 :就是把錄的音給回放出來 源程序: void replay(uint *Song,uint *Song_L)//回放功能 { uint i。ij。 //把音譜頻率賦給 n m=Song_L[i]。//定時關(guān)閉即不發(fā)出聲音 BUZZER=1。 } else//否則 { TH0=table[temp]/256。 TR0=1。 } j=0。b=0。//關(guān)閉定時 BUZZER=1。 做這個設(shè)計給我最大的感觸就是當一個模塊實現(xiàn)了,但是當把各個模塊 8 / 16 結(jié)合到一塊后就會變得有點復(fù)雜。 在做這個設(shè)計時我也遇到了很多問題 :比如,做錄音、回放功能的時候,記錄鍵與鍵之間的時間的設(shè)置時,記錄的時間很短,原因就是當沒有鍵按下的時候,程序會一 直進行鍵盤掃描,而且每次都會重新進行定時初始值設(shè)置,我們希望的現(xiàn)象是定時初始值設(shè)置一次就夠了,如果每次都重新設(shè)置定時器初始值,那么記錄的時間就會不準確。所以這個標志位再程序設(shè)計的時候顯得很重要。標志變量就像是一個站崗放哨的人,只有這個人同意了,你才能進入。每當遇到的問題解決了,我都把他們當做是一筆財富。授之魚不如授之漁,這句話也體現(xiàn)了方法的重要性。//定時器 0、 1都設(shè)為工作方式 1 EA=1。//允許 T0定時 ET1=1。//初始化 while(1) { keyscan()。//顯示 if(key_function==1)//如果選擇音樂播放 { switch(count) { case 1:play(music1,music1_L)。 case 2:play(music2,music2_L)。 case 3:play(music3,music3_L)。 } } else //否則選擇為電子琴 { if(key_record==2)//判斷是否回放 replay(record,record_L)。 TL0=table[temp]%256。 } void timer1 () interrupt 3//用于電子琴錄音計時 { TH1=(6553610000)/256。 a++。 //錄音 /回放 void display()。 //sbit key3 = P2^4。 sbit w2 = P2^1。 sbit w5 = P2^4。 sbit dula = P2^6。 uchar j,a,b,flag,count=1。 uint record[20],record_L[20]。 uchar code led[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。// 每個音符的簡譜碼( T值) void delay1(uint j) { while(j) { uint x。x0。 display()。 while(a) { for(x=0。x++)。 P0=led[key_function]。 wela=1。//數(shù)碼管第一位亮 wela=0。 11 / 16 dula=1。 dula=0。 P0=0xfd。 dula=1。 dula=0。 P0=0xfb。 delay(2)。 P0=led[temp/10]。 wel
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1