音樂(lè)彩燈課程設(shè)計(jì)_第1頁(yè)
音樂(lè)彩燈課程設(shè)計(jì)_第2頁(yè)
音樂(lè)彩燈課程設(shè)計(jì)_第3頁(yè)
音樂(lè)彩燈課程設(shè)計(jì)_第4頁(yè)
音樂(lè)彩燈課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄一、設(shè)計(jì)要求二、設(shè)計(jì)目的三、設(shè)計(jì)的具體實(shí)現(xiàn)四、程序五、結(jié)論六、心得體會(huì)七、附錄八、參考文獻(xiàn)音樂(lè)彩燈設(shè)計(jì)報(bào)告、設(shè)計(jì)要求1、三人一組,一人負(fù)責(zé)硬件電路設(shè)計(jì)與連接,一人 采用C語(yǔ)言編程、調(diào)試,另一人采用匯編語(yǔ)言編程并調(diào) 試。2、選用8255、8253以及相關(guān)外圍芯片與開(kāi)關(guān)量、發(fā)光二級(jí) 管、揚(yáng)聲器組成輸入輸出電路。3、使用8255的PC0連接到8259,使用微機(jī)中IRQ10中斷, 中斷號(hào)是72H。4、編程的兩位同學(xué)學(xué)號(hào)末兩位相加,得到的和數(shù)轉(zhuǎn)換成二進(jìn) 制數(shù),作為觸發(fā)中斷的開(kāi)關(guān)信號(hào)狀態(tài)。如:學(xué)號(hào)為XXX XX01和學(xué)號(hào)為XXXXX02的同學(xué)一組,中斷觸發(fā)條 件為:開(kāi)關(guān)信號(hào)狀態(tài)是03,即二進(jìn)制數(shù)000

2、00011。5、報(bào)警時(shí),發(fā)光二級(jí)管在兩個(gè)設(shè)定狀態(tài)下循環(huán)切換。同組的 兩個(gè)同學(xué)各自的學(xué)號(hào)末兩位對(duì)應(yīng)的二進(jìn)制數(shù)即是兩個(gè)設(shè) 定狀態(tài)。6、設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),記錄報(bào)警音樂(lè)(自選)的音長(zhǎng)和音階信息, 并使用8253的幾個(gè)計(jì)數(shù)器實(shí)現(xiàn)音樂(lè)播放控制。采用某一 計(jì)數(shù)器輸出音長(zhǎng)信號(hào),另一計(jì)數(shù)器輸出音階信號(hào)。將音長(zhǎng) 信號(hào)連接到8255的PC4,程序?qū)Υ诵盘?hào)進(jìn)行查詢,當(dāng)進(jìn) 入一個(gè)新的音長(zhǎng)信號(hào)周期時(shí),設(shè)置對(duì)應(yīng)的一個(gè)音階信號(hào); 這樣,程序不斷查詢PC4,控制選擇不同的音長(zhǎng)和音階, 并同時(shí)切換發(fā)光二極管顯示狀態(tài)。7、不可損壞實(shí)驗(yàn)設(shè)備及器件。二、設(shè)計(jì)日的隨著化學(xué)工業(yè)環(huán)境越來(lái)越復(fù)雜,聲光報(bào)警器作為報(bào)警控 制系統(tǒng)中一個(gè)重要部件,越來(lái)越

3、多的被用戶關(guān)注,在可燃?xì)怏w環(huán)境 中使用它能有效防止對(duì)現(xiàn)場(chǎng)人員的人生安危,有毒氣體環(huán)境中現(xiàn) 場(chǎng)人員中毒達(dá)到致命的事故屢見(jiàn)不鮮,現(xiàn)場(chǎng)安裝防爆聲光報(bào)警器 能在第一時(shí)間提醒現(xiàn)場(chǎng)工作人員的危險(xiǎn)性。主要用于商店、店鋪、私人車庫(kù)等場(chǎng)所,當(dāng)有人非法把卷簾門 撬開(kāi)時(shí),卷簾門神便馬上發(fā)出響亮報(bào)警聲音,讓非法入侵者無(wú)法 得手,起到防盜報(bào)警作用。產(chǎn)品即插即用,無(wú)需任何布線與???。還有其他各種各樣的功能,總之,聲光報(bào)警器具有很多的用途, 因此學(xué)習(xí)簡(jiǎn)單的制作原理是很有必要的,是對(duì)以后踏入社會(huì)非常 好的積累。三、設(shè)計(jì)的具體實(shí)現(xiàn)3.1模塊分析3.1.1數(shù)據(jù)采集中斷服務(wù)程序該子程序的功能是檢測(cè)A 口輸入的是不是我們兩個(gè) 人的學(xué)

