簡(jiǎn)易電子琴的設(shè)計(jì)_第1頁
簡(jiǎn)易電子琴的設(shè)計(jì)_第2頁
簡(jiǎn)易電子琴的設(shè)計(jì)_第3頁
簡(jiǎn)易電子琴的設(shè)計(jì)_第4頁
簡(jiǎn)易電子琴的設(shè)計(jì)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、題 目: 簡(jiǎn)易電子琴的設(shè)計(jì) 初始條件:1 運(yùn)用所學(xué)的微機(jī)原理和接口技術(shù)知識(shí);2 微機(jī)原理和接口技術(shù)實(shí)驗(yàn)室的實(shí)驗(yàn)箱設(shè)備。要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)使用匯編語言設(shè)計(jì)一個(gè)能夠用鍵盤運(yùn)行的電子琴,(實(shí)現(xiàn)一個(gè)以上功能):1.彈奏:用戶每按一個(gè)鍵盤琴鍵就彈奏相應(yīng)的音符;2.演奏:按下鍵盤上某一個(gè)指定的建后自動(dòng)彈奏預(yù)存琴譜功能;3.變調(diào):按下鍵盤上某一指定鍵后,再彈奏和演奏時(shí)琴鍵相應(yīng)的音符頻率變高;按下另一指定鍵后,再彈奏和演奏時(shí)琴鍵相應(yīng)的音符頻率變低;4.嚴(yán)格按照課程設(shè)計(jì)說明書要求撰寫課程設(shè)計(jì)說明書。摘 要隨著電子技術(shù)的發(fā)展,電子琴很為常見,硬件的設(shè)

2、計(jì)很費(fèi)人力與物力,因此軟件的應(yīng)用得到了很好的應(yīng)用,這個(gè)簡(jiǎn)易電子琴設(shè)計(jì)采用了軟硬件結(jié)合的方法完成了任務(wù)要求。應(yīng)用了8255和8253的芯片,利用CPU,8086達(dá)到軟硬件結(jié)合,從而實(shí)現(xiàn)電子琴的彈奏和演奏兩種方式的應(yīng)用??梢噪S心所欲控制電子琴是彈奏還是自動(dòng)演奏。此電子琴程序?qū)崿F(xiàn)了:1.彈奏:用戶每按一個(gè)鍵盤琴鍵就彈奏相應(yīng)的音符;2.演奏:按下鍵盤上某一個(gè)指定的建后自動(dòng)彈奏預(yù)存琴譜功能。k0為控制鍵:高電平時(shí)自動(dòng)演奏。打到低電平時(shí)停止演奏。 低電平時(shí)可彈奏,K1,K2,K3,K4,K5,K6,K7分別為1,2,3,4,5,6,7 目 錄前言第一章 電子琴的設(shè)計(jì)要求和使用器件 1.1 初始條件 1.2

3、 電子琴要完成的主要任務(wù) 1.3 電子琴課設(shè)的使用器件 1.4 設(shè)計(jì)方案的確定 第二章 電子琴的硬件設(shè)計(jì) 2.1 電子琴的硬件框圖2.2 8255芯片的資料2.3 8253芯片的資料第三章 電子琴的軟件設(shè)計(jì) 3.1 程序流程圖3.2 發(fā)音程序3.3 延時(shí)程序3.4 停止發(fā)音程序3.5 整體的軟件匯編程序第四章 電子琴的調(diào)試和設(shè)計(jì)體會(huì)4.1 硬件調(diào)試4.2 軟件調(diào)試4.3 設(shè)計(jì)體會(huì)第五章 附錄5.1 參考文獻(xiàn)5.2 樂譜5.3 成績(jī)?cè)u(píng)定表前言隨著電子技術(shù)的發(fā)展,計(jì)算機(jī)在現(xiàn)代科學(xué)技術(shù)的發(fā)展中起著越來越重要的作用。多媒體技術(shù)、網(wǎng)絡(luò)技術(shù)、智能信息處理技術(shù)、自適用控制技術(shù)、數(shù)據(jù)挖掘與處理技術(shù)等都離不開計(jì)

