【E292】基于STM32F103的WAV数字音频播放器

2021-08-18 09:08:12      索炜达电子      1496     

项目编号:E292

文件大小:8M

源码说明:带中文注释

开发环境:C编译器

简要概述:

以一款基于STM32的数字音频播放器为例,研究了数字音频技术的基本原理。遵循嵌入式系统开发的基本过程,对播放器的功能进行需求分析,设计并实现了一款完整的WAV数字音频播放器。通过对FATfs文件系统的移植,实现对带有FAT文件系统的大容量SD卡中音频数据的解码播放,同时采用了双缓存的工作模式来解决从SD卡中读取并播放音频数据的连贯性问题。最后对已完成的数字音频播放器进行系统测试,结果表明已基本实现预期目标。


这是一款基于STM32F103的WAV数字音频播放器,通过XX、XX、XX等七个按键来操作,具有播放、停止、暂停/重新播放、上一首、下一首、音量加、音量减等功能,从装有FAT32/16/12文件系统的外置SD卡中的指定文件夹中读取音频文件,支持中文及长字节,通过自主实现的WAV音频文件解码算法来实现对音频文件的解码,最后通过内置的12位DAC来输出声音信号,并通过扬声器或耳机播放出来,实现了一个具有基本功能的数字音频播放器。


打开当前目录下的工程文件即可运行此工程,USER文件夹中存放着主要的源代码,RTE/Include/中存放着主要的库文件,RTE中的其他几个文件夹中存放着核心代码,为Keil自动生成。


设计报告:

【E292】基于STM32F103的WAV数字音频播放器

目录│文件列表:

 └ WAVPlayer_STM32F103

    │ README.txt

    │ 《基于STM32的WAV数字音频播放器》-何珏-13111389.docx

    └ WAVPlayer

       │ cc936.crf

       │ cc936.d

       │ cc936.o

       │ dac.crf

       │ dac.d

       │ dac.o

       │ diskio.crf

       │ diskio.d

       │ diskio.o

       │ ExtDll.iex

       │ fatfs.crf

       │ fatfs.d

       │ fatfs.o

       │ ff.crf

       │ ff.d

       │ ff.o

       │ flash.crf

       │ flash.d

       │ flash.o

       │ gpio_stm32f10x.crf

       │ gpio_stm32f10x.d

       │ gpio_stm32f10x.o

       │ irqserver.crf

       │ irqserver.d

       │ irqserver.o

       │ JLinkLog.txt

       │ JLinkSettings.ini

       │ key.crf

       │ key.d

       │ key.o

       │ keyboard.crf

       │ keyboard.d

       │ keyboard.o

       │ led.crf

       │ led.d

       │ led.o

       │ main.crf

       │ main.d

       │ main.o

       │ misc.crf

       │ misc.d

       │ misc.o

       │ rtx_conf_cm.crf

       │ rtx_conf_cm.d

       │ rtx_conf_cm.o

       │ sd.crf

       │ sd.d

       │ sd.o

       │ startup_stm32f10x_hd.d

       │ startup_stm32f10x_hd.lst

       │ startup_stm32f10x_hd.o

       │ stm3210e_eval.crf

       │ stm3210e_eval.d

       │ stm3210e_eval.o

       │ stm3210e_eval_sdio_sd.crf

       │ stm3210e_eval_sdio_sd.d

       │ stm3210e_eval_sdio_sd.o

       │ stm32f10x_adc.crf

       │ stm32f10x_adc.d

       │ stm32f10x_adc.o

       │ stm32f10x_dac.crf

       │ stm32f10x_dac.d

       │ stm32f10x_dac.o

       │ stm32f10x_dma.crf

       │ stm32f10x_dma.d

       │ stm32f10x_dma.o

       │ stm32f10x_exti.crf

       │ stm32f10x_exti.d

       │ stm32f10x_exti.o

       │ stm32f10x_flash.crf

       │ stm32f10x_flash.d

       │ stm32f10x_flash.o

       │ stm32f10x_gpio.crf

       │ stm32f10x_gpio.d

       │ stm32f10x_gpio.o

       │ stm32f10x_rcc.crf

       │ stm32f10x_rcc.d

       │ stm32f10x_rcc.o

       │ stm32f10x_sdio.crf

       │ stm32f10x_sdio.d

       │ stm32f10x_sdio.o

       │ stm32f10x_spi.crf

       │ stm32f10x_spi.d

       │ stm32f10x_spi.o

       │ stm32f10x_tim.crf

       │ stm32f10x_tim.d

       │ stm32f10x_tim.o

       │ stm32f10x_usart.crf

       │ stm32f10x_usart.d

       │ stm32f10x_usart.o

       │ stm32_eval.d

       │ stm32_eval_sdio_sd.d

       │ stm32_eval_spi_sd.d

       │ syscall.crf

       │ syscall.d

       │ syscall.o

       │ system_stm32f10x.crf

       │ system_stm32f10x.d

       │ system_stm32f10x.o

       │ usart1.crf

       │ usart1.d

       │ usart1.o

       │ wav.crf

       │ wav.d

       │ wav.o

       │ wavsd.crf

       │ wavsd.d

       │ wavsd.o

       │ WAV_Player.axf

       │ WAV_Player.build_log.htm

       │ WAV_Player.htm

       │ WAV_Player.lnp

       │ WAV_Player.map

       │ WAV_Player.sct

       │ WAV_Player.uvguix.hejue

       │ WAV_Player.uvguix_hejue.bak

       │ WAV_Player.uvoptx

       │ WAV_Player.uvprojx

       │ WAV_Player_sct.Bak

       │ WAV_Player_Target 1.dep

       │ WAV_Player_uvoptx.bak

       │ WAV_Player_uvprojx.bak

       ├ RTE

       │  │ RTE_Components.h

       │  ├ CMSIS

       │  │  └ RTX_Conf_CM.c

       │  ├ Device

       │  │  └ STM32F103ZE

       │  │     │ RTE_Device.h

       │  │     │ startup_stm32f10x_hd.s

       │  │     │ stm32f10x_conf.h

       │  │     └ system_stm32f10x.c

       │  └ Include

       │     │ diskio.h

       │     │ ff.h

       │     │ ffconf.h

       │     │ integer.h

       │     │ main.h

       │     │ stm3210e_eval.h

       │     │ stm3210e_eval_sdio_sd.h

       │     │ stm32_eval_legacy.h

       │     │ wav.h

       │     └ wavsd.h

       └ USER

          │ cc936.c

          │ dac.c

          │ diskio.c

          │ fatfs.c

          │ ff.c

          │ flash.c

          │ irqserver.c

          │ key.c

          │ led.c

          │ main.c

          │ sd.c

          │ stm3210e_eval.c

          │ stm3210e_eval_sdio_sd.c

          │ syscall.c

          │ usart1.c

          │ wav.c

          └ wavsd.c

TAG数字音频播放器
  • 10 次
  • 1 分