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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

I摘要本文将介绍一种以89C51型单片机为基础元件设计的自动音乐播放器。在当今这个科技高速发展的时代,生活节奏的加快,人们长期处于工作、学习压力过大的状态,对于调节心理压力而言音乐对于每一个人都十分重要,由此音乐播放器在国内已经开始普及。校园里的上下课的铃声,宿舍内早晨的起床号声音,都由以前枯燥刺耳的铃音转变成了好听的音乐,公路、广场中的计时装置也逐渐开始采用音乐来充当铃声。此装置不仅为人们日常生活的计时提供了方便,同时也为目前快节奏的生活带来了乐趣。本文是应用MCS-51单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用C语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动蜂鸣器发出不同音调的音乐,再利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳动听的音乐。这种控制电路结构简单,可读性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。关键词:单片机;音乐播放器;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章KEIL仿真软件的应用.............................................8第5章调试与故障分析..................................................95.1软件程序调试.....................................................95.2硬件电路调试.....................................................9总结.................................................................10致谢.................................................................11参考文献...............................................................12附录1:原理图.........................................................13附录2:源程序.........................................................141绪论单片机,更确切地说应称为作微控制器,是20世纪70年代中期发展起来的一种面向控制的大规模集成电路模块,其特点是功能强、体积小、可靠性高、价格低廉。它一面世便在工业控制、数据采集、智能仪表化、机电一体化、家用电器等领域得到了广泛应用,极大地提高了这些领域的技术水平和自动化程度。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。本文将介绍一种以89C51型单片机为基础元件设计的自动音乐播放器。在当今这个科技高速发展的时代,生活节奏的加快,人们长期处于工作、学习压力过大的状态,对于调节心理压力而言音乐对于每一个人都十分重要,由此音乐播放器在国内已经开始普及。校园里的上下课的铃声,宿舍内早晨的起床号声音,都由以前枯燥刺耳的铃音转变成了好听的音乐,公路、广场中的计时装置也逐渐开始采用音乐来充当铃声。此装置不仅为人们日常生活的计时提供了方便,同时也为目前快节奏的生活带来了乐趣。本次设计以89C51单片机为基础,利用单片机编成技术对芯片进行功能设定,实现音乐的播放。同时,利用单片机的定时器中断,在单片机内部产生所需要的音乐频率,并通过音频功率放大器将音频信号放大,通过蜂鸣器连续播放一段音乐。此设计通过多次测试,音乐声音宏亮清晰,节拍正常,达到预期效果。本文将围绕基于单片机的自动音乐播放器,介绍一些关于单片机的基础知识、音乐播放器的制作原理及方法(其中包括了音乐编程原理)、定时器的设定,以及仿真软件(Keil、Proteus)的使用方法。2第1章音乐盒的设计总体方案单片机音乐播放器控制系统结构简单,环节较少,因此,单片机音乐播放器包括LED彩灯、数码管的显示。除了播放音乐有按键外,其余的硬件组成大体相同;对于单片机音乐播放器声音的读出除了蜂鸣器以外,还要配置合适的放大器播放出响亮的声音。图1-1结构总图单片机音乐播放器电路板向着小型化、低功耗、抗千扰、低成本、实用功能方向发展。因此在对单片机的选择趋向于容量适中、功能丰富、性能可靠、价格低的元件。因此本设计中应用最为广泛的MCS-51系列8位单片机8051。单片机按键电路复位电路晶振电路发声电路时钟电路电源电路3第2章硬件电路设计2.1总体设计框图图2-1总设计图2.2时钟电路EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10GND20Vcc40STC89C51/5289C52RCC110ufS0VCCC330pC230p12MHZD1S1S2S3R510KP32P35P12P32P35P12IN+3IN-2GND4VOUT5GAIN1GAIN8BYPASS7Vcc6386运放LM386C710ufC8100ufC6104C5473VCC+-BEEP0.25WR210KR31KR410321P1POWER112233445566S1SWITCHVCCRT1104VCCR12.2KVCC图2-2时钟电路2.3复位电路EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P10/T1P11/T2P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10GND20Vcc40STC89C51/5289C52RCC110ufS0VCCC330pC230p12MHZD1S1S2S3R510KP32P35P12P32P35P12IN+3IN-2GND4VOUT5GAIN1GAIN8BYPASS7Vcc6386运放LM386C710ufC8100ufC6104C5473VCC+-BEEP0.25WR210KR31KR410321P1POWER112233445566S1SWITCHVCCRT1104VCCR12.2KVCC图2-3复位电路2.4选曲按键电路80c51单片机扬声器歌曲制按钮电源复位晶振时钟钟4S1S2S3P12P32P35图2-4选曲电路其中P3.2播放\暂停,P1.2上一首歌,P3.5下一首歌。2.5音频发生及放大电路IN+3IN-2GND4VOUT5GAIN1GAIN8BYPASS7Vcc6386运放LM386C710ufC8100ufC6104C5473VCC+-BEEP0.25WR210KR31KR410RT1104图2-5音频发生及放大电路利用STC89C51的I/O口产生一定频率的方波脉冲,通过LM386功放电路驱动喇叭发出不同的音调从而演凑乐曲。5第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/256TL=Temp%25663.2程序流程图开始初始化堆栈初始化音乐输出口及按钮暂停/播放键是否按下上一曲键是否按下,并且在开机后有一次按下暂停/播放键根据当前状态播放相应歌曲的某个音符按键处理是否下一曲键是否按下,并且在开机后有一次按下暂停/播放键按键处理是否按键处理是否开机后是否按下过暂停/播放键是按键处理否73.3音乐的产生一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。就可在P1.0引脚上得到此频率的脉冲。利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,,则半周期为1

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功