基于51单片机的音乐存储播放器本科毕业设计论文(编辑修改稿)内容摘要:

处理器来说接法类似。 11 SD 卡模块电路 介绍 在本次设计中,我们采用 SD 卡作为数据存储介质。 因此,我们现在来分析一下其接口及数据传输模式。 SD 卡有 10 个引脚,它们分别是: VCC、 GND、 DAT0DAT CLK、 CMD。 其中,它们在不同的模式下有不同的定义。 其具 体定义如表 31 所示。 表 31 SD 卡引脚定义 针脚 名称 类型 1 描述 1 CLK I 时钟 2 CS I/O/PP 片选 3 SI I/O/PP 输入 4 SO I/O/PP 输出 5 VCC S 供电电压 6 WP I/O/PP 写保护 7 Ncd I/O/PP 插入检测 8 DAT1 I/O/PP SD 模式 D1 9 DAT2 I/O/PP SD 模式 D2 10 GND S 电源地 SD 卡数据传输分为 SPI 模式和 SD 模式。 在 SD 模式下速度较快,但是,由于使用引脚过多,而且,在 SPI 模式下速度已经足够,因此,本次设计中采用 SPI 模式。 在 SPI 模式下, SD 卡只需要接 SO、 SI、 CS、 CLK、 VCC、 GND 这 6 个引脚就可以了。 对于本设计的STC12C5A60S2 单片机来说需要 4个 IO 口与之连接,分别是 、 、 和。 在本次设计中驱动电路图如 310 所示。 12 图 310 SD卡模块驱动电路图 TEA5767 与 TDA2822 组成的收音功能电路 TEA5767 内置了主频高达 75MHZ 的数字信号处理器,实现 384KBPS/48KHZ 的 MD 级高品质 MP3音乐 文件回放,加上拥有一般 MP3 播放器难以企及的高保真回放线路(信噪比高达 95DB, THD 总谐波失真率 %, 同时非常省电。 TEA5767 中的 UESR 模式给人的印象最为深刻,感觉有点像艾丽和中的 3D 效果,能很好并且充 分表现出各个音色的质地,让人听起来十分的舒服,音质个人主观意想占比较大的份额 , 有的人喜欢低音偏重些,有的人喜欢高音明朗些,所以对于音质的探讨还是自己亲身体验一下是最好的选择,不过话说回来 TEA5767 给人的印象十分出色,很对的起他自身的价值。 高清晰度 FM 广播:支持移动存储,多种音乐格式 MP3, WMA;录音功能非常出色,可以直接 对输入音频进行 MP3 编码,也就是说即使你没有 PC 机 也可以从 CD 机 /卡带机等音频设备上获 得动听的音乐,还支持 FM 转录功能: A— B 复读;更具个性化设计是可自定义设计开机画面。 TEA5767 特点: 1. 高灵敏度 内置集成低噪声输入运放 2. FM混频转换,在不同频段之间可以自由转换 3. RF AGC自动增益控制 4. LC 调谐振荡器和低成本固定芯片电感器 5. 无需外部鉴相器,内部集成了 FM 解调器 6. 晶体参考频率振荡器,振荡频率可操作在 7. PLL合成调谐系统 8. IIC 总线模式和 3线总线模式可以选择,由芯片 BUSMODE 引脚控制 9. 7位 IF 计数器有总线输出 10. 软静音功能 图 311 TEA5767电路接线图 TDA2822 集成功放电路常用在随身听、便携式的 DVD 等音频 放音用;功率不是很大但以可以满足您的听觉要求了,且有电路简单、音质好、电压范围宽等特点,是业余制作小功放的较佳选择。 由于本功放为直接耦合,所以输入信号不能带直流成分。 如果输入信号有直流成分则必须在输入端 13 串接一只 左右的电容隔开,否则将有很大的直流电流 流过 扬声器, 使之发热烧毁。 在实践中,若对图 312 再进行适当的改制则效果更为理想。 图 312 TDA2822 功放电路 DS1302 时钟芯片与 DS18B20 温度传感器组成的日常时温功能电路 DS1302 是 DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟 /日历和 31 字节静态 RAM 通过简单的串行接口与单片机进行通信实时时钟 /日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过 AM/PM 指示决定采用 24 或 12 小时格式 DS1302 与单片机之间能简单地采 用同步串行的方式进行通信仅需用到三个口线 1 RES 复位 2 I/O 数据线 3 SCLK串行时钟时钟 /RAM 的读 /写数据以一个字节或多达 31 个字节的字符组方式通信 DS1302 工作时功耗很低保持数据和时钟信息时功率小于 1mWDS1302 是由 DS1202 改进而来增加了以下的特性双电源管脚用于主电源和备份电源供应 Vcc1 为可编程涓流充电电源附加七个字节存储器它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域下。 具体电路如图 313。 图 313 DS1302 驱动电路图 14 美国 DALLAS 公司生产的 DS18B20 可组网数字温度传 感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样 , 适用于各种狭小空间设备数字测温和控制领域。 独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为 V 至 V 无需备用电源 如图 314 所示。 测量温度范围为 55℃ 至 +125 ℃。 华氏相当于是 67℉ 到 257℉, 10℃ 至 +85℃ 范围内精度为 177。 ℃。 DS18B20 测出的温度转化为二进制或 16 进制可由下表 32 校对。 表 32 DS18B20 温度数据表 TEMPERATURE DIGITAL OUTPUT (Binary) DIGITAL OUTPUT (Hex) +125゜ C 0000 0111 1101 0000 07D0h +85゜ C 0000 0101 0101 0000 0550h +゜ C 0000 0001 1001 0001 0191h +゜ C 0000 0000 1010 0010 00A2h +゜ C 0000 0000 0000 1000 0008h 0゜ C 0000 0000 0000 0000 0000h ゜ C 1111 1111 1111 1000 FFF8h ゜ C 1111 1111 0101 1110 FF5Eh ゜ C 1111 1110 0110 1111 FE6Fh 55゜ C 1111 1100 1001 0000 FC90h 图 314 DS1820 接线电路 15 硬件设计小结 这个基于单片机的 MP3 音乐播放器毕业设计,是我向薛老师提出的。 也 清楚知道系统硬件设计是本次设计的首先要解决的问题,经过到图书馆查很多相关的资料,经过薛 老师的指导,由于一块 51 单片机的 IO 口不够用,且系统本身需要的晶振频率不一样,也难以协调,所以最后决定采用 2 块单片机 的方案。 还有当初设想使用 U 盘作为存储器件,但后来发觉难以实施,决定采用较简单且价格也相对优惠的 SD 卡作为存储器件。 方案确定后,我便开始采购元器件,着手焊接电路板,边焊接边测试电路的导通情况。 焊好的部分电路我都会采用小软件烧入测试的方式检验电路板各个端点电气性是否满足设计要求。 经过自己的努力,我成功的焊接好了各 个元器件,为后面的软件总体调试打下了坚实的基础。 第 4 章 系统的软件设计 Keil 软件介绍 Keil C51 是德国 Keil software 公司推出的 C51 编译器,它是目前最流行的 MCS51 系列单片机开发软件。 C51 的全部功能完全被集成到一个功能强大的全新集成开发环境 uVision2 中,其中包括项目管理器( project)、 A51 宏汇编器、 C51 编译器、 LIB 库管理器、 BL51 连接定位器。 PTX51 实时操作系统、软件模拟器( Simulator)、 Monitor51 硬件目标调试器,所有这些功能都 可在 uVision2 提供的开发集成环境中简便的进行操作。 Keil C51 可以编写 C 语言源程序、汇编语言源程序或混合语言源程序,可以编译 C 源文件,可以编译汇编源文件或编译混合语言源文件, uVision2 内部集成器件数据库储存了多种不同型号单片机的片上资源,可使用众多厂家的以 80C51 为核心的单片机;还可以装入 *.c, *.inc,*.h, *.a, *.txt 等文件,并可以连接多个目标文件生成烧录 .HEX 文件 [20]。 本论文使用 Keil 软件进行软件的编译,然后烧录成 HEX 文件,直接用 STC_ISP_V483 软件,通 过 USB转 R232 端口线进行烧录程 序。 MP3 音乐播放软件设计总流程 首先,我们分别对 VS1003b、 SD 卡、 FAT 进行驱动程序设计,然后对这些驱动程序加以排列、组合,做到最优启动顺序,最后进行高层人机接口程序的设计。 为了能够明确我们具体所需的驱动程序设计,下面我们先将 MP3 音乐播放设计的总体程序流程图确定下来。 如图 41 所示 16 在完成程序流程图之后,我们需要分别对各个部分进行程序设计,下面就分别介绍各种驱动程序的编写方法 VS1003 驱动框图如图:图 41。 在开始播放音乐之前,先要对 VS1003 进行一系列的初始化,完成对 VS1003 的基本设置,然后才能正确的播放音频文件。 在系统启动时会对 VS1003初始化。 第一步初始化 MCU 与 VS1003相连接的 I/O 口,接着对 VS1003进行硬件复位和软件复位,之后初始化 VS1003 的内部寄存器,之后就可以向 VS1003写数据,进行音乐播放的功能了。 否 是 是 开始 初始化各驱动程序 是否有歌曲 否 结束 播放一帧数据 扫描键盘一次 获取歌曲信息 读入一帧数据 歌曲是否结束 下一曲 图 41 程序流程图 17 图 42 VS1003驱动流程图 VS1003解码芯片是通过 SPI 实现数据通信的,与 SD卡 公用一个 SPI 接口,通过不同的片选信号,分时复用。 VS1003 通过 7根线与单片机进行通信,即 XRST、 XDCS、 XCS、 DREQ、 SCK、 MOSI、 MISO。 在默认情况下,数据将在 SCLK的上升沿有效(被读入 VS1003),一次需要在 SCLK 的下降沿更新数据,并且字节发送以 MSB 在先。 第一步, I/O 口初始化,这部分初始化 MCU 与 VS1003 相连接的 I/O 口,并初始化 单片机STC12C5A60S2的虚拟 SPI 的相关寄存器,实现代码如 下: Void mp3_port_init() { spi_init()。 MP3_DDR|=MP3_DATA_CS|MP3_CMD_CS|MP3_DATA_REST。 MP3_DDRamp。 =~ MP3_DATA_REQ。 MP3_PORT|= MP3_DATA_CS|MP3_CMD_CS|MP3_DATA_REST| MP3_DATA_REQ。 } Void spi_init() { DDRB=0XBF。 SPCR=0X53。 SPSR=0X01。 } 第二步,对 VS1003 进行复位和寄 存器的设置,这几个步骤在系统启动的时候会执行一遍, 在音乐开始播放的时候,也要执行这个步骤,来清除上次的设置,并初始化相关寄存器。 define MP3Reset(){MP3_PORTamp。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。