单片机音乐播放器课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
本文将介绍一种以89C51型单片机为基础元件设计的自动音乐播放器。在当今这个科技高速发展的时代,生活节奏的加快,人们长期处于工作、学习压力过大的状态,对于调节心理压力而言音乐对于每一个人都十分重要,由此音乐播放器在国内已经开始普及。校园里的上下课的铃声,宿舍内早晨的起床号声音,都由以前枯燥刺耳的铃音转变成了好听的音乐,公路、广场中的计时装置也逐渐开始采用音乐来充当铃声。此装置不仅为人们日常生活的计时提供了方便,同时也为目前快节奏的生活带来了乐趣。
本文是应用MCS-51单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用C 语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动蜂鸣器发出不同音调的音乐,再利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。
这种控制电路结构简单,可读性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。
关键词:单片机;音乐播放器;C语言。
目录
绪论 (1)
第1章音乐盒的设计总体方案 (2)
第2章硬件电路设计 (3)
2.1 总体设计框图 (3)
2.2 时钟电路 (3)
2.3 复位电路 (3)
2.4 选曲按键电路 (3)
2.5 音频发生及放大电路 (4)
第3章软件程序设计 (5)
3.1单片机发声概述 (5)
3.2 程序流程图 (6)
3.3 音乐的产生 (7)
第4章 KEIL仿真软件的应用 (8)
第5章调试与故障分析 (9)
5.1 软件程序调试 (9)
5.2 硬件电路调试 (9)
总结 (10)
致谢 (11)
参考文献 (12)
附录1:原理图 (13)
附录2:源程序 (14)
绪论
单片机,更确切地说应称为作微控制器,是20世纪70年代中期发展起来的一种面向控制的大规模集成电路模块,其特点是功能强、体积小、可靠性高、价格低廉。它一面世便在工业控制、数据采集、智能仪表化、机电一体化、家用电器等领域得到了广泛应用,极大地提高了这些领域的技术水平和自动化程度。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
本文将介绍一种以89C51型单片机为基础元件设计的自动音乐播放器。在当今这个科技高速发展的时代,生活节奏的加快,人们长期处于工作、学习压力过大的状态,对于调节心理压力而言音乐对于每一个人都十分重要,由此音乐播放器在国内已经开始普及。校园里的上下课的铃声,宿舍内早晨的起床号声音,都由以前枯燥刺耳的铃音转变成了好听的音乐,公路、广场中的计时装置也逐渐开始采用音乐来充当铃声。此装置不仅为人们日常生活的计时提供了方便,同时也为目前快节奏的生活带来了乐趣。
本次设计以89C51单片机为基础,利用单片机编成技术对芯片进行功能设定,实现音乐的播放。同时,利用单片机的定时器中断,在单片机内部产生所需要的音乐频率,并通过音频功率放大器将音频信号放大,通过蜂鸣器连续播放一段音乐。此设计通过多次测试,音乐声音宏亮清晰,节拍正常,达到预期效果。
本文将围绕基于单片机的自动音乐播放器,介绍一些关于单片机的基础知识、音乐播放器的制作原理及方法(其中包括了音乐编程原理)、定时器的设定,以及仿真软件(Keil、Proteus)的使用方法。
第1章音乐盒的设计总体方案
单片机音乐播放器控制系统结构简单,环节较少,因此,单片机音乐播放器包括LED 彩灯、数码管的显示。除了播放音乐有按键外,其余的硬件组成大体相同;对于单片机音乐播放器声音的读出除了蜂鸣器以外,还要配置合适的放大器播放出响亮的声音。
图 1-1 结构总图
单片机音乐播放器电路板向着小型化、低功耗、抗千扰、低成本、实用功能方向发展。因此在对单片机的选择趋向于容量适中、功能丰富、性能可靠、价格低的元件。因此本设计中应用最为广泛的MCS-51系列8位单片机8051。
第2章 硬件电路设计
IN-GND 4
V OUT
GAIN 1
GAIN 8
BYPASS 7LM386
R210K
R31K
R410
RT1104
31393837363534333221
2223242526272829304089C52RC
30p
2.2K
S1
图 2-4 选曲电路
其中P3.2 播放\暂停, P1.2上一首歌,P3.5下一首歌。
图 2-5音频发生及放大电路
利用STC89C51的I/O口产生一定频率的方波脉冲,通过LM386功放电路驱动喇叭发出不同的音调从而演凑乐曲。
第3章软件程序设计
3.1单片机发声概述
一般来说,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐振频率。单片机演奏的音乐基本都是单音频率。因此单片机演奏音乐比较简单,只需能清楚“音调”和“节拍”两个概念即可。音调表示一个音符唱多高的频率。节拍表示一个音符唱多长的时间。
知道了一个音符的频率后,便可以让单片机发出相应频率的振荡信号,从而产生相应的音符声音。通过单片机的定时器进行定时中断,在中断服务程序中将单片机上完结单片机I/O口来回置高电平或者是低电平的,从而让扬声器发出声音。通过节拍计算出每个音符所需要的时间,采用循环延时的方法来实现控制一个音符唱多长的时间,从而构成一首完整的音乐。
音调主要由声音的频率决定。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随响度增加而下降,高频纯音的音调却随响度增加而上升。
以标准高音A的频率F=440HZ,其对应的周期为:T=1/F=1/440=2272us
因此需要在单片机I/O端口输出周期为T=2272us的方波脉冲,也就是t=T/2=2272/2=1136us
也就是说,单片机上定时器的中断出发时间为1136us。如果单片机采用定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设外接晶振的振荡器频率为f,则定时器的预置初始值有以下公式来确定:
Temp = 65536-(50000/CurrentFre)*10/(12000000/SYSTEM_OSC)
TH = Temp /256
TL = Temp %256