网站大量收购独家精品文档,联系QQ:2885784924

课程设计---基于AT89S52单片机数字音乐盒设计.doc

课程设计---基于AT89S52单片机数字音乐盒设计.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机应用课程设计报告 (2011~2012学年第2学期)2012/6/21 设计任务 摘要:本文是应用AT89S52单片机原理和控制理论设计音乐的硬件电路,并利用进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同音调的音乐,再利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数发音设备演奏出悦耳动听的音乐。性高,应用性强;软件程序适应范围广,对于不同的音乐只需要改变相应的定时常数即可。对单片机和音乐爱好者有一定的借鉴价值。 DELAY ? 曲调值 DELAY 调4/4 125ms ? 调4/4 62ms 调3/4 187ms ? 调3/4 94ms 调2/4 250ms ? 调2/4 125ms 4.2输出频率的中短程续 void delay(uint i) { TMOD=0x01; TH0=tab[i]/256; TL0=tab[i]%256; TR0=1; while(TF0==0); TF0=0; } 4.3整体部分程序:#includereg52.h #includeabsacc.h #define uint unsigned int uint code tab[]={63628,63836,64020,64103,64260,64400,64524,64580,64694,64777,64820,64898,64968,65030,65058,65110,65164,65178,65217,65252,65283}; sbit p3_0=P3^0; sbit p3_1=P3^1; sbit p1_0=P1^0; uint g,z,h; void delay(uint x); void main() { dao: while(p3_0==1);//国际歌 while(p3_0==0); while(1) { h=356; while(h--) {p1_0=1; delay(11); p1_0=0; delay(11); if(p3_1==0) { while(p3_1==0); goto cha;}} h=711; while(h--) {p1_0=1; delay(14); p1_0=0; delay(14); if(p3_1==0) { while(p3_1==0); goto cha;}} h=225; while(h--) {p1_0=1; delay(13); p1_0=0; delay(13); if(p3_1==0) { while(p3_1==0); goto cha;} } h=267; while(h--) {p1_0=1; delay(15); p1_0=0; delay(15); if(p3_1==0) { while(p3_1==0); goto cha;}} h=237; while(h--) {p1_0=1; delay(14); p1_0=0; delay(14); if(p3_1==0) { while(p3_1==0); goto cha;}} h=178; while(h--) {p1_0=1; delay(11); p1_0=0; delay(11); if(p3_1==0) { while(p3_1==0); goto cha;}} h=150; while(h--) {p1_0=1; delay(9); p1_0=0; delay(9); if(p3_1==0) { while(p3_1==0); goto cha;} } h=800; while(h--) {p1_0=1; delay(12); p1_0=0; delay(12); if(p3_1==0) { while(p3_1==0); goto cha;} } h=318; while(h--) {p1_0=1; delay(10); p1_0=0; delay(10); if(p3_1==0) { while(p3_1==0); goto cha;} } h=267; while(h--) {p1_0=0; delay(15); p1_0=0; delay(15); if(p3_1==0) { while(p3_1==0); goto cha;} } h=200; while(h--)

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档