摘要:本文基于STC89C51芯片设计了一款电子音乐播放器。设计主要解决了传统音乐播放器笨拙,不方便,一经制造就没有办法更改的问题。通过利用单片机芯片可以反复重新输入程序和代码的特点,做到让整个音乐播放器能够随时更换本身事先设计好的内置音乐。借助单片机的优势,播放器具有多项功能,包括传统播放器所拥有的播放内置音乐的功能以及接受外界向其中录入的歌曲的功能。整个设计由多个电路组成,分为蜂鸣器电路,按键控制电路,复位电路,振荡电路,数码管显示电路,键盘输入电路和稳压电路几个部分。单片机的初始化程序中对不同的音调事先进行了相应的编码,播放音乐时读取存储器当中存储的数字化乐谱,然后发出相应音调的声音。录入歌曲时,扫描键盘得到当前用户正按下的按键,并由处理器调取相对应的音调代码,蜂鸣器发声。整体设计灵活多变,体积更小,方便携带。设计仿真部分通过protues进行仿真,软件设计部分使用了Keil uvision软件,以C语言进行代码的编写,最后用Altium Designer进行原理图的绘制和PCB板的制作。
关键词:音乐播放器;Protues;Keil;歌曲录入;STC89C51单片机
目录
摘要
Abstract
1 概述-1
1.1 研究背景-1
1.2 课题意义-1
1.3 设计内容-2
2 总体方案介绍-2
2.1 硬件系统计划方案-2
2.2 音乐盒功能结构设计方案-3
2.3 主要软件选择和介绍-4
2.3.1 仿真软件选择和介绍-4
2.3.2 编译软件的选择和介绍-5
3 硬件部分设计-5
3.1 总体设计框图-5
3.2 各部分硬件设计-6
3.2.1 STC89C51单片机介绍-6
3.2.2 LED显示电路设计与原理-7
3.2.3 时钟振荡电路-8
3.2.4 复位电路-9
3.2.4 按键控制电路-9
3.2.5 蜂鸣器电路-10
3.2.6 歌曲录入电路-11
3.2.7 稳压电路-11
3.3 整体硬件图及功能-12
4 软件部分设计-13
4.1 确定音调、节拍、乐谱并对应进行编码-13
4.1.1 确定音调-13
4.1.2 确定节拍长度-16
4.1.3 乐谱的编码-16
4.2 软件程序设计-17
4.2.1 主程序流程图-17
4.2.2 播放音乐子程序-18
4.2.3 开始暂停中断子程序设计-19
4.2.4 切换歌曲/切换模式中断子程序设计-20
4.2.5 延时程序-21
4.2.6 定时器中断子程序-22
4.2.7 录入歌曲子程序-23
5 实物和调试-26
5.1 检查硬件连接-26
5.2 检查软件系统-26
5.3 测试结果-26
5.3.1 仿真测试结果-26
6 展望-27
7 结束语-27
参 考 文 献-29
致 谢-30