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

正文內(nèi)容

基于單片機(jī)的mp3設(shè)計(jì)與實(shí)現(xiàn)--畢業(yè)論文-資料下載頁

2024-10-24 18:22本頁面

【導(dǎo)讀】著科技的進(jìn)步發(fā)生了巨大的改變。因此,將拓展靈活、功能強(qiáng)大的單片機(jī)應(yīng)用于MP3. 大的意義與價(jià)值。成一個雖然小但是功能完全的最小系統(tǒng)。因?yàn)槠鋽U(kuò)展靈活、控制功能強(qiáng)、功耗低、體。等領(lǐng)域有著極為廣泛的應(yīng)用。音樂播放器通常由中央處理器、音頻解碼模塊、存儲設(shè)。備、主機(jī)通訊接口模塊、DA轉(zhuǎn)換和功放、控制模塊、界面顯示模塊等幾部分組成。一首、播放暫停、音量加、音量減的控制。MP3音樂播放器結(jié)合起來開發(fā)一款基于單片機(jī)的MP3音樂播放器。STC89C51RC芯片作為中央處理器控制芯片,YX5200-24SS芯片作為音頻解碼芯片。芯片通過軟件控制對接入的各個模塊的調(diào)度,來保證系統(tǒng)的正常運(yùn)行。路設(shè)計(jì)、軟件設(shè)計(jì)、以及所用芯片的功能和參數(shù)。并給出了一套完備的解決方案,最。終完成了了MP3音樂播放器的一般播放功能。

  

