单片机音乐播放器课程设计

上传人:第*** 文档编号:55655867 上传时间:2018-10-03 格式:DOC 页数:25 大小:253.51KB
返回 下载 相关 举报
单片机音乐播放器课程设计_第1页
第1页 / 共25页
单片机音乐播放器课程设计_第2页
第2页 / 共25页
单片机音乐播放器课程设计_第3页
第3页 / 共25页
单片机音乐播放器课程设计_第4页
第4页 / 共25页
单片机音乐播放器课程设计_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《单片机音乐播放器课程设计》由会员分享,可在线阅读,更多相关《单片机音乐播放器课程设计(25页珍藏版)》请在金锄头文库上搜索。

1、I摘 要本文将介绍一种以89C51型单片机为基础元件设计的自动音乐播放器。在当今这个科技高速发展的时代,生活节奏的加快,人们长期处于工作、学习压力过大的状态,对于调节心理压力而言音乐对于每一个人都十分重要,由此音乐播放器在国内已经开始普及。校园里的上下课的铃声,宿舍内早晨的起床号声音,都由以前枯燥刺耳的铃音转变成了好听的音乐,公路、广场中的计时装置也逐渐开始采用音乐来充当铃声。此装置不仅为人们日常生活的计时提供了方便,同时也为目前快节奏的生活带来了乐趣。本文是应用 MCS-51单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用C 语言进行程序设计。通过控制单片机内部的定时器来产生不同频率

2、的方波,驱动蜂鸣器发出不同音调的音乐,再利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。这种控制电路结构简单,可读性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。关键词:单片机;音乐播放器;C 语言。II目 录绪 论 1第 1 章 音乐盒的设计总体方案 2第 2 章 硬件电路设计 32.1 总体设计框图 .32.2 时钟电路 .32.3 复位电路 .32.4 选曲按键电路 .32.5 音频发生及放大电路 4第 3 章 软件程序设计 53.1 单片机发声概述.53.2 程序流程图 63.3 音乐的产生 7第 4 章

3、KEIL 仿真软件的应用8第 5 章 调试与故障分析 95.1 软件程序调试 .95.2 硬件电路调试 .9总 结 .10致 谢 .11参考文献 .12附录 1:原理图13附录 2:源程序141绪 论单片机,更确切地说应称为作微控制器,是 20 世纪 70 年代中期发展起来的一种面向控制的大规模集成电路模块,其特点是功能强、体积小、可靠性高、价格低廉。它一面世便在工业控制、数据采集、智能仪表化、机电一体化、家用电器等领域得到了广泛应用,极大地提高了这些领域的技术水平和自动化程度。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。本文将介绍一种以 89C51 型单片机为基础元件设计的自

4、动音乐播放器。在当今这个科技高速发展的时代,生活节奏的加快,人们长期处于工作、学习压力过大的状态,对于调节心理压力而言音乐对于每一个人都十分重要,由此音乐播放器在国内已经开始普及。校园里的上下课的铃声,宿舍内早晨的起床号声音,都由以前枯燥刺耳的铃音转变成了好听的音乐,公路、广场中的计时装置也逐渐开始采用音乐来充当铃声。此装置不仅为人们日常生活的计时提供了方便,同时也为目前快节奏的生活带来了乐趣。本次设计以 89C51 单片机为基础,利用单片机编成技术对芯片进行功能设定,实现音乐的播放。同时,利用单片机的定时器中断,在单片机内部产生所需要的音乐频率,并通过音频功率放大器将音频信号放大,通过蜂鸣器

5、连续播放一段音乐。此设计通过多次测试,音乐声音宏亮清晰,节拍正常,达到预期效果。本文将围绕基于单片机的自动音乐播放器,介绍一些关于单片机的基础知识、音乐播放器的制作原理及方法(其中包括了音乐编程原理) 、定时器的设定,以及仿真软件(Keil、Proteus)的使用方法。2第 1 章 音乐盒的设计总体方案单片机音乐播放器控制系统结构简单,环节较少,因此,单片机音乐播放器包括 LED彩灯、数码管的显示。除了播放音乐有按键外,其余的硬件组成大体相同;对于单片机音乐播放器声音的读出除了蜂鸣器以外,还要配置合适的放大器播放出响亮的声音。单片机按键电路复位电路晶振电路发声电路时钟电路电源电路图 1-1 结

6、构总图单片机音乐播放器电路板向着小型化、低功耗、抗千扰、低成本、实用功能方向发展。因此在对单片机的选择趋向于容量适中、功能丰富、性能可靠、价格低的元件。因此本设计中应用最为广泛的 MCS-51 系列 8 位单片机 8051。3第 2 章 硬件电路设计2.1 总体设计框图 80c51单片机扬声器歌曲制按钮电源复位晶振时钟钟图 2-1 总设计图2.2 时钟电路 EA/V P31X 119X 218RESET9RD17WR16IN T012 IN T113 T 014 T 115P10/T1 P11/T2 P123 P134 P145 P156 P167 P178P0039 P0138 P0237

7、P0336 P0435 P0534 P0633 P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30T X D11RX D10GND20V cc40ST C89C51/5289C52RCC110ufS0V CCC330pC2 30p12MHZD1S1S2S3R5 10KP32P35P12P32P35P12IN +3 IN -2GND4V OU T5 GAIN1 GAIN8BYPASS7V cc6386放放LM386C710ufC8100ufC6104 C5473V CC+ -BEEP0.25WR210KR3 1KR410321P1

