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

正文內(nèi)容

基于51單片機(jī)的音樂播放器的軟硬件設(shè)計(jì)畢業(yè)論文(專業(yè)版)

2025-07-31 13:13上一頁面

下一頁面
  

【正文】 //寫入需要顯示漢字的高八位數(shù)據(jù) LCD12864_Write_Dat(HZ[i++])。\039。 } i = y+i。 //Display Control,D=1,顯示開 delay1(100)。 SendByte(0xfa)。 }void SendByte(uchar Dbyte){ uchar i。 mDelaymS(100)。 printf(文件已經(jīng)結(jié)束\n)。 wr_mad(0x0b,VOL_VALUE,VOL_VALUE)。 // 最后剩余的字節(jié)數(shù) =c。 printf(Playing : %s\n,)。 continue。 //如果操作失敗,將會(huì)因此而卡死 //出錯(cuò)處理 while(1) { printf(請插入U(xiǎn)盤\n)。j) c+=3。 //時(shí)鐘頻率控制 XTALI 增加倍頻數(shù) delay(10)。 }}向VS1003寫入指令: wr_mad(unsigned char addr,unsigned char hdat,unsigned char ldat )// | | |// 地址 高八位數(shù)據(jù) 低八位數(shù)據(jù){ DREQ=1。 //顯示液晶啟動(dòng)字符 while(1) { Host_MP3Play()。結(jié)束語歷時(shí)十二周的畢業(yè)設(shè)計(jì)終于結(jié)束了,我收獲了很多在課堂上無法學(xué)到的知識,不僅培養(yǎng)了我親身實(shí)踐動(dòng)手的能力,軟件的編程能力也得到了大幅度的提高,受益匪淺。當(dāng)音樂文件播放結(jié)束時(shí),判斷是否有按鍵按下,并執(zhí)行相應(yīng)的命令。在流程中涉及到的參數(shù)如下:,包括完整的路徑名;;[6,7];。 CH375模塊的U盤數(shù)據(jù)讀取程序設(shè)計(jì)U盤數(shù)據(jù)的讀取是MP3播放的重要環(huán)節(jié),對后面的MP3解碼進(jìn)一步處理至關(guān)重要。b)一個(gè)完整的串行傳輸周期有以下部分組成。(3)LCD12864液晶顯示a)LCD12864引腳功能說明如表1所示。圖7 Keil uVision2開發(fā)環(huán)境 系統(tǒng)的軟件設(shè)計(jì)本系統(tǒng)采用模塊化的編程思想,把整個(gè)軟件系統(tǒng)化為多個(gè)功能模塊,主程序通過調(diào)用各個(gè)子程序來完成各個(gè)功能的實(shí)現(xiàn)。當(dāng)按鍵按下時(shí)接口接低電平,從而實(shí)現(xiàn)對音樂曲目的選擇控制。必要時(shí)可調(diào)節(jié)音量的大小。CH375的USB主機(jī)方式支持各種常用的USB全速設(shè)備,外部單片機(jī)/DSP/MCU可以通過CH375按照相應(yīng)的USB協(xié)議與USB設(shè)備通信。通過自定義鍵盤設(shè)定,當(dāng)有鍵按下時(shí),能控制歌曲的播放或音量,并通過LCD來顯示播放音樂的歌曲名,同時(shí)USBHOST的開發(fā)也為實(shí)時(shí)數(shù)據(jù)采集的移動(dòng)存儲提供了價(jià)格低廉的解決方案。聲音的播放可以通過揚(yáng)聲器或耳機(jī)進(jìn)行,基本實(shí)現(xiàn)了音樂播放器的功能。為了體現(xiàn)音樂播放過程中的效果,增加了LCD屏,可以實(shí)現(xiàn)歌曲名的顯示。而U盤和SD卡都是不錯(cuò)的選擇,并且U盤和SD卡均容易購買到,并且價(jià)格較為低廉,所以,存儲部分選用U盤讀取來實(shí)現(xiàn)。接線圖如圖3所示。VS1003通過一個(gè)串行接口來接收輸入的比特流,它可以作為一個(gè)系統(tǒng)的從機(jī)。利用模塊化編程思想分別來實(shí)現(xiàn)各個(gè)模塊的功能,減少程序之間的耦合性,提高程序之間的內(nèi)聚性。將它視為一個(gè)開關(guān),當(dāng)進(jìn)行數(shù)據(jù)寫入時(shí)先調(diào)節(jié)RS選擇信號種類,然后將R/W拉低設(shè)為寫狀態(tài),把數(shù)據(jù)傳到管腳后將E由L→H→L把數(shù)據(jù)讀入寄存器。由于早期的單片機(jī)硬件資源少RAM資源有限,所以工程師在編程的時(shí)候?qū)AM的應(yīng)用要十分小心,因此造成這類的設(shè)計(jì)開發(fā)工程師更加偏向于直接用匯編語言來控制硬件的工作。單片機(jī)通過RD,WR,片選CS、中斷INT和地址線AO的綜合控制,完成與CH375的通訊,通過USB接口實(shí)現(xiàn)從U盤讀寫數(shù)據(jù)的功能。寫命令的過程如下:(1)等待DREQ為高(當(dāng)DREQ為低時(shí),說明VS1003芯片還沒有就緒)(2)將XCS(命令片選)拉低(3)寫入0x02(寫操作命令)(4)寫入寄存器地址(5)分別寫入數(shù)據(jù)的高字節(jié)與低字節(jié)(6)將XCS置高初始化的過程如下:(1)硬件復(fù)位:接XRESET拉低(2)延時(shí),將XDCS、XCS、XRESET置高(3)向MODE中寫入0X0804(軟件復(fù)位)(4)等待DREQ為高(5)設(shè)置VS1003的時(shí)鐘:SCI_CLOCKF=0x9800,3倍頻(SC_MULT為4 ,SC_ADD為3,SC_FREQ為0)(6)設(shè)置VS1003的采樣率:SPI_AUDATA=0xBB81,采樣率48k,立體聲(7)設(shè)置重音:SPI_BASS=0x0055(SB_AMPLITUDE=5,SB_FREQLIMIT=5,低于50Hz時(shí)進(jìn)行5dB的增強(qiáng))(8)設(shè)置音量:SCI_VOL=0x2020(左右聲道相同)(9)這一步容易忽視,向VS1003發(fā)送4個(gè)字節(jié)的無效數(shù)據(jù),用以啟動(dòng)SPI發(fā)送對VS1003的初始化與測試都通過后,就可以給它發(fā)送MP3文件了。且安裝完畢,一定要重啟才能生效。(4)在調(diào)試過程中發(fā)現(xiàn)設(shè)計(jì)的缺陷,逐步優(yōu)化軟件設(shè)計(jì),合理完成軟件的編寫。 //數(shù)據(jù)請求,在VS100的FIFO在能夠接受數(shù)據(jù)的時(shí)候輸出高電平 sbit XRESET=P2^4 。 spi_write(hdat)。 wr_mad(0x0b,VOL_VALUE,VOL_VALUE)。 while(*iDestination=*iSource ) { iDestination++。 while(CH375DiskStatusDISK_CONNECT) { mDelaymS(100)。EnumCount++) //查詢文件個(gè)數(shù) { i=mCopyCodeStringToIRAM(,/MP3MUSIC/*)。 LCD12864_W_Test(0,0x90)。// 計(jì)數(shù),減去當(dāng)前實(shí)際已經(jīng)讀出的字符數(shù) for(i=0。 if(VOL_VALUE=0x00)VOL_VALUE=0x00。 while(!DREQ)。} :include include define uint unsigned intdefine uchar unsigned char sbit RS =P3^5。 //左移一位 R/W = CY。 //低四位(先執(zhí)行) RS=0。 //大于100uS的延時(shí)程序 }/********************************************函數(shù)名稱:Set_Cursor(unsigned char x, unsigned char y) 功能描述:設(shè)置光標(biāo)函數(shù)調(diào)用函數(shù):LCD12864_Write_Cmd(unsigned char Com) 參數(shù)說明:x。 //寫入需要顯示字符的顯示}/************************************************函數(shù)名稱:Display_String(unsigned char x,unsigned char y,unsigned char *Alphabet) 功能描述:指定位置顯示字符串函數(shù)調(diào)用函數(shù):Set_Cursor(unsigned char x, unsigned char y); LCD12864_Write_Dat(unsigned char Data)。 } Set_Cursor(x,0)。//寫指令或數(shù)據(jù)(0,指令) } else { LCD12864_Write_Dat(word)。 參數(shù)說明:x;y ; *HZ *******************************************************/void Display_HZ_Line(unsigned char x,unsigned char y,unsigned char *HZ){ unsigned char i=0。 //寫入需要顯示字符的顯示碼 i++。 //第二行 case 0x02: i=0x88。 //延時(shí) RST=1。data0)。 for(i=0。 } next: continue。 } if(Key2 == 0) //上一曲功能 { while ( !Key2 )。 /************掃描按鍵開始********************/ while((Key3 == 0)amp。 LCD12864_W_Test(0,0x98)。 // 顯示序號和搜索到的匹配文件名或者子目錄名 %04d 表示在輸出一個(gè)小于4位的數(shù)值時(shí), 將在前面補(bǔ)0使其總寬度為4位。i++ ) { mDelaymS(100)。 /* 顯示錯(cuò)誤 */}void Host_MP3Play() { UINT32 i,c,TotalCount。} :include include include include void mDelaymS(UINT8 delay){ unsigned char i,j,c。 wr_mad(0x00,0x08,0x04)。i8。 (并行的使能信號;串行的同步時(shí)鐘)LCD12864_PSB(15)P15。跟每次下載前重新調(diào)入已打開在緩沖區(qū)的文件,方便調(diào)試使用性質(zhì)一樣,但是不用點(diǎn)擊下載來調(diào)入文件,自動(dòng)調(diào)入并下載。圖11 MP3文件播放流程圖 系統(tǒng)流程圖主程序?qū)崿F(xiàn)對單片機(jī)進(jìn)行初始化后,進(jìn)入歌曲識別子程序。查看子程序庫的全局變量“CH375DiskStatus(磁盤及文件狀態(tài))”可以獲取當(dāng)前的文件模式。其次,CH375方便的庫文件開發(fā)方式本身就屏蔽了硬件的細(xì)節(jié),處于以上考慮在本次開發(fā)中沒用移植操作系統(tǒng),而采用庫文件的方式來開發(fā)設(shè)計(jì)。B為數(shù)據(jù)類型選擇。系統(tǒng)啟動(dòng)后,由MCU控制將存儲于U盤中歌曲的碼流信息送入到VSl003芯片中,通過VSl003芯片解碼以及其內(nèi)含的高質(zhì)量的立體聲DAC和耳機(jī)驅(qū)動(dòng)電路,實(shí)現(xiàn)MP3歌曲的播放功能[2]。uVision當(dāng)前最高版本是uVision4,它的界面和常用的微軟VC++的界面相似,界面友好,易學(xué)易用,在調(diào)試程序、軟件仿真方面也有很強(qiáng)大的功能。并行接口包含8位數(shù)據(jù)總線,4線控制:讀選通、寫選通、片選輸入、中斷輸出。2 系統(tǒng)硬件原理及概述 STC12C5A60S2處理器介紹STC12C5A60S2/AD系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快812倍。經(jīng)過比較,選用VS1003作為解碼芯片,該芯片支持 MPWMA、WAV、MIDI、等格式的解碼,自帶DAC輸出;同時(shí),還可以調(diào)節(jié)音量、高低音等,更重要的是它還具有MIC功能,如需要,還可以實(shí)現(xiàn)錄音功能。如果想裝下更多的歌曲只能去購買新的產(chǎn)品,造成了巨大的浪費(fèi)。雖然播放器與存儲器的一體化設(shè)計(jì),使MP3播放器便于攜帶,但與此同時(shí)他也帶來了很多新的問題,比如存儲容量固定。MP3解碼芯片常見的有VS100X 系列和 STA01X系列,VS系列自帶DAC輸出功能,而且能解碼的音頻格式也比較多;而STA系列需要外加DAC,使用起來多有不便,而且只能解碼MP3一種格式的音樂文件。其它芯片是通過普通I/O端口連接的。通過U 盤文件級子程序庫實(shí)現(xiàn)單片機(jī)讀寫USB存儲設(shè)備中的文件。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些功能組合在一起。設(shè)置寄存器“SM_SDINEW為1”使VSl003處于新模式,此時(shí)設(shè)置SM_SDISHARE為0,控制信號和數(shù)據(jù)信號的傳送將分別采用XCS和XDCS作為同步信號。其中,H表示數(shù)據(jù)從LCD到MCU,L表示數(shù)據(jù)從MCU到LCD。但是對于具體的應(yīng)用存在一些不足之處:首先,操作系統(tǒng)在對數(shù)據(jù)區(qū)的開銷以及一些變量的存儲方面浪費(fèi)了很多的RAM資源,有限的RAM資源就無法有效的分配。如果頻繁地向U盤寫入零碎的數(shù)據(jù),可能會(huì)縮短U盤中閃存的使用壽命(因?yàn)殚W存只能進(jìn)行有限次擦寫)。DREQ為高表明VS1003可以接受新的數(shù)據(jù),如果不考慮DREQ的狀態(tài),直接連續(xù)的給VS1003發(fā)的MP3數(shù)據(jù)的話將會(huì)出現(xiàn)音樂斷斷續(xù)續(xù)的情況。 l 當(dāng)目標(biāo)代碼發(fā)生變化后自動(dòng)調(diào)入文件,并立刻發(fā)送下載命令。 (并行的讀寫選擇信號;串行的數(shù)據(jù)口)LCD12864_EN(6)P33。 for(i=0。 XDCS=XCS=XRESET=1。 spi_write(0)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1