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

正文內(nèi)容

基于stc12c5a60s2的mp3播放器設(shè)計(jì)本科畢業(yè)設(shè)計(jì)-資料下載頁

2025-06-23 21:11本頁面
  

【正文】 01,0x00ffc000,0xff)。 if(retry++ == 100) { DB_SendString(CMD1 fail ..........\n)。 return 2。 } }while(temp!=0)。//回應(yīng)00h停止寫入 //可查看時(shí)序圖 收到有反應(yīng)時(shí)temp=0 DB_SendString(CMD1 ok ..........\n)。 SD_CS=1。 //片選無效// SPI_SetSpeed(0)。 return(0)。 //初始化成功 }需要注意的是,在對SD卡初始化時(shí)其硬件SPI設(shè)置的速度不宜過快,否則容易導(dǎo)致初始化失?。∷?,本設(shè)計(jì)先將SPI設(shè)置成最低速,初始化成功后再設(shè)置成最高速,經(jīng)實(shí)測,最高速也可以對SD卡正常操作。同時(shí)本設(shè)計(jì)優(yōu)先對音頻文件采用數(shù)據(jù)重定向方式以提高M(jìn)P3對高碼率的支持,所謂的數(shù)據(jù)重定向,就是不對扇區(qū)的512個(gè)字節(jié)讀取放到緩沖區(qū)等待被送到音頻解碼,而是將讀到的字節(jié)直接送入到音頻解碼處,這樣做的好處是,由于不用開設(shè)512字節(jié)的緩沖區(qū),極大的節(jié)省了MCU的內(nèi)部RAM資源,同時(shí),由于要先將數(shù)據(jù)讀到緩沖區(qū),到時(shí)又將數(shù)據(jù)送到音頻解碼處,這一取一讀嚴(yán)重的影響了對MP3解碼的速度,雖然先將數(shù)據(jù)放到緩沖區(qū)使得程序設(shè)計(jì)時(shí)對數(shù)據(jù)的使用更加靈活,當(dāng)由于STC12C5A60S2的RAM實(shí)在有限,并且,考慮到后續(xù)可能會(huì)對界面部分進(jìn)行升級,比如引進(jìn)uCGUI等界面系統(tǒng),還是要預(yù)留相當(dāng)一部分RAM資源的,所以本設(shè)計(jì)最中采用了前者,既直接將從SD卡讀到的數(shù)據(jù)送到音頻解碼處。,部分代碼如下: if(buffer) /* Store data to the memory */ { bc = count。 do { *(buffer++)=SPI_ReadWriteByte(0xff)。 } while (bc)。 } else /* Forward data to the outgoing stream (depends on the project) */ { bc = count。 do { //當(dāng)buffer=0時(shí)直接將數(shù)據(jù)送到音頻解碼處VS1003_WriteDAT( SPI_ReadWriteByte(0xff) )。 } while (bc)。 } 在主程序中,當(dāng)調(diào)用上層應(yīng)用讀函數(shù)時(shí),如果輸入的buffer為0時(shí),既采用數(shù)據(jù)重定向功能,直接將從SD卡讀取的字節(jié)送到音頻解碼處,如果輸入的是小于512的數(shù)則會(huì)從指定的地址讀取相應(yīng)的字節(jié)數(shù)送到buffer緩沖區(qū)內(nèi)。 LCD12864核心代碼介紹由于考慮單片機(jī)I/O資源的有限性,為確保I/O夠用且留有一定的余量以便后續(xù)升級新的功能或模塊的添加,本設(shè)計(jì)采用LCD12864的串行傳輸模式,這是在初始化階段完成的,其代碼如下:void LCD12864_Init(){ LCD12864_PSB = 0。 //選擇串口傳輸 LCD12864_RST = 0。 Delay_ms(10)。 LCD12864_RST = 1。 Delay_ms(100)。 LCD12864_WriteCom(0x30)。 Delay_ms(5)。 LCD12864_WriteCom(0x0c)。 Delay_ms(5)。}由于考慮STC12C5A60S2的處理速度本身就很快,高值的晶振,這樣的傳輸速度對于LCD12864來說反而太快了,所以在字節(jié)傳輸函數(shù)中不采用VS1003的位尋址方式來傳輸字節(jié),而是采用相對較慢的移位字節(jié)來傳輸,其代碼如下:/********************************************************************* 名稱 : LCD12864_SendByte()* 功能 : 按照液晶的串口通信協(xié)議,發(fā)送數(shù)據(jù)* 輸入 : zdata* 輸出 : 無***********************************************************************/void LCD12864_SendByte(UINT8 dat){ UINT16 i。 for(i=0。 i8。 i++) { if((dat i) amp。 0x80) { LCD12864_SID = 1。 } else { LCD12864_SID = 0。 } LCD12864_SCLK = 0。 LCD12864_SCLK = 1。 }} 按鍵控制電路核心代碼簡介由于按鍵電路比較簡單,這里僅稍微列出代碼:define not 0define prev 1define next 2define play 3define quit 4sbit key1=P3^4。sbit key2=P3^5。sbit key3=P3^6。sbit key4=P3^7。UINT8 keyscan(){ if(key1==0 || key2==0 || key3==0 || key4==0) { Delay_ms(5)。 if(key1 == 0) return prev。 if(key2 == 0) return next。 if(key3 == 0) return play。 if(key4 == 0) return quit。 } else return not。} 本章小結(jié) 本章主要介紹了本設(shè)計(jì)的軟件框架和各模塊功能實(shí)現(xiàn)的核心代碼,是硬件系統(tǒng)的靈魂,經(jīng)過各個(gè)初始化函數(shù)使得各模塊被設(shè)置成我們想要的工作狀態(tài),通過搭載的輕量級文件系統(tǒng)PetitFatFS可輕松的對SD卡進(jìn)行相應(yīng)的操作,并按照用戶的要求對指定的音頻文件進(jìn)行解碼播放。同時(shí),對代碼進(jìn)行了細(xì)致的優(yōu)化,比如由于VS1003采用了IO口模擬SPI,相比硬件SPI對寫一字節(jié)會(huì)慢很多,但利用MCU的可位尋址區(qū)開辟一字節(jié),利用位尋址取代移位操作以提高寫速度。利用數(shù)據(jù)重定向技術(shù)使得內(nèi)存RAM的使用極大的減少,這是很大的亮點(diǎn)。通過宏定義對打印函數(shù)進(jìn)一步封裝,使得在調(diào)試階段可以通過使能打印功能在串口打印我們所需要的信息,在完成階段禁止打印功能即可無須注釋代碼而不使用打印功能。并且對數(shù)據(jù)類型的重定義提高代碼的可移植性。 第4章 系統(tǒng)調(diào)試與作品展示 軟件調(diào)試篇Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。1. 本設(shè)計(jì)的工程結(jié)構(gòu)及所占資源情況如下: 圖41 工程架構(gòu)及所占資源需要注意的是,由于STC12C5A60S2的1280B RAM 大部分是外部的,所以需對keil4進(jìn)行相應(yīng)的設(shè)置,如下: 圖42 主要設(shè)置2. 關(guān)于MirocSD卡版本及容量的事項(xiàng),在本設(shè)計(jì)當(dāng)中,由于只采用相同型號的SD卡,所以不是很清楚其它不同類型的SD卡之間的差異,而在容量測試來看,在不大于4G容量的SD卡來說程序沒有問題,而在大于4G容量的SD卡來說需要對地址進(jìn)行轉(zhuǎn)換,例如,本設(shè)計(jì)采用2G容量的SD卡,對輸入SD卡地址轉(zhuǎn)換為: sector = 9。 //sector = sector * 512 地址變換 由邏輯塊地址轉(zhuǎn)為字節(jié)地址 而在大于4G的SD卡中,可以不用這樣轉(zhuǎn)換!3. 相比于普通的51單片機(jī),STC12C5A60S2的I/O設(shè)置有更多種選擇,由于VS1003的音頻數(shù)據(jù)口連接的是P0,而在普通的51開發(fā)板上P0口有上拉電阻,因此開發(fā)時(shí)設(shè)置STC12C5A60S2的P0為弱上拉以兼容,代碼如下:// P0M1 = 0Xff。 P0M0 = 0xff。 //有上拉電阻的話就要該行 使其IO為弱 要是板子沒有上拉電阻就可注釋該句4. 同時(shí),既然要使用硬件SPI功能的話,在初始化階段也要設(shè)置,代碼如下:P1M1 = 0X40。 P1M0 = 0xbF。 //硬件SPI必須?。。。。。。。。。?! 硬件調(diào)試篇1. VS1003模塊的晶振或芯片接觸不良,啟動(dòng)時(shí)要手指摁下芯片和晶振才會(huì)啟動(dòng),當(dāng)初調(diào)試一天才發(fā)現(xiàn)這個(gè)無語的問題......2. 杜邦線接觸不良問題,由于前期采用杜邦線調(diào)試,有時(shí)候弄了半天發(fā)現(xiàn)沒有想要的結(jié)果,無意當(dāng)中發(fā)現(xiàn)是接觸不良導(dǎo)致的~,深刻的教訓(xùn)。3. ,而MCU使用的是5v電壓,需要在I/O口串聯(lián)一個(gè)電阻來兼容電平,實(shí)測時(shí)發(fā)現(xiàn)不用,故本設(shè)計(jì)直接I/O跟I/O口連接 作品展示 圖43 實(shí)物錦集結(jié) 論本論文主要設(shè)計(jì)了一款基于STC12C5A60S2的MP3播放器,搭載PetitFatFS文件系統(tǒng),通過對音頻存儲煤質(zhì)MirocSD卡進(jìn)行檢索并顯示終端界面,利用用戶按鍵值將相應(yīng)的音頻數(shù)據(jù)送到VS1003進(jìn)行解碼播放,同時(shí)將該音頻文件的信息顯示界面上給以用戶更為詳細(xì)的信息及體驗(yàn),本設(shè)計(jì)的優(yōu)勢在于軟硬件各有創(chuàng)新,硬件中采用低廉且廣泛使用的MCU STC12C5A60S2做為主控,存儲量大移動(dòng)方便的MirocSD卡,很好的兼容SD卡,強(qiáng)勁的VS1003解碼模塊以及絢麗的彩屏界面;軟件方面優(yōu)先采用FatFS的精簡版PetitFatFS作為核心系統(tǒng),利用數(shù)據(jù)重定向技術(shù)提高對高碼率MP3的支持,同時(shí)30MHZ的晶振更是游刃有余!為后續(xù)升級或增加新功能預(yù)留極大的處理空間。通過本次的設(shè)計(jì),使我不僅對單片機(jī)有更深入的了解,對C編程語言有更深刻的造詣,同時(shí)對文件系統(tǒng)也有一定的了解,并且,多源文件的合理安排調(diào)用使得我對模塊化編程有了新的體會(huì),這為以后接觸嵌入式系統(tǒng)開了個(gè)好頭!因?yàn)槲磥淼某绦虿粫?huì)是“裸奔”在主控芯片上的,會(huì)朝著更加智能,更加集成的方向發(fā)展,所以都會(huì)搭載系統(tǒng),無論是輕量級的還是重量級的。當(dāng)然,由于此次的設(shè)計(jì)時(shí)間有限,還有很多的想法沒有實(shí)現(xiàn),比如通過對SD卡的操作可以讀寫新建刪除txt文檔,歌曲的界面可以做的更加絢麗,沒有引進(jìn)uCGUI界面系統(tǒng)或者其他額外的功能。 致 謝四年的大學(xué)生活即將結(jié)束,回首這4年充實(shí)的日子,倍感良多,尤其是完成畢業(yè)設(shè)計(jì)的時(shí)候,有一種如釋重負(fù)的感覺,當(dāng)然,此次的畢業(yè)設(shè)計(jì)是我們走向社會(huì),走向工作崗位的重要前奏,以后還要我們更加努力的學(xué)習(xí),進(jìn)步。首先,我要強(qiáng)烈感謝我的論文指導(dǎo)老師溫浩老師,在溫老師的指導(dǎo)下,本論文完成了從設(shè)計(jì)構(gòu)思,資料查找,程序探討到實(shí)際作品的實(shí)現(xiàn)。經(jīng)過此次作品的實(shí)際動(dòng)手制作。我初步掌握了嵌入式文件系統(tǒng)PetitFatFS的實(shí)現(xiàn)原理以及各模塊的應(yīng)用。體會(huì)到一個(gè)產(chǎn)品從構(gòu)思,設(shè)計(jì)到產(chǎn)出的系統(tǒng)過程,同時(shí)將用戶體驗(yàn)作為重要指導(dǎo)思想貫穿整個(gè)設(shè)計(jì)流程。使我經(jīng)歷了一次難能可貴的創(chuàng)新實(shí)踐,提高了我的創(chuàng)新設(shè)計(jì)和獨(dú)立思考的能力。本畢設(shè)能夠從白紙?jiān)O(shè)計(jì),到最終調(diào)試成功,離不開溫老師的悉心指導(dǎo)。正所謂學(xué)以致用,在本次畢業(yè)設(shè)計(jì)中,我進(jìn)一步鍛煉了自己的動(dòng)手能力和運(yùn)用專業(yè)知識的能力,從中學(xué)習(xí)到了如何去思考和解決問題,以及如何靈活去改變方法以實(shí)現(xiàn)更優(yōu)的設(shè)計(jì)方案;特別是深刻體會(huì)到軟件和硬件結(jié)合的重要性,以及兩者的聯(lián)系和配合作用。當(dāng)然,我還要感謝我的母?!逡卮髮W(xué),是學(xué)校給我們提供了優(yōu)秀的老師,完備的實(shí)驗(yàn)器材,并對我們的畢業(yè)設(shè)計(jì)在時(shí)間上和實(shí)驗(yàn)室安排上給予諸多方便。讓我在這四年中學(xué)到了很多知識。在校期間,在綜合實(shí)驗(yàn)樓的學(xué)習(xí)經(jīng)歷給我留下了深刻美好的回憶,這期間我不僅學(xué)習(xí)到了很多實(shí)際應(yīng)用的知識,而且結(jié)識了很多志同道合的朋友,大家在一種愉快的學(xué)習(xí)氛圍中共同學(xué)習(xí)、共同進(jìn)步、共同成長。在此,祝愿母校的將來更美好!同時(shí),本設(shè)計(jì)的完成離不開論文所涉及到的各學(xué)者的研究文獻(xiàn),無論是網(wǎng)上的還是書籍上的,沒有你們的研究成果的分享和啟發(fā),我將很難完成!由于我的學(xué)術(shù)水平有限,所以疏漏之處在所難免,如有錯(cuò)誤歡迎批評指正。參考文獻(xiàn)[1] 劉煥成. 工程背景下的單片機(jī)原理及系統(tǒng)設(shè)計(jì)(第二版)[M].清華大學(xué)出版社,2011[2] [M].華中科技大學(xué)出版社,[3] 譚浩強(qiáng). C程序設(shè)計(jì). 清華大學(xué)出版社[M],[4] [M].西安電子科技大學(xué)出版,33
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1