文章目录

  • 1 简介
  • 2 主要器件
  • 3 实现效果
  • 4 设计原理
    • 核心算法:音频解码流程
  • 5 部分实现代码
  • 6 最后

1 简介

Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目

基于单片机的MP3设计与实现

大家可用于 课程设计 或 毕业设计

单片机-嵌入式毕设选题大全及项目分享:

https://blog.csdn.net/m0_71572576/article/details/125409052

2 主要器件

对于便携式 MP3 系统, 主要考虑的是其体积小巧、 低功耗、 高容量、 低价格, 一个 MP3 播放器主要应包括:

  • (1) 单片机控制系统
  • (2) 大容量的移动存储设备
  • (3) MP3 解码器
  • (4) D/A 转换芯片
  • (5) 音频放大电路
  • (6) USB 接口
  • (7) LCD 显示和键盘电路

3 实现效果

4 设计原理

学长主要实现一个 MP3 播放器的功能, 由于涉及文件传输和存储问题, 所以附带需要实现 USB 存储器的功能。 整个系统由 AT89C51SND1C(MCU)、 K9F2808U0A(Flash 芯片), 电源部分、 音频部分、 串行通信部分和人机接口部分组成。

  • MCU 部分: 控制整个系统, 提供 USB 控制和 MP3 解码功能;
  • Flash 芯片: 存放系统文件;
  • 电源部分: 提供系统工作所需要的电源, 包括 1 个升压和 1 个降压部分;
  • 音频部分: 把数据流转化为声音信号;
  • 人机接口部分: 包括按键和 LED 指示等等

为了方便调试, 系统中还提供了串行通信部分, 在这个部分中主要详细介绍电源、
音频部分。

  • 电源部分: 整个开发板上所有芯片统一采用 3. 3 伏供电, 对开发板的供电采取 2
    种形式: USB 供电和 7 号电池供电。

  • USB 供电模式: USB 供电参数如下: USB 接口提供 5V 电压和 200mA 电流, Imax=500mA;

  • PC 机为 500mA; 笔记本电脑为 100mA。

核心算法:音频解码流程

5 部分实现代码

解码程序
头文件
#define unit nusingned int
#define uchar unsingned char
#define MP3_ON 1
#define MP3_OFF 0
Bit MP3 _Switch
Uchar Key_Vol
Uchar Key_Bas
Uchar Key_Med
Uchar Key_Tre
//以上为键盘读入的声音控制参数
//MP3COM 寄存器内部位定义
sbit MPEN=MP3CON^7
sbit MPBBST= MP3CON^6
sbit CRCET=MP3CON^5
sbit MSKANC=MP3CON^4
sbit MSKREQ=MP3CON^3
sbit MSKLAY=MP3CON^2
sbit MSKSYN=MP3CON^1
sbit MSKCRC=MP3CON^0
//MP2STA1 寄存器内部位定义
sbit MPFREQ=MP3STA1^4
sbit MPFREQ=MP3STA1^3
Mp3_Reg_Init();
Mp3_Data_Input();
Mp3_Error_Del()
Mp3_Clk_Set()
Mp3_Audio_Contr()
Mp3_AncData_Del()
void Mp3_Int_Del()
解码程序
#include<mp3_contr.h>
#include<regsnd1.h>
Mp3_Reg_Init()
{If(MP3_Switch= = MP3_ON)
{ MP3CON=0xBF;
}
else MP3CON=px3F;
}
MP3_Data_Input()
{If ((MPFREQ= =1 )&&(MPBREQ= =1)= =1)
{MP3DAT= MP3_Data;
}
}
MP3_Error_Del()
{If(ERRLAY= =1)
{//提示
}
If(ERRCRC= =1)
{// go on
}
//以上两部分对应的错误提示用户可以自行根据系统进行设置
If(ERRSYN= =1)
{MP3_Data_Input();
}
}
MP3_Clk_Set()
{If(MPVER= =1)
{MP3CLK=0
}
Else
{MP3CLK=1;
}
}
MP3_Audio_Contr()
{MP3VOL = Key_Vol;
MP3VOLR= Key_Yol;
MP3MED = Key_Med;
MP3TRE = Key_Tre;
MP3BAS = Key_Bas;
}
MP3_AncData_Del()
{//留出接口供调用
}
Void MP3_Int_Del() interrupt 5 using 2
{if(MPREQ= =1)
//缺少数据
{MP3_Data_Input();
}
else if(MPANC= =1)
//处理附加数据
{MP3_AncData_Del();
}
eles MP3_Error_Del();
}

单片机-嵌入式毕设选题大全及项目分享:

https://blog.csdn.net/m0_71572576/article/details/125409052

6 最后