4、算機(jī)。本課程設(shè)計(jì)是基于微機(jī)原理與接口技術(shù)的簡(jiǎn)單應(yīng)用。微機(jī)技術(shù)目前運(yùn)用最廣泛的就是單片機(jī)。單片機(jī)是隨著大規(guī)模集成電路的出現(xiàn)極其發(fā)展,將計(jì)算機(jī)的CPU,RAM,ROM,定時(shí)/計(jì)數(shù)器和多種I/O接口集成在一片芯片上,形成了芯片級(jí)的計(jì)算機(jī),因此單片機(jī)早期的含義稱為單片微型計(jì)算機(jī)(single chipmicrocomputer).它擁有優(yōu)異的性價(jià)比、集成度高、體積小、可靠性高、控制功能強(qiáng)、低電壓、低功耗的顯著優(yōu)點(diǎn).主要應(yīng)用于智能儀器儀表、工業(yè)檢測(cè)控制、機(jī)電一體化等方面,并且取得了顯著的成果.單片機(jī)應(yīng)用系統(tǒng)可以分為:(1)最小應(yīng)用系統(tǒng)是指能維持單片機(jī)運(yùn)行的最簡(jiǎn)單配置的系統(tǒng)。這種系統(tǒng)成本低廉,結(jié)構(gòu)簡(jiǎn)單,常

5、構(gòu)成一些簡(jiǎn)單的控制系統(tǒng),如開關(guān)狀態(tài)的輸入/輸出控制等。片內(nèi)有ROM/EPROM的單片機(jī),其最小應(yīng)用系統(tǒng)即為配有晶振,復(fù)位電路,電源的單個(gè)單片機(jī).片內(nèi)無ROM/EPROM的單片機(jī),其最小應(yīng)用系統(tǒng)除了外部配置晶振,復(fù)位電路,電源外,還應(yīng)外接EPROM或EEPROM作為程序存儲(chǔ)器用.(2)最小功耗應(yīng)用系統(tǒng)是指為了保證正常運(yùn)行,系統(tǒng)的功耗最小.(3)典型應(yīng)用系統(tǒng)是指單片機(jī)要完成工業(yè)測(cè)控功能所必須的硬件結(jié)構(gòu)系統(tǒng)。第一章 電子琴的設(shè)計(jì)要求和使用器件1.1 初始條件1.運(yùn)用所學(xué)的微機(jī)原理和接口技術(shù)知識(shí); 2. 微機(jī)原理和接口技術(shù)實(shí)驗(yàn)室的實(shí)驗(yàn)箱設(shè)備;- 0 - 0 - 0 - 0 - 0 - 0 - 0 -

6、0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1.2 電子琴要完成的主要任務(wù)(包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)使用匯編語言設(shè)計(jì)一個(gè)能夠用鍵盤運(yùn)行的電子琴,(實(shí)現(xiàn)一個(gè)以上功能):1.彈奏:用戶每按一個(gè)鍵盤琴鍵就彈奏相應(yīng)的音符;2.演奏:按下鍵盤上某一個(gè)指定的建后自動(dòng)彈奏預(yù)存琴譜功能;3.變調(diào):按下鍵盤上某一指定鍵后,再彈奏和演奏時(shí)琴鍵相應(yīng)的音符頻率變高;按下另一指定鍵后,再彈奏和演奏時(shí)琴鍵相應(yīng)的音符頻率變低;4.嚴(yán)格按照課程設(shè)計(jì)說明書要求撰寫課程設(shè)計(jì)說明書。1.3 電子琴課設(shè)的使用器件1.唐都實(shí)驗(yàn)箱TDN 86/88uln2803a ,

7、d8255ac-2,d8253ac-2,spk2.電腦一臺(tái)3.wmd86軟件1.4 設(shè)計(jì)方案的確定 1.用試驗(yàn)箱上的晶振輸出一個(gè)高頻的信號(hào),接入8253,用軟件給8253和8255進(jìn)行初始化,8255接開關(guān),由開關(guān)取數(shù)值,后判斷發(fā)音的頻率,并送此分頻數(shù)給8253,從8253輸出相應(yīng)的音頻后,接一個(gè)非門,再接入硬件揚(yáng)聲器,揚(yáng)聲器接受到不同頻率的波后發(fā)出不同的聲音。 2.用比較語句cmp和跳轉(zhuǎn)指令來實(shí)現(xiàn)開關(guān)鍵和音調(diào)的一一對(duì)應(yīng)。 3.用一個(gè)按鍵來控制是自動(dòng)演奏還是手動(dòng)彈奏。 為高電平時(shí)是自動(dòng)演奏; 為低電平時(shí)是手動(dòng)彈奏。 4.其中用一個(gè)延時(shí)程序,使得發(fā)一個(gè)音有一定的延時(shí)時(shí)間。從而能使得可以被聽見。