8、POW ER1122 3344 5566S1SWIT CHV CCRT 1 104V CCR12.2KV CC图 2-2 时钟电路2.3 复位电路 EA/V P31X 119X 218RESET9RD17WR16IN T012IN T113T 014T 115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30T X D11RX D10GND20V cc40ST C89C51/5289C52

9、RCC110ufS0V CCC330pC2 30p12MHZD1S1S2S3 R5 10KP32P35P12P32P35P12IN +3IN -2GND4V OU T5GAIN1GAIN8BYPASS7V cc6386放放LM386C710ufC8100ufC6104 C5473V CC+ -BEEP0.25WR2 10KR3 1KR410321P1POW ER1122 3344 5566S1SWIT CHV CCRT 1 104V CCR12.2KV CC图 2-3 复位电路2.4 选曲按键电路 4S1S2S3P12P32P35图 2-4 选曲电路其中 P3.2 播放暂停, P1.2 上一首

10、歌,P3.5 下一首歌。2.5 音频发生及放大电路IN +3 IN -2GND4V OU T5 GAIN1 GAIN8BYPASS7V cc6386放放LM386C710ufC8100ufC6104 C5473V CC+ -BEEP0.25WR210KR3 1KR410RT 1 104图 2-5 音频发生及放大电路利用 STC89C51 的 I/O 口产生一定频率的方波脉冲,通过 LM386 功放电路驱动喇叭发出不同的音调从而演凑乐曲。5第 3 章 软件程序设计 3.1单片机发声概述一般来说,单片机不像其他专业乐器那样能奏出多种音色的声音,即不包含相应幅度的谐振频率。单片机演奏的音乐基本都是单

11、音频率。因此单片机演奏音乐比较简单,只需能清楚“音调”和“节拍”两个概念即可。 音调表示一个音符唱多高的频率。 节拍表示一个音符唱多长的时间。 知道了一个音符的频率后,便可以让单片机发出相应频率的振荡信号,从而产生相应的音符声音。通过单片机的定时器进行定时中断,在中断服务程序中将单片机上完结单片机 I/O 口来回置高电平或者是低电平的,从而让扬声器发出声音。通过节拍计算出每个音符所需要的时间,采用循环延时的方法来实现控制一个音符唱多长的时间,从而构成一首完整的音乐。音调主要由声音的频率决定。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随响度增加而下降,高频纯音的音

12、调却随响度增加而上升。 以标准高音 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

13、%25663.2 程序流程图 开始初始化堆栈初始化音乐输出口及按钮 暂停/播放键是否按下上一曲键是否 按下,并且在 开机后有一次 按下暂停/播放 键根据当前状态播放相应歌曲的某个音符按键处理下一曲键是否按 下,并且在开机 后有一次按下暂 停/播放键按键处理是按键处理是开机后是否按下过暂停/播放键是按键处理73.3 音乐的产生 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器 T0 来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄

14、正确即可。若要产生音频脉冲,只要算出某一音频的周期(1/频率) ,再将此周期除以 2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将 P1.0 反相,然后重复计时再反相。就可在 P1.0 引脚上得到此频率的脉冲。利用 AT89C51 的内部定时器使其工作计数器模式(MODE1)下,改变计数值 TH0 及TL0 以产生不同频率的方法产生不同音阶,例如,频率为 523Hz,其周期T1/5231912s, ,则半周期为 1912/2=956s,因此只要令计数器计时 956s,每计数 956 次时将 I/O 反相,就可得到中音 DO(523Hz)则初始值为 65535-956 = 64

15、579 = 0xFC43。计数脉冲值与频率的关系式(如式 3-1 所示)是:Nfi2fr (3-1)式中,N 是计数值;fi 是机器频率(晶体振荡器为 12MHz 时,其频率为 1MHz) ;fr是想要产生的频率。其计数初值 T 的求法如下:T65536N65536fi2fr例如:设 K65536,fi1MHz,求低音 DO(261Hz) 、中音 DO(523Hz) 、高音DO(1046Hz)的计数值。T65536N65536fi2fr6553610000002fr65536500000/fr低音 DO 的 T65536500000/26263627中音 DO 的 T65536500000/5

16、2364580高音 DO 的 T65536500000/1046650598第 4 章 KEIL 仿真软件的应用硬件与软件的设计一般都要分别借助一些软件,如我们通常用作电路设计与制版的Protel,MCS-51 程序开发工具 KEIL 等。Keil C51 uVision2 集成开发环境是基于 80C51 内核的软件开发平台,支持工程建立、程序的编译与链接、软件仿真、硬件仿真、目标代码的生成等功能。Keil C51 编译器在产生代码的准确性和效率方面达到了较高的水平。与大多数集成开发环境类似,Keil C51 集成开发环境也是用工程的方法来管理文件,在一个工程文件中源程序(C51 程序、汇编程序) 、头文件等都可以进行统一管理。安装运行 KEIL51,使用 KEIL 的开发工具进行项目开发过程,与其他软件开发项目的过程基本上相同:创建 C 语言或汇编语言的源程序。编译或汇编源文件。纠正源文件中的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号