




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要□□本設(shè)計(jì)在理解STM32F030F4P6芯片的技術(shù)特點(diǎn)和明確音樂播放器的主要功能的基礎(chǔ)上,提出了一種基于單片機(jī)的音樂播放器軟硬件設(shè)計(jì)的具體實(shí)現(xiàn)方法,并運(yùn)用手勢(shì)識(shí)別的方式對(duì)音樂播放器進(jìn)行簡(jiǎn)單的操作,最后通過實(shí)際電路的調(diào)試以及相關(guān)程序的編寫實(shí)現(xiàn)了音樂播放器的制作。設(shè)計(jì)中采用了STM32F030F4P6單片機(jī)作為音樂播放器的中央控制器,并通過QJ008-16s音頻芯片對(duì)外置TF卡上的MP3、WMV格式的音頻文件進(jìn)行讀取操作,然后進(jìn)行音頻解碼,實(shí)現(xiàn)歌曲播放功能。用戶可以通過手勢(shì)或者物理按鍵進(jìn)行歌曲的選擇以及音量的調(diào)節(jié),還可以通過OLED屏幕上的顯示以調(diào)節(jié)鬧鐘、時(shí)鐘、休眠的相關(guān)設(shè)置。在最后的系統(tǒng)測(cè)試中表明,該音樂播放器在保留了播放音樂的基本功能的前提下,成功實(shí)現(xiàn)了手勢(shì)識(shí)別操作,其他功能也能正常運(yùn)行,達(dá)到了既定的設(shè)計(jì)要求。關(guān)鍵詞:?jiǎn)纹瑱C(jī)音樂播放器手勢(shì)識(shí)別音頻解碼AbstractThisprojectanalyzesthetechnicalcharacteristicsofSTM32F030F4P6microcontrollerandthemainfunctionsofaudioplayer,puttingforwardamethodofhardwareandsoftwaredesignofaudioplayerbasedonsinglechipmicrocomputer,andtheuseofgesturerecognitiontotheaudioplayersimpleoperation.Finally,throughtheactualcircuitdebuggingandrelatedprogrammingtoachievetheaudioplayerproduction.
Intheproject,STM32F030F4P6microcontrollerisusedasthecentralcontrolleroftheaudioplayer,andQj008-16saudiochipisusedtoreadMP3andWMVaudiofilesontheexternalTFcard,andthenconductaudiodecodingtorealizethemusicplaybackfunction.Userscanchoosesongsandadjustthevolumethroughgesturesorphysicalbuttons.Theycanalsoadjustthealarmclock,timeclock,sleepsettingandotherrelevantsettingsthroughthedisplayontheOLEDscreen.Itwasshowninthefinalsystemtest,onthepremiseofkeepingthebasicfunctionofplayingmusic,theaudioplayersuccessfullyrealizesgesturerecognitionoperation,andotherfunctionscanalsooperatenormally,meetingtheestablisheddesignrequirements.
Keywords:SingelChipAudioPlyerGestureRecongnitionAudioDecoding目錄第一章緒論………………11.1課題研究背景………11.2論文研究?jī)?nèi)容………11.3論文結(jié)構(gòu)安排………2第二章硬件電路設(shè)計(jì)……………………32.1硬件系統(tǒng)設(shè)計(jì)………32.2硬件選擇……………32.2.1硬件選擇思路…………………32.2.2手勢(shì)識(shí)別模塊的選擇…………42.2.3音頻解碼芯片的選擇…………52.2.4音頻功放芯片的選擇…………52.2.5嵌入式微控制器的選擇………62.3各硬件電路設(shè)計(jì)……………………72.3.1嵌入式微控制器電路設(shè)計(jì)……72.3.2音頻播放電路設(shè)計(jì)……………102.3.3供電電路設(shè)計(jì)…………………142.3.4傳感器電路設(shè)計(jì)………………172.3.5其它電路設(shè)計(jì)…………………182.4本章小結(jié)……………20第三章軟件系統(tǒng)設(shè)計(jì)……………………213.1軟件開發(fā)環(huán)境………213.2系統(tǒng)程序設(shè)計(jì)………213.3各子程序模塊設(shè)計(jì)…………………223.3.1音頻播放控制程序設(shè)計(jì)………223.3.2手勢(shì)識(shí)別程序設(shè)計(jì)……………243.3.3按鍵程序設(shè)計(jì)…………………273.3.4顯示程序設(shè)計(jì)…………………293.4本章小結(jié)……………30第四章系統(tǒng)測(cè)試…………314.1系統(tǒng)測(cè)試的內(nèi)容……………………314.2系統(tǒng)測(cè)試過程………314.2.1電池電壓測(cè)試…………………314.2.2顯示及播放測(cè)試………………324.2.3手勢(shì)識(shí)別測(cè)試…………………334.2.4系統(tǒng)設(shè)置測(cè)試…………………354.3本章小結(jié)……………36結(jié)論………………………37參考文獻(xiàn)…………………38致謝………………………39附錄………………………40附錄一音樂播放器PCB圖……………40附錄二音樂播放器實(shí)物圖……………41廣東東軟學(xué)院本科畢業(yè)設(shè)計(jì)(論文)第一章緒論1.1課題研究背景近年來,嵌入多種微型傳感器的可穿戴電子設(shè)備發(fā)展迅速,相關(guān)產(chǎn)品層出不窮,比如AppleWatch,藍(lán)牙耳機(jī)和智能手機(jī)等電子設(shè)備??纱┐髟O(shè)備的流行預(yù)示著人們對(duì)高科技產(chǎn)品的渴求以及其中具有巨大的發(fā)展前景。其中,手勢(shì)識(shí)別技術(shù)是可穿戴領(lǐng)域中一個(gè)重要的組成部分。它最初是通過機(jī)器設(shè)備檢測(cè)手臂的運(yùn)動(dòng)姿態(tài),比如關(guān)節(jié)的角度變化和空間坐標(biāo)的改變,從而計(jì)算出運(yùn)動(dòng)姿態(tài)的數(shù)據(jù),并賦予這些數(shù)據(jù)變化的意義,最后根據(jù)其意義執(zhí)行不同的功能。這類設(shè)備雖可提供良好的檢測(cè)效果,但將其應(yīng)用在常用領(lǐng)域不僅價(jià)格昂貴,而且檢測(cè)設(shè)備過于復(fù)雜,不利于往后的修理和維護(hù)。其后,光學(xué)標(biāo)記方法取代了上述方法,通過紅外線檢測(cè)人手位置和手指的變化,與上述方法相比數(shù)據(jù)更加準(zhǔn)確,但缺點(diǎn)是仍需要操作復(fù)雜的儀器設(shè)備。本設(shè)計(jì)所使用的基于視覺的手勢(shì)識(shí)別方式是通過視頻采集設(shè)備采集手勢(shì)動(dòng)作的信息,并運(yùn)用計(jì)算機(jī)視覺技術(shù)對(duì)采集的圖像序列進(jìn)行處理,進(jìn)而對(duì)手勢(shì)事件加以識(shí)別[[1]武霞,張崎,許艷旭.手勢(shì)識(shí)別研究發(fā)展現(xiàn)狀綜述[J].電子科技,2013,(06):177-180]。這種[1]武霞,張崎,許艷旭.手勢(shì)識(shí)別研究發(fā)展現(xiàn)狀綜述[J].電子科技,2013,(06):177-180在此背景下,開發(fā)出一種加入該手勢(shì)識(shí)別技術(shù)的音樂播放器是有巨大的市場(chǎng)前景的。首先,手勢(shì)識(shí)別技術(shù)順應(yīng)了可穿戴電子設(shè)備的市場(chǎng)潮流,為用戶帶來不一樣的使用體驗(yàn)。其次,該技術(shù)還能減少播放器上按鍵的數(shù)量,進(jìn)一步提高音樂播放器的封裝度并減小設(shè)備的尺寸,使用戶在有限的區(qū)域內(nèi)實(shí)現(xiàn)不同的功能。而且,音樂播放器減少了按鍵的使用就可以相對(duì)應(yīng)地把思考設(shè)備上按鍵的布局轉(zhuǎn)移到提升播放器外觀或者播放器音質(zhì)上面,進(jìn)一步提升產(chǎn)品的競(jìng)爭(zhēng)力,為用戶提供更好的使用體驗(yàn)。1.2論文研究?jī)?nèi)容本論文的設(shè)計(jì)項(xiàng)目包括了硬件和軟件部分。硬件部分包括了PCB的焊接、電源電路的設(shè)計(jì)、播放電路的設(shè)計(jì)、傳感器模塊的設(shè)計(jì)、STM32核心部分的設(shè)計(jì)等。軟件部分包括播放控制程序的設(shè)計(jì)、顯示程序的設(shè)計(jì)、手勢(shì)識(shí)別程序的設(shè)計(jì)、主程序的設(shè)計(jì)等。最后,實(shí)現(xiàn)了硬件和軟件部分后,還要進(jìn)行整體模塊的測(cè)試,Bug修改的過程。用戶通過Micro-USB數(shù)據(jù)接口將電腦上的WMV、MP3格式的音頻文件復(fù)制到播放器上的TF卡上進(jìn)行儲(chǔ)存,然后QJ008-16s音頻解碼芯片對(duì)音頻文件進(jìn)行讀取以及解碼操作,并將處理好的數(shù)據(jù)用CSC8002功放驅(qū)動(dòng)喇叭進(jìn)行音頻的播放,0.96寸的OLED屏幕進(jìn)行信息的顯示。其中,由STM32F03芯片作為中央控制芯片對(duì)整個(gè)操作過程進(jìn)行監(jiān)控和控制,為各個(gè)模塊進(jìn)行計(jì)算功能,保證各個(gè)模塊有條不紊地運(yùn)行。根據(jù)設(shè)計(jì)的目標(biāo),須達(dá)到以下的要求:第一,播放內(nèi)存卡中的歌曲(上一曲、下一曲、音量增加、音量減小、音頻播放、音頻暫停),若插入音頻線,則停止當(dāng)前的播放狀態(tài),自動(dòng)切換到外部的音源,如手機(jī)、電腦等;第二,通過四個(gè)觸動(dòng)按鍵和手勢(shì)識(shí)別模塊控制音頻的播放;第三,Micro-USB接口不僅可以對(duì)電池充電,還可以對(duì)TF卡進(jìn)行操作(相當(dāng)于讀卡器),如存入/刪除歌曲等;第四,播放器無操作兩分鐘,屏幕自動(dòng)休眠,按下觸動(dòng)按鍵進(jìn)行喚醒;第五,屏幕上顯示播放器當(dāng)前的電量;第六,屏幕上顯示當(dāng)前環(huán)境的溫度;第七,屏幕上顯示實(shí)時(shí)時(shí)鐘,并使用獨(dú)立的紐扣電池供電,掉電仍可正常計(jì)時(shí);第八,鬧鐘設(shè)置、休眠設(shè)置、時(shí)鐘設(shè)置。1.3論文結(jié)構(gòu)安排本論文結(jié)構(gòu)安排如下:第一章為緒論,主要描述了可穿戴電子設(shè)備的背景,使用手勢(shì)識(shí)別對(duì)于音樂播放器的作用和意義,以及論文的主要研究?jī)?nèi)容;第二章為硬件電路設(shè)計(jì),該部分講述了硬件的選擇,電子電路系統(tǒng)的連接和工作原理;第三章為系統(tǒng)軟件設(shè)計(jì),主要概述了系統(tǒng)的程序設(shè)計(jì),以及各主要模塊的軟件設(shè)計(jì)方案;第四章為系統(tǒng)軟硬件測(cè)試,對(duì)特定模塊進(jìn)行功能測(cè)試,觀察實(shí)際的效果,驗(yàn)證數(shù)據(jù)的精準(zhǔn)度,并對(duì)音樂播放器進(jìn)行實(shí)際的運(yùn)行測(cè)試;最后是將論文整體進(jìn)行總結(jié)和歸納,講述了在研發(fā)音樂播放器過程中的感受和收獲,以及項(xiàng)目未來改進(jìn)的方向。第二章硬件電路設(shè)計(jì)2.1硬件系統(tǒng)設(shè)計(jì)硬件系統(tǒng)由嵌入式微控制器、音頻解碼模塊、功放模塊、液晶顯示模塊、手勢(shì)識(shí)別模塊、電池模塊,以及按鍵、時(shí)鐘、溫度檢測(cè)、輸入輸出檢測(cè)模塊組成。在該硬件系統(tǒng)設(shè)計(jì)中,采用了ST公司生產(chǎn)的STM32F030F4P6作為主控微型芯片。單片機(jī)通過控制QJ008-16s音頻芯片實(shí)現(xiàn)對(duì)TF卡的音頻、文檔等數(shù)據(jù)信息進(jìn)行解碼,實(shí)現(xiàn)音頻的播放;在手勢(shì)的控制下,實(shí)現(xiàn)對(duì)音頻音量調(diào)節(jié),音頻選擇播放的功能。硬件系統(tǒng)框架如下圖2-1所示。手勢(shì)識(shí)別,按鍵手勢(shì)識(shí)別,按鍵I2I2C+ADC液晶顯示單片機(jī)其它模塊液晶顯示單片機(jī)其它模塊I2I2C4IOUART+USBUART+USB+3IO音頻讀取、解碼、播放音頻讀取、解碼、播放圖2-1硬件系統(tǒng)框架圖2.2硬件選擇2.2.1硬件選擇思路設(shè)計(jì)一個(gè)嵌入式產(chǎn)品,我們首先要明確產(chǎn)品的需求以及使用場(chǎng)景,然后根據(jù)產(chǎn)品的要求去設(shè)計(jì)出所需要的功能,接著確定產(chǎn)品功能的框架和流程圖,并根據(jù)產(chǎn)品的定位、資金的多少、功耗的約束、開發(fā)的難度等問題去篩選合適的電子元器件,最后知道了硬件的接口數(shù)量后,選擇一個(gè)架構(gòu)熟悉、內(nèi)存足夠的嵌入式微控制器。本項(xiàng)目名稱是音樂播放器,實(shí)現(xiàn)的功能是手勢(shì)識(shí)別和音頻播放,需要用到的器件有嵌入式微控制器、手勢(shì)識(shí)別模塊、音頻解碼芯片、音頻功放芯片。需要注意的是,本項(xiàng)目需要實(shí)現(xiàn)便宜和便攜兩個(gè)要求,所以電子元器件盡量選擇低功耗,體積小巧的貼片元件,從而提高產(chǎn)品的續(xù)航能力,縮小產(chǎn)品的實(shí)際面積。開始開始確定產(chǎn)品的需求和使用場(chǎng)景確定產(chǎn)品的需求和使用場(chǎng)景播放音頻播放音頻手勢(shì)操作鬧鐘功能溫度顯示休眠功能明確產(chǎn)品的功能明確產(chǎn)品的功能音頻解碼芯片音頻解碼芯片手勢(shì)識(shí)別模塊溫度檢測(cè)模塊電源管理(充電,穩(wěn)壓/降壓)單片機(jī)其它元器件功能器件分析功能器件分析選擇合適的器件選擇合適的器件結(jié)束結(jié)束圖2-2硬件選擇流程圖2.2.2手勢(shì)識(shí)別模塊的選擇目前市面上所使用的手勢(shì)識(shí)別模塊大多使用ADPS-9960傳感器進(jìn)行手勢(shì)的判斷,該傳感器具有廣泛的使用場(chǎng)景,并且被設(shè)計(jì)成各種手勢(shì)模塊,以方便開發(fā)者和用戶的使用。在本次設(shè)計(jì)中,我們就根據(jù)市面上流行的各種手勢(shì)識(shí)別模塊來挑選符合設(shè)計(jì)要求的電路板。目前在市面上找到的手勢(shì)模塊有四種,下面分別從供電電源、通信方式、模塊尺寸、識(shí)別范圍、是否支持手勢(shì)識(shí)別以及價(jià)格這六個(gè)方面進(jìn)行篩選。表2.1手勢(shì)模塊選型表方案名稱供電電源通信方式模塊尺寸識(shí)別范圍手勢(shì)識(shí)別價(jià)格(元)1APDS-99603.3VI2C20*15.3mm10-20cm√25.612ATK-PAJ76203.3/5VI2C16*16mm5-15cm√59.23VL6180X3-5VI2C16*16mm0-100mm×27.394PAJ7620U22.8~3.3VI2C14*14mm5-15cm√29從表中我們可以知道支持手勢(shì)識(shí)別的有方案1、2、4,手勢(shì)識(shí)別距離合適(2-10cm左右)的有方案2、4,價(jià)格比較便宜的是方案4,所以方案4,即PAJ7620U2選擇作為本次設(shè)計(jì)的手勢(shì)識(shí)別模塊。2.2.3音頻解碼芯片的選擇選擇音頻解碼芯片作為本次設(shè)計(jì)的電子元器件主要有以下幾條要求。第一,芯片的封裝尺寸要小,盡量使用貼片封裝;第二,芯片支持讀取儲(chǔ)存卡內(nèi)的音頻文件;第三,芯片的成本控制在10元以內(nèi);第四,芯片得到主流市場(chǎng)的認(rèn)可,性能穩(wěn)定可靠。由于市場(chǎng)上音頻解碼芯片種類繁多,功能復(fù)雜,本論主要挑選三個(gè)方案作為比較。方案一:WM8731S音頻解碼芯片。集成耳機(jī)驅(qū)動(dòng);支持8KHz-96KHz的采樣頻率;音頻分辨率為24位;采用28腳SSOP封裝;芯片尺寸為5*5mm;工作電壓為2.7-3.6V;價(jià)格9元。方案二:VS1003B音頻解碼芯片。支持MP3和WAV音頻格式的讀取和解碼;采用3.3V供電;16位片內(nèi)模數(shù)轉(zhuǎn)換器;片內(nèi)RAM的容量為5.5KB;芯片尺寸為6*6mm;價(jià)格10元。方案三:QJ008音頻解碼芯片。芯片支持24位DAC輸出;支持AD按鍵控制;支持單片機(jī)異步串口采用UART控制;支持使用FAT16、FAT32文件系統(tǒng)格式;芯片尺寸為10.30*3.95mm;價(jià)格3元。綜合所述,在項(xiàng)目的實(shí)際應(yīng)用當(dāng)中選擇尺寸更加小巧,功能更加符合項(xiàng)目,價(jià)格更加便宜的QJ008芯片作為音頻解碼芯片更為合適。2.2.4音頻功放芯片的選擇為了符合硬件選型標(biāo)準(zhǔn),音頻功放芯片選擇的要求有以下幾條。第一,芯片采用單聲道D類功放;第二,工作電壓范圍在3-5V左右;第三,芯片應(yīng)選擇貼片封裝;第四,價(jià)格控制在10元以內(nèi)。根據(jù)這些條件,在網(wǎng)上找到了CSC8002D功放芯片作為本項(xiàng)目的功放芯片,其芯片較于其它功放芯片有價(jià)格便宜,引腳少,便于編程的優(yōu)點(diǎn)。2.2.5嵌入式微控制器的選擇根據(jù)設(shè)計(jì)要求以及上述芯片的選擇,嵌入式微控制器的要求有:低功耗,性價(jià)比高;需要支持I2C協(xié)議和UARAT串口;使用貼片封裝;工作電壓在3-5V范圍內(nèi);芯片使用ARM架構(gòu),數(shù)據(jù)總線寬度為16位及以上。根據(jù)低功耗還有性價(jià)比的要求,本次項(xiàng)目選擇ST公司32位的微型單片機(jī)作為嵌入式微控制器,而ST公司的芯片由下表進(jìn)行選擇。圖2-3STM32主頻選擇圖因?yàn)樵撘魳凡シ牌鲾?shù)據(jù)運(yùn)算量不大,此處選擇Coretex-M0系列、48MHz的單片機(jī)就足夠了,這里選擇STM32F0系列。圖2-4STM32功能選擇圖本次項(xiàng)目需要使用USART、SPI和USB的功能,工作電壓在2.0V-5.0V左右,F(xiàn)lash和RAM的容量大小選擇最小的16Kb和4Kb就足夠了,處于成本的控制選擇STM32F0x0系列。圖2-5STM32內(nèi)存選擇圖整個(gè)單片機(jī)的功能用不了這么大的Flash,所以選擇16K的就行了,針腳也是選擇最少的,所以本項(xiàng)目選擇使用的嵌入式微控制器為STM32F030F4芯片。2.3各硬件電路設(shè)計(jì)本次設(shè)計(jì)的硬件部分主要由嵌入式微控制器電路、音頻播放電路、供電電路、傳感器電路以及其它電路共同組成,下面將一一介紹各部分硬件電路的設(shè)計(jì)。2.3.1嵌入式微控制器電路設(shè)計(jì)嵌入式微控制器簡(jiǎn)稱單片機(jī),它能夠在單獨(dú)的芯片內(nèi)實(shí)現(xiàn)最基本的計(jì)算機(jī)功能。單片機(jī)內(nèi)部包含中央處理器、只讀存儲(chǔ)器和隨機(jī)存儲(chǔ)器等主要部件,它能夠控制運(yùn)算符號(hào),并且能夠向系統(tǒng)發(fā)送運(yùn)算指令。單片機(jī)由于體積小、重量輕、集成度高、價(jià)格便宜等原因?yàn)榍度胧介_發(fā)者的學(xué)習(xí)、應(yīng)用和研究提供了便利[[2]劉軍[2]劉軍.例說STM32[M].北京航空航天大學(xué)出版社,2011本次設(shè)計(jì)中采用了意法半導(dǎo)體公司生產(chǎn)的STM32F030F4P6芯片作為音樂播放器的微控制器,在實(shí)際電路中對(duì)音樂播放器的數(shù)據(jù)進(jìn)行控制與處理。芯片引腳圖如下所示:圖2-6STM32F030F4P6芯片引腳圖(1)嵌入式微控制器的主要特性·芯片采用ARM架構(gòu),CPU處理的數(shù)據(jù)寬度為32位,并且頻率為48MHz;·Flash的容量為16Kb,RAM的容量為4Kb;·工作電壓范圍在2.4V-3.6V;·晶體振蕩器支持最小4MHz,最大32MHz,內(nèi)置40kHzRC振蕩器;·內(nèi)部多達(dá)10個(gè)定時(shí)器;·2個(gè)I2C接口,2個(gè)USART接口,2個(gè)SPI接口;·支持串行線性調(diào)試模式(SWD)。(2)嵌入式微控制器引腳說明表2.2STM32F030F4P6芯片引腳定義表引腳號(hào)引腳名稱類型功能描述1BOOT0\端口為下拉電路,單片機(jī)從Flash內(nèi)存開始啟動(dòng),并采用SWD下載方式2PF0檢測(cè)檢測(cè)鋰離子電池的狀態(tài),并控制充電提示燈的亮滅3PF1O接NPN型三極管的基極,用于控制音頻解碼芯片和音頻功放的電流,實(shí)現(xiàn)音頻暫停的操作(導(dǎo)通時(shí)電路為低電平,斷開時(shí)電路為高電平)4NRST\復(fù)位端口。該端口為上拉電路,正常工作時(shí)保持高電平,單片機(jī)正常運(yùn)行;遇到故障或者其他原因需要復(fù)位時(shí),按下K5按鈕,端口變成低電平,單片機(jī)復(fù)位5VDDAPOWER3.3V供電電壓6PA0檢測(cè)接鋰離子電池的正極,檢測(cè)鋰離子電池的實(shí)際電流并對(duì)其數(shù)據(jù)進(jìn)行模數(shù)轉(zhuǎn)換,從而得到鋰離子電池的的電量7PA1IOOLED屏進(jìn)行I2C通信的雙向數(shù)據(jù)線,進(jìn)行數(shù)據(jù)的傳輸8PA2IOOLED屏進(jìn)行I2C通信的時(shí)鐘線,對(duì)數(shù)據(jù)的傳輸進(jìn)行控制9PA3檢測(cè)檢測(cè)USB是否被插入。引腳懸空時(shí)電路為高電平,USB插入時(shí)電路為低電平10PA4\沒有使用11PA5IO采集DS18B20的溫度數(shù)據(jù)12PA6O接NPN型三極管的基極,控制有源蜂鳴器。低電平導(dǎo)通,高電平斷開13PA7檢測(cè)檢測(cè)耳機(jī)接口是否被插入。耳機(jī)接口插入時(shí)電路為低電平,懸空時(shí)電路為高電平14PB1檢測(cè)按鍵檢測(cè)。由于單片機(jī)中的IO口的數(shù)量不足,所以采用AD按鍵的設(shè)計(jì)方案,以輸入電流的大小來判斷輸入什么按鍵15VSSGND接工作地16VSDDPOWER3.3V供電電壓17PA9O使用USART1串口與音頻解碼芯片連接,進(jìn)行信號(hào)輸出18PA10I使用USART1串口與音頻解碼芯片連接,進(jìn)行信號(hào)輸入19PA13IO代碼燒寫數(shù)據(jù)口,使用SWD下載方式20PA14IO代碼燒寫時(shí)鐘口,使用SWD下載方式圖2-7STM32F030F4P6芯片原理圖(3)嵌入式微控制器程序下載配置STM32程序的下載方式有JTAG、SWD、串口。由于JTAG接口引腳有20個(gè)、占用IO口多、串口下載的電路復(fù)雜、占用電路板較多的空間,故此本次設(shè)計(jì)采用SWD下載方式[[3]朱朔[3]朱朔.基于機(jī)器視覺的無人平臺(tái)目標(biāo)識(shí)別與跟蹤系統(tǒng)設(shè)計(jì)[D].南京理工大學(xué),2018,(01)該下載方式需要四個(gè)端口,分別是電源端口、接地端口、數(shù)據(jù)端口(SWDIO)、時(shí)鐘端口(SWCLK)。下載速度最高可達(dá)4MHz,而且支持在線調(diào)試功能。在程序編寫的過程中可以通過在線調(diào)試,實(shí)時(shí)查看相關(guān)寄存器和指定變量的值,或者設(shè)置斷點(diǎn)(檢查程序邏輯),能方便地檢查出程序中存在的BUG。此外在進(jìn)行程序調(diào)試時(shí)無須經(jīng)常燒寫單片機(jī)Flash程序存儲(chǔ)空間,增加了單片機(jī)Flash的壽命。圖2.8STM32F030F4P6下載接口原理圖在進(jìn)行程序的燒寫時(shí)還需要配置BOOT0和BOOT1(F0系列不需要配置BOOT1)相應(yīng)的IO口的電平高低來選擇STM32的啟動(dòng)(boot)方式,如下表所示:表2.3BOOT配置表由上圖可知,為了STM32通過Jlink或者STlink的SWD模式燒寫程序,則需將BOOT0端口接地,從而使單片機(jī)從flash啟動(dòng)。同時(shí),還要在BOOT0端口和地之間還要接上一個(gè)10K的電阻,起到保護(hù)芯片的作用。2.3.2音頻播放電路設(shè)計(jì)音頻播放電路主要由音頻解碼芯片、音頻功放芯片、耳機(jī)檢測(cè)電路和USB電路組成。(1)音頻解碼芯片音頻解碼芯片的功能是將存放在SD卡、硬盤等介質(zhì)上的音頻文件解碼,芯片對(duì)文件的解析能力決定著播放器音質(zhì)的表現(xiàn)[[4]張志偉.[4]張志偉.基于單片機(jī)的音樂播放器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子制作,2014(05):7-8本次設(shè)計(jì)中采用QJ008-16s音頻解碼芯片,該芯片支持串口功能,并具有MP3和WMV音頻文件的解碼功能,同時(shí)芯片支持USB/SD/TF的驅(qū)動(dòng)方式。在文件系統(tǒng)上支持FAT16、FAT32格式,在硬件規(guī)格上采用SOP16封裝方式。該芯片在使用的過程中可以通過發(fā)送簡(jiǎn)單的串口指令來完成播放指定的音頻,并支持上下曲設(shè)置、音量加減、曲目循環(huán)等功能,無需繁瑣的底層操作。該芯片還可以播放儲(chǔ)存卡內(nèi)部的音頻,通過USB數(shù)據(jù)線連接電腦下載進(jìn)儲(chǔ)存卡,產(chǎn)品穩(wěn)定可靠,使用方便。相較于前代產(chǎn)品QJ004-16s音頻解碼芯片解決了存放音頻文件容量較小的問題,能夠存放較多的音頻文件。圖2.9QJ008-16s芯片原理圖表2.4QJ008硬件參數(shù)表名稱參數(shù)采樣率支持(KHz):8/11.025/12/16/22.05/24/32/44.1/48MP3文件格式支持播放MP3、WMV格式文件支持FAT16、FAT32文件系統(tǒng),最大支持32G的存儲(chǔ)介質(zhì)(TF/SD卡,U盤)音質(zhì)24位DAC輸出,動(dòng)態(tài)范圍支持90dB,信噪比支持85dBUSB接口支持USB2.0協(xié)議UART接口標(biāo)準(zhǔn)串口協(xié)議,接口采用TTL電平,波特率可自行設(shè)定輸入電壓供電電壓在3.3-5.4V范圍內(nèi),最佳為4.2V額定電流15mA(不帶U盤)尺寸10.30*3.95mm工作溫度-40~70度相對(duì)濕度5%~95%表2.5QJ008-16s芯片引腳定義表引腳號(hào)引腳名稱類型功能描述1P01IOFLASH/TF數(shù)據(jù)腳2P00IOFLASH/TF片選腳3P32IOFLASH/TF時(shí)鐘腳4P02/VCOMOIAD_KEY按鍵值檢測(cè)腳5USBDMIOUSB數(shù)據(jù)線D-6USBDPIOUSB數(shù)據(jù)線D+7VCOM檢測(cè)芯片基準(zhǔn)電壓檢測(cè)腳8DACVSSAGND模擬地9DACRAO芯片音頻信號(hào)右聲道輸出10DACLAO芯片音頻信號(hào)左聲道輸出11VDDIOPOWER芯片LDO輸出3.3V,TF模塊供電12LDO5VPOWER芯片音源輸入引腳5V13VSSIODGND數(shù)字地14P23/24IO芯片串口通信發(fā)射口TXD-對(duì)應(yīng)單片機(jī)RXD15P30/P25IO芯片串口通信接受口RXD-對(duì)應(yīng)單片機(jī)TXD16P46/VPPI芯片工作狀態(tài)指示燈,播放時(shí)輸出高電平(2)音頻功放芯片音頻功放芯片的功能就是放大音頻設(shè)備的微弱輸入信號(hào),產(chǎn)生足夠的電流推動(dòng)揚(yáng)聲器的播放。本次設(shè)計(jì)使用的功放芯片型號(hào)是CSC8002D,是一款單通道橋式連接音頻功率放大器,自帶關(guān)斷模式。芯片工作在5V的電壓條件下,可為3Ω負(fù)載提供3W的連續(xù)平均功率;在關(guān)斷模式下,CSC8002D處于低功耗狀態(tài),工作電流為0.6μA,適合于小型嵌入便攜式設(shè)備,除此之外,該芯片還具備外部控制的低功耗關(guān)斷模式、以及內(nèi)部熱關(guān)斷保護(hù)機(jī)制。CSC8002D功放芯片有較高的能量轉(zhuǎn)化率,而且體積小巧,具有較強(qiáng)的可靠性,并且芯片外部電路無需耦合電容、旁路電容及緩沖電路,需配置的外圍器件極少,其增益可以通過外部電阻進(jìn)行配置,便于電路設(shè)計(jì)。芯片的引腳圖如下所示:圖2.10CSC8002D芯片引腳圖音頻功放芯片的主要特性:·無需耦合電容、旁路電容及緩沖網(wǎng)絡(luò);·待機(jī)電流為0.6μA;·增益輸出穩(wěn)定;·增益可通過外部配置;·采用SOP8貼片封裝。表2.6CSC8002D芯片引腳定義引腳號(hào)引腳名稱類別功能描述1SHUTDOWNI關(guān)斷端口(當(dāng)關(guān)斷端為高電平時(shí),運(yùn)放關(guān)閉,CSC8002D不工作)2BYPASSI/O電壓基準(zhǔn)端3+INI正向輸入端4-INI反向輸入端(接收QJ008-16s芯片的音頻信息)5VO1O音頻輸出端1(接揚(yáng)聲器)6VDDPOWER電源端(輸入3.7V)7GNDPOWER接地端8VO2O音頻輸出端2(接揚(yáng)聲器)(3)耳機(jī)檢測(cè)電路耳機(jī)檢測(cè)電路的作用是選擇音源進(jìn)行播放。當(dāng)數(shù)據(jù)接口未插入時(shí),檢測(cè)引腳電平由上拉電阻確定,默認(rèn)為高電平,播放TF卡中的音源;當(dāng)數(shù)據(jù)接口插入時(shí),檢測(cè)引腳從高電平變?yōu)榈碗娖?,播放器的程序?qū)和.?dāng)前歌曲的播放,并播放外部設(shè)備的音源,如手機(jī)、電腦等設(shè)備。圖2.11耳機(jī)檢測(cè)電路原理圖(4)USB電路USB電路的作用是為鋰離子電池充電和提供數(shù)據(jù)接口的功能。USB電路與QJ008音頻解碼芯片上具有USB功能的IO口相連,通過軟件實(shí)現(xiàn)USB通信協(xié)議,可實(shí)現(xiàn)讀取、修改、添加、查詢TF卡中的相關(guān)歌曲的功能。圖2.12USB電路原理圖2.3.3供電電路設(shè)計(jì)供電電路的作用有兩個(gè)。第一,為鋰離子電池提供外部電源的充電功能;第二,支持鋰離子電池為音樂播放器提供穩(wěn)定的工作電壓的功能;這兩個(gè)部分分別對(duì)應(yīng)電池充電電路和播放器供電電路。(1)電池充電電路a)電池充電芯片鋰離子電池的充電電路由LTC4054充電芯片為核心和其它配套電路所組成,其功能是為單節(jié)鋰離子電池提供恒定電流、電壓的線性充電功能。LTC4054充電芯片使用ThinSOT封裝,并在USB電源規(guī)范的工作場(chǎng)景下設(shè)計(jì)使用,而且無需太多的外部器件,具有便攜的特點(diǎn)。該芯片還具有熱反饋功能,當(dāng)芯片工作在大功率負(fù)載或者高溫的條件下能夠自動(dòng)調(diào)節(jié)充電電流,從而限制芯片的溫度,起到保護(hù)芯片的作用。表2.7LTC4054充電芯片引腳定義表引腳號(hào)引腳名稱類別功能描述1CHRGO漏極開路充電狀態(tài)輸出。當(dāng)充電時(shí),內(nèi)置N溝道MOSFET將CHRG端口置于低電位;充電完成后,MOSFET將CHRG端口置于高阻態(tài)。LTC4050檢測(cè)到低電鎖定條件時(shí),CHRG呈現(xiàn)高阻態(tài)。在BAT引腳和地之間接1μF的電容還能作為電池是否接好的指示,當(dāng)沒有電池時(shí),LED會(huì)快速閃爍[[5][5]李健,田航.鋰電池線性充電管理芯片LTC4054及其應(yīng)用[J].重慶教育學(xué)院學(xué)報(bào),2004(03):20-252GNDPOWER接地端3BATPOWER外部電源輸入端4VCCPOWER充電電流輸出端,為電池充電5PROGI/O充電電路編程,充電電流監(jiān)控和關(guān)閉端。在所有狀態(tài)下,此端口的電壓可以用下面的公式測(cè)算充電電流:I圖2.13LTC4045充電芯片原理圖LTC4054充電芯片具體特點(diǎn)如下:·可編程充電電流可達(dá)800mA;·支持單節(jié)鋰電池下的恒定電流、電壓的線性充電功能;·具備熱反饋功能,自動(dòng)調(diào)節(jié)充電電流;·通過USB口直接給單節(jié)鋰電子電池充電;·預(yù)設(shè)精度為±1%的4.2V充電電壓;·當(dāng)充電電流降至設(shè)定值的1/10時(shí),終止充電過程;·芯片進(jìn)入待機(jī)狀態(tài)時(shí),待機(jī)電流為25μA;·涓流充電閾值為2.9V;·芯片采用SOT23-5封裝處理;·電流監(jiān)視器、自動(dòng)充電、欠壓鎖定、充電狀態(tài)引腳、軟啟動(dòng)限制浪涌電流。b)電池充電過程充電電路的作用是為單節(jié)鋰電池提供穩(wěn)定的充電電壓和充電電流,并在保證安全充電的同時(shí),減少電池的損耗,提高電池的使用壽命。在實(shí)際使用中,鋰電池充電可以分為四個(gè)過程。第一個(gè)過程,涓流充電過程;在鋰離子電池的電壓低于2.9V時(shí)采用涓流充電的模式進(jìn)行充電,涓流充電的電流為恒流充電時(shí)的1/10C。當(dāng)電池電壓達(dá)到2.9V時(shí),涓流充電過程停止,進(jìn)入恒流充電過程。第二個(gè)過程,恒流充電過程;當(dāng)電池電壓在涓流充電閾值以上時(shí),芯片會(huì)提高充電電流進(jìn)行恒流充電,恒流充電的電流可以通過外部電阻的設(shè)置來調(diào)節(jié),一般在0.2C到1.0C之間。在這個(gè)過程中,電池電壓從涓流充電閾值2.9V慢慢攀升,直到電壓達(dá)到浮充電壓4.2V時(shí),恒流充電過程停止,進(jìn)入恒壓充電過程。第三個(gè)過程,恒壓充電過程;在這個(gè)過程中,充電電流隨著鋰電子電池電芯的飽和,由恒流充電的電流值慢慢減少,當(dāng)充電電流減少到1/10C時(shí),充電電壓不變,充電電流變?yōu)?,充電過程結(jié)束。第四個(gè)過程,充電終止過程。當(dāng)輸入電源移除,LTC4054充電芯片自動(dòng)進(jìn)入低電流狀態(tài),電池漏電流小于2μA。LTC4054充電芯片進(jìn)入待機(jī)模式,充電電流減小到25μA。圖2.14電池充電過程圖c)電池電壓檢測(cè)電路電池電壓檢測(cè)電路由兩個(gè)1%精度的電阻組成,通過電阻分壓的工作原理,將電路中當(dāng)前電壓反饋給單片機(jī),然后單片機(jī)通過ADC采樣和計(jì)算得出當(dāng)前電池電壓值,若電壓低于最低限制電壓,則播放器強(qiáng)行進(jìn)入低功耗模式,關(guān)閉內(nèi)部電路和外設(shè)供電。圖2.15電池電壓檢測(cè)電路原理圖d)一鍵開關(guān)電路一鍵開關(guān)電路的作用是在設(shè)備開機(jī)時(shí)為其后的負(fù)載供電,在設(shè)備關(guān)機(jī)時(shí)斷開負(fù)載的供電,并通過長(zhǎng)按按鍵使設(shè)備自動(dòng)進(jìn)入低功耗模式。該開關(guān)電路由PMOS和NPN管組成,當(dāng)單片機(jī)提供低電平時(shí),NPN不導(dǎo)通,則PMOS不導(dǎo)通,其后面的負(fù)載被斷電;當(dāng)單片機(jī)提供高電平時(shí),NPN導(dǎo)通,則PMOS導(dǎo)通,其后面的負(fù)載被供電。圖2.16一鍵開關(guān)電路原理圖(2)播放器供電電路播放器的供電采用了662K穩(wěn)壓芯片進(jìn)行電壓的轉(zhuǎn)換。該芯片的紋波抑制率較高、運(yùn)行功耗較低、實(shí)際工作時(shí)電壓差較小,而且具有過流保護(hù)和短路保護(hù)等安全保護(hù)的功能,是一款不錯(cuò)的CMOS降壓型電壓穩(wěn)壓芯片。其主要特點(diǎn)如下所示:·輸入穩(wěn)定性好:典型值為:0.05%/V;·輸出的電壓范圍在1.5V~5.0V之間,輸出電壓的精度為±2%;·極低的靜態(tài)偏置電流(典型值為8.0μA)和壓差;·帶載能力強(qiáng)(如當(dāng)輸入電壓為4.3V,輸出電壓為3.3V時(shí),輸出電流可達(dá)300mA);·極低的輸入、輸出電壓差:如當(dāng)輸出電流為160mA時(shí),電壓差只有0.40V;·極低的溫度調(diào)整系數(shù)。下圖中C1、C2為輸入端的濾波電容,用于濾除輸入電壓中的高頻和低頻的噪聲和紋波。同理C3、C4做為輸出端的濾波電容,功能是相同的。圖2.17662K穩(wěn)壓芯片電路原理圖2.3.4傳感器電路設(shè)計(jì)(1)手勢(shì)識(shí)別模塊電路I2C本次設(shè)計(jì)使用的PAJ7260u2手勢(shì)識(shí)別傳感器將手勢(shì)識(shí)別功能集成到一個(gè)芯片上,通過I2C協(xié)議在外部使用兩個(gè)接口進(jìn)行數(shù)據(jù)的傳輸。該芯片可以識(shí)別9種手勢(shì),分別是從左到右,從右到左,從上到下,從下到上,順時(shí)針方向,逆時(shí)針方向、推、拉、揮動(dòng)。圖2.18PAJ7260u2電路原理圖表2.8PAJ7260u2引腳定義表引腳號(hào)引腳名稱類別功能描述13.3VPOWER電源端口,提供3.3V電壓2RXI時(shí)鐘端口,控制數(shù)據(jù)的傳輸3TXO數(shù)據(jù)端口,進(jìn)行數(shù)據(jù)傳輸4GNDPOWER接地端口(2)手勢(shì)識(shí)別模塊工作過程PAJ7260u2手勢(shì)識(shí)別模塊內(nèi)部由四部分組成,分別是LED驅(qū)動(dòng)器、手勢(shì)識(shí)別陣列、傳感器感應(yīng)陣列和目標(biāo)提取陣列。當(dāng)PAJ7260u2模塊開始工作時(shí),LED驅(qū)動(dòng)器向外發(fā)射紅外線信號(hào),紅外線信號(hào)在有效的距離中探測(cè)到被測(cè)物體,然后目標(biāo)信息提取陣列會(huì)探測(cè)到被測(cè)物體反射過來的紅外信號(hào),隨后將相關(guān)信息保存在寄存器中[[6]牛作東,李捍東.基于STM32的手勢(shì)識(shí)別控制器的設(shè)計(jì)[J].電子測(cè)試,[6]牛作東,李捍東.基于STM32的手勢(shì)識(shí)別控制器的設(shè)計(jì)[J].電子測(cè)試,2019(06):19-19(3)溫度檢測(cè)電路溫度傳感器使用的是直插式DS18B20數(shù)字溫度傳感器,輸出數(shù)字信號(hào),具有體積小、接線方便、抗干擾能力強(qiáng)、檢測(cè)精度高的特點(diǎn)。該溫度傳感器上共有三個(gè)引腳,1號(hào)引腳是接地端口;2號(hào)引腳是DQ端口,負(fù)責(zé)數(shù)字信號(hào)輸入、輸出功能;3號(hào)引腳是電源端口,為傳感器提供3.3V直流電壓。圖2.19DS18B20溫度傳感電路原理圖2.3.5其它電路設(shè)計(jì)(1)按鍵檢測(cè)電路由于單片機(jī)需要控制的外部設(shè)備比較多,且引腳接口不夠,故此按鍵掃描電路改為了AD檢測(cè)方式,通過檢測(cè)不同按下狀態(tài)的電壓值,達(dá)到識(shí)別按鍵的目的。圖2.20按鍵檢測(cè)電路原理圖(2)顯示電路在播放器的實(shí)際使用上,為了簡(jiǎn)化操作的難度,故使用了OLED顯示相應(yīng)的內(nèi)容來輔助操作。本次設(shè)計(jì)使用的OLED的控制器為SSD1306,采用IIC方式驅(qū)動(dòng)該液晶屏,由于模塊上已板載了IIC通信所需要的上拉電阻,故此此處不再添加上拉電阻。圖2.21OLED顯示電路原理圖(3)蜂鳴器電路蜂鳴器電路的作用在于提供鬧鐘提醒,當(dāng)時(shí)間達(dá)到默認(rèn)的設(shè)置值時(shí),該報(bào)警電路將持續(xù)蜂鳴一分鐘,然后自動(dòng)關(guān)閉,期間可以觸碰任意按鍵停止鬧鐘。圖2.22蜂鳴器電路原理圖(4)日歷時(shí)鐘電路日歷時(shí)鐘電路采用了PCF8536芯片為播放器提供時(shí)間顯示的功能。這款芯片是PHILPS公司推出的一款工業(yè)級(jí)具有極低功耗的多功能時(shí)鐘/日歷芯片。該芯片具有多種功能,比如報(bào)警功能、定時(shí)器功能、時(shí)鐘輸出功能、以及中斷輸出功能,能完成各種復(fù)雜的定時(shí)器服務(wù),甚至可以為單片機(jī)提供看門狗功能。它被廣泛運(yùn)用于電表、電話、以及便攜式儀器等電子產(chǎn)品領(lǐng)域[[7]趙亮[7]趙亮.跟我學(xué)51單片機(jī)(十二)——實(shí)時(shí)時(shí)鐘/日歷芯片PCF8563[J].電子制作,2011(12):78-81圖2.23日歷時(shí)鐘電路原理圖在實(shí)際的電路中,日歷時(shí)鐘電路外接了32.768KHz外部晶振,為PCF8536芯片提供了穩(wěn)定而準(zhǔn)確的時(shí)鐘信號(hào)。同時(shí),為了芯片在單片機(jī)斷電時(shí)能夠繼續(xù)進(jìn)行時(shí)間的計(jì)算,在芯片外部的電路中設(shè)置了一塊單獨(dú)的紐扣電池,從而為芯片提供穩(wěn)定的電源。2.4本章小結(jié)本章以音樂播放器為出發(fā)點(diǎn),從電子元器件的種類、特性、價(jià)格、和尺寸確定相應(yīng)的電子元器件,從設(shè)計(jì)要求、電子元器件特性確定硬件電路的設(shè)計(jì)。電子元器件的選擇從音樂播放器的使用和設(shè)計(jì)要求上,首先確定的是音樂播放器的音頻解碼芯片,根據(jù)該芯片的數(shù)據(jù)傳輸要求選擇合適的音頻功放芯片,然后從數(shù)據(jù)的傳輸量、內(nèi)存的使用以及引腳的數(shù)量等方面確定微控制處理器,最后選擇一個(gè)符合設(shè)計(jì)要求的手勢(shì)識(shí)別模塊,器件的選擇基本完成[[8]宗穎,張婷婷,葛耿育,樊瑾.基于單片機(jī)的音樂播放器設(shè)計(jì)[J].電腦知識(shí)與技術(shù)[8]宗穎,張婷婷,葛耿育,樊瑾.基于單片機(jī)的音樂播放器設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2018,14(33):254-255硬件電路設(shè)計(jì)可以根據(jù)自己的實(shí)際使用情況以及通過觀看器件的數(shù)據(jù)手冊(cè)上的說明進(jìn)行設(shè)計(jì)。其中,硬件電路中的數(shù)據(jù)檢測(cè)和計(jì)算都是圍繞著微處理器來進(jìn)行的,在進(jìn)行設(shè)計(jì)之前應(yīng)該考慮微處理器的位置以及線路的排布。其次,供電電路為電路提供穩(wěn)定的電源,影響著整個(gè)硬件電路系統(tǒng)的穩(wěn)定和安全,所以供電電路應(yīng)放在第二位來進(jìn)行考慮,接著是其它器件的電路設(shè)計(jì),器件在生產(chǎn)之前廠家都已經(jīng)為用戶考慮好器件的電路設(shè)計(jì),如果不是有特殊要求,默認(rèn)可以參照各個(gè)器件的數(shù)據(jù)手冊(cè)進(jìn)行設(shè)計(jì)。在整個(gè)硬件電路的設(shè)計(jì)過程中,考慮到設(shè)計(jì)的難度以及項(xiàng)目的預(yù)算,部分電路采用了模塊化的設(shè)計(jì)思路如手勢(shì)識(shí)別模塊、OLED顯示模塊,這些模塊使用簡(jiǎn)單,價(jià)格低廉,同時(shí)也縮小的電路板的面積,但是加入了這些模塊使電路整體的設(shè)計(jì)受到影響,電路不夠集成,在日后的改進(jìn)中還有繼續(xù)完善的空間。第三章軟件系統(tǒng)設(shè)計(jì)3.1軟件開發(fā)環(huán)境本次設(shè)計(jì)所使用的開發(fā)軟件為KeilforMDK,該軟件自帶強(qiáng)大的開發(fā)環(huán)境,并集成了多種編譯器,支持ARM公司生產(chǎn)開發(fā)的Cortex-M系列的內(nèi)核處理器,兼容C\C++編程語言,啟動(dòng)代碼不需要自己配置,非常容易上手,大大降低了開發(fā)難度,并提升了開發(fā)的效率。KeilforMDK作為軟件集成開發(fā)環(huán)境,使用流程如下:(1)新建源工程。導(dǎo)入ST公司的STM32F030系列的開發(fā)庫以及配置好的軟件開發(fā)環(huán)境、加載啟動(dòng)代碼等;(2)根據(jù)應(yīng)用需求,設(shè)計(jì)相應(yīng)的C\C++程序代碼(本次設(shè)計(jì)使用C語言作為編程語言);(3)編譯應(yīng)用程序,根據(jù)實(shí)際硬件工作環(huán)境,修改程序中語法或邏輯的BUG,直到不出現(xiàn)錯(cuò)誤為止;(4)調(diào)試與下載程序。本次設(shè)計(jì)采用的是St-link仿真器的SWD下載方法,該下載方式具有硬件設(shè)計(jì)簡(jiǎn)單、占用IO口少(只需要三根線)、支持在線調(diào)試的優(yōu)點(diǎn)。3.2系統(tǒng)程序設(shè)計(jì)本次設(shè)計(jì)以音頻播放功能為基礎(chǔ),系統(tǒng)按用戶的需求進(jìn)行相關(guān)的操作,對(duì)實(shí)時(shí)性的要求較高,為了在單片機(jī)有限的計(jì)算性能內(nèi)提高單片機(jī)的響應(yīng)時(shí)間以及優(yōu)化計(jì)算機(jī)的交互性能,本次設(shè)計(jì)采用分時(shí)系統(tǒng)的時(shí)間調(diào)度(時(shí)間片輪轉(zhuǎn)調(diào)度算法),程序通過定時(shí)器的方式對(duì)各種應(yīng)用的結(jié)構(gòu)數(shù)組進(jìn)行中斷操作。時(shí)間片輪轉(zhuǎn)調(diào)度算法是一種使用廣泛,實(shí)用性較強(qiáng),時(shí)間分配較公平的算法。在算法當(dāng)中,每個(gè)運(yùn)行的時(shí)間周期叫做時(shí)間片,每個(gè)功能按照運(yùn)行時(shí)間和響應(yīng)程度被分為不同的時(shí)間段,并按照時(shí)間的優(yōu)先度進(jìn)行排序,CPU按照順序以時(shí)間片的形式運(yùn)行相關(guān)的進(jìn)程。如果當(dāng)時(shí)間片結(jié)束時(shí)進(jìn)程還在進(jìn)行,則CPU將被剝奪并分配給下一個(gè)進(jìn)程,如果時(shí)間片結(jié)束前進(jìn)程結(jié)束,則該進(jìn)程提前結(jié)束[[9]毛春蘭.基于嵌入式平臺(tái)的可配置界面系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱工業(yè)大學(xué),2011][9]毛春蘭.基于嵌入式平臺(tái)的可配置界面系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱工業(yè)大學(xué),2011圖3.1時(shí)間片輪轉(zhuǎn)調(diào)度圖時(shí)間片設(shè)置的時(shí)間過短會(huì)導(dǎo)致進(jìn)程頻繁切換,設(shè)置的時(shí)間過長(zhǎng)會(huì)引起人機(jī)交互請(qǐng)求的速度變慢,影響播放器的響應(yīng)速度,所以合理的時(shí)間片設(shè)置的時(shí)間應(yīng)略大于時(shí)間最短的進(jìn)程。由上圖可知,時(shí)間最短的是MP3按鍵的進(jìn)程,時(shí)間為3ms,因此本次設(shè)計(jì)選擇的時(shí)間片為10ms。程序初始化后,定時(shí)器按照時(shí)間順序運(yùn)行的進(jìn)程有5個(gè),分別是電池電源檢測(cè)、OLED顯示檢測(cè)、按鍵檢測(cè)、時(shí)鐘檢測(cè)和手勢(shì)檢測(cè)。時(shí)間片時(shí)間片按鍵檢測(cè)手勢(shì)檢測(cè)時(shí)鐘檢測(cè)OLED顯示檢測(cè)電池電源檢測(cè)手勢(shì)檢測(cè)時(shí)鐘檢測(cè)OLED顯示檢測(cè)電池電源檢測(cè)圖3.2時(shí)間片循環(huán)檢測(cè)圖3.3各子程序模塊設(shè)計(jì)3.3.1音頻播放控制程序設(shè)計(jì)(1)音頻播放控制程序流程耳機(jī)檢測(cè)模塊手勢(shì)模塊耳機(jī)檢測(cè)模塊手勢(shì)模塊按鍵模塊單片機(jī)單片機(jī)音頻解碼芯片檢測(cè)耳機(jī)是否插入音頻解碼芯片檢測(cè)耳機(jī)是否插入NY播放其他設(shè)備的內(nèi)容播放TF卡的內(nèi)容下一曲音量減小播放其他設(shè)備的內(nèi)容播放TF卡的內(nèi)容下一曲音量減小音量增大上一曲圖3.3音頻播放控制程序流程圖音頻播放控制程序?qū)⑼獠康陌存I和手勢(shì)模塊發(fā)送的音頻數(shù)據(jù),在單片機(jī)中通過相關(guān)的處理,然后把需要實(shí)現(xiàn)的命令傳入音頻解碼芯片中,從而實(shí)現(xiàn)上一首、下一首、音量增大以及音量減小的操作。通過耳機(jī)檢測(cè)模塊,可以判斷耳機(jī)孔是否插入數(shù)據(jù)線,當(dāng)耳機(jī)孔插入后,檢測(cè)引腳的電平被拉低,單片機(jī)控制音頻解碼芯片暫停播放TF卡里的內(nèi)容,并從耳機(jī)孔中獲得輸入的音頻數(shù)據(jù),通過音頻功放芯片放大信號(hào),從而播放從其他設(shè)備傳來的音頻。(2)音頻播放控制程序設(shè)計(jì)QJ008音頻解碼芯片是一顆串口MP3芯片,它實(shí)現(xiàn)音頻文件的解碼和播放操作,在實(shí)際電路中通過STM32的PA9端口(異步串口通訊模式)發(fā)送指定格式的數(shù)據(jù)幀即可實(shí)現(xiàn)對(duì)芯片的控制,實(shí)現(xiàn)音頻播放控制的功能。單片機(jī)對(duì)音頻解碼芯片發(fā)送的數(shù)據(jù)格式如下所示。表3.1通訊數(shù)據(jù)格式表數(shù)據(jù)傳輸?shù)牟ㄌ芈誓J(rèn)為9600bps,1位停止位,8位數(shù)據(jù)位,無奇偶校驗(yàn)。如音量設(shè)定為30,則發(fā)送:7E03311EEF。(7E為起始地址,03為位長(zhǎng)度,31為指令,1E為音量30,EF為結(jié)束地址)起始位和結(jié)束位是固定不變的,需要改變的位是len、CMD、para1、para2。Len表示操作指令的長(zhǎng)度,通過CMD的類型選擇不同的長(zhǎng)度;CMD表示操作指令;para1是數(shù)據(jù)位1,當(dāng)有特殊指令時(shí)指引芯片操作,通常為音量的選擇和音頻的選擇;para2是數(shù)據(jù)位2,作用與para2相同,只在文件選擇時(shí)指定命令有效,默認(rèn)值設(shè)置為NONE。圖3.4音頻指令函數(shù)圖程序內(nèi)通過指針數(shù)組的形式,將指令寫入音頻解碼芯片的內(nèi)存中。(option為操作的類型,cmd為操作的指令)圖3.5音頻指令程序圖在上圖中,程序通過option的類型確定不同的功能,從而判斷出輸入指令的大小和輸入指令的類別,并將長(zhǎng)度位寫入指定的內(nèi)從地址中,便于其它函數(shù)的調(diào)用和操作。3.3.2手勢(shì)識(shí)別程序設(shè)計(jì)(1)程序通信方式單片機(jī)與手勢(shì)識(shí)別模塊通過I2C協(xié)議進(jìn)行數(shù)據(jù)的交換。單片機(jī)作為主設(shè)備,手勢(shì)識(shí)別模塊作為從設(shè)備,主設(shè)備對(duì)從設(shè)備進(jìn)行數(shù)據(jù)的讀寫。由于I2C通信方式是半雙工方式,在總線工作狀態(tài)下,同一時(shí)間內(nèi)只有一條數(shù)據(jù)線進(jìn)行單向通信,在每個(gè)通信周期中,主設(shè)備與從設(shè)備之間以一個(gè)字節(jié)為單位進(jìn)行數(shù)據(jù)的傳輸;總線空閑狀態(tài)下,上拉電阻拉高串行數(shù)據(jù)接口和串行時(shí)鐘接口,兩者保持高電平狀態(tài)。在I2C總線協(xié)議中,完整的一幀I2C數(shù)據(jù)由9位組成,包括8位數(shù)據(jù)和1位應(yīng)答(ACK);如果是地址數(shù)據(jù),則8位中包含7位地址數(shù)據(jù)和1位讀寫數(shù)據(jù)。主設(shè)備往向設(shè)備中寫入數(shù)據(jù)。數(shù)據(jù)的傳輸格式如下所示:圖3.6I2C通信寫數(shù)據(jù)圖S為起始條件,SlaveID為從設(shè)備ID,W為寫控制位,A為主設(shè)備應(yīng)答位,Address為從設(shè)備寄存器地址,Data為傳輸?shù)臄?shù)據(jù),P為停止位。第一個(gè)應(yīng)答位之前的數(shù)據(jù)是I2C喚醒命令,提供從設(shè)備的身份信息,第一個(gè)和第二個(gè)應(yīng)答位之間的數(shù)據(jù)是從設(shè)備的寄存器地址,第二個(gè)和第n個(gè)應(yīng)答位之間的數(shù)據(jù)是主設(shè)備和從設(shè)備互相傳輸?shù)臄?shù)據(jù)。主設(shè)備向從設(shè)備中讀出數(shù)據(jù)。數(shù)據(jù)的傳輸格式如下:圖3.7I2C通信讀數(shù)據(jù)圖在從設(shè)備產(chǎn)生相應(yīng)的讀信號(hào)時(shí),主設(shè)備從發(fā)送狀態(tài)變成接收狀態(tài),并產(chǎn)生應(yīng)答信號(hào)和時(shí)鐘信號(hào),從設(shè)備從接收狀態(tài)變成發(fā)送狀態(tài)。若要終止本次傳輸,主設(shè)備發(fā)送一個(gè)非應(yīng)答信號(hào)(NAK)給從設(shè)備,接著主設(shè)備產(chǎn)生停止信號(hào),從設(shè)備停止數(shù)據(jù)的傳輸[[10]秦云[10]秦云,李榮,沈曉暉.利用單片機(jī)通用I/O端口建立I~2C總線接口[J].甘肅工業(yè)大學(xué)學(xué)報(bào),2000(04):70-75致謝今年是一個(gè)特殊年份,由于新冠疫情的影響,每個(gè)人的時(shí)間都被迫按下了暫停鍵,受此原因,我從校外實(shí)習(xí)不得不變成待在家里完成畢業(yè)設(shè)計(jì)。然而,現(xiàn)實(shí)并沒有這么順利,在家里完成畢業(yè)設(shè)計(jì)首先就要完成相關(guān)資料的查找、使用設(shè)計(jì)中必要的元器件、工具以及獲得專業(yè)人士的技術(shù)支持,可是在此期間,這些條件變得難上加難,甚至在家里安安靜靜地撰寫論文都要受到父母的“靈魂拷問”,所以,在就業(yè)、生活、實(shí)習(xí)的“三座大山”下,集中注意力完成論文的寫作已然變成了奢望。盡管如此,我的指導(dǎo)老師仍然及時(shí)地發(fā)布論文相關(guān)消息,在群里面積極、熱情地為我們解釋這些消息中我們不懂的地方,發(fā)現(xiàn)問題及時(shí)地幫我們解決,不僅如此,在撰寫論文的過程中,巨細(xì)無遺地提醒我應(yīng)該用什么格式去書寫,在內(nèi)容上應(yīng)該應(yīng)該怎么布局,整個(gè)論文的邏輯思路應(yīng)該怎么去實(shí)現(xiàn),這些都給了我巨大的幫助,甚至在我困倦、懶惰時(shí)鼓勵(lì)我,支持我,并告訴我畢業(yè)設(shè)計(jì)的重要性,使我磕磕碰碰地在三個(gè)月的時(shí)間內(nèi)完成了整個(gè)論文從思路的搭建、內(nèi)容的實(shí)現(xiàn)、實(shí)物的調(diào)試以及論文的書寫的過程。所以,我很感謝指導(dǎo)老師在疫情期間內(nèi)對(duì)我論文的幫助,他的熱情,他的敬業(yè),他的智慧,以及他的無私奉獻(xiàn)最終促成了我論文的實(shí)現(xiàn),我很感謝他。時(shí)光匆匆,大學(xué)四年的時(shí)光不經(jīng)意間過去,我很懷念在教室里上課的日子,老師在課堂上認(rèn)真地講解書本上的內(nèi)容,偶爾夾雜著有趣的笑話;我很懷念課下努力做著作業(yè)的樣子,流著熱汗,風(fēng)從旁而過,吹動(dòng)書頁沙沙;我很懷念在宿舍里和朋友們“開黑”玩王者榮耀,在陽光在線廣場(chǎng)的飯館里吹牛、聊天。那些時(shí)光證明著我涌動(dòng)的青春,年少而又輕狂。我很懷念這些經(jīng)歷過的日子,但是我并不感到遺憾,我不僅課堂上收獲了知識(shí),還在課堂下懂得了做人的道理,以及和同學(xué)們的友誼。我應(yīng)該去感謝在這四年里教導(dǎo)過我的老師,他們嚴(yán)格要求,并以身作則,無怨無悔地向我傳授專業(yè)相關(guān)的知識(shí),賦予我將來立足于社會(huì)的人生道理;我也很感謝那些伴我度過大學(xué)四年的同學(xué)們,我們一起笑過、哭過、感受過、經(jīng)歷過,這并不是一般的感情所能替代的,也許現(xiàn)在我們即將分離,但是我永遠(yuǎn)也不會(huì)忘記那些日子,那些與你們有關(guān)的時(shí)光。今年是一個(gè)比較特殊年份,這一年,我們即將從校園畢業(yè),我們即將走向社會(huì),我們即將開始新一段的人生;也是這一年,新冠病毒爆發(fā),醫(yī)生成了戰(zhàn)士,機(jī)關(guān)干部成了門衛(wèi),老師成了主播,家長(zhǎng)成了班主任,中國人民心系武漢,攜手共抗疫情;同時(shí)也是這年,中國將實(shí)現(xiàn)第一個(gè)百年奮斗目標(biāo),即全面建成小康社會(huì),為實(shí)現(xiàn)“中國夢(mèng)”,為中華民族的偉大復(fù)興打下堅(jiān)實(shí)的基礎(chǔ)。公元2020年,我們這一代中國人將成為祖國的建設(shè)者,用我們的汗水和智慧,為社會(huì)主義現(xiàn)代化添磚加瓦。附錄附錄一:音樂播放器PCB圖1音樂播放器PCB圖附錄二:音樂播放器實(shí)物圖圖2音樂播放器實(shí)物圖主設(shè)備從從設(shè)備中連續(xù)讀數(shù)據(jù)。數(shù)據(jù)的傳輸格式如下所示:圖3.8I2C通信連續(xù)讀數(shù)據(jù)圖圖3.9I2C通信連續(xù)讀數(shù)據(jù)程序圖(2)手勢(shì)識(shí)別程序設(shè)計(jì)圖3.10手勢(shì)識(shí)別中斷標(biāo)志數(shù)據(jù)表根據(jù)PAJ7620模塊數(shù)據(jù)手冊(cè)中關(guān)于斷數(shù)據(jù)的介紹,通過中斷讀取指定位置寄存器的數(shù)據(jù),并把這些數(shù)據(jù)傳輸給單片機(jī),單片機(jī)根據(jù)手勢(shì)識(shí)別的信息進(jìn)行音頻操作的判斷,然后再把要處理的內(nèi)容發(fā)送給QJ008音頻播放芯片,實(shí)現(xiàn)音頻增大音量、減小音量、上一曲、下一曲的功能??偟膩碚f,在進(jìn)行I2C數(shù)據(jù)通信時(shí),串行時(shí)鐘線(SCL)保持固定的脈沖,數(shù)據(jù)開始時(shí)單片機(jī)通過串行數(shù)據(jù)線(SDA)發(fā)送起始信號(hào)作為數(shù)據(jù)傳輸開始的標(biāo)志,接著從手勢(shì)模塊的寄存器地址中將8位手勢(shì)信號(hào)連續(xù)寫入數(shù)組中,并在主程序中進(jìn)行處理,最后發(fā)送結(jié)束信號(hào)作為數(shù)據(jù)傳輸結(jié)束的標(biāo)志結(jié)束數(shù)據(jù)傳輸。圖3.11I2C讀取寄存器程序圖圖3.12主程序處理程序圖1在主程序中處理手勢(shì)識(shí)別信息都可以使用同樣的方法。下圖中手勢(shì)事件是向下(由于手勢(shì)模塊的擺放位置與內(nèi)存中設(shè)置的方向相反,手勢(shì)事件向上對(duì)應(yīng)實(shí)際的手勢(shì)事件向下,向左和向右同理),根據(jù)手勢(shì)識(shí)別中斷標(biāo)志數(shù)據(jù)圖的說明,則程序中GES_UP為0x01,在switch判斷中對(duì)音頻進(jìn)行音量減小的處理。圖3.13主程序處理程序圖23.3.3按鍵程序設(shè)計(jì)(1)按鍵控制流程圖按鍵按下按鍵按下寫進(jìn)內(nèi)存寫進(jìn)內(nèi)存讀鍵值讀鍵值判斷按鍵狀態(tài)判斷按鍵狀態(tài)主程序音頻事件控制主程序音頻事件控制抖動(dòng)按鍵檢測(cè)按鍵檢測(cè)圖3.14按鍵控制流程圖(2)讀鍵值按鍵電路通過按下按鍵連接不同的電阻,電路就產(chǎn)生不同的電壓,單片機(jī)根據(jù)電壓判斷對(duì)應(yīng)的按鍵。由于涉及到模擬量與數(shù)字量之間的轉(zhuǎn)換,單片機(jī)要運(yùn)用到數(shù)模轉(zhuǎn)換器將電壓的模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)。圖3.15ADC_DMA初始化程序圖上圖是按鍵程序的配置函數(shù)。DMA是一種直接與單片機(jī)內(nèi)存交換數(shù)據(jù)的技術(shù),不需要與CPU進(jìn)行數(shù)據(jù)交換,數(shù)據(jù)的傳輸速度取決于存儲(chǔ)器和外設(shè)的數(shù)據(jù)交換的速度,解放了CPU的算力,提高了數(shù)據(jù)傳輸?shù)男室约鞍存I的響應(yīng)速度。在DMA的初始化時(shí)將數(shù)模轉(zhuǎn)換器的寄存器地址ADC->DR作為源地址,單片機(jī)內(nèi)存地址ADC_RES作為目的地址,在數(shù)模轉(zhuǎn)換器的寄存器獲得相關(guān)的電壓數(shù)據(jù)時(shí),將ADC->DR地址內(nèi)的數(shù)據(jù)直接通過DMA通道發(fā)送給單片機(jī)中的ADC_RES地址中,之后在主程序中確認(rèn)不同電壓數(shù)據(jù)對(duì)應(yīng)的按鍵。圖3.16按鍵判斷程序圖由圖2.18可知,當(dāng)不同的按鍵按下時(shí)按鍵電路的電阻發(fā)生改變,其中按鍵K1電路的電阻有1KΩ,按鍵K2電路的電阻有10KΩ,按鍵K3電路的電阻有20KΩ,按鍵K4電路的電阻有30KΩ,又因?yàn)榻?jīng)過按鍵的電壓為3.3V,于是經(jīng)過ADC轉(zhuǎn)換后的數(shù)值分別為100、1650、2200、2475,從而實(shí)現(xiàn)了通過按鍵按下時(shí)的電壓變化,導(dǎo)致了模數(shù)轉(zhuǎn)換值的變化,最終實(shí)現(xiàn)了按鍵識(shí)別的功能。(3)確認(rèn)按鍵狀態(tài)按鍵狀態(tài)主要確認(rèn)是否為自然抖動(dòng)以及判斷長(zhǎng)按或短按。首先,確認(rèn)按鍵是否按下,如果按下則進(jìn)行下一步操作,否則重新進(jìn)行按鍵檢測(cè)。然后,確認(rèn)按鍵是否產(chǎn)生抖動(dòng),如果當(dāng)前的按鍵狀態(tài)與上一個(gè)按鍵狀態(tài)相同,證明按鍵沒有發(fā)生抖動(dòng),進(jìn)行下一步操作,否則重新進(jìn)行按鍵檢測(cè)。接著是確認(rèn)按鍵的長(zhǎng)按或者短按,如果按鍵在當(dāng)前狀態(tài)維持2s,則按鍵為長(zhǎng)按,否則為短按。下圖為確認(rèn)按鍵狀態(tài)程序圖:圖3.17確認(rèn)按鍵狀態(tài)程序圖(4)音頻事件控制圖3.18音頻事件控制程序圖上圖是單片機(jī)判斷音量增大事件的程序,其中,Key_value判斷按鍵的狀態(tài),KEY_Up判斷按鍵的鍵值,其它音頻事件可以通過修改鍵值的判斷,從而做出相應(yīng)的音頻控制操作。3.3.4顯示程序設(shè)計(jì)(1)OLED模塊的通訊方式OLED模塊通過I2C總線與單片機(jī)進(jìn)行通信。其中,OLED模塊與手勢(shì)識(shí)別模塊在單片機(jī)上共用兩個(gè)數(shù)據(jù)引腳,串行數(shù)據(jù)引腳和串行時(shí)鐘引腳。兩個(gè)模塊通過寫入不同的從設(shè)備地址從而使主設(shè)備分別對(duì)從設(shè)備進(jìn)行讀寫操作。I2C通信協(xié)議允許多機(jī)通信,節(jié)省了單片機(jī)的引腳接口,豐富了用戶的模塊選擇,同時(shí)也提高了程序的使用效率。I2C通訊協(xié)議適用于數(shù)據(jù)傳輸量不大、數(shù)據(jù)傳輸距離短、數(shù)據(jù)實(shí)時(shí)性要求高的設(shè)備。(2)OLED顯示的原理和方法OLED模塊在屏幕顯示文字或圖片的原理是,在一個(gè)自定義的寬x長(zhǎng)像素范圍內(nèi)點(diǎn)亮一個(gè)個(gè)屏幕的最小像素點(diǎn),最后將這一個(gè)個(gè)像素點(diǎn)連接形成所需要的文字或者圖片。其中,字體或圖像的位置由像素范圍左上方的像素點(diǎn)決定,并通過PWM調(diào)節(jié)屏幕的亮度。在本次設(shè)計(jì)中,OLED模塊顯示的方法是先從上到下點(diǎn)亮,再從左到右點(diǎn)亮,一位數(shù)據(jù)對(duì)應(yīng)一個(gè)像素點(diǎn)。由于數(shù)據(jù)以字節(jié)的方式傳輸,所以數(shù)據(jù)的排列每列為8位,每行為64的整除數(shù)。文字或圖像可以通過取模軟件來取字?;蛘邎D模。取模之后的文件格式為16進(jìn)制數(shù)組,單個(gè)16進(jìn)制表示點(diǎn)亮單列的像素,多個(gè)16進(jìn)制組成文字或圖像。下面為6x8格式的ASCII碼字符串的字模數(shù)組圖。圖3.206x8格式字模數(shù)組圖單片機(jī)首先發(fā)送光標(biāo)數(shù)據(jù),定位顯示的位置,然后再發(fā)送顯示的數(shù)據(jù),假如有6行,則需要發(fā)送6次數(shù)據(jù)。下圖是OLED模塊的顯示函數(shù),文字或圖像的顯示就是點(diǎn)亮對(duì)應(yīng)的像素點(diǎn)以表示相應(yīng)的內(nèi)容。圖3.196x8格式文字顯示程序圖(3)OLED顯示程序的使用OLED顯示程序使用在開機(jī)進(jìn)度的顯示、日歷的顯示、時(shí)鐘的顯示、溫度的顯示、電量的顯示、鬧鐘設(shè)置的顯示、時(shí)鐘設(shè)置的顯示、休眠設(shè)置的顯示上。3.4本章小結(jié)本章主要描述了音頻播放系統(tǒng)中程序設(shè)計(jì)的部分,如系統(tǒng)的運(yùn)行框架、音頻播放程序的設(shè)計(jì)和外部操作程序的設(shè)計(jì)以及OLED模塊顯示程序的設(shè)計(jì),其它部分如電源程序、溫度程序、內(nèi)存程序、中斷程序、定時(shí)程序、串口程序、耳機(jī)檢測(cè)程序沒有涉及到設(shè)計(jì)要求的部分可以使用例程來實(shí)現(xiàn)。軟件程序是在硬件電路的基礎(chǔ)上實(shí)現(xiàn)預(yù)設(shè)功能的操作,它決定著產(chǎn)品性能的下限。在本次的程序設(shè)計(jì)中,各項(xiàng)功能能夠基本實(shí)現(xiàn),在實(shí)際使用中也滿足設(shè)計(jì)的要求,在后續(xù)的改進(jìn)測(cè)試中,需要優(yōu)化中斷程序,使系統(tǒng)的運(yùn)行更有效率,并對(duì)程序的內(nèi)容進(jìn)行有目的的刪減,刪除重復(fù)的部分。第四章系統(tǒng)測(cè)試4.1系統(tǒng)測(cè)試的內(nèi)容系統(tǒng)測(cè)試是對(duì)設(shè)備在正式使用前進(jìn)行檢測(cè)直到?jīng)]有發(fā)現(xiàn)錯(cuò)誤的過程,測(cè)試的目的是在有限的人力成本和時(shí)間成本下盡可能發(fā)現(xiàn)潛在的各種錯(cuò)誤和缺陷,保證系統(tǒng)正常使用時(shí)的穩(wěn)定和可靠。本次系統(tǒng)調(diào)試的內(nèi)容有顯示及播放測(cè)試、電源電壓測(cè)試、手勢(shì)識(shí)別測(cè)試、系統(tǒng)設(shè)置測(cè)試。4.2系統(tǒng)測(cè)試過程測(cè)試流程總共分為五個(gè)步驟。第一,電源測(cè)試,檢測(cè)電池開機(jī)模式下的充電、工作狀態(tài),觀察電壓、電流是否正常;第二,顯示及播放測(cè)試,檢測(cè)設(shè)備能否正常開機(jī),設(shè)置頁面能夠正常打開,以及音頻是否能夠正常播放;第三,手勢(shì)識(shí)別測(cè)試,手勢(shì)的設(shè)計(jì)分別是上下左后,根據(jù)環(huán)境光線的強(qiáng)弱以及測(cè)試的距離測(cè)試四個(gè)手勢(shì)的識(shí)別成功率,判斷手勢(shì)識(shí)別的使用范圍;第四,系統(tǒng)設(shè)置測(cè)試,通過按鍵去測(cè)試系統(tǒng)的鬧鐘設(shè)置、時(shí)鐘設(shè)置、休眠設(shè)置,觀察設(shè)備是否能正常執(zhí)行相關(guān)的功能。4.2.1電源測(cè)試測(cè)試內(nèi)容:開機(jī)模式下電池放電的電壓,開機(jī)模式下電池充電的電壓。
測(cè)試方法:萬用表直接測(cè)量電池。測(cè)試點(diǎn):電池的正負(fù)極兩端。(1)工作狀態(tài)下電池的電壓預(yù)測(cè)結(jié)果:此時(shí)的電壓應(yīng)為電池所對(duì)應(yīng)的電量。
實(shí)測(cè)結(jié)果:電池電壓為4.1V。
總結(jié):說明電池正常工作且電量充足。(2)充電狀態(tài)下電池的電壓預(yù)測(cè)結(jié)果:電壓有三種可能:第一,在涓流充電過程,電壓低于2.9V;第二,在恒流充電過程,電壓在2.9V和4.2V之間,并且電壓在不斷升高;第三,在恒壓充電過程或者充滿電,電壓固定在4.2V左右。實(shí)測(cè)結(jié)果:充電電壓為4.3V??偨Y(jié):說明電池正在恒壓充電過程或充滿電狀態(tài),充電過程正常。(3)工作狀態(tài)下電池的電流預(yù)測(cè)結(jié)果:根據(jù)662K供電芯片的數(shù)據(jù)手冊(cè),工作狀態(tài)的電池電流應(yīng)大于0mA,小于300mA。實(shí)際結(jié)果:電池的電流為1.92μA??偨Y(jié):工作狀態(tài)下電池的電流運(yùn)作在正常的范圍內(nèi),電池的工作過程正常。(4)充電狀態(tài)下電池的電流預(yù)測(cè)結(jié)果:電流有四種可能:第一,在涓流充電過程,電流在設(shè)定值的1/10C;第二,在恒流充電過程,電流不變,電流在0.2C和1.0C之間;第三,在恒壓充電過程,電流不斷減小,直到為1/10C時(shí),充電電流為0;第四,電池充滿電狀態(tài),電池的漏電流小于2μA。實(shí)際結(jié)果:充電電流為2.08μA??偨Y(jié):電池在滿電狀態(tài),充電過程正常。4.2.2顯示及播放測(cè)試測(cè)試內(nèi)容:開機(jī)時(shí)OLED顯示狀態(tài),設(shè)置頁面能否正常打開。測(cè)試方法:根據(jù)音樂播放器的使用邏輯進(jìn)行操作。測(cè)試點(diǎn):OLED顯示屏能否正常顯示、音樂播放器能否正常開機(jī)、音樂播放器能否播放音頻、手勢(shì)識(shí)別操作能否正常使用、相關(guān)設(shè)置能夠正常設(shè)置并使用。(1)開機(jī)時(shí)OLED顯示狀態(tài)預(yù)測(cè)結(jié)果:打開撥動(dòng)開關(guān)后,OLED屏幕上顯示預(yù)加載的進(jìn)度條,然后進(jìn)入主界面。實(shí)際結(jié)果:屏幕正常顯示預(yù)設(shè)內(nèi)容。圖4.1開機(jī)顯示圖總結(jié):音樂播放器在開機(jī)的時(shí)候能夠按照預(yù)設(shè)的程序進(jìn)行初始化,并在OLED屏幕上正常顯示。(2)設(shè)置頁面預(yù)測(cè)結(jié)果:音樂播放器進(jìn)入主界面后,長(zhǎng)按上一首按鍵進(jìn)入設(shè)置頁面,設(shè)置頁面能正常打開。實(shí)際結(jié)果:鬧鐘設(shè)置、時(shí)間設(shè)置、休眠設(shè)置能夠正常打開并進(jìn)行設(shè)置。圖4.2設(shè)置頁面圖總結(jié):音樂播放器能正常進(jìn)入設(shè)置頁面,并能夠正常設(shè)置相關(guān)的參數(shù)。(3)按鍵播放測(cè)試預(yù)測(cè)結(jié)果:通過按下播放器的上一首按鍵、下一首按鍵、音量加按鍵、音量減按鍵,以及對(duì)應(yīng)的手勢(shì)操作播放器能夠正常播放音頻文件。實(shí)際結(jié)果:?jiǎn)螕羯弦皇装存I播放器播放上一首音樂,單擊下一首按鍵播放器播放下一首音樂,單擊音量加按鍵播放器增大音量,單擊音量減按鍵播放器減小音量,長(zhǎng)按音量減按鍵播放器暫停播放音樂,長(zhǎng)按音量加按鍵播放器繼續(xù)播放音樂??偨Y(jié):音樂播放器能夠正常播放音頻文件。4.2.3手勢(shì)識(shí)別測(cè)試測(cè)試內(nèi)容:測(cè)試不同環(huán)境的上、下、左、右四個(gè)手勢(shì)事件的效果。測(cè)試方法:在音樂播放器開機(jī)狀態(tài)下,OLED顯示在音頻操作窗口,在手勢(shì)識(shí)別模塊的上方進(jìn)行手勢(shì)識(shí)別。測(cè)試點(diǎn):上、下、左、右四個(gè)手勢(shì)事件。(1)測(cè)試手勢(shì)識(shí)別正常條件下的工作效果測(cè)試說明:手勢(shì)識(shí)別模塊的可識(shí)別范圍是5-15cm,為了測(cè)量正常條件下的工作效果,本次實(shí)驗(yàn)的手勢(shì)操作距離模塊10cm,并在光線充足的日光條件下進(jìn)行測(cè)試。圖4.3手勢(shì)識(shí)別測(cè)試圖預(yù)設(shè)條件:手勢(shì)距離模塊10cm,光線充足。預(yù)測(cè)結(jié)果:在手勢(shì)識(shí)別模塊的上方進(jìn)行手勢(shì)操作,向左劃播放器播放上一首音樂,向右劃播放器播放下一首音樂,向上劃播放器增大音量,向下劃播放器減小音量。實(shí)際結(jié)果:與預(yù)測(cè)結(jié)果相同。總結(jié):手勢(shì)識(shí)別模塊正常工作,單片機(jī)能夠?qū)Ψ治鍪謩?shì)識(shí)別模塊傳輸?shù)男畔⑦M(jìn)行,并把操作信息傳輸給音頻解碼芯片進(jìn)行音頻的解碼,或通過音頻功放芯片調(diào)整音量的大小,最后用喇叭進(jìn)行音頻的輸出。(2)測(cè)試手勢(shì)識(shí)別在不同光照下的效果預(yù)設(shè)條件:在手勢(shì)距離模塊10cm的條件下,測(cè)試光線過曝、光線充足、光線陰暗、沒有光線的情況。圖4.4手勢(shì)識(shí)別光線測(cè)試圖預(yù)測(cè)結(jié)果:光線過曝和光線充足都能夠正常識(shí)別手勢(shì)操作,光線陰暗也能識(shí)別手勢(shì)操作,但是識(shí)別有延遲而且識(shí)別率不高,沒有光線不能識(shí)別手勢(shì)操作。實(shí)際結(jié)果:表4.1手勢(shì)識(shí)別光線測(cè)試結(jié)果表編號(hào)光線條件測(cè)試結(jié)果1光線過曝正常識(shí)別手勢(shì)操作2光線充足正常識(shí)別手勢(shì)操作3光線陰暗不能識(shí)別手勢(shì)操作4沒有光線不能識(shí)別手勢(shì)操作總結(jié):手勢(shì)識(shí)別模塊要在光線充足或者光線過曝的條件下才能進(jìn)行手勢(shì)識(shí)別,在光線陰暗或者沒有光線的情況下不能進(jìn)行識(shí)別。(3)測(cè)試不同距離下的手勢(shì)識(shí)別效果預(yù)設(shè)條件:在光線充足的條件下,測(cè)試手勢(shì)操作距離識(shí)別模塊0cm,5cm,10cm,15cm,20cm,25cm的情況。預(yù)測(cè)結(jié)果:手勢(shì)操作在5-15cm能夠正常地識(shí)別,小于5cm或大于15cm不能識(shí)別。實(shí)際結(jié)果:表4.2手勢(shì)識(shí)別距離測(cè)試結(jié)果表編號(hào)距離條件測(cè)試結(jié)果10cm正常識(shí)別手勢(shì)操作25cm正常識(shí)別手勢(shì)操作310cm正常識(shí)別手勢(shì)操作415cm正常識(shí)別手勢(shì)操作520cm識(shí)別不靈敏,有時(shí)能夠識(shí)別,大部分時(shí)間不能識(shí)別625cm不能識(shí)別手勢(shì)操作總結(jié):手勢(shì)操作在0-15cm能夠正常識(shí)別,15-20cm識(shí)別不靈敏,識(shí)別距離大于20cm不能進(jìn)行手勢(shì)識(shí)別。4.2.4系統(tǒng)設(shè)置測(cè)試測(cè)試內(nèi)容:通過按鍵去測(cè)試系統(tǒng)的鬧鐘設(shè)置、時(shí)鐘設(shè)置、休眠設(shè)置,觀察設(shè)備是否能正常執(zhí)行相關(guān)的功能。測(cè)試方法:通過操作音樂播放器的四個(gè)按鍵,并觀察屏幕的信息或者播放器的反饋。其中,在主菜單中長(zhǎng)按上一曲按鍵進(jìn)入設(shè)置選擇菜單,音量鍵加、減切換需要設(shè)置的項(xiàng)目,單擊上一曲按鍵確認(rèn)進(jìn)入;在鬧鐘設(shè)置菜單、時(shí)鐘設(shè)置菜單、休眠設(shè)置菜單中,單擊音量鍵加、減設(shè)置對(duì)應(yīng)的時(shí)間,單擊上一曲按鍵進(jìn)行小時(shí)、分鐘的切換,設(shè)置好時(shí)間后,長(zhǎng)按上一曲按鍵進(jìn)行保存,單擊下一曲按鍵退出設(shè)置菜單。測(cè)試點(diǎn):鬧鐘設(shè)置、時(shí)鐘設(shè)置、休眠設(shè)置。(1)鬧鐘設(shè)置預(yù)設(shè)條件:鬧鐘設(shè)置的時(shí)間為當(dāng)前時(shí)間的后一分鐘。預(yù)測(cè)結(jié)果:蜂鳴器在一分鐘之后鳴響,觸碰任意按鍵關(guān)閉。實(shí)際結(jié)果:蜂鳴器在預(yù)設(shè)的時(shí)間進(jìn)行鳴響,沒有觸碰的情況下一分鐘后自動(dòng)停止,在觸碰任意按鍵時(shí),鳴響停止??偨Y(jié):鬧鐘功能正常工作。(2)時(shí)鐘設(shè)置預(yù)設(shè)條件:時(shí)鐘設(shè)置的時(shí)間為當(dāng)前時(shí)間的后一個(gè)小時(shí)。預(yù)測(cè)結(jié)果:屏幕上的時(shí)間更改為當(dāng)前時(shí)間的后個(gè)一小時(shí)。實(shí)際結(jié)果:屏幕的時(shí)間改變?yōu)楫?dāng)前時(shí)間的后一個(gè)小時(shí)。總結(jié):時(shí)鐘功能正常工作。(3)休眠設(shè)置預(yù)設(shè)條件:休眠設(shè)置的時(shí)間為當(dāng)前時(shí)間的后一分鐘。預(yù)測(cè)結(jié)果:播放器在一分鐘后休眠。實(shí)際結(jié)果:播放器在一分鐘后休眠??偨Y(jié):休眠功能正常工作。4.3本章小結(jié)本章主要測(cè)試了音樂播放器的基礎(chǔ)功能的實(shí)現(xiàn),測(cè)試的結(jié)果是播放器能夠正常地工作。由于前述兩章描述硬件電路設(shè)計(jì)和軟件程序設(shè)計(jì),本章的研究概括了前面兩章的內(nèi)容,重點(diǎn)是軟硬件功能的實(shí)現(xiàn)。軟件設(shè)計(jì)的缺陷或是硬件設(shè)計(jì)的缺陷都會(huì)導(dǎo)致最終成品的缺陷,所以,測(cè)試音樂播放器的基礎(chǔ)功能是有必要的。本章研究的內(nèi)容主要有電源測(cè)試、顯示及播放測(cè)試、手勢(shì)識(shí)別測(cè)試、系統(tǒng)設(shè)置測(cè)試。測(cè)試的結(jié)果為音樂播放器在特定的條件下,能夠正常執(zhí)行音頻播放、手勢(shì)操作、系統(tǒng)測(cè)試的基礎(chǔ)功能。結(jié)論本設(shè)計(jì)研究的內(nèi)容是基于單片機(jī)的手勢(shì)識(shí)別音樂播放器,研究的難點(diǎn)是硬件電路和相關(guān)程序的設(shè)計(jì),并且在普通音樂播放器的基礎(chǔ)上增添了手勢(shì)操作的功能,方便了用戶的操作和使用。音樂播放器以STM32芯片為核心芯片,通過手勢(shì)識(shí)別模塊、音頻解碼芯片、音頻功放芯片、電源穩(wěn)壓芯片等部分組成。本設(shè)計(jì)能夠?qū)崿F(xiàn)播放TF卡中存放的音頻文件,并且能夠通過手勢(shì)操作實(shí)現(xiàn)音量增加、音量減小、上一曲、下一曲的功能,最后將相關(guān)的信息顯示在OLED屏幕上。在保證能夠?qū)崿F(xiàn)上述的基礎(chǔ)功能外,本次設(shè)計(jì)還盡量縮小了音樂播放器的尺寸,提升了產(chǎn)品的便攜性。另一方面,由于硬件空間設(shè)計(jì)和布局的不合理,導(dǎo)致了部分模塊放置的空間受阻,硬件布局過于臃腫,還有成本的制約,出現(xiàn)了音頻文件存儲(chǔ)容量不足、音頻播放質(zhì)量受損、無法顯示漢字等問題。今后改進(jìn)的方向是選購更加流行以及操作更為簡(jiǎn)單的音頻解碼芯片,并優(yōu)化音樂播放器的硬件布局,使元器件的排布更加整齊緊湊,最后加強(qiáng)音樂播放器的使用功能,增加耳機(jī)播放的功能和顯示音頻文件名稱的功能。參考文獻(xiàn)
ExcelXP的八則快速輸入技巧如果我們?cè)谟肊xcelXP處理龐大的數(shù)據(jù)信息時(shí),不注意講究技巧和方法的話,很可能會(huì)花費(fèi)很大的精力。因此如何巧用ExcelXP,來快速輸入信息就成為各個(gè)ExcelXP用戶非常關(guān)心的話題,筆者向大家介紹幾則這方面的小技巧。1、快速輸入大量含小數(shù)點(diǎn)的數(shù)字如果我們需要在ExcelXP工作表中輸入大量的帶有小數(shù)位的數(shù)字時(shí),按照普通的輸入方法,我們可能按照數(shù)字原樣大小直接輸入,例如現(xiàn)在要在單元格中輸入0.05這個(gè)數(shù)字時(shí),我們會(huì)把“0.05”原樣輸入到表格中。不過如果需要輸入若干個(gè)帶有小數(shù)點(diǎn)的數(shù)字時(shí),我們?cè)侔凑丈厦娴姆椒ㄝ斎氲脑挘看屋斎霐?shù)字時(shí)都需要重復(fù)輸入小數(shù)點(diǎn),這樣工作量會(huì)變大,輸入效率會(huì)降低。其實(shí),我們可以使用ExcelXP中的小數(shù)點(diǎn)自動(dòng)定位功能,讓所有數(shù)字的小數(shù)點(diǎn)自動(dòng)定位,從而快速提高輸入速度。在使用小數(shù)點(diǎn)自動(dòng)定位功能時(shí),我們可以先在ExcelXP的編輯界面中,用鼠標(biāo)依次單擊“工具”/“選項(xiàng)”/“編輯”標(biāo)簽,在彈出的對(duì)話框中選中“自動(dòng)設(shè)置小數(shù)點(diǎn)”復(fù)選框,然后在“位數(shù)”微調(diào)編輯框中鍵入需要顯示在小數(shù)點(diǎn)右面的位數(shù)就可以了。以后我們?cè)佥斎霂в行?shù)點(diǎn)的數(shù)字時(shí),直接輸入數(shù)字,而小數(shù)點(diǎn)將在回車鍵后自動(dòng)進(jìn)行定位。例如,我們要在某單元格中鍵入0.06的話,可以在上面的設(shè)置中,讓“位數(shù)”選項(xiàng)為2,然后直接在指定單元格中輸入6,回車以后,該單元格的數(shù)字自動(dòng)變?yōu)椤?.06”,怎么樣簡(jiǎn)單吧?2、快速錄入文本文件中的內(nèi)容現(xiàn)在您手邊假如有一些以純文本格式儲(chǔ)存的文件,如果此時(shí)您需要將這些數(shù)據(jù)制作成ExcelXP的工作表,那該怎么辦呢?重新輸入一遍,大概只有頭腦有毛病的人才會(huì)這樣做;將菜單上的數(shù)據(jù)一個(gè)個(gè)復(fù)制/粘貼到工作表中,也需花很多時(shí)間。沒關(guān)系!您只要在ExcelXP中巧妙使用其中的文本文件導(dǎo)入功能,就可以大大減輕需要重新輸入或者需要不斷復(fù)制、粘貼的巨大工作量了。使用該功能時(shí),您只要在ExcelXP編輯區(qū)中,依次用鼠標(biāo)單擊菜單欄中的“數(shù)據(jù)/獲取外部數(shù)據(jù)/導(dǎo)入文本文件”命令,然后在導(dǎo)入文本會(huì)話窗口選擇要導(dǎo)入的文本文件,再按下“導(dǎo)入”鈕以后,程序會(huì)彈出一個(gè)文本導(dǎo)入向?qū)?duì)話框,您只要按照向?qū)У奶崾具M(jìn)行操作,就可以把以文本格式的數(shù)據(jù)轉(zhuǎn)換成工作表的格式了。3、快速輸入大量相同數(shù)據(jù)如果你希望在不同的單元格中輸入大量相同的數(shù)據(jù)信息,那么你不必逐個(gè)單元格一個(gè)一個(gè)地輸入,那樣需要花費(fèi)好長(zhǎng)時(shí)間,而且還比較容易出錯(cuò)。你可以通過下面的操作方法在多個(gè)相鄰或不相鄰的單元格中快速填充同一個(gè)數(shù)據(jù),具體方法為:首先同時(shí)選中需要填充數(shù)據(jù)的單元格。若某些單元格不相鄰,可在按住Ctrl鍵的同時(shí),點(diǎn)擊鼠標(biāo)左鍵,逐個(gè)選中;其次輸入要填充的某個(gè)數(shù)據(jù)。按住Ctrl鍵的同時(shí),按回車鍵,則剛才選中的所有單元格同時(shí)填入該數(shù)據(jù)。4、快速進(jìn)行中英文輸入法切換一張工作表常常會(huì)既包含有數(shù)字信息,又包含有文字信息,要錄入這樣一種工作表就需要我們不斷地在中英文之間反復(fù)切換輸入法,非常麻煩,為了方便操作,我們可以用以下方法實(shí)現(xiàn)自動(dòng)切換:首先用鼠標(biāo)選中需要輸入中文的單元格區(qū)域,然后在輸入法菜單中選擇一個(gè)合適的中文輸入法;接著打開“有效數(shù)據(jù)”對(duì)話框,選中“IME模式”標(biāo)簽,在“模式”框中選擇打開,單擊“確定”按鈕;然后再選中輸入數(shù)字的單元格區(qū)域,在“有效數(shù)據(jù)”對(duì)話框中,單擊“IME模式”選項(xiàng)卡,在“模式”框中選擇關(guān)閉
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級(jí)下冊(cè)數(shù)學(xué)教案 - 第三單元 第一節(jié)【第一課時(shí)】 數(shù)一數(shù)(一)(認(rèn)識(shí)并感受“千”1)北師大版
- 2025年師范大學(xué)協(xié)議管理辦法
- 勞動(dòng)協(xié)議:勞務(wù)分包協(xié)議(2025年版)
- 2024年水利機(jī)械項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2024年高性能陶瓷刀具材料項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 全國清華版信息技術(shù)小學(xué)三年級(jí)上冊(cè)新授課 第11課 智能輸詞句-詞組和整句輸入 教學(xué)設(shè)計(jì)
- 2025年度手房交易資金監(jiān)管補(bǔ)充協(xié)議
- 2025年度大米產(chǎn)業(yè)投資基金簡(jiǎn)易合作協(xié)議
- 2025年度商標(biāo)同授權(quán)及品牌授權(quán)許可合同
- 二零二五年度網(wǎng)紅直播帶貨營(yíng)銷推廣服務(wù)合同
- 2025初級(jí)社會(huì)工作實(shí)務(wù)考試要點(diǎn)速記
- (正式版)CB∕T 4553-2024 船舶制造艙室封艙及密性試驗(yàn)作業(yè)安全管理規(guī)定
- 2022松江JB-9102BA火災(zāi)報(bào)警控制器(聯(lián)動(dòng)型)
- 學(xué)校食堂食品安全主體責(zé)任風(fēng)險(xiǎn)管控清單(日管控)
- 肛瘺患者的護(hù)理查房
- 2023-2024學(xué)年河北省涿州市實(shí)驗(yàn)中學(xué)中考數(shù)學(xué)模試卷含解析
- 國防動(dòng)員教案
- 湖北省武漢市江岸區(qū)2024年七年級(jí)下學(xué)期期末數(shù)學(xué)試題附答案
- 2024-2034年中國藏香豬養(yǎng)殖行業(yè)市場(chǎng)深度分析及發(fā)展?jié)摿︻A(yù)測(cè)報(bào)告
- 罪犯?jìng)€(gè)性分測(cè)驗(yàn)
- 辦公室職業(yè)健康業(yè)務(wù)培訓(xùn)
評(píng)論
0/150
提交評(píng)論