8、5.有個(gè)停止程序,使得晶振不能使得揚(yáng)聲器發(fā)生(在沒有按鍵的情況下)。 6.用開關(guān)控制自動(dòng)播放的開始和停止。第二章 電子琴的硬件設(shè)計(jì)2.1 電子琴的硬件框圖和硬件連接圖圖 1 硬件框圖圖 2 電路連接圖 8255與開關(guān)相連,從開關(guān)上獲取開關(guān)的開啟和關(guān)閉的信息(即開關(guān)的地址),從8255的B口輸入,然后根據(jù)8086的程序,將不同的分頻數(shù)與開關(guān)的每一個(gè)一一對(duì)應(yīng),通過程序從8086給8253賦個(gè)初值(即不同的分頻數(shù)),晶振給8253一個(gè)固定的頻率,在不同的分頻數(shù)下得到不同的頻率,將頻率通過8253的2計(jì)數(shù)器送給一個(gè)非門,(加非門的原因:因?yàn)?253的out2原始狀態(tài)時(shí)一個(gè)高點(diǎn)平,若直接與揚(yáng)聲器相連,一

9、經(jīng)連接揚(yáng)聲器就會(huì)發(fā)音,接個(gè)非門后使得它的初始狀態(tài)為低電平,就能消除困擾。)非門出來接揚(yáng)聲器。不同的頻率使得揚(yáng)聲器發(fā)出不同音色的聲音。2.2 8255芯片的資料 1.8255的內(nèi)部結(jié)構(gòu): 圖 三 8255內(nèi)部結(jié)構(gòu)圖2.8255的管腳圖: 圖 四 8255管腳圖3.8255的方式選擇控制字(1) 方式選擇控制字把A、B、C三個(gè)端口分為A、B兩組來設(shè)定工作方式。A組包括端口A和端口C的上半部,B組包括端口B和端口C的下半部。(2) 端口A可工作于3種方式中的任何一種:端口B只能工作于方式0和方式1;而端口C除用作輸入、輸出口(方式0)外,通常用來配合端口A和端口B提供聯(lián)絡(luò)控制信號(hào)和狀態(tài)信號(hào)。(3)

10、歸在同一組的兩個(gè)端口可分別作為輸入端口或輸出端口,不要求同為輸入或輸出。 圖 五 8255方式控制字48255端口C按位置位/復(fù)位控制字 (1) 端口C按位置位/復(fù)位控制字盡管是對(duì)端口C進(jìn)行操作的,但此控制字必須寫入控制口,而不寫入端口C。 (2) 一個(gè)控制字只能完成端口C中某一位置的置1或置0,要對(duì)多位置1或置0,必須使用多個(gè)控制字。 圖 六 C端口的方式控制字5采用的方式控制字 使用8255的B口作為數(shù)據(jù)輸入端,與開關(guān)相連接(即D1:1);使用工作方式0(即D6 D5:0 0)。綜上:8255的方式控制字為:1000 0010(即82H)2.3 8253芯片的資料 18253的方式控制字8

11、253有一個(gè)8位的控制字寄存器,其格式如下:若計(jì)數(shù)器2,11讀寫,工作方式3bcd數(shù) 圖 七 8253的方式控制字其中:D0:數(shù)制選擇控制。為1時(shí),表明采用BCD碼進(jìn)行定時(shí)/計(jì)數(shù);否則,采用二進(jìn)制進(jìn)行定時(shí)/計(jì)數(shù)。D3-D1:工作方式選擇控制。000,0;001,1;X10,2;X11,3;100,4;101,5;D5 D4:讀寫格式。00,計(jì)數(shù)鎖存命令;01,讀/寫高8位命令;10,讀/寫低8位命令;11,先讀/寫低8位,再讀寫高8位命令。D7 D6:通道選擇控制。00 0通道;01,1通道;10,2通道;11,非法2要選用的兩種工作方式 ¤方式3方波速率發(fā)生器方式3的波形如圖八所示

