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

正文內(nèi)容

基于mp3播放器的設(shè)計(jì)畢業(yè)論文(參考版)

2025-06-30 18:04本頁面
  

【正文】 extern void LCD_set_XY(unsigned char X, unsigned char Y)。extern void LCD_write_char(unsigned char c,unsigned char N)。extern void LCD_clear(void)。}5110.Hifndef NOKIA5110_Hdefine NOKIA5110_Hdefine LCD_DC BIT(4)define LCD_CE BIT(5)define LCD_PORT PORTBdefine LCD_DIR DDRBdefine LCD_IN PINBdefine LCD_Lamp BIT(7) //PB0define LCD_Lamp_DIR DDRBdefine LCD_Lamp_PORT PORTBdefine ADD_LAMP() SETBIT(LCD_Lamp_DIR,LCD_Lamp)define CLOSE_LAMP() SETBIT(LCD_Lamp_PORT,LCD_Lamp)define OPEN_LAMP() CLEARBIT(LCD_Lamp_PORT,LCD_Lamp)define Enable_5110() CLEARBIT(LCD_PORT,LCD_CE)define Disable_5110() SETBIT(LCD_PORT,LCD_CE)。i++)*Tmp_Buffer++=buffer[temp1+i]。//讀一扇區(qū)for(i=0。temp1=addr%512。unsigned long temp。 38} unsigned char SD_read_Byte(unsigned long addr,unsigned char *Tmp_Buffer,unsigned int Bytes) { unsigned char i。 SPI_WriteByte(0xff)。 //讀 2 個(gè) CRC 校驗(yàn)字節(jié)SPI_ReadByte()。i++) Tmp_Buffer[i]=SPI_ReadByte()。 //讀到 0xfe 報(bào)頭 for(i=0。 }while(temp!=0) 。 do { temp=Write_Command_SD(17,Sector_NUM9,0xff,0x00)。unsigned char temp=0,retry=0。 //按照 SD 卡的操作時(shí)序在這里補(bǔ) 8 個(gè)時(shí)鐘return(0)。//CMD1 的響應(yīng)為 0x00 SD_Disable()。 //關(guān)閉片選 return(INIT_CMD1_ERROR)。//寫入 CMD1 Delay_ms(10)。37SD_Enable()。 //按照 SD 卡的操作時(shí)序在這里補(bǔ) 8 個(gè)時(shí)鐘 return 0。//CMD0 的響應(yīng)為 0x01SD_Disable()。 //關(guān)閉片選 return(INIT_CMD0_ERROR)。//寫入命令 0,響應(yīng)值為 0x01 Delay_ms(10)。//120 個(gè)時(shí)鐘SD_Enable()。i0x1f。SD_Disable()。//return(tmp)。amp。//一直讀,直到讀到的不是 0xff 或超時(shí) Timeout++。SPI_WriteByte(CRC)。36SPI_WriteByte(address8)。//寫命令號(hào)SPI_WriteByte(address24)。 //提高兼容性,這里相當(dāng)重要SD_Enable()。 SD_Disable()。 //緩存扇區(qū)的 512 個(gè)字節(jié) unsigned char Write_Command_SD(unsigned char CMD,unsigned long address,unsigned char CRC,unsigned char response) { unsigned char tmp。extern unsigned char SD_read_sector(unsigned long Sector_NUM,unsigned char *Tmp_Buffer)。extern unsigned char SDInit(void)。=~(1SD_Chip_Select)define TRY_TIME 10 //向 SD 卡寫入命令之后,讀取 SD 卡的回應(yīng)次數(shù),即讀TRY_TIME 次,如果在 TRY_TIME 次中讀不到回應(yīng),產(chǎn)生超時(shí)錯(cuò)誤,命令寫入失敗//define INIT_CMD0_ERROR 0x01 //CMD0 錯(cuò)誤define INIT_CMD1_ERROR 0x02 //CMD1 錯(cuò)誤define WRITE_BLOCK_ERROR 0x03 //寫塊錯(cuò)誤define READ_BLOCK_ERROR 0x04 //讀塊錯(cuò)誤//extern unsigned char Write_Command_SD(unsigned char CMD,unsigned long address,unsigned char CRC,unsigned char response) 。 //按鍵初始化MP3_current_number=(EEPROM_read(0x00)8)+EEPROM_read(0x01)。//暫停圖標(biāo)DAT_Directory()。//設(shè)置音量DISP_VOL()。set_volume=EEPROM_read(0x02)。ASCII(buffer,MP3_total)。LCD_clear()。 //啟動(dòng) 3310 顯示沒有 MP3 文件 while(1)。Mp3_number_Counter()。 while(1)。//高速 SPI34if(FAT32_init())//FAT32 初始化 { LCD_write_String(0,4,12,Isn39。}LCD_write_String(0,1,11,VS1003B OK!,0)。//SPI 初始化,設(shè)置方向if(VS1003B_Init())//VS1003B 初始化{ LCD_write_String(0,1,11,VS1003B ER!,0)。}SPI_Low()。else {LCD_write_String(0,3,11,SD INIT ER!,0)。//SD 卡復(fù)位LCD_write_String(0,2,12,SD reset OK!,0)。 //初始化 LCD 模塊 LCD_write_String(0,0,11,LCD_INT OK!,0)。 //SPI 低速度 SPI_init()。OPEN_LAMP()。CLOSE_LAMP()。//設(shè)置 LED 線為輸出OPEN_LAMP()。}void main_init(void){IO_init()。 PORTF=0XFF。33 PORTD=0XFF。 PORTB=0XFF。039。039。}void Delay_ms(unsigned int time) {while (time) Delay_us(1200)。if(MP3_current_number==0)MP3_current_number=MP3_total。MP3_current_number++。SEI()。EEPROM_write(2,3)。 //緩存扇區(qū)的 512 個(gè)字節(jié) void main(void){ EEPROM_write(0,0)。unsigned char set_volume。unsigned char play_state。 文件include unsigned int MP3_total=0,MP3_current_number。extern void main_init(void)。extern void Delay_ms(unsigned int time)。謝謝你們!26附錄 1(原理圖、PCB 圖、實(shí)物圖)主控板原理圖及 PCB 0uFC452DLEGNI3OUTY7V+KRJ下6ABS/M8WP9*_Headr vsXQ pn 下 載b. 271234567890PAVR下I/O EN(XD)TCKBSMGLWFUmegauHnY_Q附圖 1:主控板原理圖附圖 2:主控板 PCB 圖28解碼模塊原理圖 HLIdctor48 79ARKpMP *EBS下XQ29附圖 3:解碼模塊原理圖30附圖 4:主控模塊實(shí)物圖31附錄 2(程序) 文件include include include include include include include include include include define SETBIT(x, y) (x |= y)define CLEARBIT(x, y) (x amp。再次,要感謝在我的畢業(yè)設(shè)計(jì)當(dāng)中遇到困難時(shí),給與我的熱情幫助和支持的各位老師和同學(xué),正是他們不厭其煩的和我一起討論相關(guān)問題,一起探索遇到的困難,使少走了不少彎路。我謹(jǐn)向侯老師致以最誠摯的敬意和衷心的感謝。是他在我設(shè)計(jì)當(dāng)中給了我許多寶貴的建議,不斷的鼓勵(lì)我,耐心的幫我修改論文。我取得的每一點(diǎn)成績都與侯老師的精心指導(dǎo)和關(guān)心是分不開的。侯老師對(duì)論文的研究方法、研究目的和學(xué)術(shù)思想給予了我嚴(yán)格的要求和有效的指導(dǎo)。 總之,音樂播放器的設(shè)計(jì)采用了 Atmega128 單片機(jī)作為系統(tǒng)的中央處理控制單元,結(jié)合了操作軟件,實(shí)現(xiàn)了歌曲的播放、暫停、上下曲切換、歌曲進(jìn)度的顯示、聲音大小調(diào)節(jié)等功能。本設(shè)計(jì)硬件簡單,軟件也不是很復(fù)雜,具有易于開發(fā), 成本較低, 安全可靠, 方便實(shí)用,操作方便等特點(diǎn)。本次設(shè)計(jì),不但鞏固了我們所學(xué)的專業(yè)知識(shí),而且還增長了課外知識(shí),加強(qiáng)了自身的動(dòng)手能力。通過這次令人深刻的畢業(yè)設(shè)計(jì),不僅檢驗(yàn)了我大學(xué)所學(xué)的知識(shí),還讓我更加深刻地體會(huì)到學(xué)電子調(diào)程序的樂趣,也為今后從事電子事業(yè)奠定了基礎(chǔ)。圖 52:調(diào)試中的歌曲進(jìn)程圖 53:播放歌曲中的界面22用按鍵控制音樂的播放、暫停、快進(jìn)、后退,此指標(biāo)如圖 54 所示。能在諾基亞 5110 上顯示歌曲題目和進(jìn)程以及動(dòng)態(tài)頻譜。此指標(biāo)界面如圖 51 所示,在程序的設(shè)定中實(shí)現(xiàn)了液晶初始化 OK、VS1003 初始化OK、SD 卡初始化 OK、FAT32 初始化 OK、提示沒有 MP3 文件。美觀,易操作。以上就是各模塊的調(diào)試,這樣一個(gè)簡單的 MP3 就可以完成了。最后就是對(duì) U 盤通信進(jìn)行調(diào)試,由于 U 盤的驅(qū)動(dòng)芯片 CH375 內(nèi)嵌通信協(xié)議,所以只需按照協(xié)議來調(diào)用其指令,按照寫入所需的命令,便能實(shí)現(xiàn)其初始化。20應(yīng)用 FAT 系統(tǒng)文件就可以很快解決歌曲的切換問題。對(duì)于這部分要將整個(gè)扇區(qū)讀出,截取其中有效數(shù)據(jù)的部分。簇的計(jì)算公式:(扇區(qū)*512/4)2 公式中的 4 表示每 4 個(gè)字節(jié)表示一個(gè)簇項(xiàng)第 2 簇是根目錄所在的簇,它的位置在第二個(gè) FAT 表。對(duì)于用 FAT 文件系統(tǒng)的 SD 卡的讀寫,首先是根據(jù)文件名進(jìn)行查找到文件的目錄登記項(xiàng),通過目錄登記項(xiàng)就可以在數(shù)據(jù)區(qū)的數(shù)據(jù)中找到第一簇的內(nèi)容,同時(shí)也找到了 FAT 表中第二個(gè)簇號(hào),接著又有第二個(gè)簇號(hào)又找到第二個(gè)簇的內(nèi)容和 FAT 表中第三個(gè)簇號(hào),注意在寫文件數(shù)時(shí)要保證 FAT1 和 FAT2 中內(nèi)容的一致性,也就是要對(duì)這兩塊進(jìn)行了同樣的寫操作。我認(rèn)真地查看了 FAT 方面的資料,發(fā)現(xiàn)FAT16 和 FAT32 對(duì)文件識(shí)別的方式還是存在一些區(qū)別的,然后我把卡格式化成其對(duì)應(yīng)的形式,并在同學(xué)的熱心幫助下,終于能讀取識(shí)別 FAT 文件,由于 FAT 文件系統(tǒng)是使 SD卡內(nèi)以扇區(qū)為單位,通過簇與簇之間的鏈接實(shí)現(xiàn)查找上下曲的地址,如果有 FAT 文件系統(tǒng)就不用針對(duì)扇區(qū)進(jìn)行操作,可以針對(duì)文件路徑,文件名進(jìn)行操作,查找方便、存儲(chǔ)文件方便,不至于空間浪費(fèi)。5110 的數(shù)據(jù)口很少,用到 SPI 模式驅(qū)動(dòng)(也可以用模擬得 SPI 模式方式驅(qū)動(dòng)) ,仔細(xì)查閱了芯片 SPI 工作方式,知道 SPI是一種同步的串行接口,它有一個(gè)片選線、時(shí)鐘線、數(shù)據(jù)輸出線、數(shù)據(jù)輸入線,對(duì)于5110 液晶不需要讀數(shù)據(jù),所以不需要數(shù)據(jù)輸入線,通過時(shí)鐘線進(jìn)行同步,在對(duì)照時(shí)序圖后成功驅(qū)動(dòng)了 5110 液晶,成果是:能在 5110 液晶上顯示字符。19在調(diào)試的過程中,一開始需要解決主控芯片的熔絲問題,然后開始查找相關(guān)資料大概了解本設(shè)計(jì)的原理,接著從顯示部分開始調(diào)試。在程序的編寫過程中,為了規(guī)范程序的書寫,而且考慮到本設(shè)計(jì)的模塊比較多,如果只是用一個(gè) 文件來編寫則程序會(huì)相當(dāng)繁雜,并且不方便錯(cuò)誤的檢查,所以本設(shè)計(jì)程序運(yùn)用了多個(gè) 和 文件,這樣不僅簡化了程序,并且也方便今后對(duì)該程序的移植,很多高級(jí)工程師都是利用這種程序編程方式??偨Y(jié):做板需要耐心,需要技巧,在原理圖設(shè)計(jì)過程中需要懂設(shè)計(jì)原理,謹(jǐn)慎檢查,對(duì)焊貼片式芯片時(shí),注意把握電烙
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1