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

正文內(nèi)容

基于單片機(jī)的sd卡錄音筆設(shè)計(jì)與實(shí)現(xiàn)_畢業(yè)設(shè)計(jì)論文(參考版)

2025-03-02 10:23本頁(yè)面
  

【正文】 Status =。 } if(C_LReleaseKeyState == KeyType) { // 長(zhǎng)按鍵,擦除所有語(yǔ)音段 FS_Init()。 FS_CloseOpenFile()。 (C_LReleaseKeyState != KeyType)) break。 case C_Prev: // Play Prev if((C_SReleaseKeyState != KeyType) amp。 SpeechIndex = g_FileNum 1。 while(RECORD == Status)// 等待完成錄音收尾工作 SACM_DVR1600_ServiceLoop()。 Status = RECORD。 // 為語(yǔ)音長(zhǎng)度跳過(guò)兩個(gè) word FS_WriteFile(0)。 FS_CreatFile()。 75 break。 Status = IDLE。 } switch(Key) { case C_Record: // Record 74 if(C_SReleaseKeyState == KeyType) { // 短按鍵,錄 /放音控制 if(PLAY == Status) { SACM_DVR1600_Stop()。 if(1 == WriteProtect) // 卡有寫(xiě)保護(hù),拒絕按鍵操作 { if((C_SReleaseKeyState == KeyType) || (C_LReleaseKeyState == KeyType)) { PlaySnd(VOICE_SDCARDWRITEPROTECT, DAC1 + DAC2)。 Key = KeyScan_GetKey(amp。 } // case IDLE: default: break。 FS_CloseOpenFile()。 } break。 } //================================================= // 語(yǔ)法格式: int StatusProcess(void) // 實(shí)現(xiàn)功能: 系統(tǒng)狀態(tài)處理函數(shù) 71 //================================================= void StatusProcess() { switch(Status) { case RECORD: if(FS_GetUnusedSecNum() 1) // 檢測(cè)是否超出 SD 卡容量范圍 { SACM_DVR1600_Stop()。 // 系統(tǒng)狀態(tài)處理 SACM_DVR1600_ServiceLoop()。 } 70 // while(1) { KeyProcess()。 } else { FS_Init()。 PlaySnd(VOICE_ATTENTION, DAC1 + DAC2)。 69 while(0 == SD_ChkCard())。 // 語(yǔ)音初始化 if(0 == SD_ChkCard()) { // 檢測(cè)卡是否插入 PlaySnd(VOICE_ATTENTION, DAC1 + DAC2)。 __asm(IRQ ON)。 SetINTStatus(C_IRQ5_2Hz)。 DrvKeyInit()。 WriteProtect = 0。 int WriteProtect。 SysStatus Status。s digital sound recording and the broadcast system.[M].Prentice Hall Press,1993 66 [15] SD Memory Card Specifications.[Z].2021 附錄 附錄 1 主程序代碼 () include include .\Driver\SD\ include .\FS\ include .\DVRSystem\ include .\DVRSystem\ include .\System\ include .\Driver\KEY\ define ADC_Channel Mic // 0~7 (Mic, Line_In1 ~ Line_In6) 67 void KeyProcess()。 真誠(chéng)的感謝我的家人,他們對(duì)我無(wú)私的關(guān)心和支持,是我勇往直前的動(dòng)力,他們對(duì)我的鼓勵(lì)使我度過(guò)了大學(xué)生活中的一個(gè)個(gè)難關(guān)。 感謝通信工程 06A2 班的所有同學(xué)。 感謝北方工業(yè)大學(xué)信息工程學(xué)院為我們提供了做畢業(yè)設(shè)計(jì)的實(shí)驗(yàn)室,感謝信息工程學(xué)院所有幫助 過(guò)我、指導(dǎo)過(guò)我的老師,是他們無(wú)私的指導(dǎo)和耐心的教誨,讓我學(xué)習(xí)到了很多。從邢老師那里我不僅學(xué)習(xí)到了知識(shí),更重要的是他嚴(yán)格要求,精益求精,嚴(yán) 63 謹(jǐn)求實(shí)的治學(xué)態(tài)度給我留下了深刻的印象,這必將使我終身受益。 致謝 經(jīng)過(guò) 3 個(gè)多月的努力,終于完成了本次畢業(yè)設(shè)計(jì)。 隨著計(jì)算機(jī)的不斷普及,人 們對(duì)人機(jī)交互的要求越來(lái)越高。 62 由于芯片功能和本人能力的限制,本系統(tǒng)還有許多有待完善和擴(kuò)展的地方,主要有以下兩方面: SPCE061A 開(kāi)發(fā)板片內(nèi) FLASH 的容量只有 32K,預(yù)存的語(yǔ)音信息質(zhì)量受到了很大的限制。系統(tǒng)軟件架構(gòu)設(shè)計(jì):完成了語(yǔ)音文件的錄制,播放和刪除,寫(xiě)入,讀取及擦除 SD 卡。 結(jié)論:實(shí)現(xiàn)錄音,放音,刪除功能,測(cè)試成功。 SD 卡正常初始化后,可以按照各按鍵功能進(jìn)行 操作; 按下 Key3 鍵,啟動(dòng)錄音,此時(shí),會(huì)有 “ 開(kāi)始錄音 ”的提示音。 60 系統(tǒng)功能測(cè)試 系統(tǒng)運(yùn)行后,如果 SD 卡沒(méi)有插入,會(huì)提示 “ 注意,SD 卡沒(méi)有插入 ” ,并等待 SD 卡插入后進(jìn)行下一步操作; 如果 SD 卡被寫(xiě)保護(hù),則會(huì)提示 “ 注意, SD 卡寫(xiě)保護(hù) ” ,此后,所有按鍵均無(wú)效,按下任意鍵會(huì)提示 “SD卡寫(xiě)保護(hù) ” 。 圖 下載進(jìn)程對(duì)話框 下載完成后關(guān)閉電池 盒開(kāi)關(guān),斷開(kāi) “EZ Probe” 下載線并把 S5 跳線的 2 管腳短接。 圖 選擇“ USE ICE” 當(dāng)程序處于下載狀態(tài)時(shí),會(huì)彈出一個(gè)進(jìn)度框 。 用 IDE 打開(kāi)設(shè)計(jì)好的工程文件,并確認(rèn)以選定了“USE ICE” 按鈕 。下載線的一邊( 25 針插座)與 PC 后面的并行接口相接,另一邊的五針接頭與電路板上標(biāo)有 “EZ Probe” 的插座( J11)相接,并用 J11 接口邊上的 S5 跳線把 S5 的 2 和 59 3 管腳短接。 結(jié)論:喇叭可以正常工作。 結(jié)論:喇叭無(wú)損環(huán),電路連接正常。 步驟 2:將一個(gè)最簡(jiǎn)單的語(yǔ)音播放程序下載并運(yùn)行。 圖 系統(tǒng)測(cè)試流程圖 喇叭測(cè)試 目的:測(cè)試?yán)饶芊裾9ぷ? 喇叭測(cè)試 主程序下載運(yùn)行 控制模塊測(cè)試 音頻輸入 音頻輸出 58 條件:只連接喇叭和電路板,噪音相對(duì)較小的室內(nèi)環(huán)境。為了保證系統(tǒng)功能的實(shí)現(xiàn),系統(tǒng)的測(cè)試按照主程序流程所設(shè)計(jì)的方案依次對(duì)各模塊進(jìn)行測(cè)試。 CurOffset += Len。Buf[i])。 SD_ReadNewBlock(CurFileSec)。 CurOffset = Len i。 if(CurFileSec CurFileEndSec) CurFileSec++。 if(Len = (SD_BLOCKSIZE CurOffset)) SD_ReadingBlockData((unsigned long int)(SD_BLOCKSIZE CurOffset), (unsigned char *)Buf)。 void FS_ReadingFile(unsigned int *Buf, unsigned int Len) unsigned int i。 else SD_WritingBlockData((unsigned long int)Len, (unsigned char *)Buf)。 SD_WritingBlockData((unsigned long int)CurOffset , (unsigned char *)amp。 i = 1。 i = SD_BLOCKSIZE CurOffset。 56 CurFileSec++。 if(Len = (SD_BLOCKSIZE CurOffset)) SD_WritingBlockData((unsigned long int)(SD_BLOCKSIZE CurOffset), (unsigned char *)Buf)。 55 部分程序如下: .include .public F_USER_DVR1600_EndRecord //.public _USER_DVR1600_SetStartAddr //.public F_USER_DVR1600_SetStartAddr .public F_USER_DVR1600_GetData .public F_USER_DVR1600_WriteData //.public F_USER_WriteWordBlock//* //.public F_USER_ReadWordBlock//* .external _FS_ReadingFile .external _FS_WritingFile .external _FS_EndEncode void FS_WritingFile(unsigned int *Buf, unsigned int Len) unsigned int i。 錄 /放音程序 SPCE061A是 16位單片機(jī),具有 DSP功能,有很強(qiáng)的信息處理能力,最高時(shí)鐘頻率可達(dá)到 49MHz,具備運(yùn)算速度高的優(yōu)勢(shì)等等,這些都無(wú)疑為語(yǔ)音的播放、錄放、合成及辨識(shí)提供了條件。當(dāng)連續(xù)讀?。▽?xiě)入)數(shù)量超過(guò)一個(gè) Block 的大小時(shí)將讀完(寫(xiě)滿)本 Block 并自動(dòng)切換至下一 Block 繼續(xù)讀取(寫(xiě)入)剩余數(shù)據(jù)。 FileList g_FileListArray[FS_MAX_FILENUM]。 // 語(yǔ)音文件的結(jié)束B(niǎo)lock 地址 unsigned int Offset。 程序中使用一個(gè)簡(jiǎn)單的結(jié)構(gòu)體保存每個(gè)語(yǔ)音文件在SD 卡中的位置信息: typedef struct _SD_FS{ unsigned long int StartSec。 寫(xiě) Block 操作: 1)發(fā)送 CMD24,啟動(dòng)寫(xiě) Block操作; 2)發(fā)送數(shù)據(jù)給 SD 卡,直至寫(xiě)滿 Block Size 個(gè)數(shù)據(jù); 52 3)發(fā)送 CRC 校驗(yàn),等待 SD 卡完成內(nèi)部燒寫(xiě),結(jié)束寫(xiě)B(tài)lock 操作。 然后,單片機(jī)通過(guò) SPI 總線發(fā)送 Block Size 個(gè)數(shù)據(jù),這些數(shù)據(jù)被 SD 卡接收,并緩存。 50 單片機(jī)從 SD 卡寫(xiě)入 Block 數(shù)據(jù)的過(guò)程。 然后,單片機(jī)從 SPI 總線上讀取 Block Size 個(gè)數(shù)據(jù),這些數(shù)據(jù)就是 SD 卡發(fā)送來(lái)的 Block 數(shù)據(jù); 49 最后, SD 卡發(fā)送 CRC 校驗(yàn)給單片機(jī),單片機(jī)結(jié)束 SPI總線的接收操作,至此,一個(gè) Block 被正確讀入單片機(jī)內(nèi)。 單片機(jī)從 SD 卡讀取 Block 數(shù)據(jù)的過(guò)程 。在語(yǔ)音播放過(guò)程中類(lèi)似,解碼器每次解碼的數(shù)據(jù)量也并不剛好是 Block Size 個(gè)。 SD 卡每次寫(xiě)入(讀?。?shù)據(jù),都需要以 Block 為單位。 48 通過(guò)使連接 SD卡 CS腳的 I/O 口輸出低電平, 并發(fā)送 CMD0命令,即可使 SD 卡進(jìn)入 SPI 模式工作。 F_USER_DVR1600_WriteData: Adr:R1。單片機(jī)F_USER_DVR1600_GetData: Adr:R1。 SD 卡上電后工作在具有 1bit 數(shù)據(jù)總線寬度的 SD 模式。這里,需要調(diào)用 “ 從語(yǔ) 音 文 件 中 讀 取 多 個(gè) word 數(shù)據(jù)的函數(shù) ”FS_ ReadingFile ()以完成從 SD 卡中讀取數(shù)據(jù)。這里需要調(diào)用 “ 向語(yǔ)音文件寫(xiě)入多個(gè) word數(shù)據(jù)的函數(shù) ”FS_WritingFile() 以完成此功能。 46 卡,或從 SD卡讀取語(yǔ)音資料給語(yǔ)音庫(kù)解碼播放。 ui_KeyState = C_NullKey。 *KeyType = ui_KeyState。 if(C_N
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1