12、,這種方式下的輸出與工作方式方式2都是周期性的,不同的是周期不同,CPU寫入控制字后,輸出OUT變高,寫入計(jì)數(shù)值后開始計(jì)數(shù),不同的是減2計(jì)數(shù),當(dāng)計(jì)數(shù)到一半計(jì)數(shù)值時(shí),輸出變低,重新裝入計(jì)數(shù)值進(jìn)行減2計(jì)數(shù),當(dāng)計(jì)數(shù)到0時(shí),輸出變高,裝入計(jì)數(shù)值進(jìn)行減2計(jì)數(shù),循環(huán)不止。在方式3下,8253有下列使用特點(diǎn): 通道可以連續(xù)工作; 關(guān)于計(jì)數(shù)值的奇偶,若為偶數(shù),則輸出標(biāo)準(zhǔn)方波,高低電平各為N/2個(gè);若為奇數(shù),則在裝入計(jì)數(shù)值后的下一個(gè)CLK使其裝入,然后減1計(jì)數(shù),(N1)/2,OUT改變狀態(tài),再減至0,OUT又改變狀態(tài),重新裝入計(jì)數(shù)值循環(huán)此過程,因此,在這種情況下,輸出有(N1)/2個(gè)CLK個(gè)高電平,(N1)/2

13、個(gè)CLK個(gè)低電平; GATE信號(hào)能使計(jì)數(shù)過程重新開始,當(dāng)GATE0時(shí),停止計(jì)數(shù),當(dāng)GATE變高后,計(jì)數(shù)器重新裝入初值開始計(jì)數(shù),尤其是當(dāng)GATE0時(shí),若OUT此時(shí)為低,則立即變高,其它動(dòng)作同上; 在計(jì)數(shù)期間改變計(jì)數(shù)值不影響現(xiàn)行的計(jì)數(shù)過程,一般情況下,新的計(jì)數(shù)值是在現(xiàn)行半周結(jié)束后才裝入計(jì)數(shù)器。但若中間遇到有GATE脈沖,則在此脈沖后即裝入新值開始計(jì)數(shù)。計(jì)數(shù)值為偶數(shù) 計(jì)數(shù)值為奇數(shù)圖 八 8253的工作方式3 ¤方式5硬件觸發(fā)的選通信號(hào)發(fā)生器 方式5的波形如圖九所示,在這種方式下,當(dāng)控制字寫入后,OUT立刻變高,寫入計(jì)數(shù)值后并不立即開始計(jì)數(shù),而是由GATE的上升沿觸發(fā)啟動(dòng)計(jì)數(shù)的,當(dāng)計(jì)數(shù)到0時(shí)

14、,輸出變低,經(jīng)過一個(gè)CLK之后,輸出恢復(fù)為高,計(jì)數(shù)停止,若再有GATE脈沖來,則重新裝入計(jì)數(shù)值開始計(jì)數(shù),上述過程重復(fù)。方式5下,8253有下列使用特點(diǎn): 在這種方式下,若設(shè)置的計(jì)數(shù)值是N,則在GATE脈沖后,經(jīng)過(N1)個(gè)CLK才一個(gè)負(fù)脈沖; 若在計(jì)數(shù)過程中又來一個(gè)GATE脈沖,則重新裝入初值開始計(jì)數(shù),輸出不變,即計(jì)數(shù)值多次有效; 若在計(jì)數(shù)過程中修改計(jì)數(shù)值,則該計(jì)數(shù)值在下一個(gè)GATE脈沖后裝入開始按此值計(jì)數(shù)。圖 九 8253的工作方式538253的工作方式小結(jié)(1) 方式2、4、5的輸出波形是相同的,都是寬度為一個(gè)CLK周期的負(fù)脈沖,但方式2連續(xù)工作,方式4由軟件觸發(fā)啟動(dòng),方式5由硬件觸發(fā)啟動(dòng)

