版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、河南科技學(xué)院微機(jī)原理及接口技術(shù)課程設(shè)計報告題 目: 電子音樂 小組成員: 指導(dǎo)老師: 完成時間: 2014年6月5號 目錄1.設(shè)計目的22.設(shè)計要求與內(nèi)容23.設(shè)計及原理23.1設(shè)計思路23.2硬件總體框圖(總體框圖后再分別對各模塊電路說明)24.軟件設(shè)計25.總結(jié)26 參考文獻(xiàn)27附錄(一般附上源程序代碼)21.設(shè)計目的通過對8253控制芯片和8255芯片的綜合使用與了解,實現(xiàn)音樂彩燈的配合控制設(shè)計的功能。2.設(shè)計要求與內(nèi)容1.1設(shè)計要求: 彩燈跟音樂的頻率配合控制(1)用8253定時器T0方式3來產(chǎn)生歌譜中各音符對應(yīng)頻率的方波。(2)由OUT0輸出驅(qū)動喇叭 。1.2 任務(wù)內(nèi)容(1)熟練掌握
2、8255控制芯片的作用,理解并運(yùn)用,運(yùn)用延遲函數(shù)跟頻率調(diào)節(jié)實 現(xiàn)音樂跟LED燈的同步進(jìn)行,采用8255跟8253芯片控制喇叭跟LED燈。3.設(shè)計及原理3.1設(shè)計思路 本次課程設(shè)計是電子音樂控制器,主要是用8255控制器跟LED燈,喇叭連 接組成音樂控制。電子音樂的設(shè)計與實現(xiàn)主要是通過編寫匯編語言程序利用8255的IOC口對燈進(jìn)行控制,通過控制8253定時器來產(chǎn)生不同頻率的方法,驅(qū)動喇叭發(fā)出不同音階的聲音,再利用延時來控制發(fā)音時間的長短,即可控制音調(diào)中的節(jié)拍。把樂譜中的音符和相應(yīng)的節(jié)拍變換為定時常數(shù)和延時常數(shù),作為數(shù)據(jù)表格存放在存儲器中,當(dāng)延時時間到,再查下一個音符的定時常數(shù)和延時常數(shù)。3.2硬
3、件總體框圖(總體框圖后再分別對各模塊電路說明)8255連接圖:4.軟件設(shè)計程序流程圖的簡單介紹5.總結(jié)(1)想法很重要。設(shè)計的思想很大程度上決定了實驗的高度。實現(xiàn)音樂的播放可以考驗自己學(xué)的知識,利用8253跟8255實現(xiàn)LED燈結(jié)合使用,來實現(xiàn)LED燈隨著音樂的旋律閃爍。(2)匯編語言知識和微機(jī)原理知識要扎實。通過這次實驗,我們小組三個成員受益匪淺。實驗的完成需要扎實的基礎(chǔ)知識,于是我們回去復(fù)習(xí)了匯編語言的書籍,查閱了相關(guān)文獻(xiàn)和資料。這次實驗不僅是對課程內(nèi)容掌握程度的一次考驗,而且是一次很好的訓(xùn)練機(jī)會,訓(xùn)練了我們查找資料的能力。通過此次課程設(shè)計的鍛煉,自己的動手能力有了很大的提高,查找問題、解
4、決問題的能力也有了相應(yīng)的進(jìn)步。(3)做實驗,總要信。在本次的實驗過程中,遇到很多我們無法解決的問題。經(jīng)過我們小組成員間的相互討論,尋求同學(xué)的指導(dǎo),就把自己發(fā)覺不到的錯誤找出來了,從而繼續(xù)進(jìn)行實驗。過程中遇到很多困難,幾天都呆在寒冷的實驗室,途中也會遇到挫折,毫無頭緒的時候。毅力和堅持的勇氣很重要,支撐我們走過實驗的每一步。本次試驗雖然還存在不足的地方,但這是我們努力過的成果和結(jié)晶,紅綠燈自動轉(zhuǎn)換,揚(yáng)聲器鳴叫拿一剎那,我們都欣慰地尖叫了。陽光總在風(fēng)雨后,做實驗,總要信。6 參考文獻(xiàn)微型計算機(jī)原理與接口技術(shù)呂林濤主編,科學(xué)出版社微機(jī)原理與單片機(jī)課程設(shè)計教學(xué)大綱 揚(yáng)聲器的發(fā)聲原理清華大學(xué)出
5、版社7附錄(一般附上源程序代碼)IO_8253_0DW0060H; 8253 計數(shù)器 0 口地址緩沖區(qū)IO_8253_1DW0061H; 8253 計數(shù)器 1 口地址緩沖區(qū)IO_8253_2DW0062H; 8253 計數(shù)器 2 口地址緩沖區(qū)IO_8253_MDW0063H; 8253 控制口地址緩沖區(qū) Base_addressEQU0A600H; 獲取 PCI 卡 PNP 設(shè)備配置資源后直接加入基地址參數(shù)DELAY_SETEQU500H; 約 100ms 根據(jù) PC 機(jī)速度調(diào)整其參數(shù)!IO_8255_ADW0070H; 8255 A 口地址緩沖區(qū)IO_8255_BDW0071H; 8255
6、B 口地址緩沖區(qū)IO_8255_CDW0072H; 8255 C 口地址緩沖區(qū)IO_8255_MDW0073H; 8255 控制口地址緩沖區(qū) ;Base_addressEQU0A400H; 獲取 PCI 卡 PNP 設(shè)備配置資源后直接加入基地址參數(shù)TABDW0B2EH;1DB01HDW0B2EH;1DB01HDW0B2EH;1DB02HDW0EF2H;5.DB02HDW08E0H;3DB01HDW08E0H;3DB01HDW08E0H;3DB02HDW0B2EH;1DB02HDW0B2EH;1DB01HDW08E0H;3DB01HDW0779H;5DB02HDW0779H;5DB02HDW08
7、64H;4DB01HDW08E0H;3DB01HDW09F7H;2DB02HDW0000HDB02HDW0FFFFHDW0000HDB02HDW0FFFFHMY_DATA ENDsMY_CODE SEGMENT PARA 'CODE'MY_PROCPROCFARASSUME CS:MY_CODE,DS:MY_DATA,SS:MY_STACK.386; 386 模式編譯START:MOVAX,MY_DATAMOVDS,AXMOVES,AXMOVAX,MY_STACKMOVSS,AXCALLFINDPCI; 自動查找 PCI 卡資源及 IO 口基地址MOVAX,word ptr I
8、O_base_address ;MOVAX,Base_address; 直接加入本機(jī) PCI卡 IO 口基址參數(shù) ADDIO_8253_0,AX; 目標(biāo)芯片偏移地址PC 機(jī)基地址 -> 口地址緩沖區(qū) ADDIO_8253_1,AX; 目標(biāo)芯片偏移地址PC 機(jī)基地址 -> 口地址緩沖區(qū) ADDIO_8253_2,AX; 目標(biāo)芯片偏移地址PC 機(jī)基地址 -> 口地址緩沖區(qū) ADDIO_8253_M,AX; 目標(biāo)芯片偏移地址PC 機(jī)基地址 -> 口地址緩沖區(qū) ADDIO_8255_A,AX; 目標(biāo)芯片偏移地址PC 機(jī)基地址 -> 口地址緩沖區(qū) ADDIO_8255_B,
9、AX; 目標(biāo)芯片偏移地址PC 機(jī)基地址 -> 口地址緩沖區(qū) ADDIO_8255_C,AX; 目標(biāo)芯片偏移地址PC 機(jī)基地址 -> 口地址緩沖區(qū) ADDIO_8255_M,AX; 目標(biāo)芯片偏移地址PC 機(jī)基地址 -> 口地址緩沖區(qū);*;/* 主程序開始 */*;*;MAIN: MOV DX,IO_8253_M; 8253 控制口地址MOVAL,36H; 定時器0,先讀寫低字節(jié)后高字節(jié),方式3,二進(jìn)制計數(shù)OUTDX,ALCALL DELAY_500ms; 調(diào)用延時MOVBX,OFFSET TABMAIN1:MOVAX,BXCMPAX,0000HJZSTOPCMPAX,0FFFF
10、HJZMAINCMP AX,0B2EHJZ AACMP AX,09F7HJZ ABCMP AX,08E0HJZ ACCMP AX,0864HJZ ADCMP AX,0779HJZ AEBB:MOV DX,IO_8253_0; 8253 計數(shù)器 0 口地址OUTDX,ALCALL DELAY_500ms; 調(diào)用延時MOVAL,AHOUTDX,ALCALL DELAY_500ms; 調(diào)用延時INCBXINCBXMOVCX,0000HMOVCL,BXMAIN2:CALL DELAY_500ms; 調(diào)用延時LOOPMAIN2MAIN3:INCBXCALL DELAY_500ms; 調(diào)用延時CALLBR
11、EAK CALLDELAY_500ms; 調(diào)用 500ms 延時 JMP MAIN1; 繼續(xù)AA:MOV DX,IO_8255_M; 8255 控制口地址 MOV AL,10011001B; 設(shè)置 8255 控制字 A 口輸入,B 口輸出,C 口輸入 OUT DX,AL; 寫 8255 控制字 MOV DX,IO_8255_B MOV AL,11111110B OUT DX,AL JMP BBAB:MOV DX,IO_8255_M; 8255 控制口地址 MOV AL,10011001B; 設(shè)置 8255 控制字 A 口輸入,B 口輸出,C 口輸入 OUT DX,AL; 寫 8255 控制字
12、MOV DX,IO_8255_B MOV AL,11111101B OUT DX,AL JMP BBAC:MOV DX,IO_8255_M; 8255 控制口地址 MOV AL,10011001B; 設(shè)置 8255 控制字 A 口輸入,B 口輸出,C 口輸入 OUT DX,AL; 寫 8255 控制字 MOV DX,IO_8255_B MOV AL,11111011B OUT DX,AL JMP BBAD:MOV DX,IO_8255_M; 8255 控制口地址 MOV AL,10011001B; 設(shè)置 8255 控制字 A 口輸入,B 口輸出,C 口輸入 OUT DX,AL; 寫 8255
13、控制字 MOV DX,IO_8255_B MOV AL,11110111B OUT DX,AL JMP BBAE:MOV DX,IO_8255_M; 8255 控制口地址 MOV AL,10011001B; 設(shè)置 8255 控制字 A 口輸入,B 口輸出,C 口輸入 OUT DX,AL; 寫 8255 控制字 MOV DX,IO_8255_B MOV AL,11101111B OUT DX,AL JMP BBAF:MOV DX,IO_8255_M; 8255 控制口地址 MOV AL,10011001B; 設(shè)置 8255 控制字 A 口輸入,B 口輸出,C 口輸入 OUT DX,AL; 寫 8
14、255 控制字 MOV DX,IO_8255_B MOV AL,11011111B OUT DX,AL JMP BBAG:MOV DX,IO_8255_M; 8255 控制口地址 MOV AL,10011001B; 設(shè)置 8255 控制字 A 口輸入,B 口輸出,C 口輸入 OUT DX,AL; 寫 8255 控制字 MOV DX,IO_8255_B MOV AL,10111111B OUT DX,AL JMP BBAH:MOV DX,IO_8255_M; 8255 控制口地址 MOV AL,10011001B; 設(shè)置 8255 控制字 A 口輸入,B 口輸出,C 口輸入 OUT DX,AL;
15、 寫 8255 控制字 MOV DX,IO_8255_B MOV AL,11111111B OUT DX,AL JMP BB MY_PROCENDpSTOPPROCNEARMOV DX,IO_8253_M; 8253 控制口地址MOVAL,36H; 定時器0,先讀寫低字節(jié)后高字節(jié),方式3,二進(jìn)制計數(shù)OUTDX,ALCALL DELAY_500ms; 調(diào)用延時INCBXINCBXMOVCX,0000HMOVCL,BXSTOP1:CALL DELAY_500ms; 調(diào)用延時LOOPSTOP1JMPMAIN3STOPENDP;*;/* 延時子程序 */*;*;DELAY_500msPROC NEAR
16、PUSHFPUSHCXMOV CX,DELAY_SET; 延時 100ms 參數(shù)值DELAY1:PUSH CX MOV CX,-1DELAY2: DEC CX JNZ DELAY2 POP CX DECCX JNZDELAY1 POPCX POPF RETDELAY_500msENDp;*;/* 按任意鍵退出 */*;*;BREAK PROC NEARPUSHFPUSHAXPUSHDX MOV AH,06H MOV DL,0FFH INT 21H JE RETURN MOV AX,4C00H INT 21HRETURN:POPDXPOPAXPOPFRETBREAK ENDP;*;/* 找卡子程
17、序 */*;*;FINDPCI PROCNEAR; 查找 PCI卡資源并顯示PUSHADPUSHFDMOVEBX,080000000HFINDPCI_next:ADDEBX,100HCMP EBX,081000000HJNZ FINDPCI_continueMOV DX,OFFSET pcicardnotfind; 顯示未找到 PCI 卡提示信息MOV AH,09HINT 21HMOV AH,4CHINT 21H; 退出FINDPCI_continue:MOV DX,IO_port_addreMOV EAX,EBXOUT DX,EAX; 寫地址口MOV DX,IO_port_dataIN EAX,DX; 讀數(shù)據(jù)口CMP EAX,IO_PLX_IDJNZ FINDPCI_next; 檢查是否發(fā)現(xiàn) PCI 卡MOV DX,IO_port_addreMOV EAX,EBXADD EAX,BADR2OUT DX,EAX; 寫地址口MOV DX,IO_port_dataIN EAX
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 宅基地快速出售協(xié)議書范文范本
- 合作協(xié)議書范文字體格式
- 賣二手車的保價協(xié)議書范文范本
- 2020-2021學(xué)年部編版語文六年級上冊第三單元測試題(含答案)
- 2023-2024學(xué)年云南省會澤縣茚旺高級中學(xué)高三全真模擬考試數(shù)學(xué)試題
- 醫(yī)院護(hù)士人員工作總結(jié)(32篇)
- 小學(xué)生秋季運(yùn)動會演講稿400字范文(31篇)
- 魯濱遜漂流記閱讀心得300字(35篇)
- 特教奇典:定制教學(xué)之道-深度解讀個別教育方案實施策略
- 幼兒園教育規(guī)章制度(19篇)
- 爆破試驗大綱
- 衛(wèi)生間維修方案
- 【其中考試】 河北省廊坊市某校初二(上)期中考試數(shù)學(xué)試卷
- 四年級上冊數(shù)學(xué)課件-7.1 整數(shù)四則混合運(yùn)算丨蘇教版 (共13張PPT)
- 工程開工報審表模板
- 小兒腦癱的護(hù)理課件
- 內(nèi)科學(xué)-骨髓增生異常綜合征(MDS)
- 高二數(shù)學(xué)期中考試的復(fù)習(xí)計劃
- 螺紋連接的裝配教案
- 車輛牌照借用協(xié)議
- 腹腔穿刺術(shù)(僅供參考)課件
評論
0/150
提交評論