4、號(hào)相加,如果連續(xù)檢測(cè)50次都是等于學(xué)號(hào)相加的 話,就進(jìn)入中斷子程序執(zhí)行程序。中斷子程序里面包括關(guān)中斷,標(biāo)志自加1,從片中斷結(jié) 束,主片中斷結(jié)束,開(kāi)中斷等5個(gè)部分。3.1.2獲取原中斷向量該部分的作用是獲取原中斷向量,并且把他保存下 來(lái),等到中斷子程序執(zhí)行完成以后,利用這個(gè)可以跳轉(zhuǎn)回 到中斷發(fā)生的地址,繼續(xù)執(zhí)行別的程序。3.1.3設(shè)置新中斷向量當(dāng)前要執(zhí)行的中斷處理的相關(guān)信息,確保電腦能正確 快速的找到當(dāng)前需要執(zhí)行的中斷子程序。3.1.4開(kāi)中斷設(shè)置這部分包括打開(kāi)從片的IRQ10和打開(kāi)主片的IRQ2, 為中斷服務(wù)程序的進(jìn)行做好準(zhǔn)備。3.1.5恢復(fù)原中斷向量將我們保存的原中斷向量從堆棧里面出棧,從而為

5、結(jié)束中斷子程序且跳轉(zhuǎn)回原來(lái)的斷點(diǎn)做準(zhǔn)備。3.1.6關(guān)中斷設(shè)置這部分包括關(guān)閉從片的IRQ10和關(guān)閉主片的IRQ2,為中斷服務(wù)程序的結(jié)束做好準(zhǔn)備。3.2流程圖3.3實(shí)驗(yàn)原理通過(guò)接口電路將揚(yáng)聲器SPK、LED彩燈接入微機(jī) 系統(tǒng),采用CPU統(tǒng)一控制,滿足設(shè)計(jì)要求其設(shè)計(jì)原理可結(jié)合微機(jī)接口技術(shù)所學(xué)知識(shí)完成3.4接線原理圖i=,_“匚lI-I HI4N Hl !.1壬皂也善2 w1 1=1四、具體編碼實(shí)現(xiàn)4.1開(kāi)發(fā)工具IBM匯編語(yǔ)言4.2端口設(shè)置8255A: 300H303H8253A: 304H307H8251A: 308H30BHADC0809:30CH、 30EHDAC0832: 30FH8237A:

6、主片 00FH;從片 0C0H0DEH8259A:主片 20H,21H;從片 0A0H,0A1H4.3與外設(shè)的連接8255的A 口同硬件的輸入接口連接,是外界的輸入能夠讀入 芯片中8255的B 口同外設(shè)的LED燈相連接,保證外設(shè)的燈能正常閃 亮8255的C 口 pc0同8259的從片IRQ10和主片的IRQ2相連, 確保當(dāng)pc0=1的時(shí)候,能夠進(jìn)入中斷子程序。8255的C 口中的pc3連通揚(yáng)聲器的與門,當(dāng)pc3值為1的時(shí) 候,揚(yáng)聲器能正常代開(kāi)并工作。8255的C 口中的pc4連通8253的0號(hào)計(jì)數(shù)器的輸出,保證 當(dāng)一個(gè)音長(zhǎng)到了以后,就開(kāi)始繼續(xù)讀下面得音頻和音長(zhǎng)。4.4系統(tǒng)主要的代碼實(shí)現(xiàn)4.4.

