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

正文內(nèi)容

基于51單片機(jī)簡(jiǎn)易電子琴設(shè)計(jì)報(bào)告-文庫(kù)吧資料

2024-09-02 20:06本頁(yè)面
  

【正文】 機(jī)按動(dòng)鍵盤(pán)可以發(fā)現(xiàn)各個(gè)按鍵對(duì)應(yīng)的音正確。 在確保硬件電路正常且無(wú)異常情況 (斷路或短路 )的情況下方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確。在這部分調(diào)試中主要使用的工具是萬(wàn)用表,用來(lái)完成檢測(cè)電路中是否存在斷路或者短路情況的任務(wù)。//跳出死循環(huán),回到主程序 } } } 硬件調(diào)試主要是針對(duì)單片機(jī)部分進(jìn)行的調(diào)試。//關(guān)閉指示燈 while(KeyState())。i++) //清除錄音數(shù)據(jù) history[i]=0。 for(i=0。 } TR0=0。//history[i*2+1]中存放的是按鍵按 //下的時(shí)間次數(shù),一次表示一個(gè) 10ms,因?yàn)橹袛鄷r(shí)間是 10ms Delayms(10)。history[i*2+1]0。TR1=1。 tl0=Tone_Delay_Table[history[i*2]]%256。 //判斷 DO RE MI FA... YinFu_DiZhongGao_Flag(history[i*2])。history[i*2+1]!=0。 TR1=0。 Record_Timer=0。//如果按鍵松開(kāi),表示按下的一個(gè)音符結(jié)束 i++。//存儲(chǔ)按鍵按下不松的時(shí)間 22 } keystate=KeyState()。 history[i*2]=KeyNo。 TR0=1。 th0=Tone_Delay_Table[KeyNo]/256。 if(KeyNo21) { yuzhi=(KeyNo+3)%7。 if(KeyNo==23) Recordonoff=~Recordonoff。//等待按鍵釋放 while(1) { keystate=KeyState()。 //記錄按下的鍵音 ,初始化 led_zhishi=1。 } : N Y KeyNo21 KeyNo21 KeyNo==23 程序框圖: 5 程序?qū)崿F(xiàn): void Record_yinfu() { uchar keystate,i=0。 20 break。 ET0=0。 Delayms(3000)。 } else //如果剛剛結(jié)束第三首歌,播放第一首歌 { i=0。 p1=Music_Three。 Delayms(2020)。//暫停一下 if(p1==Music_One) //如果剛剛結(jié)束第一首歌,播放第二首歌 { i=0。//跳出之前播放的歌曲,以使播放下一曲 } } if(*(p1+i+1)==0XFF) //判斷歌曲是否播放完畢 { 19 ET0=0。 //一定要改變 KeyNo 的值,否則只播放一個(gè)音符 Delayms(1000)。}//同理 i=0。} else {ET0=0。} else if(p1==Music_Two)//若是第二首,下一首是第三首 {ET0=0。} else if(KeyNo==22)//下一曲 { if(p1==Music_One) 若正在播放第一首,那么下一曲就是第二首 {ET0=0。 if(KeyNo==23) //退出播放 {ET0=1。 Delayms(180)。j0。 Beep=1。 ET0=1。 tl0=*(p2+(yinfu1)*2+1)。//取出節(jié)拍數(shù) yinfu_led=yinfu%7。 //取出音符對(duì)應(yīng)的序號(hào) ,如 //Music_One[2]=0x82, 音符代表MusicYinFu[8] jiepai=((*(p1+i))amp。*(p1+i)!=0XFF。 //循環(huán)變量 uchar *p1=Music_One,*p2=MusicYinFu。 void PlayMusic(void) { uchar yinfu,jiepai,yinfu_led。 函數(shù)實(shí)現(xiàn)如下: //音樂(lè)的頻率所對(duì)應(yīng)的 T值 //包含了低音 SO,LA,SI,中音 DO,RE,MI, FA,SO,RE,SI,高音 DO,LA,MI uchar code MusicYinFu[]={0XFc,0X44,0XFc,0Xac,0XFd,0X09,0XFd,0X34, 0XFD,0X82,0XFD,0Xc8,0XFD,0X06,0XFb,0X04, 0Xfb,0X90, 0Xfc,0X0c,0Xfe,0X22,0Xf9,0X5b,0Xfa,0x15}。//控制占空比變量,讓 LED 以不同頻率閃爍 } Delayms(2)。 led=0x00。 } } else { TR0=0。 } else if(KeyNo==23) //進(jìn)入錄音狀態(tài) { Recordonoff=~Recordonoff。 } else if(KeyNo==21) //進(jìn)入播放歌曲狀態(tài) { PlayMusic()。//判斷是高中低音 TR0=1。//賦初值,產(chǎn)生 //按鍵所對(duì)應(yīng)的音符的頻率 tl0=Tone_Delay_Table[KeyNo]%256。 if(KeyNo21)//KeyNo 存儲(chǔ)按下鍵的鍵值 { yuzhi=(KeyNo+3)%7。指示 LED 滅(進(jìn)入演奏狀態(tài),若進(jìn)入錄音狀態(tài)則亮) while(1) { Keystate=KeyState()。 led=0x00。當(dāng)時(shí) DO時(shí),亮一個(gè) LED 燈,當(dāng)時(shí) RE時(shí),亮兩個(gè)LED... //21個(gè)音符的頻率對(duì)應(yīng)的 T 值 Uint code Tone_Delay_Table[]={63628,63835,64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217,65252,65283} void main() { uchar Keystate=0。 } 中斷函數(shù)中的余值在主程序中是這樣賦值的: yuzhi=(KeyNo+3)%7。 } } cont++。 } else { led=0x00。 } if(flag_yinfu_dizhonggao==2) { if(cont1) //控制占空比為 1/2 { cont1=~cont1。flag_yinfu_dizhonggao==1)||flag_yinfu_dizhonggao==3) //低音占空比為 1/高音占空比為 1 { led=LED_Dis[yuzhi]。 } if(flag_yinfu_dizhonggao==1||flag_yinfu_dizhonggao==3)//低音或高音 { if((cont==3amp。 TL1=0xE0。 Beep=~Beep。 以下是中斷服務(wù)程序: void play_Tone() interrupt 1 using 0//定時(shí)器 T0溢出中斷,產(chǎn)生不同頻率的矩形波 { TH0=th0。 IP=0x02。 IE=0x82。 TH0=th0。 //定時(shí)器 T0,T1 設(shè)置為方式 1, TH1=0xD8。 。 flag_yinfu_dizhonggao=3。 //高音 } 12 此函數(shù)是根據(jù)按下鍵值來(lái)確定音符是高音、中音還是低音flag_yinfu_dizhonggao=1 代表 低音; lag_yinfu_dizhonggao=2。 // 低音 else if(keyval14) flag_yinfu_dizhonggao=2。64580,低音區(qū) :1 2 3 4 5 6 7 DW 64580,64671,64777,64820,64898,64968,65030 65058 中音區(qū) :1 2 3 4 5 6 7 DW 65058,65110,65157,65178,65217,65252,65283 65312 高音區(qū) :1 2 3 4 5 6 7 把這個(gè)數(shù)據(jù)表,放在程序中,需要播音的時(shí)候,就從表中取出一個(gè)數(shù)據(jù)送到定時(shí)器,當(dāng)定時(shí)器溢出中斷的時(shí)候,再 對(duì)輸出引腳取反,那么,在揚(yáng)聲器中,即可聽(tīng)到上表中頻率的聲音。 ( 2)音調(diào)數(shù)據(jù)表 曲調(diào)值 DELAY 曲調(diào)值 DELAY 調(diào) 4/4 125ms 調(diào) 4/4 62ms 調(diào) 3/4 187ms 調(diào) 3/4 94ms 調(diào) 2/4 250ms 調(diào) 2/4 125ms 上表中的頻率數(shù)值,有些過(guò)多,去掉不常用的黑鍵頻率,只是把白鍵對(duì)應(yīng)的數(shù)據(jù)存放在單片機(jī)中,即可滿足絕大部分的應(yīng)用需求。用單片機(jī)播放音樂(lè),或者彈奏電子琴,實(shí)際上是按照特定的頻率,輸
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1