【毕业设计】基于单片机的MP3设计与实现 - stm32相关推荐

  1. 毕业设计 基于单片机的示波器设计与实现(源码+硬件+论文)

    文章目录 0 前言 1 主要功能 2 硬件设计(原理图) 3 核心软件设计 5 部分实现代码 4 实现效果 5 最后 0 前言

  2. 毕业设计 基于单片机的风速测量系统 - 物联网 嵌入式 stm32 arduino

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 硬件设计 风速计简介 Adafruit风速计传感器 5 软件说明 Arduino风速计的源代码/程序 5 最后 0 前言

  3. 单片机测周法c语言程序,基于单片机的数字频率计设计(附原理图及源程序).doc...

    四川理工学院毕业设计 四川理工学院毕业设计 PAGE \* MERGEFORMAT4 PAGE \* MERGEFORMAT5 四川理工学院毕业设计 基于单片机的数字频率计设计 (创新的自动选当功能) ...

  4. 【毕业设计】基于单片机的MP3音乐播放器设计与实现 - stm32 物联网 c51

    文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 系统设计 3.1 系统架构 3.2 软件部分设计 3.3 实现效果 3.4 部分相关代码 4 最后 1 简介 Hi,大家好,这里是丹成学长,今 ...

  5. android 计步器毕设论文,基于单片机的计步器设计及实现毕业设计论文

    <基于单片机的计步器设计及实现毕业设计论文.doc>由会员分享,可免费在线阅读全文,更多与<基于单片机的计步器设计及实现毕业设计论文>相关文档资源请在帮帮文库(www.woc8 ...

  6. 基于单片机的计步器设计-DS1302-心率测量(毕业设计资料)

    155[毕设课设]基于单片机的计步器设计-DS1302-心率测量(毕业设计资料) [资源下载]下载地址如下: https://docs.qq.com/doc/DTlRSd01BZXNpRUxl 51计 ...

  7. c语言压力变送器程序设计,基于单片机的压力变送器设计

    基于单片机的压力变送器设计(任务书,开题报告,外文翻译,论文15000字,代码) 摘要 随着工业化水平的不断提高,新型智能仪表在工业生产过程中运用也越来越广泛,同时对输出数据的准确检测和处理也变得至关 ...

  8. 基于单片机的血压计设计

    设计简介: 本设计家用便携式血压计的设计以血压为研究对象, 根据血压检测控制模块将检测的模拟量输入ADC0832控制模块中, ADC0832将模拟量输入转化成数字量, 最终以STC89C52单片机为主 ...

  9. 基于单片机的倒车雷达系统设计c语言,基于单片机的倒车雷达设计.doc

    基于单片机的倒车雷达设计 毕业设计(论文) 题 目: 基于单片机的倒车雷达设计 系(院): 工业与信息化学院 专业: 电气自动化技术 姓 名: 学号: 校内指导教师: 职称: 讲 师 摘 要 随着社会 ...

最新文章

  1. 2022-2028年中国第五代移动通信技术(5G)市场研究及前瞻分析报告
  2. usaco Beef McNuggets
  3. Oracle job procedure 存储过程定时任务
  4. VirtualBox中Ubuntu的全屏
  5. iOS视图控制对象生命周期-init、viewDidLoad、viewWillAppear、v...
  6. Hadoop集群 MapReduce初级案例
  7. QT的QOpenGLDebugLogger类的使用
  8. Shiro相关文章资料
  9. PHPcms 把盛大登陆换成人人网登陆
  10. C++析构函数执行顺序
  11. 阿里Java开发手册——如何优化数据库?
  12. Java数据库驱动链接大全
  13. IDEA2018部署jeesite3完美运行教程
  14. Lucene全文检索(一)
  15. python opencv 打开相机检测圆点
  16. java IO之字节流和字符流-OutputSteam和InputStream
  17. 二进制文件vscode_最强编辑器 VSCode 系列之插件推荐【不定期更新】
  18. pp助手苹果版本_曾经iOS一代越狱神奇器,PP助手宣布凉凉
  19. 金融类自定义View(二)--股票分时图
  20. edge下载网络问题无法下载

热门文章

  1. 取消关闭计算机怎么弄,怎么设置和取消电脑自动关机
  2. POJ 1845 逆元 / 分治
  3. 毕业生的礼物 贪心 妙用priority_queue
  4. 来自一位十余年工作经验的老电子工程师的心里话:该出手时便出手!
  5. java分层窗格_Swing拆分窗格控件JSplitPane使用详解
  6. NXP I.MX6ULL芯片介绍以及资料的获取
  7. 整体复盘----java实现简单版的坦克对战
  8. Wireshark解密https数据
  9. 冷门但超级有用的神奇网站推荐
  10. java launcher在哪_JAVA Launcher简析