7、1中斷子程序interpret procclimov ah,02hmov dl,31hint 21hmov ah,02hmov dl,31hint 21hcall soundmoval,062hout0a0h,alout020h,alstimov dx,303hmov al,98h上部輸入out dx,almov al,00hout dx,aliretinterpret endpinterp;中斷程序模塊,發(fā)聲音;關(guān)中斷;發(fā)中斷結(jié)束命令(OCW2);從片結(jié)束中斷;王片結(jié)束中斷;開(kāi)中斷;8355控制命令字 方式0, A口,C口;中斷返回;頻率有效地址;音長(zhǎng)有效地址;對(duì)8255初始化完成;開(kāi)門控4

8、.4.2發(fā)聲子程序sound proclea si,FREQUENCYlea di,TIMEmov dx,303hmov al,10011000bout dx,almov al,00000111bout dx,al mov dx,307hmov al,01110110Bout dx,almov ax,11931;寫初值保證1號(hào)計(jì)數(shù)器輸出時(shí)100 HZmov dx,305hout dx,almov al,ahout dx,almov lamp,0;對(duì)8253 1號(hào)計(jì)數(shù)器控制字的寫完了begin: mov bx,si mov B,bx add B,30h mov dx,B ;mov ah,02h

9、;int 21h cmp B,1 jz exitsound mov dx,307h mov al,10110110b 低位,在讀高位。 out dx,al mov dx,12h mov ax,34deh DIV bx mov dx,306h out dx,al mov al,ah out dx,al mov dx,307h mov al,00010110b out dx,al mov dx,304h mov ax,di out dx,al mov dx,302h delay:;取頻率;8253計(jì)數(shù)器2號(hào)計(jì)數(shù)器,方式3先讀滁數(shù);被除數(shù);商在AX中;對(duì)8253 2號(hào)計(jì)數(shù)器的計(jì)數(shù)初值;計(jì)數(shù)器0;取時(shí)

10、間;計(jì)數(shù)器0賦初值;0口in al,dx test al,10h jnz delay;輸入到al;判斷第五位的pc4是否為1;延時(shí)add si,2 add di,2 inc lamptest lamp,00000001bjz lPmov dx,300h;A 口輸出mov al,11111010B;5號(hào)out dx,al jmp exitlplp:cmp lamp,2mov dx,300hmov al,11111001B;6 號(hào)out dx,al exitlp:jmp beginexitsound:mov ah,02h mov dl,30h int 21hmov dx,303hmov al,98

11、h out dx,al mov dx,303hmov al,00000110b out dx,al;關(guān)聲音 retsound endp五、結(jié)論音樂(lè)能夠播放,燈能夠隨著音樂(lè)一起變化,基本上實(shí)現(xiàn) 了實(shí)驗(yàn)的要求,但是關(guān)于中斷程序的返回和結(jié)束還有問(wèn)題, 以后要進(jìn)一步改善。六、心得體會(huì)經(jīng)過(guò)這段時(shí)間在實(shí)驗(yàn)室的訓(xùn)練,我對(duì)微機(jī)原理與接口技 術(shù)的知識(shí)有了更深一步的了解,對(duì)于實(shí)驗(yàn)中用到的5255,8253,8259等芯片都 有了較為深刻的認(rèn)識(shí),知道了如何使用這幾個(gè)芯片,對(duì)于它 們的初始化,賦初值,寫命令字都有了較為熟悉的了解,對(duì) 于8053,8055的端口地址以及命令字格式都已經(jīng)差不多記 下來(lái)了,使用8253芯片

12、,主要是用來(lái)得到我們需要的音樂(lè) 頻率,因?yàn)橄到y(tǒng)默認(rèn)的時(shí)鐘頻率太大了,所以計(jì)數(shù)器主要使 用工作方式3來(lái)降低頻率,8255工作方式控制字用來(lái)設(shè)定A、 B 口和C 口的數(shù)據(jù)傳送方向是輸入還是輸出,設(shè)定各口的工 作方式是3種方式的哪一種。對(duì)于8253芯片作為計(jì)數(shù)器的 用法基本上已經(jīng)掌握,相關(guān)的操作命令能相對(duì)熟練的運(yùn)用, 對(duì)于8255芯片作為并行輸入輸出的本質(zhì)有了一定的了解, 對(duì)8255的A 口,B 口,C 口做不同的輸入輸出工作的具體應(yīng) 用有了一定的經(jīng)驗(yàn),同時(shí)對(duì)8059做中斷處理操作時(shí)候相關(guān) 命令有了一定的了解。Intel8259擁有3種操作命令,即 OCW1OCW3,這些命令在Intel8259啟動(dòng)

