




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通信111班, * 音乐播放器的设计齐齐哈尔大学单片机课程设计报告项目名称 音乐播放器的设计 专业班级 通信111班 学生姓名 * 指导教师 朱恒军 2013年12月6日V摘 要本设计是一个基于AT89S52系列单片机的音乐播放器,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐播放器。该音乐播放器主要由按键电路、显示电路、复位电路、时钟电路以及蜂鸣器组成。使用四个按键控制音乐播放器,两个用来切换歌曲,即上一曲和下一曲;一个用作暂停,还有一个是复位键。本音乐播放器共有三首歌曲。播放歌曲时,按上一曲和下一曲数码管就会相应的显示出当前播放的歌曲,利用暂停来控制歌曲的
2、播放/停止。本设计利用KEIL编程软件对音乐播放器源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试。本播放器具有电路简单,功能强大,易于拓展等特点。关键词:单片机;音乐播放器;蜂鸣器;数码管Abstract This design is a series based on AT89S52 SCM music player, based on single chip microcomputer technology principle, through the hardware circuits and software compilation, design to produ
3、ce a multi-functional multi-purpose music player. The music player is mainly composed of the key circuit, display circuit and reset circuit, clock circuit and a buzzer. Using four buttons control the music player, two used to switch songs, on the one and the next song; One used as a pause and a rese
4、t button. This music player three songs. Play songs, according to one song and the next song digital tube will be corresponding shows the current playing song, using the pause to play/stop control songs. This design using the KEIL programming software for music player source program of programming a
5、nd debugging, cooperate with the PROTEUS simulation software for hardware simulation debugging. This player has the circuit is simple, powerful, easy to expand, etc.Key words: single chip microcomputer; Music player; Buzzer.; Digital tube; 目 录摘 要IAbstractII目 录III第1章 绪论11.1 单片机概述11.2 课题概述1第2章 设计目的、要求
6、、仪器及芯片32.1 设计目的32.2 设计要求32.3 设计使用的仪器32.4 单片机芯片介绍4第3章 硬件电路设计63.1 总体设计方案63.2 单元电路设计63.2.1 晶振电路63.2.2 复位电路73.2.3 发声电路73.2.4 显示电路73.3 总体电路8第4章 系统的软件设计94.1 音乐产生原理94.1.1 音调和节拍94.1.3 编码104.2 总体流程图114.3 键控子程序124.3.1 播放/暂停子程序124.3.2 曲目选择子程序134.4 程序的编译144.4.1 KEIL软件简介144.4.2 程序的编译15第5章 电路仿真调试165.1 仿真平台165.1.1
7、 PROTEUS软件简介165.2 仿真测试165.3 测试总结17总结18致谢19参考文献20项目创新及特色21附录1 程序清单22附录2 元器件清单26附录3 电路实物图27第1章 绪论1.1 单片机概述单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机
8、仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。 MCS-51系列单片机主要包括8031、8051和8751等通用产品。DP-51S单片机仿真实验仪是由广州致远电子有限公司设计的DP系列单片机仿真实验仪之一,是一种功能强大的单片机应用技术学习、调试。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴: (1)在智能仪器仪表的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、
9、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。(2)在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。(3)在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公
10、司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。1.2 课题概述MP3的作用是用来播放优美的音乐让人们处在轻松快乐的环境中。 随着便携式消费类音频设备, MP3 播放器已成为当代年轻人必不可少的一种东西。现当今,单片机的应用无处不在。利用单片机控制音乐播放也多不胜举,音乐芯片也相当之多,而利用单片机存储音乐,控制播放最为广泛。它有功能多、价格优、外部电路简单的特点,深受音乐爱好者及音乐芯片制造商的青睐。对于单片机产生音乐,关键是控制频率的输出。我们知道,不同的声音对应不同的频率
11、,产生有规律的频率输出就可以得到响相应规律的声音。音乐中,有8个基本音符:do、re、mi、fa、so、la、xi、do,8个不同的音符对应着不同的频率。只要我们找最与音符输出相应的频率,就可以产生美妙的音乐了。基于这个思想,我设计了款特殊的"音乐播放器",本播放器可实现播放、暂停、复位等功能。为了体现乐曲播放过程中的动态效果,增加了1只LED,作随机闪烁以指示旋律的节奏。由于时间及条件限制,本设计实现了一种简单的音乐播放器,其核心器件采用AT89S52单片机,本播放器具有电路简单,功能强大,易于拓展等特点。在此基础上,可以添加按键,数码管显示屏等模块,实现切换歌曲,歌序显
12、示等功能。第2章 设计目的、要求、仪器及芯片2.1 设计目的目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,电子宠物等等,这些都离不开单片机。在音乐播放方面,利用单片机储存音乐,控制播放也越来越广泛。为了更好的掌握单片机的应用,用单片机设计一个音乐播放器。这样可以有效的将理论知识与实践相结合。2.2 设计要求设计一个音乐播放器,有四个按键:复位、播放/暂停、下一曲、上一曲;1位LED灯显示器,用来显示所选曲目,该显示器在音乐播放中关闭,一曲演奏结束时,或选曲时才显示曲
13、目信息。2.3 设计使用的仪器制作过程中要使用的仪器如下表2-1所示。表2-1 使用仪器型 号名 称数 量安泰信示波器1函数发生器件1数字万用表1UT39A稳压电源1烙铁1AVRVi mil1下载仿真器1焊锡丝1一字口1十字口1手动吸锡器1扁口钳1镊子12.4 单片机芯片介绍AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。单片机引脚如图2-1所示。图2-1 AT89S52单片机引脚图 各引脚功能介绍如下:(1)VCC:供电电压 (2
14、)GND:接地 (3)P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。当P1口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。(5)P2口
15、:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。(5)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,
16、它们被内部上拉为高电平,并用作输入。作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外部中断0)P3.3 INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 WR (外部数据存储器写选通)P3.7 RD (外部数据存储器读选通)同时P3口同时为闪烁编程和编程校验接收一些控制信号。(6)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高平时间。(7)ALE / PROG :
17、当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。(8)PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期PSEN两次有效。但在访问内部部数据存
18、储器时,这两次有效的PSEN信号将不出现。(9)EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。(10)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(11)XTAL2:来自反向振荡器的输出。第3章 硬件电路设计3.1 总体设计方案本系统以89S52单片机为控制核心,以按键开关作为控制元件,以蜂鸣器和以为共阴数码管作为执行器件,再结合12MHZ的晶振电路,共同构成音乐播放器系统。显示电路AT89S52单片机电源电路键控电路复位电路12
19、MHZ晶振电路发声电路图3-1 系统硬件组成框图3.2 单元电路设计3.2.1 晶振电路晶振电路由两个30pF的电容和一个12Mhz的晶体振荡器组成。节点1与单片机的XTAL2相连接,节点2与单片机的XTAL1相连接。如图3-2所示。图3-2 晶振电路3.2.2 复位电路复位电路由复位键、22uF的电解电容C3、200的电阻R3、1000的电阻R4组成。节点3与单片机的RST相连接。如图3-3所示。图3-3 复位电路3.2.3 发声电路发声电路由蜂鸣器、5V的电源和一个200电阻组成。电阻R1一端接扬声器另一端接单片机的P1.7。如图3-4所示。图3-4 发声电路3.2.4 显示电路显示电路是
20、一个1位共阴极LED数码管。 单片机的P0.0-P0.7分别与数码管的A、B、C、D、E、F、G、DP相连接。单片机的P2.0与数码管片选段COM相连接。这样就可以通过控制P0口的高低电平进行控制数码管显示正在的播放歌曲数。共阴极数码管和共阳极数码管的引脚排列相同,主要区别就是公共极共阴极接的是低电平,共阳极接的是高电平数码管才可以正常显示。实际的一位共阴极数码管引脚图和内部结构图,如图3-5所示。图3-5 1位LED数码管引脚和内部结构图3.3 总体电路下图就是音乐播放器用protuse仿真软件完成的电路仿真总体图,如图3-6所示,P1口接的是一位共阴数码管,P3.2、P3.3、P3.4分别
21、接一按键,分别控制上一曲、下一曲和暂停,P1.7接一蜂鸣器,构成发声电路。除此之外,就是单片机最小系统部分。图3-6 总体电路图本播放器具有电路简单,功能强大,易于拓展等特点。在此基础上,可以添加按键,数码管显示屏等模块,实现切换歌曲,歌序显示等功能。第4章 系统的软件设计4.1 音乐产生原理音调的高低用音阶表示,不同的音阶对应不同的频率。因此,不同频率的方波就可以产生音阶,音阶与频率的关系见下表。由于频率的倒数是周期,因此可由单片机中的定时控制方波周期,当定时器计数溢出时产生中断。将与扬声器连接的P1.7取反后就可得到方波的周期,从而达到了控制频率,即音阶的目的。4.1.1 音调和节拍一般说
22、来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。不同音高的乐音是用C、D、E、F、G、A、B来表示,这7个字母就是音乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、4、5、6、7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”,即Tone。把C、D、E、F、G、A、B这一组音的距离分成12个等份,每一个等份叫一个“半音”。两个音之间的距离有两个“半音”,就叫“全音”。在钢琴等键盘乐
23、器上,CD、DE、FG、GA、AB两音之间隔着一个黑键,他们之间的距离就是全音;EF、BC两音之间没有黑键相隔,它们之间的距离就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它们的左上角加上号或者b号的叫变化音。叫升记号,表示把音在原来的基础上升高半音,b叫降记音,表示在原来的基础上降低半音。例如高音DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的,高音RE的频率(1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz)刚好是低音RE频率(294 Hz)的
24、一倍。(1)要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。(2)利用AT89S52的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。(3)例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=95
25、6,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系公式如下:N=Fi2FrN:计算值;Fi:内部计时一次为1us,故其频率为1MHz;(4)其计数值的求法如下:T=65536-N=65536-Fi2Fr例如:设K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。中音DO(523Hz)。高音的DO(1046Hz)的计算值T=65536-N=65536-Fi2Fr=65536-10000002Fr=65536-500000/Fr低音DO的T=65536-500000/262=63627低音DO的T=65536-500000/523
26、=64580低音DO的T=65536-500000/1047=65059(5)C调各音符频率与计数值T的对照表如表所示。表4-1 C调各音符频率与计数值T的对照表低音频率T参数中音频率T参数高音频率T参数Do2621908229Do523956115Do10465757Do2771805217Do554903108Do11095454Re2941701204Re587852102Re11755151Re3111608193Re62280497Re12454848Mi3301515182Mi65975991Mi13184545Fa3491433172Fa69871686Fa13974343Fa3
27、701351162Fa74067681Fa14804141So3921276153So78463877So15683838So4151205145So83160272So16613636La4401136136La88056868La17603434La4641078129La93253664La18653232Si4941012121Si98850661Si197630304.1.3 编码do re mi fa so la si分别编码为17,重音do编为8,重音re编为9,停顿编为0。播放长度以十六分音符为单位(在本程序中为165ms),一拍即四分音符等于4个十六分音符,编为4,其它的播放
28、时间以此类推。音调作为编码的高4位,而播放时间作为低4位,如此音调和节拍就构成了一个编码。以0xff作为曲谱的结束标志。举例1:音调do,发音长度为两拍,即二分音符,将其编码为0x18。举例2:音调re,发音长度为半拍,即八分音符,将其编码为0x22。歌曲播放的设计。先将歌曲的简谱进行编码,储存在一个数据类型为unsigned char 的数组中。程序从数组中取出一个数,然后分离出高4位得到音调,接着找出相应的值赋给定时器0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低4位,得到延时时间,接着调用软件延时。表4-2 简谱对应的简谱码、T值、节拍数简谱发音简谱码T值节拍码节拍数5低音S
29、O16426011/4拍6低音LA26440022/4拍7低音TI36452433/4拍1中音DO46458041拍2中音RE56468451又1/4拍3中音MI66477761又1/2拍4中音FA76482082拍5中音SO864898A2又1/2拍6中音LA964968C3拍7中音TIA65030F3又3/4拍1高音DOB650582高音REC651103高音MID651574高音FAE651785高音SOF65217每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,图5.2为节拍码的对照。如果1拍为0.4秒,1/4拍实0.1秒,只要设定延迟时间就可求得节拍的时间。假
30、设1/4拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如图所示,为1/4和1/8节拍的时间设定。表4-3 1/4和1/8节拍的时间设定曲调值DELAY曲调值DELAY调4/4125毫秒调4/462毫秒调3/4187毫秒调3/494毫秒调2/4250毫秒调2/4125毫秒4.2 总体流程图主程序实现对单片机进行初始化后,进入曲目识别子程序,进行歌曲曲目判断。确定歌曲曲目后,数码管再进行显示。然后,子程序对是否播放进行循环判断,得到播放中断的指令后再进行播放。执行播放后,关闭数码管显示并调用查表子程序进行播放音乐。在播放音乐的过程
31、中,查表子程序循环判断音乐是否结束。当音乐结束时,程序跳转回曲目识别子程序。总体流程如图4-1所示。图4-1 总体流程图4.3 键控子程序4.3.1 播放/暂停子程序播放/暂停在程序利用内部中断T0口。将T0口设为计数中断并工作在方式2下。标识符初值赋值为R1=00H,计数初值设为TH0=0FFH,TL0=0FFH。当按键第一次产生中断信号时,播放/暂停子程序改变标志符R1,将其赋值为01H。此时播放器由暂停状态进入播放状态。当按键第二次产生中断信号时,播放/暂停子程序判断R1是否为02H后,将R1再次赋值为00H。此时,播放器由播放状态进入暂停状态。如图4-2所示。图4-2 播放/暂停子程序
32、流程图4.3.2 曲目选择子程序曲目选择子程序分为上一曲子程序和下一曲子程序。上一曲和下一曲功能实现方式类似,分别由外部中断和外部中断。下面以实现上一曲功能为例:首先设置标识符R7初始值为00H。当按键产生中断信号,上一曲中断子程序改变标识符R7的值为01H并改变曲目R0的值。播放子程序判断出标识符R7改变后,先将R7赋值为00H,然后跳转到曲目识别子程序。如图4-3所示。图4-3 曲目选择子程序流程图4.4 程序的编译4.4.1 KEIL软件简介单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极
33、少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、N
34、T、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4.4.2 程序的编译打开Keil软件,首先,建立工程文件,然后新建一文档,输入自己编写的程序。点击保存,保存为.ASM文件(C语言为.C文件)。然
35、后,然后再单击Add Files to Group Source Group 1。然后勾选生成.HEX文件选项,最后点击编译,运行结果如图4-3所示。图4-4 Keil软件编译图第5章 电路仿真调试5.1 仿真平台5.1.1 PROTEUS软件简介Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐
36、。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 5.2 仿真测试开始仿真后,音乐播放器处于暂停状态。蜂鸣器不发声音,曲目初始设
37、置为第一首曲子。数码管显示数字“1”。 图5-1 初始数码管显示图点击播放/暂停键,播放器进入播放状态,蜂鸣器开始播放音乐。数码管关闭。点击下一曲键,数码管将会亮显示所选曲目。同样,可以点击上一曲,进行播放上一曲的歌曲,数码管并显示当前播放歌曲的曲目。下面就是第一次点击下一曲按键显示的图,如图5-2所示。图5-2 第一次点击显示图1s后,音乐播放器播放音乐,数码管关闭。点击播放/暂停键,让播放器处于暂停状态,也可点击下一曲/上一曲按键进行选歌。图5-3 第二次点击显示图再次点击播放/暂停键,播放进入播放状态,数码管关闭。5.3 测试总结音乐播放器很好的实现了播放/暂停、上一曲、下一曲的功能,并
38、满足了数码管显示的特殊要求。 音效良好,能很好听出乐曲的曲名。当然设计的音乐播放器也存在着不足之处。1位LED数码管只能显示10以内的歌曲曲目,超过10将无法显示。(1)运行程序时LED 1位共阴数码管显示程乱码。原因分析:数码管初始设置有错。解决方案:重新设置数码管显示参数,(2)数码管显示的时间与真正的时间进度不一致。原因分析:定时器初值设置有误。本次设计的晶振为6MHZ,而程序中的初值却设置成了6MHZ晶振所采用的值5000,导致显示的时间比真正的时间要慢。解决方案:将定时器初值改为6MHZ晶振初值的一半,及2500即可。总结在校学习单片机的课时不多,对单片机的硬件设计,软件设计掌握的深
39、度不够,但通过此次课程设计,明显的改善了,首先对于硬件电路的工作原理有了进一步的学习,同时有了一个提升;软件方面,在程序的设计,从一开始的什么都不懂到依样画葫芦在从中理解每个程序的作用。在作品仿真时对程序的调试方面出现的状况都有所了解及对此现象怎样去改善有一定的了解。通过这次课程设计,我体会到了成功的喜悦,听着自己设计的程序下载到单片机中播放出音乐,心理非常自豪。这次的课程设计在一定程度上改变了我学习单片机这门课程的态度,从最初的认为学它没有什么实际意义,到如今理解单片机在实际生活中的重要性,并希望能将理论运用到实践,设计出更好更完整的系统。我明白了一个人要想做好一件事,就必须具备自信心,耐心
40、,还要有毅力,要胆大心细,要勇于尝试,要手脑并用,最后才能交出一份令人满意的答卷。 总之,这次设计从软件编写、调试到软硬件联机调试,我倾注了大量的时间和心血。真是曾经为程序的编写而冥思查找过,曾经为无法找出错误而郁闷苦恼过,也曾经为某一功能不能实现而犹豫彷徨过,但最终我成功了。致谢虽然毕业设计内容繁多,过程繁琐,但我的收获却更加丰富。通过朱恒军老师的悉心指导和其他老师的指导及其与同学们在制作作品时的交流,我了解到到了单片机最小系统的作用和设计方法,相关设备的选用标准,以及各种容易忽略的细节,我的能力得到了提高。虽然提高是有限的,但这次提高也是全面的,正是这一次设计让我积累了大量的实际经验,使我
41、的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的理解能力,更强的沟通能力和更快的应变能力。指导教师渊博的知识、严谨的治学态度、兢兢业业的工作作风、忘我的工作精神和谦和的为人使我受益匪浅,老师的教诲和启发使我终生难忘。最终按质按量完成本次设计,我的收获是很难用语言来描述的,非常感谢老师的指导与帮助!参考文献1 张永枫.单片机应用实训教程M.北京:清华大学出版社 2008.122 郭文川.单片机原理与接口技术M.中国农业出版社.2007.83 阎石. 数字电子技术基础(第五版)M.北京:高等教育出版社.20054 李泉溪. 单片机原理与实例仿真M. 北京:北京航空航天大学出
42、版社,20095 李建忠.单片机原理及应用M,西安电子科技大学出版社,2008.2. 6 黄智伟.凌阳单片机课程设计指导M,北京:北京航空航天大学出版社,2006.11.7 康华光. 模拟电子技术基础(第四版)M, 武汉:华中理工大学出版社,1999.项目创新及特色1、 本设计通过单片机芯片对音乐进行控制,不仅有数码管直接显示,而且还有LED灯,更加增加了设计的可观性。2、 蜂鸣器作为一个发声器件,让它发出不同的音符组成一曲美妙的音乐是一大难题,这就通过单片机芯片编程来控制发音的音长、音频、音强,最终实现了音乐的谱写。附录1 程序清单 LL EQU 30H ORG 0000H LJMP MAI
43、N ORG 0003H LJMP SUM ;上一曲中断 ORG 000BH LJMP BOF ;播放/暂停 ORG 0013H LJMP DUM ;下一曲中断 ORG 001BH LJMP TIMER1 ORG 50H ;*主程序*MAIN: MOV R0,#01H MOV R1,#00H MOV R7,#00H MOV TMOD,#1EH ;置T1为定时工作方式1,T0为计数工作方式2 MOV TCON,#15H ;启动T0、T1 MOV TH0,#0FFH MOV TL0,#0FFH MOV IE,#9FH ;开放全部中断;*乐曲判断*KEYCHECK:MOV A,R0 DEC A JZ
44、MUSIC1 DEC A JZ MUSIC2 DEC A JZ MUSIC3 SJMP KEYCHECK ;*MUSIC1: LCALL XIAN LCALL DELAY0 MOV DPTR,#TONE1MOV P0,#06H LCALL LOP SJMP MUSIC1MUSIC2: LCALL XIAN LCALL DELAY0 MOV DPTR,#TONE2MOV P0,#5BH LCALL LOP SJMP MUSIC2MUSIC3: LCALL XIAN LCALL DELAY0 MOV DPTR,#TONE3MOV P0,#4FH LCALL LOP SJMP MUSIC3LOP:
45、CJNE R1,#00H,LOOP5 ;判断是否播放 CLR TR1 CJNE R7,#01H,LOOP4 ;暂停过程中的标识符判断 MOV R7,#00H SJMP KEYCHECKLOOP4: LJMP LOPLOOP5: MOV A,#0 MOVC A,A+DPTR JZ QUIT CJNE A,#01H,LOOP6 CLR TR1 INC DPTR LJMP LOOP7LOOP6: MOV R5,A MOV TH1,A INC DPTR MOV A,#0 MOVC A,A+DPTR MOV R6,A MOV TL1,R6 SETB TR1LOOP7: INC DPTR MOV A,#0
46、 MOVC A,A+DPTR;*延时* MOV R2,ALOOP1: MOV R3,#80HLOOP2: MOV R4,#0FFHLOOP3: DJNZ R4,LOOP3 DJNZ R3,LOOP2 DJNZ R2,LOOP1 INC DPTRLOOP8: CJNE R7,#01H,GOON ;播放中的标识符判断 MOV R7,#00H SJMP KEYCHECKGOON: LJMP LOPQUIT: RET ;*TIMER1: PUSH DPH ;定时器1中断子程序 PUSH DPL PUSH ACC CPL P1.7 MOV TH1,R5 MOV TL1,R6 SETB TR1 POP A
47、CC POP DPL POP DPH RETI ;*延时子程序*DELAY0: MOV R2,#10DELAY3: MOV R3,#200DELAY2: MOV R4,#125DELAY1: DJNZ R4,DELAY1 DJNZ R3,DELAY2 DJNZ R2,DELAY3 RET ;*中断子程序*SUM: CJNE R0,#01H,SUM1 ;上一曲INT0中断子程序 MOV R0,#04HSUM1: DEC R0 INC R7 RETIDUM: CJNE R0,#03H,DUM1 ;下一曲INT1中断子程序 MOV R0,#00HDUM1: INC R0 INC R7 RETIBOF
48、: INC R1 ;播放暂停T0子程序 CJNE R1,#02H,BOF1 MOV R1,#00H RETI ;-BOF1: RETI ;*显示子程序*XIAN: CLR TR1 MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR CLR P2.0 MOV P0,A RET ;*音乐程序*TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;*两只老虎*TONE1: DB 0FCH,2FH,4,0FCH,99H,4,0FCH,0F8H,4 ,0FCH,2FH,4,0FCH,2FH,4,0FCH,99H,4 DB 0FCH,0F8H,4,0FCH,2FH,4,0FCH,0F8H,4,0FDH,22H,4,0FDH,73H,8,0FCH,0F8H,4 DB 0FDH,22H,4,0FDH,73H,8,0FDH,73H,3,0FDH,0BAH,1,0FDH,73H,3,0FDH,22H,1 DB 0FCH,0F8H,4,0FCH,2FH,4,0FDH,73H,3,0FDH,0BAH,1,0FDH,73H,3,0FCH,22H,1 DB 0FCH,0F8H,4,0FCH,2FH,4,0FCH,2FH,4,0FDH,73H,4,0F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物发酵工程技术在生物发酵产业产业链优化升级中的应用前景报告
- 2024年9月计算机四级网络工程师笔试试题
- 基于大数据的互联网医疗美容服务模式创新研究评估报告
- 绿色建筑认证体系在绿色住宅社区的推广与应用分析报告
- 2023年职业技能学历双提升工程实施方案
- 绿色消费理念在2025年绿色家居窗帘品牌推广中的传播与消费者引导报告
- 2023年监理工程师的工作考试答案
- 2023幼儿园食品安全工作计划
- 2023年继续教育八大员安全员考试+答案
- 2023年造价工程师安装工程真题加参考答案及解析
- 第12章一次函数 单元测试 数学八年级上册 沪科版
- 2025平面设计合同范本
- 养老服务投标文件(技术方案)
- 宁夏中卫人文介绍
- 湖南省英语高考试题与参考答案(2025年)
- 行政执法资格证法律知识考试复习题及答案
- 广西壮族自治区2025年普通高校招生考生报名登记表(样表)
- 统编版语文三年级上册第6单元大单元教学设计
- 精神分裂症合并糖尿病患者护理查房课件
- GB/T 44230-2024政务信息系统基本要求
- 宫腔镜技术诊断子宫内膜癌的临床应用
评论
0/150
提交评论