freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

聲音采集與回放項(xiàng)目設(shè)計(jì)方案(編輯修改稿)

2025-06-10 08:56 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 數(shù)據(jù)輸入 錄音系統(tǒng)的電路連接錄音時(shí),語(yǔ)音信號(hào)通過(guò)A/D轉(zhuǎn)換器將語(yǔ)音信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),編碼后存入存儲(chǔ)器中;放音時(shí),將數(shù)據(jù)從存儲(chǔ)器中取出并解碼,然后經(jīng)D/A轉(zhuǎn)換變成語(yǔ)音信號(hào)輸出。 原理分析 (1)錄音 SPCE061A的A/D轉(zhuǎn)換器有8個(gè)通道,其中有1個(gè)通道是MICIN輸入,它專門(mén)用于對(duì)語(yǔ)音信號(hào)進(jìn)行采樣。語(yǔ)音信號(hào)經(jīng)MIC轉(zhuǎn)換成電信號(hào),由隔直電容隔掉直流成分,然后輸入至SPCE061A內(nèi)部前置放大器。SPCE061A內(nèi)部自動(dòng)增益控制電路AGC能隨時(shí)跟蹤、監(jiān)視前置放大器輸出的音頻信號(hào)電平,當(dāng)輸入信號(hào)增大時(shí),AGC電路自動(dòng)減小放大器的增益;當(dāng)輸入信號(hào)減小時(shí),AGC電路自動(dòng)增大放大器的增益,可使進(jìn)入A/D的信號(hào)保持在最佳電平,又可使削波減至最小。A/D轉(zhuǎn)換器對(duì)輸入的音頻信號(hào)進(jìn)行8kHz采樣,并按照凌陽(yáng)音頻編碼格式進(jìn)行編碼,每秒將占用16kBits的存儲(chǔ)器空間。系統(tǒng)擴(kuò)展了一塊容量為1Mbits的SRAM存儲(chǔ)器HM628128A來(lái)存儲(chǔ)語(yǔ)音數(shù)據(jù)。 (2)放音 通過(guò)單片機(jī)輸出控制信號(hào)將HM628128A中存儲(chǔ)的語(yǔ)音數(shù)據(jù)順序取出,解碼后送到D/A寄存器,以8kHz的速率進(jìn)行D/A轉(zhuǎn)換輸出,經(jīng)電容濾波后,恢復(fù)原始語(yǔ)音波形,通過(guò)三極管驅(qū)動(dòng)揚(yáng)聲器放音。 硬件電路 凌陽(yáng)的61板已經(jīng)集成了錄音電路,單片機(jī)系統(tǒng),放音電路于一體,而單片機(jī)的內(nèi)存太小不足以存儲(chǔ)容量巨大的錄音資料,因此還要擴(kuò)展外圍的存儲(chǔ)器電路,以滿足錄音系統(tǒng)的存儲(chǔ)需要。外圍存儲(chǔ)器采用H628128HM SRAM。,由SPCE061A的IO口完成地址線、數(shù)據(jù)線和控制線擴(kuò)展功能。其中IOB0IOB15接存儲(chǔ)器H628128的地址線A0A15,IOA7接第十七根地址線A16;IOA8IOA15接存儲(chǔ)器H628128的數(shù)據(jù)線DQ0DQ7;IOA4接存儲(chǔ)器H628128的/WE引腳,控制讀寫(xiě)的轉(zhuǎn)換;IOA5接/OE,控制存儲(chǔ)器H628128輸出時(shí)數(shù)據(jù)端口是否為高阻態(tài);IOA6接存儲(chǔ)器H628128的/CE1引腳,控制存儲(chǔ)器H628128是否處于被選中為工作的狀態(tài);IOA3接一個(gè)發(fā)光二極管,由單片機(jī)SPCE061A控制,指示錄音系統(tǒng)正在進(jìn)行的工作狀態(tài),為錄音或者播放狀態(tài)時(shí)指示燈亮,為停止錄音或者停止播放狀態(tài)時(shí)則指示燈熄滅;存儲(chǔ)器H628128的剩余的VDD引腳和CE2引腳接高電平,GND引腳接地;錄音系統(tǒng)擴(kuò)展了三個(gè)按鍵,分別為REC(IOA0),STOP(IOA1),PLAY(IOA2),REC用于開(kāi)始錄音,PLAY用于放音,STOP用于停止錄音或放音。 凌陽(yáng)61板與HM628128的電路連接4 錄音系統(tǒng)的軟件設(shè)計(jì) 集成開(kāi)發(fā)環(huán)境IDE簡(jiǎn)介 綜述 181。’nSP? 集成開(kāi)發(fā)環(huán)境,它集程序的編輯、編譯、鏈接、調(diào)試以及仿真等功能為一體。具有友好的交互界面、下拉菜單、快捷鍵和快速訪問(wèn)命令列表等,使人們的編程、調(diào)試工作更加方便且高效。此外,它的軟件仿真功能可以在不連接仿真板的情況下模擬硬件的各項(xiàng)功能來(lái)調(diào)試程序。使用181。39。nSP174。 IDE 之前用戶必須運(yùn)行Windows98174。/Windows2000174。/WindowsXP174。 ,注意Windows2000174。/WindowsXP174。上使用本工具用戶必須擁有管理員權(quán)限,打印端口必須被設(shè)置為[SPP]Standard Parallel Port 模式,端口地址必須被設(shè)置為378H。主界面里通常有三個(gè)主要窗口:Workspace(工作區(qū))窗口、Edit(編輯)窗口和Output(輸出)窗口。進(jìn)行窗口切換只需在各窗口處單擊鼠標(biāo)左鍵即可。此外,主界面里還提供下拉菜單、工具欄等。 181?!痭SP? IDE 桌面 在μ’nSP? IDE中,配備了硬件聲明的頭文件和常用函數(shù)模塊,例如鍵盤(pán)掃描模塊,語(yǔ)音音量調(diào)節(jié)模塊等等。另外還配備各種庫(kù)文件,包括標(biāo)準(zhǔn)C常用的庫(kù)函數(shù)、凌陽(yáng)音頻庫(kù)函數(shù)等。開(kāi)發(fā)者只要了解這些庫(kù)函數(shù)的使用后,就可以靈活運(yùn)用于自己的設(shè)計(jì)開(kāi)發(fā)中。IDE使用流程如下: (1)打開(kāi)μ’nSP? IDE工具軟件。 (2)建立一個(gè)新項(xiàng)目: 打開(kāi)上面菜單file-new-project-file-鍵入文件名;并在location下選擇存放路徑。(3)在該項(xiàng)目的源文件夾(source files)下建立一個(gè)匯編語(yǔ)言文件或C語(yǔ)言文件:File-new-file(選擇asm或C文件)-file-文件名。 (4)在相應(yīng)的文件內(nèi)編程。 (5)選擇硬件仿真方式(PCB板式的快捷鍵)。(6)編譯程序:build-build 。(7)下載程序:build-StartDebug-Download(快捷鍵為F8)。此時(shí),相當(dāng)于程序已被程序存儲(chǔ)器中,可脫機(jī)運(yùn)行。(8)運(yùn)行程序:build-start degug-download-go(快捷鍵為F5) 項(xiàng)目的建立,編譯和下載(1)建立項(xiàng)目新建項(xiàng)目的方法步驟: 用鼠標(biāo)左鍵單擊File 下拉菜單New 彈出New對(duì)話框,在該窗口中選中Project標(biāo)簽并在File的文本框中鍵入項(xiàng)目的名稱。Location下的文本框中輸入項(xiàng)目的存取路徑或利用該文本框右端的瀏覽按鈕制定項(xiàng)目的存儲(chǔ)位置。 用鼠標(biāo)左鍵單擊New對(duì)話框里的OK按鈕,則項(xiàng)目建立完成。新建項(xiàng)目的需求:在做一個(gè)應(yīng)用程序前,首先要建項(xiàng)目。(2)在項(xiàng)目中新建C文件(.C) 新建C文件的方法:在新建項(xiàng)目下, 點(diǎn)擊菜單File 下拉菜單New 彈出New對(duì)話框。點(diǎn)擊181?!痭SP? IDE C File, 在File 下的文本框內(nèi)鍵入文件名稱, OK。 新建C文件的需求:用C語(yǔ)言做程序時(shí)需要建立C文件類型。 (3)在項(xiàng)目中新建匯編文件(.asm) 新建匯編文件的方法:在新建項(xiàng)目下, 點(diǎn)擊菜單File 下拉菜單New 彈出新建文件/項(xiàng)目的對(duì)話框。點(diǎn)擊181?!痭SP? IDE ASM File ,在File 下的編輯框內(nèi)寫(xiě)入文件名稱,OK。新建匯編文件需求: 用匯編語(yǔ)言做程序時(shí)需要建立匯編文件類型。 (4)在項(xiàng)目中新建頭文件(.H) 新建頭文件的方法:在新建項(xiàng)目下, 點(diǎn)擊菜單File 下拉菜單New 彈出新建文件/項(xiàng)目的對(duì)話框。點(diǎn)擊181?!痭SP? IDE H File,在File 下的編輯框內(nèi)寫(xiě)入文件名稱,OK。 新建頭文件需求: 多個(gè)文件共享的文件可以建成頭文件。新建頭文件后的Workspace 窗口結(jié)果: Head File 文件。(5)在項(xiàng)目中添加/刪除文件 在項(xiàng)目中添加文件的方法,第一種方法:通過(guò)Project菜單方法。 可通過(guò)菜單途徑用鼠標(biāo)左鍵單擊Project菜單里Add to Project選項(xiàng)中的Files 或Resource子項(xiàng),激活A(yù)dd Files對(duì)話框;第二種方法:通過(guò)Workspace 窗口。在Workspace 窗口內(nèi),選中元組,單擊右鍵彈出以下拉菜單。用鼠標(biāo)左鍵單擊Add Files To Folder 選項(xiàng),可激活A(yù)dd Files 對(duì)話框。在文本框中鍵入將添加的文件,單擊“打開(kāi)”按鈕。即將添加的文件加到所選的元組中。刪除文件步驟:在File 視窗或Resource視窗里選中元組中的某個(gè)文件。單擊鼠標(biāo)右鍵,再?gòu)棾龅南吕藛危x中Remove 選項(xiàng),則該文件會(huì)從元組中被刪除。(6)在項(xiàng)目中使用資源 當(dāng)在項(xiàng)目里的資源元組中添加資源文件時(shí),并以RES_*的缺省文件名格式被賦予一個(gè)新的文件名(此處’*’是指資源文件在其存儲(chǔ)路徑上的文件名)。同時(shí),添入的資源文件還會(huì)被安排一個(gè)文件標(biāo)識(shí)符ID。 (7)項(xiàng)目選項(xiàng)的設(shè)置 項(xiàng)目選項(xiàng)的設(shè)置是針對(duì)不同目標(biāo)而對(duì)開(kāi)發(fā)環(huán)境的各個(gè)要素進(jìn)行的設(shè)置。(8)項(xiàng)目的編譯 當(dāng)項(xiàng)目中的文件編寫(xiě)結(jié)束后,要對(duì)項(xiàng)目中的程序進(jìn)行編譯,并將編譯出來(lái)的二進(jìn)制代碼與庫(kù)中的各個(gè)模塊連接成一個(gè)完整的、地址統(tǒng)一的可執(zhí)行目標(biāo)文件和符號(hào)表文件,供用戶調(diào)試使用,在這里要使用編譯器、匯編器、鏈接器等工具。 項(xiàng)目編譯的基本操作包括: ◆ Compile:對(duì)編輯窗口中當(dāng)前文件進(jìn)行編譯。 ◆ Build :編制當(dāng)前的文件。 ◆ Rebuild All :重新編制當(dāng)前項(xiàng)目目標(biāo),將處理當(dāng)前項(xiàng)目中的所有文件。 ◆ Stop Build :終止當(dāng)前項(xiàng)目目標(biāo)編制。 (9)下載程序:build-StartDebug-Download。 SPCE061A的程序設(shè)計(jì)規(guī)則在μ’nSP?單片機(jī)的匯編程序設(shè)計(jì)中,用戶可以不用考慮程序代碼在實(shí)際物理存儲(chǔ)器中的存儲(chǔ)地址,而是通過(guò)偽指令(如“.CODE”、“.TEXT”、“.RAM”等)。對(duì)于數(shù)據(jù)存儲(chǔ)器的管理同樣由IDE的編譯器來(lái)完成。當(dāng)用戶想在數(shù)據(jù)存儲(chǔ)區(qū)內(nèi)定義一個(gè)變量時(shí),只需通過(guò)偽指令(如“.RAM”、“.IRAM”等)來(lái)通知編譯器在數(shù)據(jù)存儲(chǔ)區(qū)內(nèi)建立一個(gè)變量即可。μ’nSP?單片機(jī)的匯編指令針對(duì)C語(yǔ)言進(jìn)行了優(yōu)化,所以其匯編的指令格式很多地方直接類似于C語(yǔ)言。另外其開(kāi)發(fā)仿真環(huán)境IDE也直接提供了C語(yǔ)言的開(kāi)發(fā)環(huán)境,C函數(shù)和匯編函數(shù)可以方便地進(jìn)行相互調(diào)用。 項(xiàng)目的組織結(jié)構(gòu)項(xiàng)目提供用戶程序及資源文檔的編輯和管理,并提供各項(xiàng)環(huán)境要素的設(shè)置途徑。因此,用戶從編程到調(diào)程之前實(shí)際上都是圍繞著項(xiàng)目的操作。新建項(xiàng)目包括三類文件:源文件(Source files)、頭文件(Head files)和用來(lái)存放文檔或項(xiàng)目說(shuō)明的文件(External Dependencies)。這種項(xiàng)目管理的方式,會(huì)把與項(xiàng)目相關(guān)的代碼模塊組織為一個(gè)有機(jī)的整體,便于開(kāi)發(fā)人員對(duì)其代碼以及相關(guān)文件文檔的管理。在這里,不詳細(xì)敘述如何對(duì)IDE進(jìn)行全面的設(shè)置,相關(guān)內(nèi)容可以參閱IDE章節(jié)。但是從編寫(xiě)調(diào)試代碼的角度來(lái)看,需要反復(fù)提出的有如下一些重要的設(shè)置:(1)路徑的設(shè)置:菜單toolsoption…Directiories,可以進(jìn)行路徑的設(shè)置。當(dāng)項(xiàng)目中的文件或函數(shù)庫(kù)不與項(xiàng)目文件在同一個(gè)目錄時(shí),需要對(duì)此進(jìn)行設(shè)置。 (2)鏈接庫(kù)函數(shù)的加載:菜單ProjectSetting….Link,可以加載應(yīng)用函數(shù)庫(kù)。例如,在語(yǔ)音應(yīng)用時(shí)。 另外,盡管在項(xiàng)目中的Head File文件夾下面加入了所需要的頭文件,但是在匯編文件和C文件中仍然需要用偽指令將其包含到自己的文件中。181?!?nSP? 。當(dāng)我們需要對(duì)芯片設(shè)置時(shí),需要將這些頭文件加入項(xiàng)目中。開(kāi)發(fā)系統(tǒng)還提供了對(duì)芯片進(jìn)行設(shè)置的一些子函數(shù),提供開(kāi)發(fā)人員使用。在凌陽(yáng)的語(yǔ)音算法函數(shù)庫(kù)中所提供的API函數(shù)。 程序調(diào)用協(xié)議由于C編譯器產(chǎn)生的所有標(biāo)號(hào)都以下劃線(_)為前綴,而C程序在調(diào)用匯編程序時(shí)要求匯編程序名也以下劃線(_)為前綴。 模塊代碼間的調(diào)用,是遵循μ’nSP?體系的調(diào)用協(xié)議(Calling Convention)。所謂調(diào)用協(xié)議,是指用于標(biāo)準(zhǔn)子程序之間一個(gè)模塊與另一模塊的通訊約定;即使兩個(gè)模塊是以不同的語(yǔ)言編寫(xiě)而成,亦是如此。 調(diào)用協(xié)議是指這樣一套法則:它使不同的子程序代碼之間形成一種握手通訊接口,并完成由一個(gè)子程序到另一個(gè)子程序的參數(shù)傳遞與控制,以及定義出子程序調(diào)用與子程序返回值的常規(guī)規(guī)則。 調(diào)用協(xié)議包括以下一些相關(guān)要素: 1) 調(diào)用子程序間的參數(shù)傳遞; 2) 子程序返回值;3) 調(diào)用子程序過(guò)程中所用堆棧; 4) 用于暫存數(shù)據(jù)的中間寄存器。 μ’nSP?體系的調(diào)用協(xié)議的內(nèi)容如下: (1)參數(shù)傳遞 參數(shù)以相反的順序(從右到左)被壓入棧中。必要時(shí)所有的參數(shù)都被轉(zhuǎn)換成其在函數(shù)原型中被聲明過(guò)的數(shù)據(jù)類型。但如果函數(shù)的調(diào)用發(fā)生在其聲明之前,則傳遞在調(diào)用函數(shù)里的參數(shù)是不會(huì)被進(jìn)行任何數(shù)據(jù)類型轉(zhuǎn)換的。 (2)堆棧維護(hù)及排列 函數(shù)調(diào)用者應(yīng)切記在程序返回時(shí)將調(diào)用程序壓入棧中的參數(shù)彈出。各參數(shù)和局部變量在堆棧中的排列如圖18所示。 (3)返回值 16位的返回值存放在寄存器R1中。32位的返回值存入寄存器對(duì)RR2中;其中低字在R1中,高字在R2中。若要返回結(jié)構(gòu)則需在R1中存放一個(gè)指向結(jié)構(gòu)的指針。 (4)寄存器數(shù)據(jù)暫存方式 編譯器會(huì)產(chǎn)生prolog/epilog過(guò)程動(dòng)作來(lái)暫存或恢復(fù)PC、SR及BP寄存器。匯編器則通過(guò)‘CALL’指令可將PC和SR自動(dòng)壓入棧中,而通過(guò)‘RETF’或‘RETI’指令將其自動(dòng)彈出棧來(lái)。 程序調(diào)用參數(shù)傳遞的堆棧調(diào)用 (5)指針 編譯器所認(rèn)可的指針是16位的。函數(shù)的指針實(shí)際上并非指向函數(shù)的入口地址,而是一個(gè)段地址向量_function_entry,在該向量里由2個(gè)連續(xù)的word的數(shù)據(jù)單元存放的值才是函數(shù)的入口地址。 凌陽(yáng)音頻處理的API功能及應(yīng)用 SACM_A2000模塊該壓縮算法壓縮比較小(8:1)所以具有高質(zhì)量、高碼率的特點(diǎn)適用于高保真音樂(lè)和語(yǔ)音。下面對(duì)主要的庫(kù)A2000函數(shù)進(jìn)行具體介紹: (1)【API格式】C:void SACM_A2000_Initial(int Init_Index) ASM: R1=[ Init_Index] Call F_ SACM_A2000_Initial 【功能說(shuō)明】SACM_A2000語(yǔ)音播放之前的初始化?!緟?shù)】Init_Index=0 表示手動(dòng)方式;Init_Index=1 則表示自動(dòng)方式?!痉祷刂怠繜o(wú) 【備注】該函數(shù)用于對(duì)定時(shí)器、中斷和DAC等的初始化。(2)【API格式】C:void SACM_A2000_ServiceLoop(void) ASM:Call F_ SACM_A2000 _ServiceLoop 【功能說(shuō)明】從資源中獲取SACM_A2000語(yǔ)音資料,并將其填入譯碼隊(duì)列中。 【參數(shù)】無(wú)。 【返回值】無(wú)。 (3)【API格式】C:void SACM_A2000_Pause (void); ASM:Call F_ SACM_A2000_Pause 【功能說(shuō)明】暫停播放SACM_A2000語(yǔ)音或樂(lè)曲。 【參數(shù)】無(wú)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1