

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)</p><p><b> 簡(jiǎn)易電子琴的設(shè)計(jì)</b></p><p> 摘 要 </p><p> 本次設(shè)計(jì)主要是通過對(duì)電子琴主體部分的電路進(jìn)行模仿設(shè)計(jì),達(dá)到電子琴固有的基本功能,故叫簡(jiǎn)易電子琴。利用定時(shí)器可發(fā)出不同頻率的方波,不同頻率的方波經(jīng)喇叭就會(huì)發(fā)出
2、不同音調(diào)。其次,定時(shí)器按設(shè)置的定時(shí)參數(shù)產(chǎn)生中斷,這一次中斷發(fā)出脈沖低電平,下一次反轉(zhuǎn)發(fā)出脈沖高電平,由于定時(shí)參數(shù)不同,就發(fā)出不同頻率的方波,本設(shè)計(jì)中按鍵一次,會(huì)發(fā)出方波,松開后隨之延時(shí),但在延時(shí)的期間繼續(xù)檢測(cè)按鍵,若此時(shí)又有鍵被按下,若被按下的仍為原鍵則聲音不變,否則鍵盤會(huì)譯出被按下的另一個(gè)鍵的音調(diào)。 單片機(jī)控制通用MIDI音源模塊制作出的電子琴,結(jié)構(gòu)簡(jiǎn)單,可靠性高,并且價(jià)格低廉,具有實(shí)用的價(jià)值。這種電子琴能夠支持單音和復(fù)音彈奏,
3、如果與高品質(zhì)的音源芯片連接,音質(zhì)更可與高檔電子琴相媲美。手機(jī)中通用的音樂芯片構(gòu)成音源模塊,效果不錯(cuò),價(jià)格更低廉,如韓國(guó)產(chǎn)的QS6400 等,這些芯片的驅(qū)動(dòng)要復(fù)雜一些,需要對(duì)芯片進(jìn)行初始化設(shè)置。此外還有音樂盒、附有生日歌的生日卡片等等。所以利用微機(jī)制作的簡(jiǎn)易電子琴在我們的日常生活中隨處可見。</p><p> 第一章 簡(jiǎn)易電子琴的硬件設(shè)計(jì)方案</p><p> 簡(jiǎn)易電子琴的設(shè)計(jì)構(gòu)想&l
4、t;/p><p> ?、挪捎?個(gè)撥碼開關(guān)為輸入(其中SB1~SB7為簡(jiǎn)易電子琴的彈奏按鍵,另外一個(gè)SB0作為控制自動(dòng)彈奏預(yù)存琴譜的開關(guān));</p><p><b> ?、茡P(yáng)聲器為輸出 ;</b></p><p> ?、怯奢斎肟刂戚敵?,即撥碼開關(guān)控制揚(yáng)聲器;</p><p> 1.2 簡(jiǎn)易電子琴的功能與要求</p&g
5、t;<p> ⑴功能一彈奏:用戶每按一個(gè)鍵盤琴鍵就彈奏相應(yīng)的音符;</p><p> ⑵功能二演奏:按下鍵盤上某一個(gè)指定的建后自動(dòng)彈奏預(yù)存琴譜功能;</p><p> 1.3 簡(jiǎn)易電子琴硬件設(shè)計(jì)方案的確定</p><p> ?、鸥鶕?jù)揚(yáng)聲器發(fā)聲原理可知:不同頻率的方波通過揚(yáng)聲器可發(fā)出不同的聲音。</p><p> ?、朴纱?/p>
6、構(gòu)想運(yùn)用8253工作在方式3的狀態(tài)下控制其2#計(jì)數(shù)器對(duì)應(yīng)寄存器中的數(shù)值,然后將輸出端口OUT2產(chǎn)生的方波通過揚(yáng)聲器轉(zhuǎn)換成為聲音。</p><p> ?、菫榱藢?shí)現(xiàn)彈奏按鍵(即撥碼開關(guān))來控制揚(yáng)聲器,可以通過用撥碼開關(guān)改變8253(工作在方式3的狀態(tài)下)2#計(jì)數(shù)器對(duì)應(yīng)寄存器中的數(shù)值,8253輸出端口OUT2 通過反相器后與揚(yáng)聲器相連接。</p><p> ?、茸詈笠獙?shí)現(xiàn)的就是將撥碼開關(guān)對(duì)應(yīng)的數(shù)
7、字信號(hào)存入寄存器中</p><p> 采用8255A并行接口特點(diǎn),使端口A工作在方式0并作為輸出口,端口B工作在方式0,并作為輸入口。將撥碼開關(guān)與8255A的輸入端口B相連接。</p><p><b> ?、煽删幊探涌谛酒?lt;/b></p><p><b> 8255A芯片:</b></p><p&g
8、t; 8255A的數(shù)據(jù)線、 片選信號(hào)線、 地址線 、讀寫控制線等分別與系統(tǒng)總線相連,其中A、 B、 C三個(gè)端口一排針形式引出,如下圖⑴所示,端口地址如表2</p><p> 表1 8255A端口地址表</p><p><b> 8253芯片:</b></p><p> 系統(tǒng)中,8253的0通道輸出線與8253的0#中斷請(qǐng)求線作為時(shí)鐘中斷
9、信號(hào)。1#通道入口接1.8432MHz的信號(hào)源,輸出接8251的收發(fā)時(shí)鐘端,供串行通訊使用,這里的13計(jì)數(shù)器僅當(dāng)作一個(gè)分頻器使用。2#通道以排針形式引出,開放給用戶使用,如下圖⑵,所示系統(tǒng)中的8253端口地址如表2</p><p> 表2 8253端口地址表</p><p> 圖⑴
10、 </p><p><b> 圖⑵</b></p><p> 61H 端口是8255并行接口B口的地址,由它來控制揚(yáng)聲器的.實(shí)際上由PB還加上一個(gè)8253定時(shí)器,通過與門之后才連到揚(yáng)聲器上的。 </p><p> 第二章 簡(jiǎn)易電子琴的軟件設(shè)計(jì)</p><p> 2.1 主程序流
11、程圖</p><p> 2.2 彈奏程序功能設(shè)計(jì) </p><p> DATA SEGMENT</p><p> TABLE1 DB 4DH,45H,3DH,39H,33H,2DH,28H ;1,2,3,4,5,6,7的頻率</p><p> DATAENDS </p><p> STACK S
12、EGMENT STACK</p><p> DW 64 DUP(?) </p><p> STACK ENDS</p><p> CODE SEGMENT</p><p> ASSUME CS:CODE,DS:STACK</p><p> START: MOV AX, DATA</p>
13、<p> MOV DS, AX</p><p> MOV AL,82H ;8255初始化</p><p> OUT 63H,AL</p><p> A0: IN AL,61H</p><p> OUT 60H,AL</p><p> CMP AL,00H
14、 </p><p><b> JZ A0</b></p><p> CMP AL,02H ;1,2,3,4,5,6,7的發(fā)音判斷</p><p><b> JZ F1</b></p><p> CMP AL,04H </p><
15、p><b> JZ F2</b></p><p> CMP AL,08H</p><p><b> JZ F3</b></p><p> CMP AL,10H</p><p><b> JZ F4</b></p><p> CMP
16、 AL,20H</p><p><b> JZ F5</b></p><p> CMP AL,40H</p><p><b> JZ F6</b></p><p> CMP AL,80H</p><p><b> JZ F7</b><
17、;/p><p><b> LOOP A0</b></p><p> F1: MOV BX, OFFSET TABLE1 ;發(fā)音1</p><p><b> CALL FY</b></p><p> CALL DELAY</p><p><b>
18、 JMP A0</b></p><p> F2: MOV BX, OFFSET TABLE1 ;發(fā)音2</p><p><b> INC BX</b></p><p><b> CALL FY</b></p><p> CALL DELAY</p>
19、;<p><b> JMP A0</b></p><p> F3: MOV BX, OFFSET TABLE1 ;發(fā)音3</p><p><b> ADD BX,2</b></p><p><b> CALL FY</b></p><p>
20、; CALL DELAY</p><p><b> JMP A0</b></p><p> F4: MOV BX, OFFSET TABLE1 ;發(fā)音4</p><p><b> ADD BX,3</b></p><p><b> CALL FY</b&
21、gt;</p><p> CALL DELAY</p><p><b> JMP A0</b></p><p> F5: MOV BX, OFFSET TABLE1 ;發(fā)音5</p><p><b> ADD BX,4</b></p><p>&
22、lt;b> CALL FY</b></p><p> CALL DELAY</p><p><b> JMP A0</b></p><p> F6: MOV BX, OFFSET TABLE1 ;發(fā)音6</p><p><b> ADD BX,5</b>
23、;</p><p><b> CALL FY</b></p><p> CALL DELAY</p><p><b> JMP A0</b></p><p> F7: MOV BX, OFFSET TABLE1 ;發(fā)音7</p><p><
24、b> ADD BX,6</b></p><p><b> CALL FY</b></p><p> CALL DELAY</p><p><b> JMP A0</b></p><p> FY PROC ;發(fā)音子程序 &
25、lt;/p><p> A7: MOV AL, 0B6H ;8253初始化</p><p> OUT 43H, AL</p><p> MOV AL, [BX]</p><p> MOV AH, 00H </p><p> MOV DL, 25H</p><p> MUL
26、 DL </p><p> OUT 42H, AL </p><p> MOV AL, AH</p><p> OUT 42H, AL</p><p><b> RET</b></p><p><b> FY ENDP</b>
27、</p><p> DELAY PROC ;延時(shí)子程序</p><p><b> PUSH CX</b></p><p><b> PUSH AX</b></p><p> MOV CX,0040H</p><p>
28、 A5: MOV AX,056CH</p><p> A6: DEC AX</p><p><b> JNZ A6</b></p><p><b> LOOP A5</b></p><p><b> POP AX</b></p><p>&l
29、t;b> POP CX</b></p><p> MOV AL,0BAH ;改變8253的控制字1011 1010,工作于方式5</p><p> MOV DX,43H</p><p><b> OUT DX,AL</b></p><p><b> RET</b>
30、;</p><p> DELAY ENDP</p><p> CODEENDS </p><p><b> END START</b></p><p> 2.3 自動(dòng)播放預(yù)存琴譜功能程序設(shè)計(jì)</p><p> DATA SEGMENT</p><p
31、> TABLE2 DB 4DH,4DH,33H,33H,2DH,2DH,33H,01H</p><p> DB 39H,39H,3DH,3DH,45H,45H,4DH,01H</p><p> DB 33H,33H,39H,39H,3DH,3DH,45H,01H</p><p> DB 33H,33H,39H,39H,3DH,3DH,45H,01H&l
32、t;/p><p> DATA ENDS </p><p> STACK SEGMENT STACK</p><p> DW 64 DUP(?) </p><p> STACK ENDS</p><p> CODE SEGMENT</p><p> ASSUME CS:CODE
33、,DS:STACK</p><p> START: MOV AX, DATA</p><p> MOV DS, AX</p><p> MOV AL,82H ;8255初始化</p><p> OUT 63H,AL</p><p> CMP AL,01H ;
34、擴(kuò)展功能</p><p><b> JZ F0</b></p><p> F0: MOV BX, OFFSET TABLE2</p><p><b> JZ A1</b></p><p> A1: IN AL,61H </p><
35、;p> CMP AL,01H</p><p><b> JNZ A4</b></p><p> CALL FY ;在彈奏程序中已編入可直接調(diào)用</p><p> CALL DELAY</p><p><b> INC BX</b></p>&l
36、t;p> MOV AL, [BX]</p><p> TEST AL, 0FFH ;唱完一遍自動(dòng)停止</p><p><b> JZ A3</b></p><p><b> JMP A1</b></p><p> A3: PUSH AX
37、 ;延時(shí)</p><p><b> POP AX</b></p><p><b> LOOP A3</b></p><p> JMP A4 </p><p> A4: MOV AL,0BAH ;改變8253的控制字,工作在方式5,使不發(fā)聲</p><p&g
38、t; MOV DX,43H</p><p> OUT DX,AL </p><p> JMP A0 </p><p> CODE ENDS </p><p><b> END START</b></p><p> 2.4 簡(jiǎn)易電子琴主程序設(shè)計(jì)</p>
39、<p> DATA SEGMENT</p><p> TABLE1 DB 4DH,45H,3DH,39H,33H,2DH,28H ;1,2,3,4,5,6,7的頻率</p><p> TABLE2 DB 4DH,4DH,33H,33H,2DH,2DH,33H,01H</p><p> DB 39H,39H,3DH,3DH,45H,45H
40、,4DH,01H</p><p> DB 33H,33H,39H,39H,3DH,3DH,45H,01H</p><p> DB 33H,33H,39H,39H,3DH,3DH,45H,01H</p><p> DATAENDS </p><p> STACK SEGMENT STACK</p><p>
41、 DW 64 DUP(?) </p><p> STACK ENDS</p><p> CODE SEGMENT</p><p> ASSUME CS:CODE,DS:STACK</p><p> START: MOV AX, DATA</p><p> MOV DS, AX</p>&
42、lt;p> MOV AL,82H ;8255初始化</p><p> OUT 63H,AL</p><p> A0: IN AL,61H</p><p> OUT 60H,AL</p><p> CMP AL,00H </p><p><b>
43、JZ A0</b></p><p> CMP AL,01H ;擴(kuò)展功能</p><p><b> JZ F0</b></p><p> CMP AL,02H ;1,2,3,4,5,6,7的發(fā)音判斷</p><p><b> JZ F1&l
44、t;/b></p><p> CMP AL,04H </p><p><b> JZ F2</b></p><p> CMP AL,08H</p><p><b> JZ F3</b></p><p> CMP AL,10H</p>
45、;<p><b> JZ F4</b></p><p> CMP AL,20H</p><p><b> JZ F5</b></p><p> CMP AL,40H</p><p><b> JZ F6</b></p><p&g
46、t; CMP AL,80H</p><p><b> JZ F7</b></p><p><b> LOOP A0</b></p><p> F1: MOV BX, OFFSET TABLE1 ;發(fā)音1</p><p><b> CALL FY</b>
47、</p><p> CALL DELAY</p><p><b> JMP A0</b></p><p> F2: MOV BX, OFFSET TABLE1 ;發(fā)音2</p><p><b> INC BX</b></p><p><b&g
48、t; CALL FY</b></p><p> CALL DELAY</p><p><b> JMP A0</b></p><p> F3: MOV BX, OFFSET TABLE1 ;發(fā)音3</p><p><b> ADD BX,2</b></p
49、><p><b> CALL FY</b></p><p> CALL DELAY</p><p><b> JMP A0</b></p><p> F4: MOV BX, OFFSET TABLE1 ;發(fā)音4</p><p><b> A
50、DD BX,3</b></p><p><b> CALL FY</b></p><p> CALL DELAY</p><p><b> JMP A0</b></p><p> F5: MOV BX, OFFSET TABLE1 ;發(fā)音5</p>
51、;<p><b> ADD BX,4</b></p><p><b> CALL FY</b></p><p> CALL DELAY</p><p><b> JMP A0</b></p><p> F6: MOV BX, OFFSET TABLE1
52、 ;發(fā)音6</p><p><b> ADD BX,5</b></p><p><b> CALL FY</b></p><p> CALL DELAY</p><p><b> JMP A0</b></p><p> F7
53、: MOV BX, OFFSET TABLE1 ;發(fā)音7</p><p><b> ADD BX,6</b></p><p><b> CALL FY</b></p><p> CALL DELAY</p><p><b> JMP A0</b>
54、</p><p> F0: MOV BX, OFFSET TABLE2</p><p><b> JZ A1</b></p><p> A1: IN AL,61H </p><p> CMP AL,01H</p><p><b> J
55、NZ A4</b></p><p><b> CALL FY</b></p><p> CALL DELAY</p><p><b> INC BX</b></p><p> MOV AL, [BX]</p><p> TEST AL, 0FFH
56、 ;唱完一遍自動(dòng)停止</p><p><b> JZ A3</b></p><p><b> JMP A1</b></p><p> A3: PUSH AX ;延時(shí)</p><p><b> POP AX</b><
57、;/p><p><b> LOOP A3</b></p><p> JMP A4 </p><p> A4: MOV AL,0BAH ;改變8253的控制字,工作在方式5,使不發(fā)聲</p><p> MOV DX,43H</p><p> OUT DX,AL &l
58、t;/p><p> JMP A0 </p><p> FY PROC ;發(fā)音子程序 </p><p> A7: MOV AL, 0B6H ;8253初始化</p><p> OUT 43H, AL</p><p> MOV AL, [BX]&l
59、t;/p><p> MOV AH, 00H </p><p> MOV DL, 25H</p><p> MUL DL </p><p> OUT 42H, AL </p><p> MOV AL, AH</p><p> OUT 42H, AL&
60、lt;/p><p><b> RET</b></p><p><b> FY ENDP</b></p><p> DELAY PROC ;延時(shí)子程序</p><p><b> PUSH CX</b></p>
61、<p><b> PUSH AX</b></p><p> MOV CX,0040H</p><p> A5: MOV AX,056CH</p><p> A6: DEC AX</p><p><b> JNZ A6</b></p><p><b
62、> LOOP A5</b></p><p><b> POP AX</b></p><p><b> POP CX</b></p><p> MOV AL,0BAH ;改變8253的控制字1011 1010,工作于方式5</p><p> MOV DX,43H&
63、lt;/p><p><b> OUT DX,AL</b></p><p><b> RET</b></p><p> DELAY ENDP</p><p> CODEENDS </p><p><b> END START</b>&
64、lt;/p><p> 第三章 簡(jiǎn)易電子琴的安裝與調(diào)試</p><p><b> 3.1 硬件調(diào)試</b></p><p> ⑴連接簡(jiǎn)易電子琴系統(tǒng)的電路圖</p><p> 撥碼開關(guān)SB0~SB7與8255A的PB輸入端口連接,將8253的CLK2與試驗(yàn)箱上的脈沖源連接,最后把82553的輸出端OUT2通過反相器后
65、接到揚(yáng)聲器。(由于GATE2端空載時(shí)保持高電平,所以不必連接)。</p><p> ?、茖?shí)驗(yàn)箱與微型計(jì)算機(jī)保持串口通訊成功。</p><p> ?、菍R編程序代碼輸入微型計(jì)算機(jī)進(jìn)行硬件調(diào)試。</p><p><b> 3.2 軟件調(diào)試</b></p><p> ⑴把彈奏功能的程序代碼輸入微型計(jì)算機(jī),與硬件相結(jié)合進(jìn)
66、行修改調(diào)試(其中主要運(yùn)用跳轉(zhuǎn)、循環(huán)和條用指令)。</p><p> ?、圃趯?shí)現(xiàn)彈奏功能的程序中再加入自動(dòng)播放預(yù)存琴譜功能的程序程序,進(jìn)行調(diào)試。</p><p><b> 心得與體會(huì):</b></p><p> 在為期一周的微機(jī)原理課程設(shè)計(jì)中,我學(xué)會(huì)了制做項(xiàng)目的一般步驟。第一部是硬件設(shè)計(jì)主要是實(shí)現(xiàn)控制對(duì)象與被控制對(duì)象之間的聯(lián)系。第二步就是軟件
67、設(shè)計(jì),就是要完成各個(gè)可編程芯片與CPU之間的數(shù)據(jù)傳送和各個(gè)進(jìn)程的邏輯順序。在本次設(shè)計(jì)中對(duì)硬件要求就要熟練掌握可編程器件8255A和8253的應(yīng)用。對(duì)軟件設(shè)計(jì)就要熟練掌握匯編語言。由于時(shí)間限制的問題和硬件的局限性也只能將電子琴的功能簡(jiǎn)易化。</p><p><b> 參考文獻(xiàn):</b></p><p> 1.《微機(jī)原理里與接口技術(shù)》(第2版) 彭虎、周佩玲
68、、傅忠謙、編著</p><p><b> 電子工業(yè)出版社</b></p><p> 2.《匯編語言與接口技術(shù)》 王讓定 陳金兒 葉富樂 史旭華 編著</p><p><b> 清華大學(xué)出版社</b></p><p> 3. 《匯編語言程序設(shè)計(jì)》 相偉 主編 徐
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告——電子琴
- 微機(jī)原理課程設(shè)計(jì)--設(shè)計(jì)簡(jiǎn)易電子琴
- 《微機(jī)原理與接口技術(shù)》簡(jiǎn)易電子琴實(shí)驗(yàn)報(bào)告
- 《單片機(jī)原理與接口技術(shù)》課程設(shè)計(jì)---電子琴設(shè)計(jì)
- 微機(jī)系統(tǒng)與接口課程設(shè)計(jì)-電子琴
- 微機(jī)原理課程設(shè)計(jì)----電子琴
- 微機(jī)原理課程設(shè)計(jì)--電子琴設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)---電子琴設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)電子琴
- 簡(jiǎn)易電子琴課程設(shè)計(jì)
- 《微機(jī)原理與接口技術(shù)》課程設(shè)計(jì)
- 簡(jiǎn)易電子琴課程設(shè)計(jì)
- 簡(jiǎn)易電子琴課程設(shè)計(jì)
- 接口課程設(shè)計(jì)電子琴
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)
- 課程設(shè)計(jì)---簡(jiǎn)易電子琴設(shè)計(jì)與制作
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)
- 基于8086的簡(jiǎn)易電子琴設(shè)計(jì)附匯編源程序-微機(jī)原理與接口技術(shù)綜合設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì).
評(píng)論
0/150
提交評(píng)論