ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:275.79KB ,
资源ID:7823085      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7823085.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计制作音乐盒汇编代码零错误课件.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计制作音乐盒汇编代码零错误课件.docx

1、单片机课程设计制作音乐盒汇编代码零错误课件浙江理工大学单片机系统设计及应用实验设计报告题 目: MP3音乐盒设计 专 业: 机械电子工程 班 级: 08机电一班 姓 名: 竺冬伟 黄栋明 学 号: B0837129 B08370111 指导教师: 袁嫣红 机械与自动控制学院2011年 6 月 30 日基于AT89C51单片机的MP3音乐盒设计【摘 要】:本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能MP3音乐盒。本设计采用了扬声器发声来实现歌曲的播放,能保持基本音调不变,流畅播放出歌曲。利用I/O口产生一定频率的方波,驱

2、动蜂鸣器,发出不同的音调,从而演奏乐曲。通过单片机P1口控制,实现功能键盘控制;通过不同的按键实现歌曲的选择,播放顺序的调换和暂停播放功能;扬声器由单片机的P2.7口控制,实现歌曲播放;P3.0口实现发光二极管随不同频率的闪动。主要工作过程是通过按下功能键实现曲目选择,上一首,下一首及暂停播放,同时有液晶屏显示当前播放歌曲的序号和播放时间,扬声器播放出音乐。【关键词】:AT89C51单片机;方波; 音调; 音乐盒 引言21世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品

3、更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪

4、华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产

5、。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。1绪论1.1概述本设计是以AT89C51芯片的电路为基础,外部加上放音设备和按键设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。1.2 目的意义为了更好地熟悉和掌握单片机的基本功能和编程,

6、我们以AT89C51为基础设计电子音乐盒。AT89C51单片机电子音乐盒集成多个硬件资源模块,每个模块各自可以成为独立的单元,也可以相互组合,因此,可以为不同阶层的单片机爱好者所用。同时,电子音乐盒的设计具有很重要的现实意义。我们根据学习和实践的需要,进行了电子音乐盒功能设计。我们在制作电子音乐盒的过程中会学习到很多的东西,能够最大限度的了解我们自制的这一个单片机电子音乐盒,这样以后调试程序的时候便得心应手,效率要提高很多。1.3 设计的概要思路制定音乐盒控制系统需要完成功能,并根据此来制定设计方案;根据设计方案来进行硬件电路图的设计和软件模块的开发;通过在XL600上不断调试后再来反复修改程

7、序,最终达到预期功能。2 设计方案简述2.1 设计功能要求1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(本设计中含有10首歌曲) 2采用LCD显示信息(歌曲序号,播放时间等) 3开机时有英文欢迎提示字符,播放时显示歌曲序号 4可通过功能键选择乐曲,暂停,播放,上一曲,下一曲。5 . 八路流水灯随着不同音阶的播放产生相应的闪烁2.2 总体设计原理通过单片机的定时器产生一定长度的方波,方波脉冲驱动扬声器发声。要产生音频脉冲,只需算出某一音频的周期(1/音频),然后取半周期的时间定时。利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半

8、周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲。如中音D0,频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时1912/2=956,在每计数956次时将I/O口反相,就可得到中音D0(523HZ)。 当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,在LCD显示歌曲号。通过单片机P1口控制,实现功能键盘的功能;功能键盘采用按键开关,通过单片机P2口控制,实现歌曲播放顺序的调换和暂停播放功能;扬声器由单片机的P2.7口控制,实现歌曲播放。通过按下功能键实现曲目选择,上一首和下一首及暂停播放,同时有LCD显

9、示当前播放歌曲的序号,扬声器播放出音乐,八路流水灯随着不同音阶的播放产生相应的闪烁。2.3 总体设计框图单片机接+5V电源供电,晶振电路产生单片机所需时钟信号,通过功能键产生外部中断,控制音乐盒的上一首和下一首曲目,再由I/O接口输出控制扬声器发声,LCD显示。另外,复位电路在于营造一个程序运行的初始状态,在程序出错时,重新启动单片机工作。编程设置好定时时间,通过编程器写入AT89C51单片机系统。由AT89C51单片机的定时器每秒钟通过P0.0-P0.7口控制LCD显示,复位信号由按钮输入,每按下一次,系统恢复原设定状态。3、 详细设计3.1 AT89C51简介AT89C51是一种带4K字节

10、闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高

11、且价廉的方案。外形及引脚排列如图3.1所示图3.21 AT89C51系列单片机3.2 时钟振荡电路 AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF10PF,而如果使用陶瓷振荡器建议选择40PF10PF。用户也可以

12、采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。振荡器电路图如下:图3.2 单片机内部、外部振荡电路3.3扬声器部分扬声器是一种把电信号转换成声音信号的电声器件。确切地说,扬声器的工作实际上是把一定范围内的音频电功率讯号通过换能方式转变为失真小并具有足够声压级的可听声音。我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高

