基于stm32开发板的MP3音乐播放器设计


    基STM32开发板MP3音乐播放器设计















    基STM32开发板MP3播放器设计

    Stm32系列意法半导体(ST集团)推出ARM CortexM核32位MCU系列闪存容量包括64KB256KB闪存20KB64KB嵌入式SRAM相8051开发板脚少功弱功耗频率低等缺陷ARM CortexM低动态功耗实现高性低功耗等突出特点丰富芯片型号外设软件支持Stm32开发板强户基础广阔应领域年互连型互补型等新系列产品陆续推出Stm32产品硬件性引脚功断优化更新满足户需求应动化角落例电机驱动智家居建筑安防等项场景
    Stm32F1属CortexM系列中M3核采ARMv7M架构 CortexA15相较Stm32F4 Stm32F7 Stm32H7等适高性嵌入式系统产品Stm32F103作款常增强型系列微控制器优秀兼容性低成低风险简单易特点非常适该领域初学者学研究满足初级开发者数基需求游戏外设媒体应视频讲等方面应设计时学系列单片机知识基础stm32系列学研究具非常重意义
    设计stm32F103ZET6芯片研究象Keil for ARM(MDK)开发环境 利V1053模块音频解码音频放电路实现MP3播放器设计终通键实现简单切换歌曲快进快退显示歌曲信息等相关基功

    关键词: Stm32F103CortexMV1053音频放音频解码















    Design of MP3 player based on stm32 development board
    Abstract
    The Stm32 series is a 32bit MCU series based on ARM CortexM launched by STMicroelectronics The flash memory capacity includes 64KB to 256KB flash memory and 20KB to 64KB embedded SRAM Compared with the 8051 development board it has fewer pins Weak functions large power consumption low frequency and other defects ARM CortexM high dynamic performance at low dynamic power low power consumption and other outstanding features and its rich chip models peripherals and software support making Stm32 development The board has a strong user base and broad application areas In recent years with the successive introduction of new series products such as interconnected and complementary types Stm32 products have been continuously optimized and updated in hardware performance and pin functions to meet the different needs of users Today it is used in various corners of automation such as motor drive smart home building security and many other scenarios
    Stm32F1 belongs to the M3 core in the CortexM series and uses the ARMv7M architecture CortexA15 Compared with Stm32F4 Stm32F7 Stm32H7 and other products suitable for highperformance embedded systems Stm32F103 as a commonly used enhanced series of microcontrollers because of its excellent compatibility low cost and low risk simple and easy to use Very suitable for beginners to study research in this field It can meet the most basic needs of junior developers such as game peripherals multimedia applications video intercom and other aspects of application design It also lays the foundation for learning other series of singlechip computers in the future
    This design takes the stm32F103ZET6 chip as the research object Keil for ARM (MDK) as the development environment and uses the audio decoding and audio amplification circuits to implement the MP3 player design Finally the buttons can be used to simply switch songs fast forward and rewind and display songs basic information such as functions
    Keywords Stm32F103 CortexM3audio V1053 amplification audio decoding





    目录

    1 前言 2
    11课题背景 2
    12设计目意义应达技术求 2
    13设计应解决问题 3
    2 实验台硬件准备 3
    21 Stm32概述特性 3
    22 芯片概述部资源 5
    23 VS1053模块功特性 5
    3 库函数寄存器 6
    31 MDK简介 6
    32 烧录方式 6
    33 GPIO配置寄存器 7
    34 Stm32库函数寄存器版 7
    35 MDK开发运较C语言知识 8

    4 程序设计9
    41 需知识9
    411 汉字显示10
    412 SPI相关11
    413 SD卡相关12
    414 调V105312
    42 实现功实物图 13
    5总结14

    参考文献 14
    谢 辞 15
    附 录 16








    1 前言
    Stm32F1属CortexM系列中M3核采ARMv7M架构 CortexA15相较Stm32F4 Stm32F7 Stm32H7等适高性嵌入式系统产品Stm32F103作款常增强型系列微控制器优秀兼容性低成低风险简单易特点非常适该领域初学者学研究满足初级开发者数基需求游戏外设媒体应视频讲等方面应设计时学系列单片机知识基础 stm32研究具非常重意义
    设计stm32F103ZET6芯片研究象Keil for ARM(MDK)开发环境 利VS1053模块音频解码音频放电路实现MP3播放器设计终通键实现简单切换歌曲快进快退显示歌曲信息等相关基功
    11课题背景
    时代发展音乐类缺存心情愉悦脑活跃运转紧张烦躁时转移注意缓心情孤独难时带惬意安抚
    着科技日新月异消费型电子产品需求越越高产品性求断提高种功便携式MP3MP5等电子设备层出穷手机智已发展更选择手机音乐软件听音乐然手机作智功设备已生活出行交流通信娱乐等方面承担数务独立纯粹MP3播放设备节省存储省手机电量消耗手机减轻负担
    12设计目意义应达技术求
    设计目: 设计款基stm32实现手动调节音量手动切歌外接电源供电具备蓝牙等功音乐播放器
    设计意义:满足消费者需求保证基音乐播放功基础研究制造简单实高性功MP3播放器着十分重现实意义

    研究容:
    ()利电池供电支持mp3wav格式文件
    (二)选择歌曲播放键调节音量
    (三)显示屏显示歌曲相关信息包括名字时长歌曲进度曲目总数
    (四)利蓝牙串口模块手机建立传输
    (五)具录音功
    技求:
    ()STM32开发板原理
    (二)硬件工具MDK搭建运
    (三)GPIO种类作配置寄存器
    (四)解蓝牙串口模块项外设
    (五)解寄存器相关库函数学会调库函数
    (六)51单片机基础C语言基础知识

    13设计应解决问题
    拟解决关键问题:
    () STM32F103资源利STM32F103ZET6部分引脚分配功解查阅相关资料
    (二) ATKV1053模块
    (三)GPIO种类作配置寄存器
    (四)SPI接口配置汉字显示





    2实验台硬件准备
    设计选工具正点原子精英Stm32F103ZET6开发板STLINK\V2ATKV1053音频编解码模块蓝牙串口模块3'5寸LCD电阻屏SD卡开发环境MDK5
    21 STM32概述特性
    STM32系列单片机嵌入式运开发专门设计具备低功耗高性特点外款式型号种类繁功完备相关开发技术日渐成熟相8051单片机stm32芯片优异性体现方面:
    1功强置外设更加丰富包括TIMERSPICANSDIORTC等GPIO引脚具极高集成度
    2丰富型号STM32仅M3核基型F101F103增强型F105互联型F107F207等8系列百种型号具QFNLQFPBGA等封装方式供选择
    3杰出实时性16级编程优先级84中断引脚作中断输入
    4开发成低廉需串口载代码支持SWDJTAG调试口
    5杰出功耗控制STM32 外设独立时钟开关通关闭相应外设时钟降低功耗
    复杂程度STM32远高51单片机简单引脚配置51单片机复杂开发者言市面常见stm32开发教程远远51单片机复杂
    次设计STM32F103增强型系列作较常普遍系列单周期法硬件法时钟频率72MHz板载资源包括RS485选择接口CANUSB选择接口光敏传感器RTC备电池座ATK线蓝牙GPS摄头等模块接口保证普通产品相价格优势产品性幅提升普通型系列产品置闪存样32K128KSRAM容量外设接口两部分时钟频率达72MHz时候直接闪存中运行程序相速度更快STM32功耗36mA32位单片机类市场功耗低产品


    图21 Stm32F103资源图


    22 芯片概述部资源
    STM32F103ZET6作该开发板MCU该芯片资源具 64KB SRAM512KB FLASH存储器容量2 基定时器4 通定时器2 高级定时器2 DMA 控制器( 12 通道)3 SPI2 IIC5 串口1 USB1 CAN3 12 位 ADC1 12 位 DAC1 SDIO 接口1 FSMC 接口 112 通 IO 口(144引脚)20~36V电源IO电压 电复位掉电复位编程电压监控强时钟系统:4~16M外部高速晶振部8MH真高速RC振荡器部40KHz低速RC振荡器门狗时钟等212位DA 12DMA通道等


    23 VS1053音频模块功特性
    硬件基础次设计额外选ATKVS1053ALIENTEK开发款高性音频编解码模块实现MP3WMAOGGWAVMIDI等音频格式解码时支持ADPCM等格式编码VS1053拥高性DSP处理核VS_DSP16K指令RAM05K数RAM通SPI控制具8通IO口串口部夹带变采样率立体声ADC高性立体声DAC音频耳机放器外模块资源带耳机驱动器 加载patch拓展功音量调节功
    需通SPI口VS1053输入音频数便动解码需详解音频放解码电路原理
    ATKVS1053模块通P1连接开发板外部提供5V电源MCU连接7根线分
    VS_RST VS1053复位信号线低电效
    VS_DREQ 数请求信号(高电效)通知机VS1053否接收数
    VS_XCS 命令片选(低电效)
    VS_XDCS数片选(低电效)
    VS_MISO VS_MOSIVS_SCK: SPI信号线连接STM32
    图开发板硬件连接





    图22 硬件连接图



    3软件设计
    31 MDK简介
    MDK 源德国 KEIL 公司称MDKARM RealView MDKuVision 5等keil 4扩展版包含部分ARM基CortexMARM7ARM9处理器设备提供完整开发环境目前全球 MDK 超 10 万嵌入式开发工程师新版 uVision5 IDE 集成开发环境目前针 ARM 处理器尤 Cortex M 核处理器佳开发工具
    准备步骤:
    (1)新建工程项目文件夹子文件(usercoreobj等) (2)MDK新建项目选择目标CPU添加CMSIS核心(3)添加启动文件工程文件外设驱动程序等(4)配置目标选项


    32 烧录方式
    STLINK烧录程序
    1安装STLINK驱动 2端USB连接电脑端排针连接开发板3开Keil进行相应配置 4编译程序


    普通ISP串口载
    1开发板USB口通USB线连接电脑PA9PA10连接发送接收引脚 boot0boot1接 2USB串口驱动安装 3开串口载软件FlyMcu选中串口开始编码




    33 GPIO配置寄存器
    GPIO通型输入输出引脚Stm32F103ZET6组IO口16部分IO口具复功PA9PA10作串口发送接收引脚定时器引脚7组IO口(GPIOAGPIOBGPIOG)组GPIO端口寄存器包括两32位配置寄存器(GPIOx_CRLGPIOx_CRH)两32位数寄存器(GPIOx_IDRGPIOx_ODR)32位置位复位寄存器(GPIOx_BSRR)16位复位寄存器(GPIOx_BRR)32位锁定寄存器(GPIOx_LCKR)IO端口位编程
    GPIO部结构:

    图23 GPIO结构原理图


    34 Stm32寄存器库函数版
    Stm32开发操作分寄存器版库函数版二者时配合库函数控制寄存器操作语句封装成函数函数集合需调填入参数调函数函数帮助操作寄存器实现相应动作(面象)寄存器操作直接操作开启寄存器引脚功 需频繁查阅手册找GPIO基址该址偏移计算出该寄存器址等(面程)熟练需量查阅历明确解数位物理意义初学者者更困难活代码效率更高库函数质实外设寄存器直接编程






    35 MDK开发运较C语言知识
    1位操作
    &:位 |位 ^位异 ~:取反 左移 右移

    2define宏定义
    预处理命令程序换define定义容提高代码读性程序更加规范合理
    格式:#define 标识符 字符串


    2 ifdef
    预处理命令判断某宏否定义果已定义执行语句未定义执行语句
    格式:#ifdef 标识符

    #else

    #endif

    3 typedef
    作定义种数类型名类型包括部数类型(intchar)定义数类型(struct)时声明指针型象

    typedef struct {
    __IO uint32_t CRL
    __IO uint32_t CRH
    __IO uint32_t IDR
    __IO uint32_t ODR
    __IO uint32_t BSRR
    __IO uint32_t BRR
    __IO uint32_t LCKR
    } GPIO_TypeDef




    4 结构体
    结构体作种构造类型作数类型整合机整体程序理更加方便增强程序扩展性读性
    GPIO寄存器结构体
    struct
    {
    __IO uint32_t CRL
    __IO uint32_t CRH
    __IO uint32_t IDR
    __IO uint32_t ODR
    __IO uint32_t BSRR
    __IO uint32_t BRR
    __IO uint32_t LCKR
    }

    5 static
    static修饰变量方法申明局部变量全局变量具备静态记忆功数函数调结束会释放值会保留质静态资源分类


    4 程序设计
    41 需知识
    (1)汉字显示原理(2)SPI通信相关接口(3)读写SD卡 (4)驱动V1053模块


    411 汉字显示
    汉字显示原理液晶部分点显示出余点显示显示某汉字优先该汉字点阵数次数解析成汉字实验选GBK码作汉字码GBK全称汉字码扩展规范GB2312编码基础兼容扩展时支持国际标准GB130001中中日韩文字国际标准ISOIEC106461高兼容性规范性作选原GBK码2字节GBKHGBKL组成分代表高低位第字节0X810XFE第二字节两部分0X400X7E0X800XFE编码范围0X81400XFEFE总包括23940汉字编码规:
    首先找汉字高位GBKH0x81确定该汉字区然根
    GBKL<0X7F 时:Hp((GBKH0X81)*190+GBKL0X40)*(size*2)
    GBKL>0X80 时:Hp((GBKH0X81)*190+GBKL0X41)*(size*2)
    size汉字占字节数例16*16汉字占空间16*232字节根算法计算出汉字字库起始址
    决定GBK应汉字 →设置字体生成点阵字库→ 查找点阵数解析显出出汉字

    图41 显示汉字获取字模
    利字库制作软件制作生成GBK字库生成点阵字库文件系统读取字库然存SPIFlash中
    存字库(fontupdc)
    显示汉字(textc) Show_Str Show_Font Get_HzMat 解析显示

    图42 设置参数创建字库

    412 SPI相关
    SPI串行外围设备接口种全双工高速步通信总线时发出接收数外设读写操作步完成作机机工作芯片脚占MISO(设备数输入设备数输出)MOSI (设备数输出设备数输入)SCLK (时钟信号设备产生)CS(设备片选信号设备控制)
    四根线通信作包括:读写FLASH芯片SD卡液晶显示屏建立通信提供频率编程时钟总线竞争保护等


    常相关库函数:

    SPIx_Init() 初始化函数
    SPIx_ReadWriteByte(0xFF) 提供时序MOSI维持高电
    SPIx_Cmd() 函数
    SPIx_IRQHandler() 中断
    SPIx_DataSizeConfig() 数字节
    SPI_I2S_SendData() SPI_I2S_ReceiveData() 发送接收



    413 SD卡相关
    SD卡设计里缺重部件实验中存放音频文件根容量分SD卡分高容量卡SDHC(232G)SDXC(32G2T)标准容量卡SDSC(02G)包含5寄存器 中CSD(卡数寄存器)SCR(配置寄存器)SD提供特定数较SD卡9引脚外部通信接口简单支持SPISDIO两种模式
    SDIO驱动SD卡首步骤进行SD卡初始化发送CMD8命令判断否SD20 设置VHS告诉SD卡机供电范围发送CMD55ACMD41进步确认SD卡操作电压范围否支持SDHC初始化完成 通CMD16指令设置数块通指令查询状态进行块读写等操作
    常相关库函数:
    SD_Init SD卡初始化
    SD_ReadDisk 读函数 SD_WriteDisk 写函数


    414 调V1053

    库函数:
    VS_HD_Reset 硬件复位
    VS_Soft_Reset 软件复位函数
    VS_WR_Cmd(u8addressu16 data)写命令
    VS_WR_Data(u8 data) 写数
    VS_Send_MusicData 发送音频数
    VS_Restart_Play 切歌
    VS_Set_All 设置封装函数(音量高低音 环境等参数)








    42 实现功实物展示
    (1)显示歌曲名时长码率歌曲总数等信息(2)通键切换歌曲(3)支持WAVOGGMP3等音频格式(4)键数限制提升音量
















    5总结
    该设计充分利STM32F103ATKV1053模块实现简单MP3播放器设计操作相简单MP3播放器功基完成通1053模块实现音乐播放WAV录音功界面设计较简陋没达功MP3播放器设计求法实现切换录音显示图片等功方面力限方面单片机接口计算运方面存许足然适应复杂控制算法障诊断未学阶段需加强方面
    次毕业设计中单片机基原理C语言设计思路单片机Stm32开发程思路更深入解掌握提高硬件电路设计软件设计理解实现部分更全面更全面理解相关程度学帮助
    设计程中基础知识扎实专业知识欠缺遇解决问题期间查阅少关文件手册观视频登录坛重新学研究寻找相问题解决方案逐解决问题方面老师学实建议意见提高思考力解决问题力般情况设计调试测试然预期功效果没完全达成整套产品体满意




    参考文献
    [1]正点原子STM32F1开发指南(精英版)
    [2]正点原子STM32中文参考手册
    [3]王静霞 单片机应技术C语言版[M]北京:电子工业出版社2009:1223
    [4]张友德单片微型机原理[M]应实验[M]海复旦学出版社2005:28
    [5]谭浩强C程序设计教程(第2版)[M]北京:清华学出版社20138
    [6]杜树春基ProteusKeil C51单片机设计仿真[M]北京:电子工业出版社 2012:2130
    [7]杨雪梅张慧基STM32MP3播放器设计[A]
    [8]郭天祥新概念51单片机C语言教程(第2版)[M]电子工业出版社
    [9]李全利 单片机原理接口技术[M]北京:高等教育出版社2008:620
    [10]pigdwh定义结构体枚举联合总结 CSDN坛


















    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 220 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于STM32多功能播放器的应用界面设计

    基于STM32多功能播放器的应用界面设计中文题目摘 要随着全球经济的不断增长和移动通信技术的不断发展,数字媒体设备也不断的在进步发展。人们可以使用他们的智能手机来更好地丰富他们的生活。手机应...

    2年前   
    444    0

    基于STM32的点菜机

    基于STM32的点菜机摘 要点菜机是用于酒店服务员手持无纸化点菜,采用STM32F103RBT6芯片,这是一款基于CortexM3内核的芯片。显示器采用2.0 寸TFTLCD屏,分辨率220...

    2年前   
    1015    0

    窜货处理协议书(MP3播放器)

    窜货处理协议书(MP3播放器)  甲方:_________  乙方:_________  甲、乙双方为了维护_________市场健康、稳定的发展。本着公平、自愿、诚信、三赢的原则,与各代理商...

    12年前   
    490    0

    基于STM32温控风扇设计综合实践论文

     XX 大 学 综合实践(论文)题 目 基于STM32的温控风扇学 院 通信与电子工程学院 专业班级 ...

    3年前   
    1151    0

    基于STM32的四路抢答器课程设计

    课 程 设 计 说 明 书题目: 基于STM32的四路抢答器 学 院: 年级专业: 学 号: 学生姓...

    1年前   
    357    0

    基于STM32的四旋翼飞行控制系统毕业设计

    目 录1前言 11.1背景与意义 11.2国内外研究现状 11.3论文主要工作 22总体方案设计 32.1方案比较 32.2方案论证与选择 33飞行器原理与结构 53.1飞行器原理 53...

    3年前   
    989    0

    基于STM32的自动泊车系统的设计与实现

    基于STM32的自动泊车系统的设计与实现基于STM32的自动泊车系统的设计与实现摘 要 自动泊车系统(Automated Parking System,简称APS)是一项属于无人驾驶的重要技...

    3年前   
    788    0

    基于STM32的多路抢答器设计与制作

     基于STM32的多路抢答器设计与制作 ...

    2年前   
    835    0

    基于STM32的六足仿生机器人设计

     基于STM32的六足仿生机器人设计——机械结构设计 基于STM32的六足仿生机器人设计——机械结构设计摘 要在各种地形方面,相较于履带式移...

    2年前   
    628    0

    基于stm32的四旋翼无人机的设计

    基于stm32的四旋翼无人机的设计——飞行控制系统软件设计基于stm32的四旋翼无人机的设计——飞行控制系统软件设计摘 要四旋翼无人机是是一种稳定性强、结构简单的无人机。本次设计是以STM3...

    2年前   
    904    0

    一种基于STM32的智能门锁系统的设计

    随着人们安全意识的不断提高和安全技术的发展,传统的机械锁将被智能门锁逐渐取代。使用指纹,密码或其他方式替换钥匙,用户不再需要担心出门时忘记带上钥匙或者意外丢失了钥匙,而站在门外,或者当他们逛街回...

    3年前   
    3929    0

    微机原理课程设计音乐播放器

    微机原理课程设计音乐播放器一、课程设计的任务和目的课程设计题目:音乐播放器课程设计的实现目的:本课程设计主要是通过汇编语言用软件编程的方法实现简单的音乐播放功能。通过在《微机原理与接口技术》课...

    1年前   
    313    0

    红外遥控音乐播放器单片机课程设计

     单片机课程设计 项目名称 红外遥控音乐播放器设计 专业班级 通信X班 学生...

    5年前   
    1297    0

    C51音乐播放器课程设计

    课程设计姓名:学号:班级:组员: 目 录1 设计题目.........................................

    4年前   
    508    0

    基于安卓手机平台的视频播放器的设计与实现毕业设计

    本科毕业设计 题目:基于安卓手机平台的视频播放器的设计与实现 Title:Design and implementation of the Android mobile phone p...

    5年前   
    1275    0

    网页版在线音乐播放器详细设计毕业设计

     本 科 毕 业 设 计 毕业论文题目: 音乐在线点播系统的设计 学 生 姓 名: 学 ...

    5年前   
    3333    0

    基于STM32单片机的模拟雷达探测设计系统

     基于STM32单片机的模拟雷达探测设计系统 ...

    2年前   
    796    0

    基于霍尔传感器和STM32的直流电机调速系统的设计

     信息科学与工程学院课程设计报告( 2016~2017 学年 第 一 学期 ) 题 目 基于霍尔传感器和 ...

    1年前   
    399    0

    基于stm32智能家庭出入控制系统的设计与实现

     基于stm32智能家庭出入控制系统的设计与实现 ...

    2年前   
    603    0

    基于stm32的两轮自平衡车控制系统设计

    基于STM32的两轮自平衡车控制系统设计 Control system design of two wheel se...

    2年前   
    900    0

    文档贡献者

    平***苏

    贡献于2021-11-07

    下载需要 220 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档