15、。(2) 方式5與方式1工作過程相同,但輸出波形不同,方式1輸出的是寬度為N個(gè)CLK脈沖的低電平有效的脈沖(計(jì)數(shù)過程中輸出為低),而方式5輸出的為寬度為一個(gè)CLK脈沖的負(fù)脈沖(計(jì)數(shù)過程中輸出為高)。(3) 輸出端OUT的初始狀態(tài),方式0在寫入方式字后輸出為低,其余方式,寫入控制字后,輸出均變未能高。(4) 任一種方式,均是在寫入計(jì)數(shù)初值之后,才能開始計(jì)數(shù),方式0、2、3、4都是在寫入計(jì)數(shù)初值之后,開始計(jì)數(shù)的,而方式1和方式5需要外部觸發(fā)啟動(dòng),才開始計(jì)數(shù)。(5) 6種工作方式中,只有方式2和方式3是連續(xù)計(jì)數(shù),其它方式都是一次計(jì)數(shù),要繼續(xù)工作需要重新啟動(dòng),方式0、4由軟件啟動(dòng),方式1、5由硬件啟動(dòng)

16、。(6) 門控信號(hào)的作用;通過門控信號(hào)GATE,可以干預(yù)8253某一通道的計(jì)數(shù)過程,在不同的工作方式下,門控信號(hào)起作用的方式也不一樣,其中0、2、3、4是電平起作用,1、2、3、5是上升沿起作用,方式2、3對(duì)電平上升沿都可以起作用。(7) 在計(jì)數(shù)過程中改變計(jì)數(shù)值,它們的作用有所不同。(8) 計(jì)數(shù)到0后計(jì)數(shù)器的狀態(tài),方式0、1、4、5繼續(xù)倒計(jì)數(shù),變?yōu)镕F、FE,而方式2、3,則自動(dòng)裝入計(jì)數(shù)初值繼續(xù)計(jì)數(shù)。4采用的方式控制字(1) 先給8253初始化,使用計(jì)數(shù)器2(即D7 D6:1 0); 先讀/寫低八位,再讀/寫高八位(即D5 D4:1 1); 使用工作方式3(即D3 D2 D1:0 1 1) 使

17、用二進(jìn)制(即D0:0)綜上:8253的初始化的方式控制字為:1011 0110(即0B6H)(2) 改變8253的控制方式字使得發(fā)音停止 使用計(jì)數(shù)器2(即D7 D6:1 0); 先讀/寫低八位,再讀/寫高八位(即D5 D4:1 1); 使用工作方式5(即D3 D2 D1:1 0 1) 使用二進(jìn)制(即D0:0)綜上:8253方式控制字改變?yōu)椋?011 1010(即0BAH)第三章 電子琴的軟件設(shè)計(jì)3.1 程序流程圖 圖 十 程序流程圖3.2 發(fā)音程序FY123 PROC A7:MOV AL, 0B6H OUT 43H, ALMOV AL, BXMOV AH, 00H MOV DL, 25HMUL

18、 DL OUT 42H, AL MOV AL, AHOUT 42H, AL RETFY123 ENDP3.3 延時(shí)程序DELAY PROC PUSH CX PUSH AX MOV CX,0040H A5:MOV AX,056CH A6:DEC AX JNZ A6 LOOP A5 POP AX POP CX MOV AL,0BAH MOV DX,43H OUT DX,AL RETDELAY ENDP 3.4 停止發(fā)音程序MOV AL,0BAH MOV DX,43H OUT DX,AL3.5 整體的軟件匯編程序STACKSEGMENT STACK DW 64 DUP(?)STACKENDSDATA

19、SEGMENTTABLE1 DB 4DH,45H,3DH,39H,33H,2DH,28H,00H ;1,2,3,4,5,6,7的頻率TABLE2 DB 45H,45H,3DH,3DH,3DH,3DH,3DH,3DH DB 45H,45H,3DH,33H,33H,3DH,3DH,45H DB 45H,45H,3DH,3DH,3DH,3DH,3DH,3DH DB 45H,45H,3DH,2DH,2DH,33H,33H,3DH,45H,4DH,4DH,4DH,4DH DB 2DH,4DH,4DH,45H,45H,45H,45H,5DH,4DH,4DH,45H,45H,45H,45H DB 5DH,4

