一、播放功能模块
MP3播放模块分为两部分:其一为循环播放,初始化时读出歌曲在Flash中的首地址与页数,此后解码器持续向CPU请求数据直至歌曲结束,仅键盘操作可提前终止;其二为中断服务,配合键盘实现后退、前跳、切歌、音量控制等操作。因AT89C51SND1C无外部中断引脚,USB中断无独立向量入口,故USB通讯固件采用查询方式。
二、FAT文件格式
为使存储器可被计算机直接识别,系统采用FAT文件系统,卷由保留区、FAT区、根目录区与数据区四部分组成。保留区首扇区为BPB引导扇区,保存文件系统识别信息;FAT区以16位表项记录簇的占用与链接关系,实现文件链式存储;根目录区每目录项32字节,记录文件名、属性、首簇号等信息;数据区为文件实际内容存放处。
三、总结
MPEG Layer III解码算法已在AT89C51SND1C上验证通过,经优化可流畅播放,但受51内核性能限制,缓冲时可能出现停顿。该最小系统已具备便携式MP3播放器基本功能,且芯片支持LCD与IDE接口扩展,可进一步构成更复杂的系统。