【正文】 0xFA。 Table[9]= 0xEF。 Send_Hex(Table,10)。 } 本科畢業(yè)設(shè)計(jì) (論文) EEPROM 設(shè)置 然后就是對 EEPROM 的讀寫操作 , 在 51 單片機(jī)內(nèi),對 EEPROM 的操作主要有:字節(jié)編程、字節(jié)讀、扇區(qū)擦除; [8] 圖 43EEPROM 操作說明 所以首先針對這三個操作,定義需要用到的宏 define ISP_BYTE_READ 1 //ISP 字節(jié)讀 define ISP_BYTE_PROGRAM 2 //ISP 直接編程 define ISP_SECTOR_ERASE 3 //ISP 扇區(qū)擦除 圖 44 控制寄存器 然后是對 ISP_CONTR 控制寄存器的設(shè) 置;根據(jù)所附資料,及功能需求; 本程序?qū)?ISP_CONTR 設(shè)置值為 0x81; 在 ISP/IAP 允許編程改變 Flash 后,對 EEPROM 進(jìn)行相對應(yīng)的操作 ISP_CMD = ISP_BYTE_READ。//讀取字節(jié) ISP_CMD = ISP_BYTE_PROGRAM; //對字節(jié)編程 ISP_CMD =ISP_SECTOR_ERASE。//擦除扇區(qū) 執(zhí)行完這些命令后,還需要 ISP_TRIG 命令觸發(fā)寄存器的觸發(fā),操作才能生效。因此在執(zhí)行完命令時,應(yīng)在最后加上: ISP_TRIG = 0x46。 ISP_TRIG = 0xb9。 使其觸發(fā),命令生效。 根據(jù)此流程,依次實(shí)現(xiàn)對 EEPROM 中內(nèi)容的讀字節(jié)操作;字節(jié)編程操作;扇區(qū)刪除操作。 本科畢業(yè)設(shè)計(jì) (論文) 例如扇區(qū)刪除操作的編寫流程: void ISP_ERASE(Address) { ISP_ADDRL = Address。 ISP_ADDRH = Address 8。//首先找到要操作的地址 ISP_CONTR = 0x81。 //設(shè)置為允許對 Flash 編程 ISP_CMD = ISP_SECTOR_ERASE。 //執(zhí)行擦除扇區(qū)操作 ISP_TRIG = 0x46。 ISP_TRIG = 0xb9。 //觸發(fā)命令 } 初始化 LCD 的過程 首先介紹一下 LCD 的連線:在本設(shè)計(jì)中各個引腳的對應(yīng)定義如下: 在對引腳綁定之后,就是對各個信號的處理,不同的引腳在芯片上有不同的功能。各引腳介紹如下表: 圖 45 5110 芯片引腳說明 要對 LCD 編程,就要對指令格式及設(shè)置有一定的了解。 D/C 命令有兩種選擇方式, dc=0 時,為指令模式,發(fā)送的數(shù)據(jù)將會被作為命令字節(jié)。 Dc=1 時,為數(shù)據(jù)模式,會把接收的數(shù)據(jù)存到 RAM 中。 SDIN 串行數(shù)據(jù)輸入口 SCLK 串行時鐘輸入端 D/C 數(shù)據(jù) 、 命令 SCE 芯片使能 OSC 振蕩器 RES 外部復(fù)位輸入端 本科畢業(yè)設(shè)計(jì) (論文) 圖 46 指令集介紹 在介紹晶振電路時,我們說過,程序的執(zhí)行,與系統(tǒng)的時序是分不開的,所以要正確的完成功能,需要對系統(tǒng)的時序做一個分析: 圖 47 5110 復(fù)位時序圖 因?yàn)閯傞_機(jī)時,內(nèi)部緩存的東西是隨機(jī)的,因此首先給 RST 一個低電平脈沖,使其低電平復(fù)位,然后給它一個 1us 的延時信號,在拉高電平,通過使能端接口重啟 LCD;然后通過拓展命令設(shè)置 LCD 的工作模式,偏置電壓;溫度校準(zhǔn);基本命令等內(nèi)容。設(shè)置完成后,執(zhí)行清屏操作;然后就可以進(jìn)入正常的顯示模式了。 圖 48 5110 發(fā)送數(shù)據(jù)時序圖 從時序圖里面可以看到,當(dāng)片選信號為 0 時,時鐘信號才有效,而且要在D\C 工作在 RAM 模式,此時才能發(fā)送數(shù)據(jù),并且是在 SCLK 從 0 變到 1 的邊沿讀取數(shù)據(jù);因此在編寫程序時,我們需要模擬該時序圖 ,給出相對應(yīng)的電平;來實(shí)現(xiàn)對數(shù)據(jù)的寫入操作 本科畢業(yè)設(shè)計(jì) (論文) 實(shí)驗(yàn)測試及結(jié)果 測試工具:萬用表 測試軟件: Protel 99SE 、 Keil 4 、 ISIS 測試方法: 在硬件電路模擬階段,首先在 ISIS 上畫出模擬電路,通過下載程序模擬,各個端口電壓正常,可以實(shí)現(xiàn)預(yù)期功能: 焊接完畢后,首先使用萬用表測試各節(jié)點(diǎn)之間電阻、電容是否與設(shè)計(jì)電路相同,然后測試各個連線之間是否已經(jīng)接通。如果沒有問題,給電路板上電,檢查各點(diǎn)電壓是否正常。 測試數(shù)據(jù): 測試次數(shù) 預(yù)期值 實(shí)驗(yàn)值 測試部位 第一次 電源插口 第二次 電源插口 第三次 電源插口 第四次 51芯片 VCC 第五次 51芯片 VCC 第六次 51芯片 VCC 第七次 解碼模塊VCC 第八次 解碼模塊VCC 第九次 解碼模塊VCC 圖 51 測試數(shù)據(jù) 通過調(diào)試結(jié)果,本設(shè)計(jì)可以實(shí)現(xiàn)從 U 盤及 TF卡中讀取音樂文件,并對其實(shí)現(xiàn)播放功能。本設(shè)計(jì)的五個控制鍵位:播放 /暫停、上一首、下一首、音量加、音量減可以實(shí)現(xiàn)對音樂播放控制以及音量大小的控制。 本科畢業(yè)設(shè)計(jì) (論文) 設(shè)計(jì)總結(jié) 本次設(shè)計(jì)是基于 STC89C51 單片機(jī)的 MP3 音樂播放器的設(shè)計(jì)。通過對該播放器的硬件電路設(shè)計(jì)與軟件編程設(shè)計(jì),最終實(shí)現(xiàn)了功能。在硬件電路設(shè)計(jì)過程中,使用 Protel 99 SE 軟件來設(shè)計(jì)電路圖,并繪制 PCB 電路板。由于 STC89C51 較強(qiáng)的擴(kuò)展性和兼容性,使得電路在設(shè)計(jì)上簡潔了很多。在軟件編程時,使用的是KeiluVision 4 軟件并使用 C51 語言進(jìn)行的編寫。在開始編寫之前,對整個程序的運(yùn)行流程和模塊進(jìn)行了詳細(xì)的分析和設(shè)計(jì),最終順利完成了對硬件電路的控制和對功能的需求。因?yàn)檎麄€系統(tǒng)的調(diào)度、中斷都是靠 STC89C51 來完成的,因此沒有一個全局的規(guī)劃和分配在實(shí)現(xiàn)過程一定會遇到很多問題,而結(jié)果也證明,之前的分析和設(shè)計(jì)對整個系統(tǒng)軟件的編寫時很有必要的。當(dāng)然,在設(shè)計(jì)上一些功能和市場上的同類產(chǎn)品還是有差距的,比如歌詞的顯示等功能。需要再加以完善和修改。 本科畢業(yè)設(shè)計(jì) (論文) 致謝 此次設(shè)計(jì)的順利完成,與計(jì)算機(jī)工程學(xué)院各位老師四年的無私教導(dǎo)與付出是分不開的。在此,我要特別感謝我的畢業(yè)設(shè)計(jì)指導(dǎo)老師:郭老師。在做畢業(yè)設(shè)計(jì)的半年時間里,老師不僅教會了我很多本課題相關(guān)的知識,在學(xué)習(xí)方法和學(xué)習(xí)態(tài)度上也給予了我很大的幫助與指導(dǎo)。四年的大學(xué)生活轉(zhuǎn)瞬即逝,很高興在學(xué)校中學(xué)到了很多很多的知識,更重要的是一種勤奮認(rèn)真,積極向上的學(xué)習(xí)和生活態(tài)度。再次感謝學(xué)校的各位老師,祝各位老師的工作和生活一帆風(fēng)順。 本科畢業(yè)設(shè)計(jì) (論文) 參考文獻(xiàn) [1] 譚浩強(qiáng); C++面向?qū)ο蟪绦蛟O(shè)計(jì) [M].北京:清華大學(xué)出版社; 2020. [2] 謝維成;單片機(jī)原理與應(yīng)用及 C51 程序設(shè)計(jì) [M].北京:清華大學(xué)出版社; 2020. [3] 馬忠梅;單片機(jī)的 C 語言應(yīng)用程序設(shè)計(jì) [M].北京:北京航空航天大學(xué)出版社;2020. [4] 羅鈞,桂杰出;一種基于通用單片機(jī)的 MP3 播放器解決方案 [J].重慶大學(xué)學(xué)報(bào)(自然科學(xué)版); 2020 年 12 期 [5] 王宇炎,李明偉;基于 C51 單片機(jī)的 MP3 播放器設(shè)計(jì) [J].電子技術(shù); 2020 年10 期 本科畢業(yè)設(shè)計(jì) (論文) 附錄 本設(shè)計(jì)主要程序及電路圖: EEPROM 相關(guān)操作程序: include define ISP_BYTE_READ 1 //ISP 讀字節(jié) define ISP_BYTE_PROGRAM 2 //ISP 直接編程 define ISP_SECTOR_ERASE 3 //ISP 扇區(qū)擦除 //EEPROM 扇區(qū)擦除 void ISP_ERASE(Address) { ISP_ADDRL = Address。 ISP_ADDRH = Address8。 ISP_CONTR = 0x81。 ISP_CND = ISP_SECTOR_ERASE。 ISP_TRIG = 0x46。 ISP_TRIG = 0xb9。 _nop_()。 _nop_()。 } //從 EEPROM 相應(yīng)的地址中讀出值 unsignedint ISP_READ(Address) { unsigned char Read_Data。 ISP_ADDRL = Address。 ISP_ADDRH = Address8。 EA = 0。 ISP_CONTR = 0x81。 ISP_CMD = ISP_BYTE_READ。 ISP_TRIG = 0x46。 ISP_TRIG = 0xb9。 _nop_()。 _nop_()。 Read_Data = ISP_DATA。 returnRead_Data。 } //實(shí)現(xiàn) EEPROM 字節(jié)編程 void ISP_PROGRAM(Address,Data_temp) { ISP_DATA = Data_temp。 本科畢業(yè)設(shè)計(jì) (論文) ISP_ADDRL=Address。 ISP_ADDRH=Address8。 ISP_CONTR=0x81。 ISP_CMD = ISP_BYTE_PROGRAM。 ISP_TRIG = 0x46。 ISP_TRIG = 0xb9。 _nop_()。 _nop_()。 } LCD 相關(guān)程序: 初始化 LCD: voidLCD_init(void) { LCD_RST= 0。// 產(chǎn)生一個讓 LCD 復(fù)位的低電平脈沖 delay_1us_5110()。 LCD_RST= 1。 LCD_CE= 0。// 關(guān)閉 LCD delay_1us_5110()。 LCD_CE= 1。 // 使能 LCD delay_1us_5110()。 BL_LED=1。 LCD_write_byte(0x21, 0)。 // 使用擴(kuò)展命令設(shè)置 LCD 模式 LCD_write_byte(0xc8, 0)。 // 設(shè)置偏置電壓 LCD_write_byte(0x06, 0)。 // 溫度校正 LCD_write_byte(0x13, 0)。 // 1:48 LCD_write_byte(0x20, 0)。 // 使用基本命令 LCD_clear()。 // 清屏 LCD_write_byte(0x0c, 0)。 // 設(shè)定顯示模式,正常顯示 LCD_CE= 0。 // 關(guān)閉 LCD } 寫字節(jié): voidLCD_write_byte(unsigned char data,unsigned char mand) { unsignedinti。 if(!mand) LCD_DC = 0。 if(mand) LCD_DC =1。 for(i=0。i8。i++) 本科畢業(yè)設(shè)計(jì) (論文) { if(dataamp。0x80) LCD_DIN = 1。 if(!(dataamp。0x80)) LCD_DIN = 0。 LCD_SCLK = 0。 data = data1。 LCD_SCLK=1。 } 電路圖: 本科畢業(yè)設(shè)計(jì) (論文)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1