音乐盒设计(单片机课程设计).pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于89c52单片机音乐播放的设计 安庆师范学院物理与电气工程学院 音乐盒设计 1、设计任务和要求 (1)利用I/O 口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲。 (2直接当前播放的歌曲。 (3)可通过功能键选择播放上一首、下一首和暂停播放歌曲。 2、总体设计 (1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时 器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O 口反相, 就可在I/O脚上得到此频率的脉冲 (2)利用8052的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方 法。例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O 口反相,就可得到中音D0(523HZ)。 记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N :记数值 Fi :内部计时一次为1微秒.故其频率为1MHZ Fr ;要产生的频率 (3) :起记数值的求法如下: T =65536 -N =65536 -Fi /2 /Fr 例如:设K =65536 ,F =1000000 =Fi =1MHZ,求低音D0 (523HZ),高音的D0 (1046HZ)的记数值。 T =65536 -N =65536 -Fi /2 /Fr =65536 -1000000 /2 /Fr =65536 -500000 /Fr 低音D0的T =65536 -500000 /262 =63627 中音D0的T =65536 -500000 /523 =64580 高音D0的T =65536 -500000 /1047 =65059 3、硬件设计 3.1 硬件电路 本设计中用到89C52单片机,扬声器、键盘、连接线。 1.最小系统 ⑴单片机:本次设计使用单片机芯片AT89C52 AT89C52的工作特性: •内含8KB的FLASH存储器檫写次数1000次; •256x8bit内部RAM ; •具有32根可编程I/O线; •具有3个16位编程定时器 •AT89C52 共有6 个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定时器0、1、2)和串行 口中断•具有1个全双工的可编程串行通信接口; •具有可编程3级程序锁定位; •AT89C52的工作电源为5 (1±0.2)V且典型值为5V ; •AT89C52最高工作频率为24MHZ ; •AT89C52的编程频率为3~24MHZ ,编程启动电流和启动电压 分别为1mA、5或12V。 3.2 原理说明 当键盘有键按下时,判断键值,启动计数器T1 ,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启 动定时器T0,显示歌曲号。 (1) 硬件电路中用 、 分别接k1、k2作为上、下一曲的功能键 (2) 用P0控制七段码a,b,c,d,e,f。 (3)用P 1.2口控制喇叭。 (4) 电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。 4、软件设计 本程序可以实现课程设计的基本要求,并可以通过按键播放三首歌曲,程序流程图如下: 总体框图: 主程序框图: 子程序框图: 5、仿真、安装和调试 按照上面设计的电路在proteus软件内画图, 打开单片机软件开发系统Keil,选择89C52单片机,在其中编写程 序,运行生成一个后缀名为hex的文件,然后将该文件下载到proteus 中的AT89C52单片机中进行仿真,观察实 验现象。仿真能实现播放音乐,按键选择曲目,暂停,播放功能。仿真成功后,安装好实验板,然后将音 乐程序下载到电路板内 ,观察结果。能实现播放音乐,按键换曲等功能。 程序调试中出现的问题及解决的办法: (1) 有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的 指令书写得不规范导致的,例如有的RET返回指令一定要按正确格式书写或在两行指令间最好不要留空 行。

文档评论(0)

文库垃圾佬 + 关注
实名认证
文档贡献者

这个人很懒

1亿VIP精品文档

相关文档