20、DH,4DH,45H,3DH,3DH,45H,45H,45H,45H DB 45H,45H,3DH,3DH,3DH,3DH,3DH,3DH DB 45H,45H,3DH,33H,33H,3DH,3DH,45H DB 45H,45H,3DH,3DH,3DH,3DH,3DH,3DH DB 2DH,45H,45H,3DH,2DH,2DH,33H,33H,33H,3DH,45H,4DH,4DH,4DH,4DH DB 2DH,4DH,4DH,45H,45H,45H,45H DB 5DH,4DH,4DH,4DH,45H,45H,45H,45H,45H,45H DB 4DH,4DH,45H,3DH,3DH,

21、45H,45H,45H,4DH,4DH,4DH DB 5DH,4DH,5DH,4DH,4DH,4DH,5DH,4DH,4DH,4DH,45H,4DH,4DH,5DH,5DH,5DH,5DH DB 5DH,4DH,5DH,4DH,4DH,4DH,5DH,4DH,4DH,4DH,45H,3DH,4DH,4DH,4DH,4DH DB 3DH,3DH,3DH,3DH,3DH,3DH,2DH,2DH,33H,33H,3DH,3DH,3DH,45H,45H,45H,45H,45H,45H DB 6EH,6EH,45H,45H,3DH,3DH,3DH,3DH DB 45H,3DH,3DH,3DH,33H,2

22、DH,2DH,33H,33H,33H,33H DB 4DH,4DH,45H,45H,3DH,3DH,2DH,2DH,33H,33H,3DH,33H,33H,33H,33H,33H DB 33H,2DH,26H,26H,26H,26H,2DH,2DH,33H,3DH,3DH,3DH,33H,3DH,3DH DB 4DH,5DH,5DH,3DH,45H,45H,45H,45H,45H DB 4DH,4DH,4DH,5DH,5DH,4DH,4DH,45H,45H,45H,4DH,4DH,4DH,4DH,4DH,4DH,00H ;發(fā)如雪 DATAENDSCODESEGMENTASSUME CS:COD

23、E, DS:DATASTART:MOV AX, DATAMOV DS, AX PUSH AXMOV AL, 82H ;8255初始化 1000 0010 B口為輸入OUT 63H, AL POP AXKZ: IN AL,61H ;K0為1,自動(dòng)放音 CMP AL,01H JZ F0 CMP AL,02H ;1,2,3,4,5,6,7的發(fā)音判斷 JZ F1 CMP AL,04H JZ F2 CMP AL,08H JZ F3 CMP AL,10H JZ F4 CMP AL,20H JZ D5 CMP AL,40H JZ D6 CMP AL,80H JZ D7 JMP KZ D5:JMP F5 D6

24、:JMP F6 D7:JMP F7F0: MOV BX,OFFSET TABLE2 ;自動(dòng)播放曲子table2 MOV AL, BX MOV AH, 00HA1:MOV DL, 25H MUL DL IN AL,61H ;判 斷k0是否為1,為1繼續(xù)自動(dòng)播放,否則停止 CMP AL,01H JNZ A3 PUSH AXMOV AL, 0B6H ;8253初始化OUT 43H, ALPOP AXOUT 42H, AL ;發(fā)音MOV AL, AHOUT 42H, ALINC BXMOV AH, 00HMOV AL, BXTEST AL, 0FFH ;唱完一遍自動(dòng)停止JZ A4 ;唱完MOV CX,

25、 77FFHA2:PUSH AX ;延時(shí) POP AX LOOP A2 JMP A1 A3: MOV AL,0BAH ;改變8253的控制字,工作在方式5,使不發(fā)聲 MOV DX,43H OUT DX,AL JMP KZA4: PUSH AX ;延時(shí) POP AX LOOP A4 JMP A3 F1: MOV BX, OFFSET TABLE1 ;發(fā)音1 CALL FY123 CALL DELAY JMP KZF2: MOV BX, OFFSET TABLE1 ;發(fā)音2 INC BX CALL FY123 CALL DELAY JMP KZF3: MOV BX, OFFSET TABLE1 ;

