找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3991|回复: 5
打印 上一主题 下一主题
收起左侧

STC8A8K64S4A12单片机播放badapple(带声音)

[复制链接]
跳转到指定楼层
楼主
    “有屏幕的地方,就有坏苹果”,足以说明坏苹果的流行。坏苹果搭配的视频是黑白风格的,特别适合单色屏来显示。单片机有不少好玩的东东,坏苹果就是其中一个。下面我简单介绍一下自己用STC8A8K64S4A12单片机演示坏苹果的过程。
    这次用到的硬件有:STC8A8K64S4A12单片机、0.96寸 OLED、SD卡槽和VS1053音频解码IC。首先,我们需要下载一个坏苹果的视频文件,这个视频文件网上很容易找到,就不贴链接了。STC8A8K64S4A12单片机的性能不高,不能用于软解视频文件。不过,STC8A8K64S4A12单片机驱动OLED显示图片还是绰绰有余的。需要把视频画面截取成多个画面,我用PotPlayer软件,选择视频-连续截取画面,在尺寸设置栏目,设置截取为自定义尺寸128×64,在格式设置栏目,设置BMP,在截图设置栏目,设置采集数量9999,设置按帧间隔 每帧1。
    截取完成后,能截取处多张BMP格式的图片。此时的BMP图片不是纯粹的单色灰度,带有不少其他信息,为了把这部分信息剔除,用Image2Lcd软件,将BMP图片批量转换成单色的BMP图片。

    这样,每张图片大小为1084个字节,前面60个字节是BMP的文件大小、分辨率等信息,后面1024个字节是像素信息,对应128×64分辨率。PC端的BMP图片显示顺序是列:左→右,行:下→上。以根据这个特点,写BMP图片显示的处理函数时,要最先填充第七页的128个数据,然后是第六页···直到第零页的128个数据。为了方便单片机读取图片数据,我将所有的BMP文件复制合并为一个bin文件。合并的方法也很简单,将所有的BMP文件复制到SD中,利用开源fatfs文件系统,让单片机每次加载BMP内的数据,再写入到一个合并bin文件的末尾。经过多轮操作后,就可以完成所有的BMP文件的合并。
   坏苹果的音频也是用PotPlayer软件获取,选择声音-音轨-声音录制,格式设置栏目,选择格式:MP3,质量:128kbps。这样就能得到MP3格式坏苹果音频文件了。音频数据的解码是用VS1053,单片机将音频数据流传输给VS1053,VS1053就能自动识别和解码,非常方便。

    经过上面的步骤,现在已经有了一个合并的bin图像文件和一个mp3音频文件,把这两个文件放在SD卡的根目录下面。接下来就是数据的显示处理了。要实现同时带动画和声音的坏苹果,需要在每轮依次读取图像数据和音频数据,然后驱动OLED显示和VS1053。程序实现方面我就不细讲了,代码有注释。
    下面是演示视频的链接地址:https://v.youku.com/v_show/id_XN ... 42.soresults.dtitle
    下面badapple工程图

    下面是硬件实物图


    相关工程和文件会传到附录中,需要的可以下载。

badapple.rar

4.92 MB, 下载次数: 89, 下载积分: 黑币 -5

工程相关文件

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:614559 发表于 2020-5-4 22:16 | 只看该作者
蛤,刚刚拿了个8A8K,想学习一下放个坏苹果,上网搜搜看看有没有蜂鸣器的代码,结果连屏幕的播放都做好了。感谢楼主,拿走学习!!!
回复

使用道具 举报

板凳
ID:351097 发表于 2020-5-7 00:06 | 只看该作者
kongchengEC 发表于 2020-5-4 22:16
蛤,刚刚拿了个8A8K,想学习一下放个坏苹果,上网搜搜看看有没有蜂鸣器的代码,结果连屏幕的播放都做好了。 ...

多谢支持
回复

使用道具 举报

地板
ID:701852 发表于 2020-11-28 11:37 | 只看该作者
iar版本低了 打不开 能发一份低版本的吗
回复

使用道具 举报

5#
ID:701852 发表于 2021-4-2 17:41 | 只看该作者
电路图能发一份吗
回复

使用道具 举报

6#
ID:105845 发表于 2023-3-16 15:30 | 只看该作者
看看能不能移植到其它STC上
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表