音樂彩燈課程設(shè)計_第1頁
已閱讀1頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p>  設(shè)計要求···························

2、;·</p><p>  設(shè)計目的····························</p><p&

3、gt;  設(shè)計的具體實現(xiàn)······················</p><p>  程序········

4、83;·······················</p><p>  結(jié)論·········

5、·······················</p><p>  心得體會·········&

6、#183;··················</p><p>  附錄·············

7、3;··················</p><p>  參考文獻(xiàn)··············

8、;··············</p><p><b>  音樂彩燈設(shè)計報告</b></p><p><b>  設(shè)計要求</b></p><p>  三人一組,一人負(fù)責(zé)硬件電路設(shè)計與

9、連接,一人采用C語言編程、調(diào)試,另一人采用匯編語言編程并調(diào)試。</p><p>  選用8255、8253以及相關(guān)外圍芯片與開關(guān)量、發(fā)光二級管、揚聲器組成輸入輸出電路。</p><p>  使用8255的PC0連接到8259,使用微機中IRQ10中斷,中斷號是72H。</p><p>  編程的兩位同學(xué)學(xué)號末兩位相加,得到的和數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),作為觸發(fā)中斷的開關(guān)信號

10、狀態(tài)。如:學(xué)號為×××××01和學(xué)號為×××××02的同學(xué)一組,中斷觸發(fā)條件為:開關(guān)信號狀態(tài)是03,即二進(jìn)制數(shù)00000011。</p><p>  報警時,發(fā)光二級管在兩個設(shè)定狀態(tài)下循環(huán)切換。同組的兩個同學(xué)各自的學(xué)號末兩位對應(yīng)的二進(jìn)制數(shù)即是兩個設(shè)定狀態(tài)。</p><p>  設(shè)計數(shù)據(jù)結(jié)構(gòu),

11、記錄報警音樂(自選)的音長和音階信息,并使用8253的幾個計數(shù)器實現(xiàn)音樂播放控制。采用某一計數(shù)器輸出音長信號,另一計數(shù)器輸出音階信號。將音長信號連接到8255的PC4,程序?qū)Υ诵盘栠M(jìn)行查詢,當(dāng)進(jìn)入一個新的音長信號周期時,設(shè)置對應(yīng)的一個音階信號;這樣,程序不斷查詢PC4,控制選擇不同的音長和音階,并同時切換發(fā)光二極管顯示狀態(tài)。</p><p>  不可損壞實驗設(shè)備及器件。 </p><p>

12、<b>  設(shè)計目的</b></p><p>  隨著化學(xué)工業(yè)環(huán)境越來越復(fù)雜,聲光報警器作為報警控制系統(tǒng)中一個重要部件,越來越多的被用戶關(guān)注,在可燃?xì)怏w環(huán)境中使用它能有效防止對現(xiàn)場人員的人生安危,有毒氣體環(huán)境中現(xiàn)場人員中毒達(dá)到致命的事故屢見不鮮,現(xiàn)場安裝防爆聲光報警器能在第一時間提醒現(xiàn)場工作人員的危險性。</p><p>  主要用于商店、店鋪、私人車庫等場所,當(dāng)有人

13、非法把卷簾門撬開時,卷簾門神便馬上發(fā)出響亮報警聲音,讓非法入侵者無法得手,起到防盜報警作用。產(chǎn)品即插即用,無需任何布線與??亍?lt;/p><p>  還有其他各種各樣的功能,總之,聲光報警器具有很多的用途,因此學(xué)習(xí)簡單的制作原理是很有必要的,是對以后踏入社會非常好的積累。</p><p><b>  設(shè)計的具體實現(xiàn)</b></p><p><

14、;b>  3.1模塊分析</b></p><p>  3.1.1數(shù)據(jù)采集中斷服務(wù)程序</p><p>  該子程序的功能是檢測A口輸入的是不是我們兩個人的學(xué)號相加,如果連續(xù)檢測50次都是等于學(xué)號相加的話,就進(jìn)入中斷子程序執(zhí)行程序。</p><p>  中斷子程序里面包括關(guān)中斷,標(biāo)志自加1,從片中斷結(jié)束,主片中斷結(jié)束,開中斷等5個部分。 </p