26、發(fā)音3 ADD BX,2 CALL FY123 CALL DELAY JMP KZF4:MOV BX, OFFSET TABLE1 ;發(fā)音4 ADD BX,3 CALL FY123 CALL DELAY JMP KZF5:MOV BX, OFFSET TABLE1 ;發(fā)音5 ADD BX,4 CALL FY123 CALL DELAY JMP KZF6:MOV BX, OFFSET TABLE1 ;發(fā)音6 ADD BX,5 CALL FY123 CALL DELAY JMP KZF7: MOV BX, OFFSET TABLE1 ;發(fā)音7 ADD BX,6 CALL FY123 CALL DE

27、LAY JMP KZFY123 PROC ;發(fā)音子程序 A7:MOV AL, 0B6H ;8253初始化1011 0110,計(jì)數(shù)器2,先低后高,方式3,二進(jìn)制OUT 43H, ALMOV AL, BXMOV AH, 00H MOV DL, 25HMUL DL OUT 42H, AL MOV AL, AHOUT 42H, AL RETFY123 ENDPDELAY PROC ;延時(shí)子程序 PUSH CX PUSH AX MOV CX,0040H A5:MOV AX,056CH A6:DEC AX JNZ A6 LOOP A5 POP AX POP CX MOV AL,0BAH ;改變8253的控

28、制字1011 1010,工作于方式5 MOV DX,43H OUT DX,AL RETDELAY ENDPCODEENDS END START第四章 電子琴的調(diào)試和設(shè)計(jì)體會(huì)4.1 硬件調(diào)試1.開始時(shí)直接將8253的輸出端out2與揚(yáng)聲器相連,連接好硬件后打開電源,發(fā)現(xiàn)喇叭一直不停的叫。分析原因:發(fā)現(xiàn)是由于8253的輸出端(即OUT2)初狀態(tài)為高電平,所以當(dāng)輸入揚(yáng)聲器時(shí)揚(yáng)聲器就即刻發(fā)聲。所以將8253的輸出端(OUT2)出來接一個(gè)非門,再接到揚(yáng)聲器上,使得初始時(shí)揚(yáng)聲器為低電平,所以不發(fā)聲。4.2 軟件調(diào)試 1.先編寫了彈奏程序,發(fā)現(xiàn)按按鍵后,揚(yáng)聲器不會(huì)停止發(fā)音,會(huì)一直以一個(gè)特定的(即晶振產(chǎn)生的)

29、頻率在發(fā)聲。為了使它的所有鍵在低電平時(shí)停止發(fā)音,我在發(fā)音延時(shí)后改變8253的方式控制字,是其工作在方式5下,停止了他的發(fā)音。再次發(fā)音時(shí)即又一次對(duì)8253進(jìn)行初始化。2.對(duì)于一個(gè)特定的/轉(zhuǎn)換接口電路,CPU執(zhí)行一條輸出指令將數(shù)據(jù)送入/, 即可在其輸出端得到一定的電壓輸出。給/轉(zhuǎn)換器輸入按正弦規(guī)律變化的數(shù)據(jù), 在其輸出端即可產(chǎn)生正弦波。對(duì)于音樂,每個(gè)音階都有確定的頻率。 各音階標(biāo)稱頻率值和8253的計(jì)數(shù)初值: 音階低音5低音6低音7中音1中音2中音3中音4中音5中音6中音7高音1頻率(HZ)452535607647722817847977110712451311計(jì)數(shù)初值6EH5DH52H4DH45