13、”电平或低电平,则在该口上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。 3.4 显示部分本设计方案采用液晶显示屏1602作为显示器。选用单片机的P0口作为液晶数据输入口,P2.1、P2.2分别接液晶的数据和时钟引脚。用液晶作为显示器,极大地简化了硬件电路,同时增强了系统的显示能力。3.5 流程图3.6 硬件电路图及功能总体硬件电路实现功能如下,如图3.5所示1) 电路中用P1口控制按键。2) P0口控制LED,显示时间,曲目。3) P2.7控制蜂鸣器,播放音乐。4) P3口控制流水灯闪烁。5) 电路为

14、12MHZ晶振频率工作,起振电路中C1、C2均为30PF。4、 仿真、调试4.1仿真(1)按照设计的硬件电路在PROTUSE上画好电路图。(2)电路检查无误后,双击AT89C51单片机,打开编辑元件对话框如下图所示,将调试好的程序HEX文件加载到单片机上(3)点击运行按钮后,按下F键,LCD上得到开机画面“WELCOME HERE”的字样,如下左图所示 (4)按下1-A中的某一键,即播放该歌曲,LCD显示当前歌曲序列号,如上右图为播放第二首歌曲的画面(5)按下C键即终止当前播放,进入下一首歌曲的播放C键动作 (6)按下D键,蜂鸣器演奏上一首歌曲,LCD也显示上一首歌曲序列号D键动作 (7)E键

15、为暂停/播放键E建动作 (8)随着音乐的播放流水灯闪烁4.2 调试(1)按照设计的硬件电路在XL600上连好电路。(2)在keil软件中编译程序,并且实现与硬件电路的连接。( 3) 在XL600中通过不同功能的按键实现不同的功能实现曲目选择,上一首和下一首及暂停播放,同时有LCD显示当前播放歌曲的序号,扬声器播放出音乐,八路流水灯随着不同音阶的播放产生相应的闪烁。5、 课程设计总结本文描述了电子音乐盒的硬件和软件制作方案,总体符合预期要求,能够成功实现按1-A按键能演奏不同的乐曲的基本功能,并添加了通过按键控制上一首,下一首,暂停/播放的功能和八路流水灯按照乐曲频率闪烁功能。在播放乐曲的过程中

16、,还增加了显示歌曲演奏时间的功能。另外,采用了液晶显示技术,简化了硬件电路,还能显示英文的开机画面等。总体来说本次课程设计基本完成。当然,此设计过程中碰到了很多问题。如:1、刚开始LCD显示的时间不正确,走了几秒之后直接跳到分位。经过查阅资料之后,了解到是由于设置的延时时间和LCD编码的不同造成的,略作修改之后得到了解决。2、在播放过程中,音乐的频率和走的时间略微过快,分析得这可能和单片机上不同的晶振有关。3、在添加了八路流水灯程序之后之后,播放的音乐有时会出现颤音现象。分析得该程序可能影响到了音乐节拍和延时程序的运行。在将该段程序放置合适方位之后,该问题得到解决。音乐盒设计是一项趣味性很强的

17、设计,能激发我们的浓厚兴趣。同时要求我们从程序编程,调试,软件仿真和绘制开始,到硬件的调试,再到修改程序,在这期间我们了解到了单片机开发的大致流程。通过这次课程设计,也让我们学习到了很多新的东西,这些都让我们受益匪浅。单片机的定时器功能,LCD显示,功能键盘的设计,这些内容都颇为丰富。有以前学习过的旧知识,也有很多未曾注意到得新知识,这些都曾使我们的设计出错,通过自己的努力,老师指导和同学的帮助,终于克服了一个一个的困难,把硬件实物顺利做好,把软件调试顺利完成。最后,衷心感谢这次对我们的课程设计提供无私帮助的所有老师和同学!参考文献1 阎石. 数字电子技术基础. 北京: 高等教育出版社, 19

18、982 陈明荧. MCS-51单片机课程设计实训教程. 北京: 清华大学出版社,2004.33 张俊谟. 单片机中级教程-原理与应用. 北京: 北京航空航天大学出版社,20064 黄菊生. 单片机原理与接口技术. 北京:国防工业出版社 2007.095 杨西明、朱骐主. 单片机编程与应用入门. 北京:机械工业出版社 2004.066 徐爱钧 单片机原理实用教程(基于Proteus虚拟仿真). 北京:电子工业出版社 2009.01附录1电路图音乐盒硬件电路图附录2 源程序;-;定义液晶显示端口标号RS BIT P2.0 ;LCD寄存器选择信号RW BIT P2.1 ;LCD读/写选择信号E BI

