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

正文內(nèi)容

基于51單片機(jī)的電子琴設(shè)計附原理圖、pcb和程序_課程設(shè)計說明書(存儲版)

2025-10-07 15:43上一頁面

下一頁面
  

【正文】 _6 = P1^6。 /*按鍵發(fā)出音調(diào)的初值 (低位) */ uchar f_h。 /*節(jié)拍(簡而言之就是一個音調(diào)響的時間長度) */ uchar song_id = 1。//延 時 xx ms 函數(shù) void delay(uint pai)。 uchar code led_table[]={0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}。c0。 while(pai) //延遲 pai 個 { for(c=1。 P1 = 0x0f。 if(P1_3 == 0) i = 4。 if(P1_5 == 0) j = 2。 y = key_y()。 //中音 5 7 和 高音 1 else if(x == 4) P0 = num[15 + y]。 //中音 1 4 f_l = chuzhi[(16+y)*2 +1]。 TH0 = song_h。 // beep = ~beep。 flash 8 ) //最大加到 8 ++flash。amp。 } } uchar choose() //播放狀態(tài)下 選歌 { uchar i = 0。amp。 else if(x == 2 amp。 y == 2)//用作暫停播放 i = 14。 //選同一首歌時,重播這首歌 } else if(i allsong amp。 else if(x == 3) j = 8 + y。 y = key_y()。amp。 else if(x == 4 amp。 y == 3) //下一首 i = 15。 i 13) /*如果按鍵號 在 最大歌曲序號 和 功能鍵 之間,返回原歌曲序號 */ i = song_id。 //延時 500ms while(1) { temp_id = choose2()。 } else if(temp_id == 15) //下一首 { which = 2。 break。 //播放第一首 else ++song_id。 qusu = srkl[0]。 //節(jié)拍 } else if(song_id == 2) { key_play = 0。 yindiao = test[which]。 /* 高四位 。 /*正在發(fā)聲的標(biāo)志,定時器 1得以控制 led燈按一定的時間間隔 逐個點亮 */ } else { TR0 = 0。 /*延時 = 節(jié)拍數(shù) x 125ms (決定著 1個音的發(fā)聲時間 ) */ TR0 = 0。 //下一個音 } /*已經(jīng)放完一首歌,或者停止播放 ,接下來判斷是停止播放還是播放下一首 */ TR0 = 0。 /*播放鍵引腳置高電平,播放結(jié)束的標(biāo)志 */ song_id = 1。 /*歌曲序號自動 +1 自動播放下一首歌 */ which = 2。 /*定時器 0 定時器 1 都采用方式 1( 。 //一秒后從第一首開始播放 goto nochoose。 if(x == 0) break。 P2 = led_table[0]。 } pai2 = (2400/qusu)*jiepai。 /*開啟定時器 1 ,led開始閃動 */ display()。 /*如果既沒有選歌 又沒有停止 返回去做選擇*/ } /********************************************************************************************/ yindiao_l = yindiao % 16。 if(test[which] == 0xff) /* 遇到結(jié)束符 跳出循環(huán) 停止播放*/ break。 yindiao = ymt[which]。 } 27 /**************************************************************************************/ nochoose: //不用選歌 當(dāng)正常放完一首歌時,跳到這里 if(song_id == 3) { key_play = 0。 } else if(temp_id == 15) //下一首 { which = 2。 temp_id = allsong)/*選了另一首歌曲 屏蔽掉了未定義的按鍵 */ { which = 2。//播放最后一首 else song_id。 送到 delay()函數(shù) */ while(1) { while(1) { choose_id: temp_id = choose()。 /*選了同一首歌時,重播這首歌 (0, 1用來存曲速了 故從 2開始 ) */ } else if(i allsong amp。 else if(x == 4 amp。amp。 y == 2) //選第二首 i = 2。 } uchar choose2() /*選歌 不用放開按鍵 在暫停的狀態(tài)下使用 */ { uchar i = 0。 if(x == 1) j = y。 y == 4) i = 16。 else if(x == 4 amp。amp。 y == 1) i = 1。 flash 0) flash。 P2 = led_table[flash]。 y != 0 amp。 key_play == 1)/*當(dāng)有矩陣按鍵按下,并且不播放歌曲時 */ { TL0 = f_l。 //高音 2 5 f_l = chuzhi[(33+y)*2 + 1]。 //低音 4 7 f_l = chuzhi[2*y + 6 + 1]。 //低音 4 7 else if(x == 2) P0 = num[7 + y]。 return (j)。 if(P1_4 == 0) j = 1。 if(P1_2 == 0) i = 3。a)。 // 142*(1+2*2) = 710 } } void delay(uint pai) /*pai 是節(jié)拍 pai若定義成 uchar類型,當(dāng)節(jié)拍 0x0c時,會造成數(shù)據(jù)溢出,產(chǎn)生失真。 void delayms(uint ms) /*ms 等于 1時,延時 1ms 等于 2時,延時 2ms,以此類推 */ { uchar a,b,c。 /*暫停狀態(tài)下 選歌函數(shù) 不用釋放按鍵即可跳出函數(shù),返回歌曲序號 */ void play()。 //獲取鍵盤縱坐標(biāo) 函數(shù) void play()。 //音調(diào)的高四位 uchar yindiao_l。 /*矩陣鍵盤縱坐標(biāo) 從 1開始 0為未按下的標(biāo)志 */ uchar flash = 0。 sbit P1_4 = P1^4。試了一下,將控制蜂鳴器的定時器 T0 設(shè)為高優(yōu)先級。 【總結(jié)體會】: 本課題讓我更深刻地認(rèn)識到了單片機(jī)這種器件,特別是對單片機(jī)里面的定時器收獲最多。右側(cè)三橫: 0x10;右下角有一點:加上當(dāng)前延時的一半。 低音 頻率 T 參數(shù) 中音 頻率 T 參數(shù) 高音 頻率 T 參數(shù) Do 262 1908 229 Do 523 956 115 Do 1046 57 57 Do﹟ 277 1805 217 Do﹟ 554 903 108 Do﹟ 1109 54 54 Re 294 1701 204 Re 587 852 102 Re 1175 51 51 Re﹟ 311 1608 193 Re﹟ 622 804 97 Re﹟ 1245 48 48 Mi 330 1515 182 Mi 659 759 91 Mi 1318 45 45 Fa 349 1433 172 Fa 698 716 86 Fa 1397 43 43 Fa﹟ 370 1351 162 Fa﹟ 740 676 81 Fa﹟ 1480 41 41 So 392 1276 153 So 784 638 77 So 1568 38 38 So﹟ 415 1205 145 So﹟ 831 602 72 So﹟ 1661 36 36 La 440 1136 136 La 880 568 68 La 1760 34 34 La﹟ 464 1078 129 La﹟ 932 536 64 La﹟ 1865 32 32 Si 494 1012 121 Si 988 506 61 Si 1976 30 30 表 C 調(diào)各音符頻率與計數(shù)值 T 的對照表 10 音調(diào)字節(jié)中,高四位表示低中高音, 0表示低音, 1表示中音, 2 表示高音;低四位表示“音調(diào)”。音持續(xù)時間的長短即時值,一般用拍數(shù)表示。 3) 例如頻率為 523Hz,其周期 T=1/523=1912us,因此只要令計數(shù)器計時 956us/1us=956,在每次計數(shù) 956 次時將 I/O 反相,就可得到中音 DO( 523Hz)。在鋼琴等 鍵盤樂器上, C– D、 D– E、 F– G、 G– A、 A– B 兩音之間隔著一個黑鍵,他們之間的距離就是全音; E– F、 B– C兩音之間沒有黑鍵相隔,它們之間的距離就是半音。因為 、 是燒寫程序用到的接口。 這樣做,就能看得出音符的節(jié)拍了。amp。 flash 8 ) //最大加到 8 ++flash。 //中音 5 7 和 高音 1 else if(x == 4) P0 = num[15 + y]。 num[0]的值是沒用到的,起占位作用。 //0 表示按鍵未按下 } 獲取 y 的方法與獲取 x 的方法類似,具體可以參考附件總程序。 } else if(P1_1 == 0) { delayms(5)。F記性電解質(zhì)電容。 ② 播放歌曲時:讀入音調(diào),根據(jù)音調(diào)的值來判斷 num[i]這個表中的 i,再把 num[i]賦給 P0口。 【設(shè)計任務(wù)及要求】: 過按鍵 能夠發(fā)出 相應(yīng)的 音符 并播放產(chǎn)生樂音,實現(xiàn)演奏 ; ,利于培養(yǎng)樂感 ,演奏時 LED進(jìn)行節(jié)拍指示 ; ; 。 課程設(shè)計說明書 題 目: 基于單片機(jī)的電子琴設(shè)計 院 (系): 電子工程與自動化學(xué)院 專 業(yè): 測控技術(shù)與儀器 (卓越 ) 2020 年 9 月 21 日 目 錄 1 摘要 ?????????????????????????? 1 2 關(guān)鍵字 ????????????????????????? 1 3 設(shè)計任務(wù)及要求 ????????????????????? 1 4 方案可行性論證 ? ???????????????????? 1 5 程序框圖 ???????????????????????? 2 6 關(guān)鍵單元電路與程序介紹 ????????????????? 3 復(fù)位與震蕩電路 ?????????????????? 3 4x4 矩陣鍵盤 ??????????????????? 3 數(shù)碼管與 LED 燈 ?????????????????? 4 蜂鳴器 ?????????????????????? 6 音樂相關(guān)知識 ???? ??????????????? 7 7 調(diào)試過程 ???????????????????????? 11 8 總結(jié)與體會 ??????????????????????? 11 9 參考文獻(xiàn) ???????????????????????? 11 10 附錄 ?????????????????????????? 12 設(shè)備與儀器 ???????????????????? 12 軟件 ??????????????????????? 12 原件清單 ??? ?????????????????? 12 原理圖與 PCB圖 ?????????????????? 13 總程序??????????????????????? 14
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1