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

正文內(nèi)容

基于單片機(jī)的簡易電子琴設(shè)計(jì)(匯編語言(編輯修改稿)

2024-12-13 21:24 本頁面
 

【文章內(nèi)容簡介】 塊三大模塊。 7 第二章 系統(tǒng)的軟件設(shè)計(jì) 軟件是該電子琴控制系統(tǒng)的重要組成部分,在系統(tǒng)的軟件設(shè)計(jì)中我們也才用了模塊化設(shè)計(jì),將系統(tǒng)的各部分功能編寫成子模塊的形式,這樣增強(qiáng)了系統(tǒng)軟件的可 讀性和可移植性。 音樂彈奏原理 由于一首音樂是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣就可以利用不同的頻率的組合,即可彈奏出我們所想要的音樂了,當(dāng)然對(duì)于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí) /計(jì)數(shù)器來產(chǎn)生這樣的方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可。演奏中,每一音符對(duì)應(yīng)著確定的頻率,我們將每一音符的時(shí)間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)非械乃谐?shù)排列成一個(gè)表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實(shí)現(xiàn)演奏效果。 電 子琴彈奏部分:實(shí)際上就是把每個(gè)按鍵所對(duì)應(yīng)的值經(jīng)過處理后發(fā)給單片機(jī),再在單片機(jī)內(nèi)把數(shù)字當(dāng)作指針指向所對(duì)應(yīng)的音符。如下表所示: 按 鍵 音 階 S1 do S2 re S3 mi S4 fa S5 so S6 la S7 xi S8 音 樂 音樂彈奏設(shè)計(jì) 發(fā)音電路有三極管、電阻和揚(yáng)聲器組成,接在 ,通過定時(shí)器溢出的時(shí)間不同, 輸出的脈沖頻率不同,三極管導(dǎo)通的頻率也不同, 8 從而揚(yáng)聲器根據(jù)不同頻率的脈沖發(fā)出的聲音也不相同。如下表所示: 各音符頻率 與計(jì)數(shù)值 T的關(guān)系 音符 頻率 Hz 半周期( ms) 簡譜碼 T 定時(shí)值( H) 簡譜碼 T 定時(shí)值 (D) 低 Do 131 F117 61719 低 Re 147 F2B7 62135 低 Mi 165 F42A 62506 低 Fa 175 F4D7 62679 低 So 196 F609 62985 低 La 220 F71F 63263 低 Si 247 F818 63512 中 Do 262 F88C 63628 中 Re 294 F95B 63835 中 Mi 330 FA15 64021 中 Fa 349 FA67 64103 中 So 392 FB04 64260 中 La 440 FB90 64400 中 Si 494 FC0C 64524 高 Do 262 FC44 64580 高 Re 294 FCAC 64684 高 Mi 330 FD09 64777 高 Fa 349 FD2A 64810 高 So 392 FD82 64898 高 La 440 FDC8 64968 高 Si 494 FE2E 65070 軟件流程圖 本系統(tǒng)中單片機(jī) 89C51的主要功能就是實(shí)現(xiàn)音樂播放功能。其主程序流程如圖 41所示 。 9 上位機(jī)軟件及程序 本系統(tǒng)的上位機(jī)軟件主要是編輯電子琴播放狀態(tài)的內(nèi)容,在設(shè)計(jì)中采用匯編語言編寫了電子琴控制系統(tǒng)控制和播放內(nèi)容的程序。 ORG 0000H SJMP M1 ORG 000BH MOV TH0,R1 ;設(shè)置定時(shí)器初值 MOV TL0,R0 CPL ;輸出方波 RETI 10 M0:MOV R5,00H M1:CLR A MOV C, ;判斷是否為按鍵 1 MOV ,C JZ DO MOV C, ;判斷是否為按鍵 2 MOV ,C JZ RAI MOV C, ;判斷是否為按鍵 3 MOV ,C JZ MI MOV C, ;判斷是否為按鍵 4 MOV ,C JZ FA MOV C, ;判斷是否為按鍵 5 MOV ,C JZ SO MOV C, ;判斷是否為按鍵 6 MOV ,C JZ LA MOV C, ;判斷是否為按鍵 7 11 MOV ,C JZ XI MOV C, ;判斷是否為按鍵 8 MOV ,C JZ M7 LJMP M1 M7:LJMP M2 DO:MOV R1,0FCH ;設(shè)定各音節(jié)初值 MOV R0,43H MOV R2,08H CLR ;打開燈 D1 LJMP NEXT RAI:MOV R1,0FCH MOV R0,0ABH MOV R2,08H CLR ;打開燈 D2 LJMP NEXT MI:MOV R1,0FDH MOV R0,08H MOV R2,08H CLR ;打開燈 D3 LJMP NEXT 12 FA:MOV R1,0FDH MOV R0,33H MOV R2,08H CLR ;打開燈 D4 LJMP NEXT SO:MOV R1,0FDH MOV R0,81H MOV R2,08H CLR ;打開燈 D5 LJMP NEXT LA:MOV R1,0FDH MOV R0,0C7H MOV R2,08H CLR ;打開燈 D6 LJMP NEXT XI:MOV R1,0FEH MOV R0,05H MOV R2,08H CLR ;打 開燈 D7 LJMP NEXT NEXT:CLR A 13 MOV TMOD,01H ;設(shè)定定時(shí)器工作方式 MOV IE,82H ;開啟總中斷 MOV TH0,R1 ;設(shè)置初值 MOV TL0,R0 SETB TR0 ;開啟中斷 0 LOOP1: LCALL D200C ;調(diào)用延時(shí) DJNZ R2,LOOP1 ;判定是否延時(shí)完 CLR TR0 ;關(guān)閉中斷 MOV A,0FFH ;關(guān)燈 MOV P2,A LJMP M1 ;跳轉(zhuǎn)主程序 M5:CJNE R5,04H,M9 。判斷是否為歌曲 4 MOV DPTR,QU LJMP LOOP M9:CJNE R5,05H,M8 ;判斷是否為鈴聲 MOV DPTR,LS LJMP LOOP M8:CJNE R5,06H,M10 ;判斷按鍵是否到第 6次 M10:LJMP M0 M4:CJNE R5,03H,M5 ;判定是否為歌曲 3 MOV DPTR,PL LJMP LOOP 14 M3:CJNE R5,02H,M4 ;判定是否為歌曲 2 MOV DPTR,LING LJMP LOOP M2:INC R5 ;記錄按鍵 8次數(shù) CJNE R5,01H,M3 ;判定是否為歌曲 1 MOV DPTR,TAB LOOP: CPL ;打開燈 D8 CLR A MOVC A,@A+DPTR ;取音符 MOV R1,A INC DPTR CLR A MOVC A,@A+DPTR MOV R0,A ORL A,R1 JZ NEXT0 ;判定是否為結(jié)束符號(hào) MOV A,R0 ANL A,R1 CJNE A,0FFH,NEXT3 ;判定是否為休止符 CLR TR0 MOV R2,04H LCALL D200C 15 INC DPTR LJMP LOOP NEXT3: MOV TMOD,01H ;設(shè)定定時(shí)器工作方式 MOV IE,82H ;開啟總中斷 MOV TH0,R1 ;設(shè)置初值 MOV TL0,R0 SETB TR0 ;開 啟中斷 0 SJMP NEXT2 NEXT0:CLR TR0 ;關(guān)中斷 MOV A,0FFH ;關(guān)燈 MOV P2,A LJMP M1 ;跳轉(zhuǎn)至主程序 NEXT2: CLR A INC DPTR MOVC A,@A+DPTR ;取節(jié)拍 MOV R2,A LOOP3: LCALL D200C ;調(diào)用延時(shí) DJNZ R2,LOOP3 ;判斷是否延時(shí)完 INC DPTR ;跳到下一音符 LJMP LOOP D200C:MOV R3,65H ;延時(shí)子程序 16 D200B:MOV A,0FFH D200A:DEC A JNZ D200A DEC R3 CJNE R3,00H,D200B RET TAB:DB
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1