微信公开课
微信公开课小程序热门讨论「您好,能把51单片机用蜂鸣器唱歌的程序发给我一份吗?还有简谱转化为二进制数的小程序?谢谢!#」最新回复-includereg52.h#includeintrins.h//本例采用89C52,晶振为11.0592MHZ//关于如何编制音乐代码,其实十分简单,各位可以看以下代码.//频率常数即音乐术语中的音调,而节拍常数即音乐术语中的多少拍;//所以拿出谱子,试探编吧!sbitout=P2^3;unsignedcharn=0;//n为节拍常数变量unsignedcharcodemusic_tab[]={0x18,0x30,0x1C,0x10,//格式为:频率常数,节拍常数,频率常数,节拍常数,0x20,0x40,0x1C,0x10,0x18,0x10,0x20,0x10,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,0x20,0x1C,0x20,0x18,0x20,0x20,0x80,0xFF,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0xFF,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x20,0x1C,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1C,0x10,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x15,0x1F,0x05,0x20,0x10,0x1C,0x10,0x20,0x20,0x26,0x20,0x2B,0x20,0x30,0x20,0x2B,0x40,0x20,0x30,0x1C,0x10,0x18,0x20,0x15,0x20,0x1C,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2B,0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1C,0x10,0x18,0x40,0x1C,0x20,0x20,0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00};voidint0()interrupt1//采用中断0控制节拍{TH0=0xd8;TL0=0xef;n;}voiddelay(unsignedcharm)//控制频率延时{unsignedi=3*m;while(i);}voiddelayms(unsignedchara)//豪秒延时子程序{while(a);//采用while(a)不要采用while(a);各位可编译一下看看汇编结果就知道了!}voidmain(){unsignedcharp,m;//m为频率常数变量unsignedchari=0;TMOD&=0x0f;TMOD|=0x01;TH0=0xd8;TL0=0xef;IE=0x82;play:while(1){a:p=music_tab[i];if(p==0x00){i=0,delayms(1000);gotoplay;}//如果碰到结束符,延时1秒,回到开始再来一遍elseif(p==0xff){i=i+1;delayms(100),TR0=0;gotoa;}//若碰到休止符,延时100ms,继续取下一音符else{m=music_tab[i++],n=music_tab[i++];}//取频率常数和节拍常数TR0=1;//开定时器1while(n!=0)out=~out,delay(m);//等待节拍完成,通过P1口输出音频(可多声道哦!)TR0=0;//关定时器1}}
51唱歌程序网上有下载的,简谱不是转化为二进制数,而是用来设置定时器的一个数值,比如初值或是循环次数等,也就是用一个函数来读懂音乐. 更多有关「您好,能把51单片机用蜂鸣器唱歌的程序发给我一份吗?还有简谱转化为二进制数的小程序?谢谢!#」的疑问请扫码关注微信公开课+小程序!了解更多
方法1:微信扫描微信公开课小程序码即可订阅热议话题「您好,能把51单片机用蜂鸣器唱歌的程序发给我一份吗?还有简谱转化为二进制数的小程序?谢谢!」
方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「您好,能把51单片机用蜂鸣器唱歌的程序发给我一份吗?还有简谱转化为二进制数的小程序?谢谢!」
方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「您好,能把51单片机用蜂鸣器唱歌的程序发给我一份吗?还有简谱转化为二进制数的小程序?谢谢!」
微信公开课小程序热议话题「您好,能把51单片机用蜂鸣器唱歌的程序发给我一份吗?还有简谱转化为二进制数的小程序?谢谢!」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。
微信公开课热议话题「您好,能把51单片机用蜂鸣器唱歌的程序发给我一份吗?还有简谱转化为二进制数的小程序?谢谢!」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。