微機(jī)原理課程設(shè)計報告-電子琴設(shè)計_第1頁
微機(jī)原理課程設(shè)計報告-電子琴設(shè)計_第2頁
微機(jī)原理課程設(shè)計報告-電子琴設(shè)計_第3頁
微機(jī)原理課程設(shè)計報告-電子琴設(shè)計_第4頁
微機(jī)原理課程設(shè)計報告-電子琴設(shè)計_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、-PAGE . z前言 本實驗是利用微機(jī)原理試驗箱、8255芯片、8254芯片、鍵盤、揚聲器等硬件設(shè)備,設(shè)計簡易電子琴。首先利用了編程程序,編輯了8255芯片控制字, 對其進(jìn)展初始化,使其工作在方式0,即根本輸入輸出狀態(tài),將8255的A端口設(shè)置為輸出,C端口進(jìn)展,經(jīng)CPU運算后, 輸出到8254芯片的A端口中,由此實現(xiàn)對其的初始化。將8254芯片設(shè)置為工作在方式3,即輸出對稱方波狀態(tài)。A端口為輸入,OUT指令可將輸出對應(yīng)一定頻率的方波送到揚聲器中,由此實現(xiàn)發(fā)聲。本實驗通過頻率大小控制發(fā)出聲音的上下,通過對延時程序的調(diào)用控制發(fā)出聲音的長短。并通過所編程序?qū)崿F(xiàn)對鍵盤的重復(fù)掃描,重而可以彈奏多個音符

2、的試驗?zāi)康?。關(guān)鍵字:編程、工作方式、運算一、設(shè)計題目:簡易電子琴設(shè)計二、設(shè)計容:實驗電路如圖16-1,8253的CLK0接1MHZ時鐘,GATE0接8255的PA1,OUT0和8255的PA0接到與門的兩個輸入端,K8跳線連接喇叭,編程使計算機(jī)的數(shù)字鍵1、2、3、4、5、6、7作為電子琴按鍵,按下即發(fā)出相應(yīng)的音階。三、設(shè)計目的:1、通過8253產(chǎn)生不同的頻率信號,使PC機(jī)成為簡易電子琴。2、了解利用8255和8253產(chǎn)生音樂的根本方法。3、通過課程設(shè)計使學(xué)生更進(jìn)一步掌握微機(jī)原理及應(yīng)用課程的有關(guān)知識,提高應(yīng)用微機(jī)解決問題的能力,加深對微機(jī)應(yīng)用的理解。通過查閱資料,結(jié)合所學(xué)知識進(jìn)展軟、硬件的設(shè)計,

3、使學(xué)生初步掌握應(yīng)用微機(jī)解決問題的步驟及方法。為以后學(xué)生結(jié)合專業(yè)從事微機(jī)應(yīng)用設(shè)計奠定根底。四、設(shè)計要求:1可以彈出7個音階。2彈奏簡短音樂。3通過改變鍵盤輸入來改變8254輸出頻率,實現(xiàn)揚聲器發(fā)音五、編程提示:1、利用8255的PA0口來施加控制信號給與門,用來控制揚聲器的開關(guān)狀態(tài)。再利用設(shè)置不同的計數(shù)值,使8253產(chǎn)生不同頻率的波形,使揚聲器產(chǎn)生不同頻率的音調(diào),到達(dá)類似與音階的上下音變換。對于音樂,每個音階都有確定的頻率。各音階標(biāo)稱頻率值:音 階12345671*低頻率(單位:Hz)262294330347392440494524高頻率(單位:Hz)5245886606987848809881

4、048六、設(shè)計原程序及注解;*;* 電子琴實驗 *;*;data segmentio8255a equ 288hio8255b equ 28bhio8253a equ 280hio8253b equ 283htable dw 524,588,660,698,784,880,988,1048;高音的;table dw 262,294,330,347,392,440,494,524;低音的msg db Press 1,2,3,4,5,6,7,8,ESC:,0dh,0ah,$data endscode segmentassume cs:code,ds:datastart: mov a*,data m

5、ov ds,a* mov d*,offset msg mov ah,9 int 21h ;顯示提示信息sing: mov ah,7 int 21h ;從鍵盤接收字符,不回顯 cmp al,1bh je finish ;假設(shè)為ESC鍵,則轉(zhuǎn)finish cmp al,1 jl sing cmp al,8 jg sing ;假設(shè)不在1-8之間轉(zhuǎn)sing sub al,31h shl al,1 ;轉(zhuǎn)為查表偏移量 mov bl,al ;保存偏移到b* mov bh,0 mov a*,4240H ;計數(shù)初值 = 1000000 / 頻率, 保存到A* mov d*,0FH div word ptrtab

6、le+b* mov b*,a* mov d*,io8253b ;設(shè)置8253計時器0方式3, 先讀寫低字節(jié), 再讀寫高字節(jié) mov al,00110110B out d*,al mov d*,io8253a mov a*,b* out d*,al ;寫計數(shù)初值低字節(jié) mov al,ah out d*,al ;寫計數(shù)初值高字節(jié) mov d*,io8255b ;設(shè)置8255 A口輸出 mov al,10000000B out d*,al mov d*,io8255a mov al,03h out d*,al ;置PA1PA0 = 11(開揚聲器) call delay ;延時 mov al,0h

7、out d*,al ;置PA1PA0 = 00(關(guān)揚聲器) jmp singfinish: mov a*,4c00h int 21hdelay proc near ;延時子程序 push c* push a* mov a*,15*1: mov c*,0ffffh*2: dec c* jnz *2 dec a* jnz *1 pop a* pop c* retdelay endpcode endsend start七、程序流程圖:八、硬件連線圖-. z九、實驗結(jié)果 連接完線路后啟動電路開關(guān),然后運行程序,就會出現(xiàn)提示界面,然后鍵盤輸入數(shù)字即可有相應(yīng)音階音樂從喇叭處播放。 十、實驗中遇到了的問題及解決方法 在實驗中遇到了很多問題其主要是代碼的編譯類錯誤,在通過網(wǎng)上查閱相關(guān)資料以及在教師同學(xué)幫助下這些困難都迎刃而解了。才使程序完美運行。-. z 總 結(jié)這是一次成功的實訓(xùn),也是應(yīng)值得遠(yuǎn)記住的一次實訓(xùn),在這次實訓(xùn)中我充分感受到了集體的力量,在我組組員的共同努力下,我們的電子琴程序從無到有、功能從弱到強(qiáng),一步步的走向成功,同時也感教師給我這樣一次鍛煉的時機(jī),讓我的人生

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論