自动化毕设 基于单片机的MP3设计与实现


1 简介

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

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

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

🧿 毕设项目分享:见文末!

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();
}

🧿 毕设项目分享:见文末!

6 最后

**项目分享: ** https://blog.csdn.net/m0_984093

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智能药盒是一种将现代科技应用于医疗保健领域的产品。它能够准确地记录药品的服用情况,提醒患者按时服药,避免漏服或重复服用等问题,从而提高患者的生活质量和健康水平。本文将介绍一种基于单片机的智能药盒的设计实现。 一、设计方案 1. 系统架构 本系统采用单片机作为控制核心,通过与药盒内部的传感器相连,实现对药品的监控和记录。同时,系统还配备了蓝牙模块,可以将数据传输到手机或电脑上,方便用户对药品的管理和监控。 2. 硬件设计 (1)单片机选择 本系统采用STM32F103C8T6单片机作为控制核心,其具有较高的性能和稳定性,并且容易进行程序开发和调试。 (2)传感器选择 本系统采用光电传感器进行药品的监测。当药盒内部的药品被取出时,药盒内部的光线强度会发生变化,传感器会检测到信号并向单片机发送数据。 (3)蓝牙模块选择 本系统采用HC-05蓝牙模块进行数据传输,该模块具有较高的稳定性和传输速度,可以方便地与手机或电脑进行连接。 (4)电源设计 本系统采用5V直流电源供电,可以通过USB接口或直流适配器进行供电。 3. 软件设计 (1)系统架构 本系统采用模块化设计,主要包括数据采集模块、数据处理模块、数据存储模块、蓝牙通信模块和显示模块等。 (2)数据采集 数据采集模块主要采用光电传感器进行药品的监测,当药品被取出时,传感器会向单片机发送数据。 (3)数据处理 数据处理模块主要对采集到的数据进行处理和分析,判断是否需要提醒用户服药,并将数据存储到内部存储器中。 (4)数据存储 数据存储模块主要将采集到的数据存储到内部存储器中,以便后续的数据分析和管理。 (5)蓝牙通信 蓝牙通信模块主要负责将存储在内部存储器中的数据传输到手机或电脑上,方便用户进行管理和监控。 (6)显示模块 显示模块主要负责向用户展示药品的服用情况和提醒信息,以便用户进行及时的服药。 二、实现步骤 1. 硬件连接 将单片机、光电传感器、HC-05蓝牙模块和显示器连接到一起,构成完整的系统。 2. 程序开发 按照设计方案中的模块进行程序开发,分别实现数据采集、数据处理、数据存储、蓝牙通信和显示等功能。 3. 调试测试 对系统进行调试测试,检查各个模块是否正常工作,并对系统进行优化和改进。 三、结论 本文介绍了一种基于单片机的智能药盒的设计实现。该系统采用光电传感器进行药品的监测,配备了蓝牙模块,可以将数据传输到手机或电脑上,方便用户对药品的管理和监控。该系统具有较高的稳定性和可靠性,可以提高患者的生活质量和健康水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值