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

正文內(nèi)容

基于51單片機(jī)的音樂播放器的軟硬件設(shè)計畢業(yè)論文-預(yù)覽頁

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

下一頁面
 

【正文】 CS拉低(2)等待DREQ為高(3)通過SPI寫入數(shù)據(jù)(4)在文件沒有結(jié)束前不斷重復(fù)2與3操作(5)在所有的數(shù)據(jù)都發(fā)送完畢后,最后發(fā)送2048個無效字節(jié),用以清除VS1003的數(shù)據(jù)緩沖區(qū) (6)將XDCS置高M(jìn)P3文件播放流程圖如圖11所示。確定歌曲曲目后,顯示屏進(jìn)行顯示。當(dāng)音樂文件播放結(jié)束時,判斷是否有按鍵按下,并執(zhí)行相應(yīng)的命令。解決方法是要考慮兼容性問題,下載的驅(qū)動應(yīng)當(dāng)手動安裝,使用系統(tǒng)自動配置會出現(xiàn)黃色嘆號。l 每次下載前重新調(diào)入已打開在緩沖區(qū)的文件,方便調(diào)試使用。(2)屏幕顯示調(diào)試程序下載成功后根據(jù)顯示的內(nèi)容來調(diào)試,在刪除漢字的時候按下刪除格一下,就變成亂碼,經(jīng)過查找資料之后,才懂得每行可以寫8個漢字或16個字符,如果寫的字符少于16個,那么用空格把未寫的地方填充滿16個字符就不會出現(xiàn)亂碼了。結(jié)束語歷時十二周的畢業(yè)設(shè)計終于結(jié)束了,我收獲了很多在課堂上無法學(xué)到的知識,不僅培養(yǎng)了我親身實踐動手的能力,軟件的編程能力也得到了大幅度的提高,受益匪淺。(3)在總體設(shè)計方案的基礎(chǔ)上,完成了音樂播放器的整體設(shè)計。參考文獻(xiàn)[1] 范海紹,李方園. 零起點學(xué)Proteus單片機(jī)仿真技術(shù)[M]. 北京: 機(jī)械工業(yè)出版社,[2] 智兆華,張鵬. USB接口芯片CH375的原理及應(yīng)用[J]. 今日電子,:7475[3] 董楊生. USB主機(jī)在嵌入式系統(tǒng)中的應(yīng)用[J]. 嵌入式系統(tǒng),:2225[4] 張華宇. AVR單片機(jī)開發(fā)入門與典型實例[M]. 北京市: 機(jī)械工業(yè)出版社, :151156[5] 袁衛(wèi),黨紀(jì)源. 基于單片機(jī)的MP3播放器設(shè)計[J]. 現(xiàn)代電子技術(shù),2011, 34(4): 123125[6] 黃平平,吉榮廷,沈大鵬. 基于CH375實現(xiàn)單片機(jī)讀寫U盤[J]. 現(xiàn)代電子技術(shù),2006,29(18)[7] 王瀾錦. 基于CH375U盤MP3播放器設(shè)計[J]. 嵌入式技術(shù),: 5860[8] 江志紅. AVR單片機(jī)系統(tǒng)開發(fā)實用案例精選[M]. 北京市: 北京航空航天大學(xué)出版社,:342345[9] 趙建領(lǐng). 51系列單片機(jī)開發(fā)寶典[M]. 北京: 電子工業(yè)出版社,[10]周國運(yùn). 單片機(jī)原理及應(yīng)用(C語言版)[M]. 北京: 北京水利水電出版社,[11]姜雪蓮,司徒忠. 基于單片機(jī)的嵌入式U盤控制器的設(shè)計與實現(xiàn)[J]. 機(jī)電工程技術(shù),2005 , 34(4):7981[12]李朝清. 單片機(jī)原理及接口技術(shù)[M]. 北京: 北京航空航天大學(xué)出版社,[13]宋紅星,郭興旺. 以優(yōu)盤為存儲介質(zhì)的MP3播放器設(shè)計[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006:5860[14] Xiao Technology and Application[M].Beijing:Tsinghua University Press,2003[15] Top sun. Drive Your MP3 VS1003[EB/OL]. 2006. 附錄(1)系統(tǒng)整體接線圖(2) 整體實物圖(3) 程序設(shè)計1)MP3解碼模塊:VS1003XDCS(13)P22 (數(shù)據(jù)片選端)XCS(23)P23 (片選輸入,低電平有效)XRESET(3) P24 (低電平有效,異步復(fù)位端)DREQ(8) P25 (數(shù)據(jù)請求,輸入總線)SCLK(28)P27 (串行總線的時鐘)SI(29)P26 (串行輸入) 2)USB讀寫模塊:CH375D0D7(1522)P00P07 (8 位雙向數(shù)據(jù)總線,內(nèi)置弱上拉電阻)A0(8)P20 (地址線輸入,區(qū)分命令口與數(shù)據(jù)口,內(nèi)置弱上拉電阻,當(dāng)A0=1 時可以寫命令,當(dāng)A0=0 時可以讀寫數(shù)據(jù))CS(27)P21 (片選控制輸入,低電平有效,內(nèi)置弱上拉電阻)INT(1)P32 (在復(fù)位完成后為中斷請求輸出,低電平有效)WR(3)P36 (寫選通輸入,低電平有效,內(nèi)置弱上拉電阻)RD(4)P37 (讀選通輸入,低電平有效,內(nèi)置弱上拉電阻)3)LCD顯示模塊:LCD12864LCD12864_RS(4)P35。 (并/串行接口選擇:H并行;L串行)LCD12864_RST(17)P14。 //顯示液晶啟動字符 while(1) { Host_MP3Play()。 //時鐘sbit DREQ =P2^5 。 //數(shù)據(jù)使能void delay(unsigned int time){ while(time)。i++) { CLK=0。 }}向VS1003寫入指令: wr_mad(unsigned char addr,unsigned char hdat,unsigned char ldat )// | | |// 地址 高八位數(shù)據(jù) 低八位數(shù)據(jù){ DREQ=1。 spi_write(addr)。}復(fù)位VS1003: void Mp3Reset(void){ XRESET=0。 //模式控制 開啟軟件復(fù)位 VS1003自身SPI模式 delay(10)。 //時鐘頻率控制 XTALI 增加倍頻數(shù) delay(10)。 // 內(nèi)置低音、高音增強(qiáng) // 15:12 高音控制,(8…7 ,為 0 表示關(guān)閉) // 11:8 最低頻限 1000Hz 步進(jìn)(0…15) // 7:4 低音加重,1dB步進(jìn)(0…15 ,為0 表示關(guān)閉) // 3:0 最低頻限 10Hz步進(jìn)(2…15) delay(10)。 //在每個文件播放完后至少寫入4個0 spi_write(0)。 for(i=delay。j) c+=3。 }}UINT8 mCopyCodeStringToIRAM(UINT8 idata *iDestination, UINT8 code *iSource ){ UINT8 i=0。 } return(i)。 UINT16 EnumCount。 //如果操作失敗,將會因此而卡死 //出錯處理 while(1) { printf(請插入U盤\n)。 //在屏幕第二行左顯示 LCD12864_W_Word( 請插入 U盤...)。 goto next1。 printf(Ready ?\n)。 continue。EnumCount255。 i=CH375FileOpen()。 if(EnumCount=2) { Mp3Reset()。 printf(Playing : %s\n,)。 //在屏幕第一行左顯示 LCD12864_W_Word( 正在播放音樂 )。 //在屏幕第一行右顯示 LCD12864_W_Word_MP3(+10)。 //在屏幕第四行顯示 LCD12864_W_Word( 南陽理工學(xué)院 )。 // 最后剩余的字節(jié)數(shù) =c。 TotalCount=。 while(!DREQ)。(VOL_VALUE0xfe)) //減小音量 { while(!(Key3))。 wr_mad(0x0b,VOL_VALUE,VOL_VALUE)。 VOL_VALUE = 0x05。 // 音量 delay(10)。 EnumCount。 printf(文件已經(jīng)結(jié)束\n)。temp++) { DREQ=1。 printf(Close\n)。 } else { //出錯 mStopIfError(i)。 mDelaymS(100)。 } next1: 。sbit PSB=P1^5。im。 }void SendByte(uchar Dbyte){ uchar i。 Dbyte=Dbyte1。 }}/*************寫命令********/void LCD12864_Write_Cmd(uchar data0) { RS=1。 //高四位 SendByte(0xf0amp。 SendByte(0xfa)。data14)。 //設(shè)置為8BIT串口工作模式 delay1(1)。 //復(fù)位置高 delay1(10)。 //Display Control,D=1,顯示開 delay1(100)。 //Enry Mode Set,光標(biāo)從右向左加1位移動 delay1(100)。 break。 break。 } i = y+i。 參數(shù)說明:Alphabet *************************************************/void Display_Char(unsigned char Alphabet){ LCD12864_Write_Dat(Alphabet)。 //設(shè)置顯示的起始地址 while(Alphabet[i]!=39。 }}/**************************************************函數(shù)名稱:Display_Str_Line(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)。\039。 if(x==4) //如果滿一屏 { x=0。 //設(shè)置顯示的起始地址 LCD12864_Write_Dat(HZ[0])。 Set_Cursor(x,y)。 //寫入需要顯示漢字的高八位數(shù)據(jù) LCD12864_Write_Dat(HZ[i++])。 //重新設(shè)置顯示的起始地址 } }} /*******************************************************函數(shù)名稱:LCD12864_W_Test(bit i,unsigned char word) 功能描述:寫指令或數(shù)據(jù)(被調(diào)用層)調(diào)用函數(shù):LCD12864_Write_Cmd(unsigned char Com); LCD12864_Write_Dat(unsigned char Data) 參數(shù)說明:i;word *********************************************************/void LCD12864_W_Test(bit i,unsigned char word){ if(i==0) { LCD12864_Write_Cmd(word)
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1