19、T P2.2 ;LCD使能信号;*L50MS EQU 60H ;把60H单元格赋值给L50MSL1MS EQU 61H ;把61H单元格赋值给LIMSL250MS EQU 62H ;把62H单元格赋值给L250MSHOU EQU 63H ;把63H单元格赋值给HOUMIN EQU 64H ;把64H单元格赋值给MINSEC EQU 65H ;把65H单元格赋值给SEC;* org 0000h ljmp main ORG 000BH LJMP TT0 ORG 001BH LJMP T1INT org 1000hmain: ;-;液晶初始化 MOV SP,#70H MOV P0,#01H ;清屏

20、CALL ENABLE ; MOV P0,#38H ;8位,2行显示 lCALL ENABLE MOV P0,#0FH ;屏显on,光标on,闪烁on lCALL ENABLE MOV P0,#06H ;计数地址加1,显示幕on lCALL ENABLE;-内存初始化 lcall initil ;-key1: lcall key lcall modd ljmp key1;-键盘扫描key: nop nop lcall ks jnz k1 ;有按键转到K1 lcall kaiji lcall SOPxn: ljmp keyk1: lcall modd lcall modd lcall ks jn

21、z k2 ljmp keyk2: mov R2,#0feh ;读键盘 mov R4,#00hk3: mov A,R2 mov P1,A mov A,P1 JB ACC.4,L1 ;为1跳转,第一行无按键 mov a,#00h ljmp lkL1: jb acc.5,L2 ; mov a,#04h ljmp lkL2: jb acc.6,L3 mov a,#08h ljmp lkL3: jb acc.7,next1 mov a,#0ch;-lk: add a,R4 push acck4: lcall delay1 ;若同时有其他按键,则等待 lcall ks jnz k4;- mov r3,#0

22、7h clr a mov r0,#30h mov r1,#31hmm1: mov a,r1 mov r0,a inc r0 inc r1 djnz r3,mm1 pop acc mov r0,a RET;-next1: inc R4 ;-列扫描 mov a,R2 JNB acc.3,n2 ljmp n1n2: ljmp keyn1: rl a mov R2,a ljmp k3;-ks: mov a,#0f0h ;判断P1口 mov P1,a nop nop mov a,P1 cpl a anl a,#0f0h RET;-DELAY1: SETB RS0dl: mov R5,#0ahdl2: m

23、ov R6,#63dl3: nop nop djnz R6,dl3 djnz R5,dl2 CLR RS0 RET;- ;30H-38H初值为零;-initil: mov r3,#09h mov r0,#30hm1: mov r0,#00h inc r0 djnz r3,m1 RET;-;显示 ;-modd: MOV P0,#8EH CALL ENABLE mov A,37H mov DPTR,#TABLE3 MOVC A,A+DPTR CALL WRITE2 RET;-;开机提示字;-kaiji: mov a,37h cjne a,#0fh,DFF MOV P0,#80H ;设光标地址 CA

24、LL ENABLE MOV DPTR,#TABLE1;写数据 CALL WRITE1 DFF: RET;-;按键值播放歌曲;-SOP: mov a,37h cjne a,#01h,A11 LCALL MODD MOV 52H,#HIGH TABLE10 MOV 53H,#LOW TABLE10 LCALL INITILE2 lcall MAIN0A11: CJNE A,#02H,A22 LCALL MODD MOV 52H,#HIGH TABLE20 MOV 53H,#LOW TABLE20 LCALL INITILE2 lcall MAIN0A22: CJNE A,#03H,A33 LCAL

25、L MODD MOV 52H,#HIGH TABLE30 MOV 53H,#LOW TABLE30 LCALL INITILE2 lcall MAIN0 A33: CJNE A,#04H,A44 LCALL MODD MOV 52H,#HIGH TABLE40 MOV 53H,#LOW TABLE40 LCALL INITILE2 lcall MAIN0A44: CJNE A,#05H,A55 LCALL MODD MOV 52H,#HIGH TABLE50 MOV 53H,#LOW TABLE50 LCALL INITILE2 lcall MAIN0A55: CJNE A,#06H,A66

26、LCALL MODD MOV 52H,#HIGH TABLE60 MOV 53H,#LOW TABLE60 LCALL INITILE2 lcall MAIN0 A66: CJNE A,#07H,A77 LCALL MODD MOV 52H,#HIGH TABLE70 MOV 53H,#LOW TABLE70 LCALL INITILE2 lcall MAIN0 A77: CJNE A,#08H,A88 LCALL MODD MOV 52H,#HIGH TABLE80 MOV 53H,#LOW TABLE80 LCALL INITILE2 lcall MAIN0A88: CJNE A,#09H,A99 LCALL MODD MOV 52H,#HIGH TABLE90 MOV 53H,#LOW TABLE90 LCALL INITILE2 lcall MAIN0 A99: CJNE A,#0AH,AAA LCALL MODD MOV 52H,#HIGH TABLE100 MOV 53H,#LOW TABLE100 LCALL INITILE2 lcall MAIN0 AAA: RET ;*INITILE2: MOV L50MS,#20 MOV

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1