30、H3DH39H33H2DH28H26H不同頻率的區(qū)別,可通過調(diào)節(jié)向轉(zhuǎn)換器輸出數(shù)據(jù)的時(shí)間間隔,例如:發(fā)""頻率為647HZ,周期為1/647=1.55ms,由于實(shí)驗(yàn)箱中的晶振可產(chǎn)生一個(gè)為1.8432MHZ的頻率。1.8432MHZ/647HZ=2849,即分頻數(shù)。轉(zhuǎn)化為十六進(jìn)制的數(shù)為:B21H,在經(jīng)過頻率處理,除以25H得到8253的計(jì)數(shù)初值:4DH。其它的初值的計(jì)算同理。3.編寫完自動(dòng)播放程序后發(fā)現(xiàn)無法用開關(guān)控制它的隨時(shí)播放和停止,一定要唱完一遍后遇到終止符號(hào)才能停止。 分析后發(fā)現(xiàn)自動(dòng)播放中應(yīng)該在每個(gè)音播放完后作個(gè)開關(guān)的判斷,決定是否繼續(xù)自動(dòng)播放,從而跳轉(zhuǎn)到不同的情況下,繼

31、續(xù)執(zhí)行程序。判斷語句:IN AL,61H ;判 斷k0是否為1,為1繼續(xù)自動(dòng)播放,否則停止 CMP AL,01H JNZ A34.3 設(shè)計(jì)體會(huì)經(jīng)過這個(gè)課程設(shè)計(jì),雖然時(shí)間比較短,但讓我在課本的基礎(chǔ)上,更深入的了解了各種8253和8255芯片的用法和程序的完成過程,調(diào)試方法及技巧。剛開始覺得電子琴這個(gè)任務(wù)很有挑戰(zhàn),還覺得很有意思,所以想試著嘗試。但是很久過去都沒有思路,幾乎想要放棄這個(gè),選別的課題,看了很多的資料,研究了很多的程序。中途遇到了很多的困難,但是還是堅(jiān)持一個(gè)人默默的繼續(xù)加油,終于在星期三成功的把功能實(shí)現(xiàn)了。在設(shè)計(jì)中我了解了電子琴的不同音階放音功能的實(shí)現(xiàn),長(zhǎng)短音的實(shí)現(xiàn)和8253的各種工作

32、方式的不同應(yīng)用,各種跳轉(zhuǎn)指令的功能應(yīng)用,8086的各種指令的作用。更深刻了解了微機(jī)這門課程的深?yuàn)W和高端。在這次課程設(shè)計(jì)中我一直都是在循序漸進(jìn)中完成的,一步步的在最簡(jiǎn)單程序中加深和完善,慢慢的實(shí)現(xiàn)要求的功能。每一步的設(shè)計(jì)和成功都給了我很大的鼓勵(lì)和勇氣,讓我不斷了繼續(xù)設(shè)計(jì)和完善。答辯的中讓我更深刻的體會(huì)到好的表達(dá)能力的重要性。讓我對(duì)自己的設(shè)計(jì)和程序有了更加系統(tǒng)的認(rèn)識(shí)。在寫報(bào)告中讓我對(duì)這設(shè)計(jì)更加的明了,從更細(xì)節(jié)的地方對(duì)自己的設(shè)計(jì)有了深刻的體會(huì)。對(duì)設(shè)計(jì)中用到的知識(shí)有了更細(xì)更清晰的認(rèn)識(shí)和掌握。這一個(gè)星期的課程設(shè)計(jì)最大的體會(huì)是:只要敢大膽的想,努力的做,再堅(jiān)持不懈就一定能有所成就。第五章 附錄5.1 參考

33、文獻(xiàn)微機(jī)原理與接口技術(shù)(第2版) 電子工業(yè)出版社微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書 武漢理工大學(xué)華夏學(xué)院唐都實(shí)驗(yàn)指導(dǎo)書 電子資料接口實(shí)驗(yàn) 電子資料8253,8255的功能和應(yīng)用 電子資料5.2 曲譜tableTABLE3 DB 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33H DB 33H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45H DB 45H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H,

34、26H, 26H DB 26H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H DB 39H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH, 2DH DB 26H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, 26H DB 26H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, 45H DB 45H, 45H, 45H, 45H,

35、33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, 2DH DB 2DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, 39H DB 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00H ;(長(zhǎng)亭送別)TABLE4 DB 4DH,4DH,45H,45H,3DH,3DH,3DH DB 3DH,3DH,45H,45H,4DH,4DH,4DH DB 4DH,4DH,3DH,3DH,45H,45H,4DH,4DH,45H,45H,45H DB 4DH,4DH,45H,45H,3DH,3DH,3DH DB 3DH,3DH,45H,45H,

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論