15、><p>  3.1.2獲取原中斷向量</p><p>  該部分的作用是獲取原中斷向量,并且把他保存下來,等到中斷子程序執(zhí)行完成以后,利用這個可以跳轉(zhuǎn)回到中斷發(fā)生的地址,繼續(xù)執(zhí)行別的程序。</p><p>  3.1.3設(shè)置新中斷向量</p><p>  當(dāng)前要執(zhí)行的中斷處理的相關(guān)信息,確保電腦能正確快速的找到當(dāng)前需要執(zhí)行的中斷子程序。<

16、/p><p>  3.1.4開中斷設(shè)置</p><p>  這部分包括打開從片的IRQ10和打開主片的IRQ2,為中斷服務(wù)程序的進(jìn)行做好準(zhǔn)備。</p><p>  3.1.5恢復(fù)原中斷向量</p><p>  將我們保存的原中斷向量從堆棧里面出棧,從而為結(jié)束中斷子程序且跳轉(zhuǎn)回原來的斷點做準(zhǔn)備。</p><p>  3.1.

17、6關(guān)中斷設(shè)置</p><p>  這部分包括關(guān)閉從片的IRQ10和關(guān)閉主片的IRQ2,為中斷服務(wù)程序的結(jié)束做好準(zhǔn)備。 </p><p><b>  3.2流程圖</b></p><p><b>  3.3實驗原理</b></p><p>  1.通過接口電路將揚聲器SPK、LED彩燈接入微機系統(tǒng),采

18、用CPU統(tǒng)一控制,滿足設(shè)計要求</p><p>  2.其設(shè)計原理可結(jié)合微機接口技術(shù)所學(xué)知識完成</p><p><b>  3.4接線原理圖</b></p><p><b>  四、具體編碼實現(xiàn)</b></p><p><b>  4.1開發(fā)工具</b></p>

19、<p><b>  IBM匯編語言</b></p><p><b>  4..2端口設(shè)置</b></p><p>  8255A:300H~303H</p><p>  8253A:304H~307H</p><p>  8251A:308H~30BH</p><p&

20、gt;  ADC0809:30CH、30EH</p><p>  DAC0832:30FH</p><p>  8237A:主片0~0FH;從片0C0H~0DEH</p><p>  8259A:主片20H,21H;從片0A0H,0A1H</p><p><b>  4.3與外設(shè)的連接</b></p>&l

21、t;p>  8255的A口同硬件的輸入接口連接,是外界的輸入能夠讀入芯片中</p><p>  8255的B口同外設(shè)的LED燈相連接,保證外設(shè)的燈能正常閃亮</p><p>  8255的C口pc0同8259的從片IRQ10和主片的IRQ2相連,確保當(dāng)pc0=1的時候,能夠進(jìn)入中斷子程序。</p><p>  8255的C口中的pc3連通揚聲器的與門,當(dāng)pc3

22、值為1的時候,揚聲器能正常代開并工作。</p><p>  8255的C口中的pc4連通8253的0號計數(shù)器的輸出,保證當(dāng)一個音長到了以后,就開始繼續(xù)讀下面得音頻和音長。</p><p>  4.4系統(tǒng)主要的代碼實現(xiàn)</p><p>  4.4.1中斷子程序</p><p>  interpret proc ;

23、中斷程序模塊,發(fā)聲音</p><p>  cli ;關(guān)中斷</p><p>  mov ah,02h</p><p>  mov dl,31h</p><p><b>  int 21h</b></p><p>  mov ah,02h<

24、/p><p>  mov dl,31h</p><p><b>  int 21h</b></p><p>  call sound</p><p>  mov al,062h ;發(fā)中斷結(jié)束命令(OCW2)</p><p>  out 0a0h,al

25、 ;從片結(jié)束中斷 </p><p>  out 020h,al ;主片結(jié)束中斷 </p><p>  sti ;開中斷</p><p>  mov dx,303h</p><p>  mov al,98h

