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

正文內容

基于單片機的sd卡錄音筆設計與實現畢業(yè)設計(參考版)

2025-06-30 19:54本頁面
  

【正文】 }el。if(g_FileNum 0){if(PLAY == Status) // 如果正在放音,則先停止播放{SACM_DVR1600_Stop()。amp。}}break。SACM_DVR1600_Play(Manual_Mode_Index, DAC1 + DAC2, Ramp_Up + Ramp_Dn)。}else if(C_SReleaseKeyState == KeyType){ // 短按鍵,播放上一曲if(SpeechIndex = 0){52SpeechIndex = g_FileNum。Status = IDLE。}if(C_LReleaseKeyState == KeyType){ // 長按鍵,擦除所有語音段FS_Init()。FS_CloseOpenFile()。 (C_LReleaseKeyState != KeyType))break。case C_Prev: // Play Previf((C_SReleaseKeyState != KeyType) amp。SpeechIndex = g_FileNum 1。while(RECORD == Status) // 等待完成錄音收尾工作SACM_DVR1600_ServiceLoop()。Status = RECORD。 // 為語音長度跳過兩個 wordFS_WriteFile(0)。FS_CreatFile()。break。Status = IDLE。}switch(Key){case C_Record: // Record49if(C_SReleaseKeyState == KeyType){ // 短按鍵,錄/放音控制if(PLAY == Status){SACM_DVR1600_Stop()。if(1 == WriteProtect) // 卡有寫保護,拒絕按鍵操作{if((C_SReleaseKeyState == KeyType) || (C_LReleaseKeyState == KeyType)){PlaySnd(VOICE_SDCARDWRITEPROTECT, DAC1 + DAC2)。Key = KeyScan_GetKey(amp。}// case IDLE:default:break。FS_CloseOpenFile()。}break。}//=================================================// 語法格式: int StatusProcess(void)// 實現功能: 系統狀態(tài)處理函數//=================================================void StatusProcess()47{switch(Status){case RECORD:if(FS_GetUnusedSecNum() 1) // 檢測是否超出 SD 卡容量范圍{SACM_DVR1600_Stop()。 // 系統狀態(tài)處理SACM_DVR1600_ServiceLoop()。}//while(1){KeyProcess()。46}else{FS_Init()。PlaySnd(VOICE_ATTENTION, DAC1 + DAC2)。while(0 == SD_ChkCard())。 // 語音初始化if(0 == SD_ChkCard()){ // 檢測卡是否插入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[15] SD Memory Card Specifications.[Z].2022附錄附錄 1 主程序代碼 ()include include .\Driver\SD\include .\FS\44include .\DVRSystem\include .\DVRSystem\include .\System\include .\Driver\KEY\define ADC_Channel Mic // 0~7 (Mic, Line_In1 ~ Line_In6)void KeyProcess()。真誠的感謝我的家人,他們對我無私的關心和支持,是我勇往直前的動力,他們對我的鼓勵使我度過了大學生活中的一個個難關。感謝通信工程 06A2 班的所有同學。感謝北方工業(yè)大學信息工程學院為我們提供了做畢業(yè)設計的實驗室,感謝信息工程學院所有幫助過我、指導過我的老師,是他們無私的指導和耐心的教誨,讓我學習到了很多。從邢老42師那里我不僅學習到了知識,更重要的是他嚴格要求,精益求精,嚴謹求實的治學態(tài)度給我留下了深刻的印象,這必將使我終身受益。致謝經過 3 個多月的努力,終于完成了本次畢業(yè)設計。隨著計算機的不斷普及,人們對人機交互的要求越來越高。 由于芯片功能和本人能力的限制,本系統還有許多有待完善和擴展的地方,主要有以下兩方面:SPCE061A 開發(fā)板片內 FLASH 的容量只有 32K,預存的語音信息質量受到了很大的限制。系統軟件架構設計:完成了語音文件的錄制,播放和刪除,寫入,讀取及擦除 SD 卡。結論:實現錄音,放音,刪除功能,測試成功。SD 卡正常初始化后,可以按照各按鍵功能進行操作;按下 Key3 鍵,啟動錄音,此時,會有“ 開始錄音” 的提示音。 系統功能測試系統運行后,如果 SD 卡沒有插入,會提示“注意, SD 卡沒有插入”,并等待 SD 卡插入后進行下一步操作;如果 SD 卡被寫保護,則會提示“注意,SD 卡寫保護 ”,此后,所有按鍵均無效,按下任意鍵會提示“SD 卡寫保護”。圖 下載進程對話框40下載完成后關閉電池盒開關,斷開“EZProbe”下載線并把 S5 跳線的2 管腳短接。圖 選擇“USE ICE”當程序處于下載狀態(tài)時,會彈出一個進度框。用 IDE 打開設計好的工程文件,并確認以選定了“USE ICE”按鈕。下載線的一邊(25 針插座)與 PC 后面的并行接口相接,另一邊的五針接頭與電路板上標有“EZProbe”的插座(J11)相接,并用 J11 接口邊上的 S5 跳線把 S5 的 2 和 3 管腳短接。結論:喇叭可以正常工作。 39結論:喇叭無損環(huán),電路連接正常。步驟 2:將一個最簡單的語音播放程序下載并運行。喇叭測試主程序下載運行控制模塊測試音頻輸入音頻輸出圖 系統測試流程圖 喇叭測試目的:測試喇叭能否正常工作條件:只連接喇叭和電路板,噪音相對較小的室內環(huán)境。為了保證系統功能的實現,系統的測試按照主程序流程所設計的方案依次對各模塊進行測試。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。elseSD_WritingBlockData((unsigned long int)Len, (unsigned char *)Buf)。SD_WritingBlockData((unsigned long int)CurOffset , (unsigned char *)amp。i = 1。i = SD_BLOCKSIZE CurOffset。37CurFileSec++。if(Len = (SD_BLOCKSIZE CurOffset))SD_WritingBlockData((unsigned long int)(SD_BLOCKSIZE CurOffset), (unsigned char *)Buf)。部分程序如下:.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_EndEncodevoid FS_WritingFile(unsigned int *Buf, unsigned int Len)unsigned int i。 錄/放音程序SPCE061A是16位單片機,具有 DSP功能,有很強的信息處理能力,最高36時鐘頻率可達到49MHz,具備運算速度高的優(yōu)勢等等,這些都無疑為語音的播放、錄放、合成及辨識提供了條件。當連續(xù)讀?。▽懭耄盗砍^一個 Block 的大小時將讀完(寫滿)本 Block 并自動切換至下一 Block 繼續(xù)讀取(寫入)剩余數據。FileList g_FileListArray[FS_MAX_FILENUM]。 // 語音文件的結束 Block 地址unsigned int Offset。 程序中使用一個簡單的結構體保存每個語音文件在 SD 卡中的位置信息:typedef struct _SD_FS{unsigned long int StartSec。34寫 Block 操作:1)發(fā)送 CMD24,啟動寫 Block 操作;2)發(fā)送數據給 SD 卡,直至寫滿 Block Size 個數據;3)發(fā)送 CRC 校驗,等待 SD 卡完成內部燒寫,結束寫 Block 操作。 然后,單片機通過 SPI 總線發(fā)送 Block Size 個數據,這些數據被 SD 卡接收,并緩存。.public _SPI_SendByte_SPI_SendByte: .procr1 = sp + 3r1 = [r1]r2 = 8?L_SPI_SendByte_Lop:test r1, 0x0080jz ?L_SPI_SendByte_Bit8_0SPI_DOUT_SETjmp ?L_SPI_SendByte_Bit8_End?L_SPI_SendByte_Bit8_0:SPI_DOUT_CLR?L_SPI_SendByte_Bit8_End:SPI_SCK_CLRSPI_SCK_SETr1 = r1 lsl 1r2 = 1jnz ?L_SPI_SendByte_Lopretf.endp 單片機從 SD 卡寫入 Block 數據的過程。 然后,單片機從 SPI 總線上讀取 Block Size 個數據,這些數據就是 SD卡發(fā)送來的 Block 數據; 最后,SD 卡發(fā)送 CRC 校驗給單片機,單片機結束 SPI 總線的接收操作,至此,一個 Block 被正確讀入單片機內。單片機從 SD 卡讀取 Block 數據的過程。在語音播放過程中類似,解碼器每次解碼的數據量也并不剛好是 Block Size 個。 SD 卡每次寫入(讀?。祿夹枰?Block 為單位。單片機通過使連接 SD 卡 CS 腳的 I/O 口輸出低電平,并發(fā)送 CMD0 命令,即可使 SD 卡進入 SPI 模式工作。32 SD 卡上電后工作在具有 1bit 數據總線寬度的 SD 模式。 Length:R2push r1, r5 to [sp]push r2 to [sp]push r1 to [sp]call _FS_WritingFilesp += 2pop r1, r5 from [sp]RETF。 Length:R2push r1, r5 to [sp]push r2 to [sp]push r1 to [sp]call _FS_ReadingFilesp += 2pop r1, r5 from [sp]RETF。這里,需要調用“從語音文件中讀取多個 word 數據的函數”FS_ ReadingFile ()以完成從 SD 卡中讀取數據。這里需要調用“ 向語音文件寫入多個 word數據的函數”FS_WritingFile()以完成此功能。通過自行定義這兩個函數,即可將語音庫錄制的語音資
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1