|
“有屏幕的地方,就有壞蘋果”,足以說明壞蘋果的流行。壞蘋果搭配的視頻是黑白風(fēng)格的,特別適合單色屏來顯示。單片機(jī)有不少好玩的東東,壞蘋果就是其中一個(gè)。下面我簡單介紹一下自己用STC8A8K64S4A12單片機(jī)演示壞蘋果的過程。
這次用到的硬件有:STC8A8K64S4A12單片機(jī)、0.96寸 OLED、SD卡槽和VS1053音頻解碼IC。首先,我們需要下載一個(gè)壞蘋果的視頻文件,這個(gè)視頻文件網(wǎng)上很容易找到,就不貼鏈接了。STC8A8K64S4A12單片機(jī)的性能不高,不能用于軟解視頻文件。不過,STC8A8K64S4A12單片機(jī)驅(qū)動(dòng)OLED顯示圖片還是綽綽有余的。需要把視頻畫面截取成多個(gè)畫面,我用PotPlayer軟件,選擇視頻-連續(xù)截取畫面,在尺寸設(shè)置欄目,設(shè)置截取為自定義尺寸128×64,在格式設(shè)置欄目,設(shè)置BMP,在截圖設(shè)置欄目,設(shè)置采集數(shù)量9999,設(shè)置按幀間隔 每幀1。
截圖參數(shù).JPG (51.98 KB, 下載次數(shù): 75)
下載附件
2020-2-19 18:29 上傳
截取完成后,能截取處多張BMP格式的圖片。此時(shí)的BMP圖片不是純粹的單色灰度,帶有不少其他信息,為了把這部分信息剔除,用Image2Lcd軟件,將BMP圖片批量轉(zhuǎn)換成單色的BMP圖片。
截圖轉(zhuǎn)換.JPG (71.52 KB, 下載次數(shù): 73)
下載附件
2020-2-19 18:29 上傳
這樣,每張圖片大小為1084個(gè)字節(jié),前面60個(gè)字節(jié)是BMP的文件大小、分辨率等信息,后面1024個(gè)字節(jié)是像素信息,對應(yīng)128×64分辨率。PC端的BMP圖片顯示順序是列:左→右,行:下→上。以根據(jù)這個(gè)特點(diǎn),寫B(tài)MP圖片顯示的處理函數(shù)時(shí),要最先填充第七頁的128個(gè)數(shù)據(jù),然后是第六頁···直到第零頁的128個(gè)數(shù)據(jù)。為了方便單片機(jī)讀取圖片數(shù)據(jù),我將所有的BMP文件復(fù)制合并為一個(gè)bin文件。合并的方法也很簡單,將所有的BMP文件復(fù)制到SD中,利用開源fatfs文件系統(tǒng),讓單片機(jī)每次加載BMP內(nèi)的數(shù)據(jù),再寫入到一個(gè)合并bin文件的末尾。經(jīng)過多輪操作后,就可以完成所有的BMP文件的合并。
壞蘋果的音頻也是用PotPlayer軟件獲取,選擇聲音-音軌-聲音錄制,格式設(shè)置欄目,選擇格式:MP3,質(zhì)量:128kbps。這樣就能得到MP3格式壞蘋果音頻文件了。音頻數(shù)據(jù)的解碼是用VS1053,單片機(jī)將音頻數(shù)據(jù)流傳輸給VS1053,VS1053就能自動(dòng)識別和解碼,非常方便。
音頻.JPG (31.97 KB, 下載次數(shù): 71)
下載附件
2020-2-19 18:29 上傳
經(jīng)過上面的步驟,現(xiàn)在已經(jīng)有了一個(gè)合并的bin圖像文件和一個(gè)mp3音頻文件,把這兩個(gè)文件放在SD卡的根目錄下面。接下來就是數(shù)據(jù)的顯示處理了。要實(shí)現(xiàn)同時(shí)帶動(dòng)畫和聲音的壞蘋果,需要在每輪依次讀取圖像數(shù)據(jù)和音頻數(shù)據(jù),然后驅(qū)動(dòng)OLED顯示和VS1053。程序?qū)崿F(xiàn)方面我就不細(xì)講了,代碼有注釋。
下面是演示視頻的鏈接地址:https://v.youku.com/v_show/id_XN ... 42.soresults.dtitle
下面badapple工程圖
工程.JPG (142.16 KB, 下載次數(shù): 87)
下載附件
2020-2-19 18:29 上傳
下面是硬件實(shí)物圖
實(shí)物圖.jpg (3.45 MB, 下載次數(shù): 76)
下載附件
2020-2-19 18:30 上傳
相關(guān)工程和文件會(huì)傳到附錄中,需要的可以下載。
|
-
-
badapple.rar
2020-2-19 20:29 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
4.92 MB, 下載次數(shù): 89, 下載積分: 黑幣 -5
工程相關(guān)文件
|