26、;8355控制命令字 方式0,A口,C口上部輸入</p><p><b>  out dx,al</b></p><p>  mov al,00h</p><p><b>  out dx,al</b></p><p>  iret ;中斷返回</p&g

27、t;<p>  interpret endpinterp</p><p>  4.4.2發(fā)聲子程序</p><p>  sound proc </p><p>  lea si,FREQUENCY ;頻率有效地址</p><p>  lea di,TIME ;音長有效地址</p>&l

28、t;p>  mov dx,303h</p><p>  mov al,10011000b</p><p>  out dx,al ;對8255初始化完成</p><p>  mov al,00000111b ;開門控</p><p><b>  out dx,al</b></p&

29、gt;<p>  mov dx,307h </p><p>  mov al,01110110B</p><p><b>  out dx,al</b></p><p>  mov ax,11931 ;寫初值保證1號計數(shù)器輸出時100 HZ</p><p>  mov dx,305h

30、</p><p><b>  out dx,al</b></p><p><b>  mov al,ah</b></p><p><b>  out dx,al</b></p><p>  mov lamp,0</p><p>  ;對8253 1號計數(shù)

31、器控制字的寫完了</p><p><b>  begin:</b></p><p>  mov bx,[si] ;取頻率</p><p><b>  mov B,bx</b></p><p><b>  add B,30h</b></p>

32、<p><b>  mov dx,B</b></p><p>  ;mov ah,02h</p><p><b>  ;int 21h</b></p><p><b>  cmp B,1</b></p><p>  jz exitsound</p>&

33、lt;p>  mov dx,307h</p><p>  mov al,10110110b ;8253計數(shù)器 2號計數(shù)器,方式3 先讀低位,在讀高位。</p><p><b>  out dx,al</b></p><p>  mov dx,12h</p><p>  mov ax,34deh

34、 ;除數(shù)</p><p>  DIV bx ;被除數(shù)</p><p>  mov dx,306h ;商在AX中</p><p><b>  out dx,al</b></p><p><b>  mov al,ah</b&g

35、t;</p><p>  out dx,al ;對8253 2號計數(shù)器的計數(shù)初值</p><p>  mov dx,307h</p><p>  mov al,00010110b</p><p><b>  out dx,al</b></p><p>  mov dx,3

36、04h ;計數(shù)器0</p><p>  mov ax,[di] ;取時間</p><p>  out dx,al ;計數(shù)器0賦初值</p><p>  mov dx,302h ;C口</p><p><b>  delay:&

37、lt;/b></p><p>  in al,dx ;輸入到al</p><p>  test al,10h ;判斷第五位的pc4是否為1</p><p>  jnz delay ;延時</p><p><b>  add si,2<

38、/b></p><p><b>  add di,2</b></p><p><b>  inc lamp</b></p><p>  test lamp,00000001b</p><p><b>  jz lp</b></p><p>  mo

39、v dx,300h ;A口輸出</p><p>  mov al,11111010B ;5號</p><p><b>  out dx,al</b></p><p>  jmp exitlp</p><p><b>  lp:</b></p><

40、p>  cmp lamp,2</p><p>  mov dx,300h</p><p>  mov al,11111001B ;6號</p><p><b>  out dx,al</b></p><p><b>  exitlp:</b></p><p>

41、<b>  jmp begin</b></p><p>  exitsound:</p><p>  mov ah,02h</p><p>  mov dl,30h</p><p><b>  int 21h</b></p><p>  mov dx,303h</p&g

42、t;<p>  mov al,98h</p><p><b>  out dx,al</b></p><p>  mov dx,303h</p><p>  mov al,00000110b</p><p>  out dx,al;關(guān)聲音</p><p><b>  ret

43、</b></p><p>  sound endp</p><p><b>  五、結(jié)論</b></p><p>  音樂能夠播放,燈能夠隨著音樂一起變化,基本上實現(xiàn)了實驗的要求,但是關(guān)于中斷程序的返回和結(jié)束還有問題,以后要進(jìn)一步改善。 </p><p><b>  六、心得體會</b>