13、后,可以多次運(yùn)行。 因此,在編寫用戶程序時(shí)只使用這3種操作命令。其中OCW1 是屏蔽中斷源操作命令,對(duì)應(yīng)芯片奇地址(A0 = 1),8bit(D7D0)可讀/寫。其中:Di=1表示阻止第i個(gè)中斷源向CPU請(qǐng)求中斷。否則為允許。而OCW2是中斷結(jié)束操作命令, 對(duì)應(yīng)芯片偶地址(A0 = 0), 8bit (D7D0)可寫。通過(guò)他們 的使用可以實(shí)現(xiàn)開(kāi)光中斷,進(jìn)而進(jìn)入終端子程序。對(duì)于中斷我也加深的認(rèn)識(shí),學(xué)到了不少的東西。首先設(shè) 置從片的中斷源號(hào)是IRQ10,中斷類型是72h,主片的中斷 源號(hào)是IRQ2,中斷類型也是70h,同時(shí)8059也能和其他芯 片一起來(lái)實(shí)現(xiàn)相對(duì)復(fù)雜的工作,使用8255的PC0連接到

14、 8259,就可以利用將pc0設(shè)置的1的方式,直接實(shí)現(xiàn)中斷的 調(diào)用實(shí)現(xiàn),這樣就可以控制中斷子程序的處理過(guò)程了。在中 斷子程序里面加上調(diào)用控制發(fā)出音樂(lè)的子程序,并且加以調(diào) 用,就能實(shí)現(xiàn)程序運(yùn)行時(shí),一旦8位開(kāi)關(guān)信號(hào)量狀態(tài)滿足設(shè) 定條件,就觸發(fā)中斷,使發(fā)光二級(jí)管按規(guī)律閃爍,同時(shí)揚(yáng)聲 器播放一段音樂(lè)。發(fā)生和燈變幻的程序?qū)懺谝黄?,他們?zhí)行 的時(shí)候就差不多同時(shí)執(zhí)行,從而實(shí)現(xiàn)了音樂(lè)節(jié)拍和二極管的 變化的同步變化。七、附錄RESET一 PBPB一 PAPA疏DC下半部總線Q 綴沖器WR-w-e數(shù)據(jù)總線 緩沖器內(nèi)部總線參數(shù)名稱符號(hào)測(cè)試條件最大規(guī)范值最小規(guī)范值輸入低電平電壓VIL0.8V-0.5V輸入高電平電壓V

15、IHVcc2.0V輸入低電平電壓(數(shù)據(jù)VOLIOL=2.5MA0.45V總線)輸入低電平電壓(外部VOLIOL=1.7MA0.45V端口)輸入高電平電壓(數(shù)據(jù) VOHIOH=-400MA2.4V總線)輸入高電平電壓(外部 VOHIOH=-200MA2.4V端口)達(dá)林頓驅(qū)動(dòng)電流IDARREXT=750-0.4MA1.0MAVEXT=1.5V電源電流ICC120MA輸入負(fù)載電流IILI=Vcc0V+10MA-10MA輸出浮動(dòng)電流IOFLVout=Vcc-0+10MA-10MA8253內(nèi)部結(jié)構(gòu)4 124VccD停一223WR據(jù)1-S22-RDD. 1i*21CSDm J1520 A.Dz 619AoS 1718CLKaDo ?i17OUT芝CLKo )16 GATE 呈f IITJfl1Kn kUU 1 QU15名稱參數(shù)符號(hào)詹試條件1最大14典型占最小單位輸入低電壓Vi七nd二11,0.8 13I E -o-Pr5v輸入高電壓VihVcc+0.2.2V8253范5片管腳圖輸出低電壓Vol0.45V輸出高電壓Voh2.4 V輸入負(fù)載電 Iil Vin=Vcc0 +/-10uA流輸出浮動(dòng)漏 Iofl Vout=Vcc0.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論