數(shù)字錄音機課程設計.doc_第1頁
數(shù)字錄音機課程設計.doc_第2頁
數(shù)字錄音機課程設計.doc_第3頁
數(shù)字錄音機課程設計.doc_第4頁
數(shù)字錄音機課程設計.doc_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗題目:數(shù)字錄音機實驗目的:1、了解數(shù)字錄音機的基本原理 2、進一步掌握A/D轉換器與D/A轉換器的使用方法 3、鞏固和加深匯編語言程序設計的能力實驗平臺:1、實驗箱 1臺 2、計算機 1臺 3、麥克風及喇叭 各一個內(nèi)容要求:編程實現(xiàn)以每秒5000次的速率采集ADC0809的IN2輸入的語言數(shù)據(jù)并存入內(nèi)存,共采集30000各數(shù)據(jù)(錄音6秒),然后再以同樣的速率將數(shù)據(jù)送DAC0832使喇叭發(fā)聲實驗原理:一、各芯片的使用及工作方式1、 ADC0809在本次設計中的作業(yè)及工作方式ADC0809作數(shù)據(jù)采集用,用麥克6秒的語音信號并保存到相應的存儲單元。對ADC0809的8個模擬通道,這里是用數(shù)據(jù)總線的低8位D2、D1、D0來控制ADC的通道選擇信號ADDC、ADDB、ADDA,以實現(xiàn)選擇其中之一模擬通道輸入。在本次設計中,初始值為010(D2=0,D1=1,D0=0),即選擇IN2通道進行數(shù)據(jù)采集,其地址為29aH。然后使ADC0809的ALE、START有效,START和ALE信號通過CPU向選中的通道口執(zhí)行一條輸入指令,啟動A/D轉換。2、 DAC0832在本次設計中的作用及工作方式在本次設計中,DAC0832的ILE信號與+5V連在一起,WR1和WR2 均接地,總是有效的,DAC0843的輸入寄存器和DAC寄存器均處于選通狀態(tài),只要CPU想88H端口執(zhí)行一條輸入指令,就會使XFER有效,CPU輸出繁榮數(shù)字量就會順利通過DAC0832的兩個寄存器,然后進行D/A轉換,在運算放大器的輸出端得到轉換結果。 3、8253、8255A在本次設計中的作業(yè)及工作方式 8253在本次設計中用作定時,工作于方式0,與8255A連接使用完成定時操作。8255A采用工作方式0進行輸入操作,工作方式0是8255A個端口的基本輸入輸出方式,CPU可從指定端口輸入信息,也可向指定端口輸出信息。當8253寫入方式0控制字后,計數(shù)輸初端OUTO立即變?yōu)榈碗娖?,并且在計?shù)過程中一直保持低電平,當計數(shù)完成時,OUTO輸出百年未高電平,8253計數(shù)器0的OUTO與8255A的PAO連接,因此可通過查詢PAO是否為1,判斷計數(shù)是否完成。計數(shù)完成,則表示定時時間到。 二、管腳接線圖 1、ADC0809:3、 DAC0832:三、實驗流程圖 四、實物連接圖:五、程序設計代碼data segmentioportequ 1200h-0280hluportequ ioport+29ah ;錄音口地址fangportequ ioport+290h ;放音口地址io8253aequ ioport+283hio8253bequ ioport+280hio8255cequ ioport+28bhio8255dequ ioport+288hdata_qu db 60000 dup(?) ;錄音數(shù)據(jù)存放數(shù)據(jù)區(qū)news_1 db Press any key to record:,24h ;錄音提示news_2 db 0dh,0ah, Playing:,24h ;放音提示data endscode segmentassume cs:code,ds:data,es:databegin:mov ax,data ;初始化 mov ds,ax mov es,ax mov dx,offset news_1 ;顯示錄音提示 mov ah,9 int 21htest_1: mov ah,1 ;等待鍵盤輸入 int 16h jz test_1 ;若不是則循環(huán)等待 call lu ;調(diào)用錄音子程序 mov dx,offset news_2 ;顯示放音提示 mov ah,9 int 21hfy: call fang ;調(diào)用放音子程序 mov ax,0c07h int 21h cmp al,20h jz fy mov ah,4ch ;返回DOS int 21hlu proc near ;錄音子程序 mov di,offset data_qu ;置數(shù)據(jù)區(qū)首地址為DI mov cx,60000 ;錄60000個數(shù)據(jù) cldxunhuan:mov dx,luport ;啟動A/Dout dx,alcall delay ;延時in al,dx ;從A/D讀數(shù)據(jù)到ALstosb ;存入數(shù)據(jù)區(qū),使DI加1loop xunhuan ;循環(huán)ret ;子程序返回lu endpfang proc near ;放音子程序 mov cx,60000 ;放60000個數(shù)據(jù) mov si,offset data_qu ;置數(shù)據(jù)區(qū)首地址為SI cldfang_yin:mov dx,fangport lodsb ;從數(shù)據(jù)區(qū)取出數(shù)據(jù) sub al,30h out dx,al ;放音 call delay ;延時 loop fang_yin ;循環(huán) ret ;子程序返回fang endpdelay procnear ;延時子程序pushdxmoval,10h ;設8253通道0工作方式0movdx,io8253aoutdx,almoval,40 ;寫入計數(shù)器初值40movdx,io8253boutdx,almovdx,io8255c ;設8255的A口為輸入moval,9bhoutdx,almovdx,io8255d ;從8255的A口輸入delay1:inal,dxandal,1 ;判斷PA0是否為1jzdelay1 ;若PA0不為1,轉de_laypopdxret ;子程序返回delay endpcode endsend begin六、問題分析在實驗中,主要遇到了以下兩個問題:1) 由于試驗設備的問題,造成了試驗的不成功。剛開始還不知道是此問題,以為是自己的程序有錯誤,所以一直在檢測自己的程序,后來利用老師的檢驗測驗,才發(fā)現(xiàn)時試驗設備出現(xiàn)問題,換一臺設備就可以了。2) 入口地址錯誤,在A/D轉換中,由于接線時姐在INT2口,而在程序中用了ioport+298h這個地址,所以造成錄音不成功。經(jīng)過排查,把ADC0809設置成為ioport+29ah就可以了。七、試驗小結本次試驗室一個綜合型設計試驗,所以做起來相對來說有點難度,剛開始時還不知道從何入手,但是通過參考8253、8255、ADC0809和DAC0832等芯片的使用方法及原理,以及參閱試驗指導書后,發(fā)現(xiàn)本設計實驗其實并不難,于是首先畫出個芯片的接線方法,然后寫成程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論