找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5049|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

STC8A8K64S4A12單片機播放badapple(帶聲音)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:351097 發(fā)表于 2020-2-19 20:31 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
    “有屏幕的地方,就有壞蘋果”,足以說明壞蘋果的流行。壞蘋果搭配的視頻是黑白風(fēng)格的,特別適合單色屏來顯示。單片機有不少好玩的東東,壞蘋果就是其中一個。下面我簡單介紹一下自己用STC8A8K64S4A12單片機演示壞蘋果的過程。
    這次用到的硬件有:STC8A8K64S4A12單片機、0.96寸 OLED、SD卡槽和VS1053音頻解碼IC。首先,我們需要下載一個壞蘋果的視頻文件,這個視頻文件網(wǎng)上很容易找到,就不貼鏈接了。STC8A8K64S4A12單片機的性能不高,不能用于軟解視頻文件。不過,STC8A8K64S4A12單片機驅(qū)動OLED顯示圖片還是綽綽有余的。需要把視頻畫面截取成多個畫面,我用PotPlayer軟件,選擇視頻-連續(xù)截取畫面,在尺寸設(shè)置欄目,設(shè)置截取為自定義尺寸128×64,在格式設(shè)置欄目,設(shè)置BMP,在截圖設(shè)置欄目,設(shè)置采集數(shù)量9999,設(shè)置按幀間隔 每幀1。
    截取完成后,能截取處多張BMP格式的圖片。此時的BMP圖片不是純粹的單色灰度,帶有不少其他信息,為了把這部分信息剔除,用Image2Lcd軟件,將BMP圖片批量轉(zhuǎn)換成單色的BMP圖片。

    這樣,每張圖片大小為1084個字節(jié),前面60個字節(jié)是BMP的文件大小、分辨率等信息,后面1024個字節(jié)是像素信息,對應(yīng)128×64分辨率。PC端的BMP圖片顯示順序是列:左→右,行:下→上。以根據(jù)這個特點,寫B(tài)MP圖片顯示的處理函數(shù)時,要最先填充第七頁的128個數(shù)據(jù),然后是第六頁···直到第零頁的128個數(shù)據(jù)。為了方便單片機讀取圖片數(shù)據(jù),我將所有的BMP文件復(fù)制合并為一個bin文件。合并的方法也很簡單,將所有的BMP文件復(fù)制到SD中,利用開源fatfs文件系統(tǒng),讓單片機每次加載BMP內(nèi)的數(shù)據(jù),再寫入到一個合并bin文件的末尾。經(jīng)過多輪操作后,就可以完成所有的BMP文件的合并。
   壞蘋果的音頻也是用PotPlayer軟件獲取,選擇聲音-音軌-聲音錄制,格式設(shè)置欄目,選擇格式:MP3,質(zhì)量:128kbps。這樣就能得到MP3格式壞蘋果音頻文件了。音頻數(shù)據(jù)的解碼是用VS1053,單片機將音頻數(shù)據(jù)流傳輸給VS1053,VS1053就能自動識別和解碼,非常方便。

    經(jīng)過上面的步驟,現(xiàn)在已經(jīng)有了一個合并的bin圖像文件和一個mp3音頻文件,把這兩個文件放在SD卡的根目錄下面。接下來就是數(shù)據(jù)的顯示處理了。要實現(xiàn)同時帶動畫和聲音的壞蘋果,需要在每輪依次讀取圖像數(shù)據(jù)和音頻數(shù)據(jù),然后驅(qū)動OLED顯示和VS1053。程序?qū)崿F(xiàn)方面我就不細講了,代碼有注釋。
    下面是演示視頻的鏈接地址:https://v.youku.com/v_show/id_XN ... 42.soresults.dtitle
    下面badapple工程圖

    下面是硬件實物圖


    相關(guān)工程和文件會傳到附錄中,需要的可以下載。

badapple.rar

4.92 MB, 下載次數(shù): 89, 下載積分: 黑幣 -5

工程相關(guān)文件

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:614559 發(fā)表于 2020-5-4 22:16 | 只看該作者
蛤,剛剛拿了個8A8K,想學(xué)習(xí)一下放個壞蘋果,上網(wǎng)搜搜看看有沒有蜂鳴器的代碼,結(jié)果連屏幕的播放都做好了。感謝樓主,拿走學(xué)習(xí)。!
回復(fù)

使用道具 舉報

板凳
ID:351097 發(fā)表于 2020-5-7 00:06 | 只看該作者
kongchengEC 發(fā)表于 2020-5-4 22:16
蛤,剛剛拿了個8A8K,想學(xué)習(xí)一下放個壞蘋果,上網(wǎng)搜搜看看有沒有蜂鳴器的代碼,結(jié)果連屏幕的播放都做好了。 ...

多謝支持
回復(fù)

使用道具 舉報

地板
ID:701852 發(fā)表于 2020-11-28 11:37 | 只看該作者
iar版本低了 打不開 能發(fā)一份低版本的嗎
回復(fù)

使用道具 舉報

5#
ID:701852 發(fā)表于 2021-4-2 17:41 | 只看該作者
電路圖能發(fā)一份嗎
回復(fù)

使用道具 舉報

6#
ID:105845 發(fā)表于 2023-3-16 15:30 | 只看該作者
看看能不能移植到其它STC上
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表