44、</p><p>  經(jīng)過這段時間在實驗室的訓(xùn)練,我對微機原理與接口技術(shù)的知識有了更深一</p><p>  步的了解,對于實驗中用到的5255,8253,8259等芯片都有了較為深刻的認(rèn)識,知道了如何使用這幾個芯片,對于它們的初始化,賦初值,寫命令字都有了較為熟悉的了解,對于8053,8055的端口地址以及命令字格式都已經(jīng)差不多記下來了,使用8253芯片,主要是用來得到我們需要的音樂頻率

45、,因為系統(tǒng)默認(rèn)的時鐘頻率太大了,所以計數(shù)器主要使用工作方式3來降低頻率,8255工作方式控制字用來設(shè)定A、B 口和C口的數(shù)據(jù)傳送方向是輸入還是輸出,設(shè)定各口的工作方式是3種方式的哪一種。對于8253芯片作為計數(shù)器的用法基本上已經(jīng)掌握,相關(guān)的操作命令能相對熟練的運用,對于8255芯片作為并行輸入輸出的本質(zhì)有了一定的了解,對8255的A口,B口,C口做不同的輸入輸出工作的具體應(yīng)用有了一定的經(jīng)驗,同時對8059做中斷處理操作時候相關(guān)命令有了一

46、定的了解。Intel8259擁有3種操作命令,即OCW1~OCW3,這些命令在Intel8259啟動后,可以多次運行。因此,在編寫用戶程序時只使用這3種操作命令。其中OCW1是屏蔽中斷源操作命令,對應(yīng)芯片奇地址(A0=1),8bit(D7~D0)可讀/寫。其中:Di=1表示阻止</p><p>  對于中斷我也加深的認(rèn)識,學(xué)到了不少的東西。首先設(shè)置從片的中斷源號是IRQ10,中斷類型是72h,主片的中斷源號是IR

47、Q2,中斷類型也是70h,同時8059也能和其他芯片一起來實現(xiàn)相對復(fù)雜的工作,使用8255的PC0連接到8259,就可以利用將pc0設(shè)置的1的方式,直接實現(xiàn)中斷的調(diào)用實現(xiàn),這樣就可以控制中斷子程序的處理過程了。在中斷子程序里面加上調(diào)用控制發(fā)出音樂的子程序,并且加以調(diào)用,就能實現(xiàn)程序運行時,一旦8位開關(guān)信號量狀態(tài)滿足設(shè)定條件,就觸發(fā)中斷,使發(fā)光二級管按規(guī)律閃爍,同時揚聲器播放一段音樂。發(fā)生和燈變幻的程序?qū)懺谝黄?,他們?zhí)行的時候就差不多同時

48、執(zhí)行,從而實現(xiàn)了音樂節(jié)拍和二極管的變化的同步變化。</p><p><b>  七、附錄</b></p><p><b>  8255引腳圖</b></p><p><b>  8253內(nèi)部結(jié)構(gòu)</b></p><p><b>  八、參考文獻(xiàn)</b>&l

49、t;/p><p>  [1] 范立南. 微型計算機原理及應(yīng)用[M]. 沈陽:東北大學(xué)出版社,2004.2:281-289</p><p>  [2] 樓順大, 周佳社. 微機原理與接口技術(shù)[M]. 北京: 科學(xué)出版社, 2006.8</p><p>  [3] 潘新民, 王燕芳. 微型計算機控制技術(shù)[M]. 北京: 電子工業(yè)出版社, 2003</p>&l

50、t;p>  [4] 陳 輝, 傅越千. 微機原理與接口技術(shù)[M]. 北京: 北京</p><p>  大學(xué)出版社, 2007.2</p><p>  [5]周明德,蔣本珊.微機原理與接口技術(shù)[M]. 人民郵電出版社,2002.5</p><p>  [6] 王鹛. 基于PC機的函數(shù)發(fā)生器設(shè)計與實現(xiàn)[J]. 電腦知識與技術(shù), 2008,01(9)</p&g

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論