版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 微機原理與接口技術(shù)課程設(shè)計</p><p><b> 簡易電子琴的設(shè)計</b></p><p> 摘 要 </p><p> 本次設(shè)計主要是通過對電子琴主體部分的電路進(jìn)行模仿設(shè)計,達(dá)到電子琴固有的基本功能,故叫簡易電子琴。利用定時器可發(fā)出不同頻率的方波,不同頻率的方波經(jīng)喇叭就會發(fā)出
2、不同音調(diào)。其次,定時器按設(shè)置的定時參數(shù)產(chǎn)生中斷,這一次中斷發(fā)出脈沖低電平,下一次反轉(zhuǎn)發(fā)出脈沖高電平,由于定時參數(shù)不同,就發(fā)出不同頻率的方波,本設(shè)計中按鍵一次,會發(fā)出方波,松開后隨之延時,但在延時的期間繼續(xù)檢測按鍵,若此時又有鍵被按下,若被按下的仍為原鍵則聲音不變,否則鍵盤會譯出被按下的另一個鍵的音調(diào)。 單片機控制通用MIDI音源模塊制作出的電子琴,結(jié)構(gòu)簡單,可靠性高,并且價格低廉,具有實用的價值。這種電子琴能夠支持單音和復(fù)音彈奏,
3、如果與高品質(zhì)的音源芯片連接,音質(zhì)更可與高檔電子琴相媲美。手機中通用的音樂芯片構(gòu)成音源模塊,效果不錯,價格更低廉,如韓國產(chǎn)的QS6400 等,這些芯片的驅(qū)動要復(fù)雜一些,需要對芯片進(jìn)行初始化設(shè)置。此外還有音樂盒、附有生日歌的生日卡片等等。所以利用微機制作的簡易電子琴在我們的日常生活中隨處可見。</p><p> 第一章 簡易電子琴的硬件設(shè)計方案</p><p> 簡易電子琴的設(shè)計構(gòu)想&l
4、t;/p><p> ⑴采用8個撥碼開關(guān)為輸入(其中SB1~SB7為簡易電子琴的彈奏按鍵,另外一個SB0作為控制自動彈奏預(yù)存琴譜的開關(guān));</p><p><b> ?、茡P聲器為輸出 ;</b></p><p> ?、怯奢斎肟刂戚敵?,即撥碼開關(guān)控制揚聲器;</p><p> 1.2 簡易電子琴的功能與要求</p&g
5、t;<p> ?、殴δ芤粡椬啵河脩裘堪匆粋€鍵盤琴鍵就彈奏相應(yīng)的音符;</p><p> ?、乒δ芏葑啵喊聪骆I盤上某一個指定的建后自動彈奏預(yù)存琴譜功能;</p><p> 1.3 簡易電子琴硬件設(shè)計方案的確定</p><p> ?、鸥鶕?jù)揚聲器發(fā)聲原理可知:不同頻率的方波通過揚聲器可發(fā)出不同的聲音。</p><p> ?、朴纱?/p>
6、構(gòu)想運用8253工作在方式3的狀態(tài)下控制其2#計數(shù)器對應(yīng)寄存器中的數(shù)值,然后將輸出端口OUT2產(chǎn)生的方波通過揚聲器轉(zhuǎn)換成為聲音。</p><p> ?、菫榱藢崿F(xiàn)彈奏按鍵(即撥碼開關(guān))來控制揚聲器,可以通過用撥碼開關(guān)改變8253(工作在方式3的狀態(tài)下)2#計數(shù)器對應(yīng)寄存器中的數(shù)值,8253輸出端口OUT2 通過反相器后與揚聲器相連接。</p><p> ?、茸詈笠獙崿F(xiàn)的就是將撥碼開關(guān)對應(yīng)的數(shù)
7、字信號存入寄存器中</p><p> 采用8255A并行接口特點,使端口A工作在方式0并作為輸出口,端口B工作在方式0,并作為輸入口。將撥碼開關(guān)與8255A的輸入端口B相連接。</p><p><b> ⑸可編程接口芯片</b></p><p><b> 8255A芯片:</b></p><p&g
8、t; 8255A的數(shù)據(jù)線、 片選信號線、 地址線 、讀寫控制線等分別與系統(tǒng)總線相連,其中A、 B、 C三個端口一排針形式引出,如下圖⑴所示,端口地址如表2</p><p> 表1 8255A端口地址表</p><p><b> 8253芯片:</b></p><p> 系統(tǒng)中,8253的0通道輸出線與8253的0#中斷請求線作為時鐘中斷
9、信號。1#通道入口接1.8432MHz的信號源,輸出接8251的收發(fā)時鐘端,供串行通訊使用,這里的13計數(shù)器僅當(dāng)作一個分頻器使用。2#通道以排針形式引出,開放給用戶使用,如下圖⑵,所示系統(tǒng)中的8253端口地址如表2</p><p> 表2 8253端口地址表</p><p> 圖⑴
10、 </p><p><b> 圖⑵</b></p><p> 61H 端口是8255并行接口B口的地址,由它來控制揚聲器的.實際上由PB還加上一個8253定時器,通過與門之后才連到揚聲器上的。 </p><p> 第二章 簡易電子琴的軟件設(shè)計</p><p> 2.1 主程序流
11、程圖</p><p> 2.2 彈奏程序功能設(shè)計 </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 ;延時子程序</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 自動播放預(yù)存琴譜功能程序設(shè)計</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、擴展功能</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 ;唱完一遍自動停止</p><p><b> JZ A3</b></p><p><b> JMP A1</b></p><p> A3: PUSH AX
37、 ;延時</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 簡易電子琴主程序設(shè)計</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 ;擴展功能</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、 ;唱完一遍自動停止</p><p><b> JZ A3</b></p><p><b> JMP A1</b></p><p> A3: PUSH AX ;延時</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 ;延時子程序</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> 第三章 簡易電子琴的安裝與調(diào)試</p><p><b> 3.1 硬件調(diào)試</b></p><p> ⑴連接簡易電子琴系統(tǒng)的電路圖</p><p> 撥碼開關(guān)SB0~SB7與8255A的PB輸入端口連接,將8253的CLK2與試驗箱上的脈沖源連接,最后把82553的輸出端OUT2通過反相器后
65、接到揚聲器。(由于GATE2端空載時保持高電平,所以不必連接)。</p><p> ?、茖嶒炏渑c微型計算機保持串口通訊成功。</p><p> ⑶將匯編程序代碼輸入微型計算機進(jìn)行硬件調(diào)試。</p><p><b> 3.2 軟件調(diào)試</b></p><p> ?、虐褟椬喙δ艿某绦虼a輸入微型計算機,與硬件相結(jié)合進(jìn)
66、行修改調(diào)試(其中主要運用跳轉(zhuǎn)、循環(huán)和條用指令)。</p><p> ?、圃趯崿F(xiàn)彈奏功能的程序中再加入自動播放預(yù)存琴譜功能的程序程序,進(jìn)行調(diào)試。</p><p><b> 心得與體會:</b></p><p> 在為期一周的微機原理課程設(shè)計中,我學(xué)會了制做項目的一般步驟。第一部是硬件設(shè)計主要是實現(xiàn)控制對象與被控制對象之間的聯(lián)系。第二步就是軟件
67、設(shè)計,就是要完成各個可編程芯片與CPU之間的數(shù)據(jù)傳送和各個進(jìn)程的邏輯順序。在本次設(shè)計中對硬件要求就要熟練掌握可編程器件8255A和8253的應(yīng)用。對軟件設(shè)計就要熟練掌握匯編語言。由于時間限制的問題和硬件的局限性也只能將電子琴的功能簡易化。</p><p><b> 參考文獻(xiàn):</b></p><p> 1.《微機原理里與接口技術(shù)》(第2版) 彭虎、周佩玲
68、、傅忠謙、編著</p><p><b> 電子工業(yè)出版社</b></p><p> 2.《匯編語言與接口技術(shù)》 王讓定 陳金兒 葉富樂 史旭華 編著</p><p><b> 清華大學(xué)出版社</b></p><p> 3. 《匯編語言程序設(shè)計》 相偉 主編 徐
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機原理與接口技術(shù)課程設(shè)計報告——電子琴
- 微機原理課程設(shè)計--設(shè)計簡易電子琴
- 《微機原理與接口技術(shù)》簡易電子琴實驗報告
- 《單片機原理與接口技術(shù)》課程設(shè)計---電子琴設(shè)計
- 微機系統(tǒng)與接口課程設(shè)計-電子琴
- 微機原理課程設(shè)計----電子琴
- 微機原理課程設(shè)計--電子琴設(shè)計
- 微機原理課程設(shè)計---電子琴設(shè)計
- 微機課程設(shè)計電子琴
- 簡易電子琴課程設(shè)計
- 《微機原理與接口技術(shù)》課程設(shè)計
- 簡易電子琴課程設(shè)計
- 簡易電子琴課程設(shè)計
- 接口課程設(shè)計電子琴
- 微機原理與接口技術(shù)課程設(shè)計
- 課程設(shè)計---簡易電子琴設(shè)計與制作
- 微機原理與接口技術(shù)課程設(shè)計
- 基于8086的簡易電子琴設(shè)計附匯編源程序-微機原理與接口技術(shù)綜合設(shè)計實驗報告
- 微機原理與接口技術(shù)課程設(shè)計
- 微機原理與接口技術(shù)課程設(shè)計.
評論
0/150
提交評論