2024年10月51单片机歌曲代码大全(求: 用51单片机c语言操作使蜂鸣器奏出“祝你生日快乐”音乐的全部程序!)

 更新时间:2024-10-12

  ⑴单片机歌曲代码大全(求:用单片机c语言操作使蜂鸣器奏出“祝你生日快乐”音乐的全部程序!

  ⑵求:用单片机c语言操作使蜂鸣器奏出“祝你生日快乐”音乐的全部程序!

  ⑶#include《reg.h》sbitspeaker=P^;unsignedchartimerh,timerl,time;//生日歌codeunsignedcharsszymmh={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};//音阶频率表高八位codeunsignedcharFREQH={xF,xF,xF,xF,xF,xF,xF,xF,xF,xFA,xFA,xFB,xFB,xFC,xFC,//,,,,,,,,ixFC,xFD,xFD,xFD,xFD,xFE,xFE,xFE,xFE,xFE,xFE,xFE,xFF,};//音阶频率表低八位codeunsignedcharFREQL={x,xC,x,xB,xD,xD,xB,x,xE,xC,xD,x,xE,xB,xF,//,,,,,,,,ixEE,x,xB,xB,xF,xD,x,x,xA,xB,xDA,xFA,x,};voiddelay(unsignedchart){unsignedchart;unsignedlongt;for(t=;t《t;t++){for(t=;t《;t++){;}}TR=;}voidtint()interrupt{TR=;speaker=!speaker;TH=timerh;TL=timerl;TR=;}voidsong(){TH=timerh;TL=timerl;TR=;delay(time);}voidmain(void){unsignedchark,i;TMOD=;//置CT定时工作方式EA=;ET=;//IE=x//CPU开中断,CT开中断while(){i=;while(i《){//音乐数组长度,唱完从头再来k=sszymmh-;timerh=FREQH;timerl=FREQL;time=sszymmh;i=i+;song();}}}

  ⑷谁能给我几首单片机流行歌曲的源代码!

  ⑸《!----》程序代码:(以下代码奏出八月桂花香这首曲子HLJMPSTARTBHINCH;中断服务,中断计数器加MOVTH,#DBHMOVTL,#FFH;.M晶振,形成毫秒中断RETISTART:MOVSP,#HMOVTH,#DBHMOVTL,#FFHMOVTMOD,#HMOVIE,#HMUSIC:NOPMOVDPTR,#DAT;表头地址送DPTRMOVH,#H;中断计数器清MUSIC:NOPCLRA;A清零MOVCA,A+DPTR;查表取代码JZEND;是H,则结束CJNEA,#FFH,MUSIC;如果不是休止符,往下执行,;以R作为音符频率控制,唱R节拍那么久。LJMPMUSICMUSIC:NOPMOVR,A;R=H音符的频率INCDPTR;DPTR加MOVA,#MOVCA,A+DPTR;取节拍代码送RMOVR,A;R=H音符发音的时间SETBTR;启动计数MUSIC:NOPCPLP.;P.是音乐输出引脚MOVA,RMOVR,A;R=R=HLCALLDELMOVA,RCJNEA,H,MUSIC;中断计数器(H)=R否?;不等,则继续循环MOVH,#H;等于,则取下一代码INCDPTRLJMPMUSICMUSIC:NOP;休止毫秒CLRTRMOVR,#DH;R=MUSIC:NOPMOVR,#FFH;R=LCALLDELDJNZR,MUSICINCDPTRLJMPMUSICEND:NOPMOVR,#FFH;歌曲结束,延时秒后继续MUSIC:MOVR,#HLCALLDELDJNZR,MUSICLJMPMUSICDEL:NOPDEL:MOVR,#HDEL:NOPDJNZR,DELNOPDJNZR,DELRETNOPDAT:DBH,H,CH,H,H,H,CH,HDBH,H,H,H,CH,H,H,HDBCH,H,H,H,CH,H,H,HDBH,H,FFH,H,H,CH,H,HDBH,H,H,CH,H,H,H,HDBH,H,H,BH,H,H,H,HDBH,H,H,FFH,H,H,CH,HDBH,H,H,H,H,H,BH,HDBH,H,BH,H,H,H,CH,HDBH,H,H,H,H,H,BH,HDBH,H,BH,H,H,H,CH,HDBH,H,H,H,CH,H,H,HDBH,H,H,H,BH,H,H,HDBH,H,H,H,H,H,CH,HDBH,H,CH,H,H,H,H,HDBBH,H,H,H,BH,H,H,HDBFH,H,H,H,CH,H,H,HDBH,H,BH,H,H,H,BH,HDBH,H,CH,H,H,H,H,HDBCH,H,H,H,H,H,H,HDBBH,H,H,H,H,H,H,HDBH,H,CH,H,H,H,CH,HDBH,H,H,H,H,H,H,HDBH,H,H,H,H,H,HEND

  ⑹谁能给我几首单片机流行歌曲的源代码!

  ⑺#include《REG.H》#include“SoundPlay.h“voidDelayms(unsignedintcount){unsignedinti,j;for(i=;i《count;i++)for(j=;j《;j++);}//*****************************Music******************************************************//挥着翅膀的女孩unsignedcharcodeMusic_Girl={x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xA,x,xB,x,xF,x,xF,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,x,xF,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,x,xB,x,xF,x,x,x,x,x,x,x,xF,x,xB,x,xF,x,xF,x,xB,x,x,x,x,x,x,x,xA,x,xA,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,x,xB,x,xF,x,x,x,x,x,x,x,xF,x,xB,x,xF,x,xF,x,xB,x,x,x,x,x,x,x,xA,x,xA,x,x,x,x,x,xF,x,xB,x,xF,x,xA,x,xA,x,xA,x,xB,x,xB,x,xA,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xE,x,x,x,x,x,xE,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,x,xB,x,xF,x,x,x,x,x,x,x,xF,x,xB,x,xF,x,xF,x,xB,xE,xB,x,x,x,x,x,x,x,xA,x,xA,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,x,xB,x,xF,x,x,x,x,x,x,x,xF,x,xB,x,xF,x,xF,x,xB,x,x,x,x,x,x,x,xA,x,xA,x,x,x,x,x,xF,x,xB,x,xF,x,x,x,x,x,xA,x,x,xD,x,x,x,x,x,x,x,x,x,x,x,x,x,x};//同一首歌unsignedcharcodeMusic_Same={xF,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xB,x,xB,x,xA,x,xA,x,x,x,x,x,xA,x,xB,x,xA,xD,x,x,x,x,x,x,x,x,x,x,xA,x,x,xC,x,xD,x,x,x,x,x,x,x,x,x,x,xF,xC,x,x,x,x,xF,x,xA,x,x,x,x,x,xA,x,xB,x,xB,x,xB,x,xB,xC,xA,xD,x,x,x,x,xF,x,xA,x,x,x,x,x,xA,x,x,x,x,x,x,x,xA,xC,x,xD,x,x,x,x,xF,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,xC,xA,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x};//两只蝴蝶unsignedcharcodeMusic_Two={x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xD,x,x,x,x,x,x,x,x,x,xE,x,x,xF,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xD,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xD,x,x,x,x,x,x,x,x,x,xE,x,x,xF,x,x,x,x,x,x,x,x,x,xA,x,x,x,x,x,x,x,x,x,x,x,x,xD,x,x,x,x,x,x,x,x,x,xD,x,x,x,x,x,x,xA,x,xF,x,xB,x,xB,x,xA,x,x,xD,x,x,x,x,x,xD,x,x,x,x,x,x,x,x,xA,x,xA,x,x,x,x,xD,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,x,xB,x,xA,x,xA,xE,xB,x,x,x,xA,x,xA,x,xA,xE,xB,x,xA,x,x,x,x,x,x,x,x,xD,x,x,x,x,x,x,x,x,x,x,xA,x,xF,x,xB,x,xB,x,xA,x,x,xD,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xA,x,xA,x,x,x,x,xD,x,x,x,x,x,x,x,x,x,x,x,x,x,x,xF,x,xB,x,xA,x,xA,xE,xB,x,x,x,xA,x,xA,x,xA,xE,xB,x,x,x,xA,x,xA,x,xA,xE,xB,x,xA,x,x,x,x,x,x,x,xF,x,x,x,x,x,x,x};//***********************************************************************************main(){InitialSound();while(){Play(Music_Girl,,,);Delayms();Play(Music_Same,,,);Delayms();Play(Music_Two,,,);Delayms();}}

  ⑻如何编写单片机音乐程序

  ⑼要产生音频脉冲,只要算出某一音频的周期(/频率,然后将此周期除以,即为半周期时间。利用半周期时间定时这个半周期时间,每当计时到后就将输出的I/O反向,然后重复计时此半周期再对I/O反向,就可以在I/O脚上得到此频率的脉冲。

  ⑽记数脉冲值与频率的关系公式如:N=Fi//Fr。N:记数值;Fi:内部计时依次为us,故其频率为MHZ;Fr:要产生的频率。

  ⑾其记数值的求法如:T=-N=-Fi//Fr。例:设K=,F==Fi=MHZ。求低音DO(HZ),中音DO(HZ),高音DO(HZ)的记数值。

  ⑿每个音符使用个音节,字节的高四位代表音符的高低,低四位代表音符的节拍。如果拍为.秒,/拍为.秒,假设/拍为DELAY,则拍为DELAY。

  ⒀,可以仿真K程序空间,接近K的位地址空间;

  ⒁,可以仿真Kxdata空间,全部K的位地址空间;

  ⒂,可以真实仿真全部条IO脚;

  ⒃,完全兼容keilCUV调试环境,可以通过UV环境进行单步,断点,全速等操作;

  ⒄,可以使用C语言或者ASM汇编语言进行调试;

  ⒅,可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某变量上就会立即显示出它此的值;

  ⒆,可选使用用户晶振,支持-MHZ晶振频率;

  ⒇,片上带有字节的xdata,您可以在仿真时选使用他们,进行xdata的仿真;

  ⒈,可以仿真双DPTR指针;

  ⒉,可以仿真去除ALE信号输出.;

  ⒊,自适应-bps的所有波特率通讯;

  ⒋,体积非常细小,非常方便插入到用户板中.插入时紧贴用户板,没有连接电缆,这样可以有效地减少运行中的干扰,避免仿真时出现莫名其妙的故障;

  ⒌,仿真插针采用优质镀金插针,可以有效地防止日久生锈,选择优质园脚IC插座,保护仿真插针,同时不会损坏目标板上的插座.;

  ⒍,仿真时监控和用户代码分离,不可能产生不能仿真的软故障;

  ⒎,RS-接口不计成本采用MAX集成电路,串行通讯稳定可靠,绝非一般三极管的简易电路可比。

  ⒏//键电子琴C程序自己根据音节做个与简谱对应的表就可以了。#include《ATX.H》sbitSPEAKER=P^;#defineKEYPunsignedcharMUSIC;unsignedcharSTH;unsignedcharSTL;unsignedintcodetab={,,,,//低音开始,,,,,,,,,,,};voidmain(void){TMOD=x;ET=;EA=;KEY=xff;while(){if(KEY!=xff){switch(~KEY){//显示的列位置casex://MUSIC=;break;//casex://MUSIC=;break;//casex://MUSIC=;break;//casex://MUSIC=;break;//casex://MUSIC=;break;//casex://MUSIC=;break;//casex://MUSIC=;break;//casex://MUSIC=;break;//}STH=tab/;STL=tab%;TR=;}else{SPEAKER=;TR=;}}}voidt(void)interruptusing{TH=STH;TL=STL;SPEAKER=~SPEAKER;}

  ⒐求单片机?数字音乐盒?汇编语言代码

  ⒑ZEQUHDEQUHLOEQUHHIEQUHHAJMPSTARTBHLJMPT_INTSTART:MOVSP,#HMOVP,#FFHMOVTMOD,#BMOVIE,#BLCALLF;;的初始化LCALLLO_KEY;;判断是否有下压键PAN:MOVDPTR,ZMOVXA,DPTRANLA,#FHMOVR,A;;保存键值ANLA,#H;;键值JNZS_JZP_S_:LCALLSONG_P_:MOVA,RANLA,#H;;键值JNZS_JZP_S_:LCALLSONG_P_MOVA,RANLA,#H;;键值JNZS_JZP_S_:LCALLSONG_P_MOVA,RANLA,#H;;键值JNZS_JZP_S_LCALLSONG_P_MOVA,RANLA,#H;;键值JNZS_JZPANS_:LCALLSONG_//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////SONG_:;//歌曲MOVR,#LOOP:LCALLVALUESETBTRMOVR,#LCALLDELAYCLRTRMOVR,#LCALLDELAYLCALLP_KEYDJNZR,LOOPLCALLSONG_RETSONG_:;//歌曲MOVR,#LOOP:LCALLVALUESETBTRMOVR,#LCALLDELAYCLRTRMOVR,#LCALLDELAYLCALLP_KEYDJNZR,LOOPLCALLSONG_RETSONG_:;//歌曲MOVR,#LOOP:LCALLVALUESETBTRMOVR,#LCALLDELAYCLRTRMOVR,#LCALLDELAYLCALLP_KEYDJNZR,LOOPLCALLSONG_RETSONG_:;//歌曲MOVR,#LOOP:LCALLVALUESETBTRMOVR,#LCALLDELAYCLRTRMOVR,#LCALLDELAYLCALLP_KEYDJNZR,LOOPLCALLSONG_RETSONG_:;//歌曲MOVR,#LOOP:LCALLVALUESETBTRMOVR,#LCALLDELAYCLRTRMOVR,#LCALLDELAYLCALLP_KEYDJNZR,LOOPLCALLSONG_RET//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////VALUE:;//歌曲的频率设置MOVDPTR,#FREHMOVA,RMOVCA,A+DPTRMOVHI,AMOVDPTR,#FRELMOVA,RMOVCA,A+DPTRMOVLO,AMOVR,#*****************************************RETVALUE:;/;/歌曲的频率设置MOVDPTR,#FREHMOVA,RMOVCA,A+DPTRMOVHI,AMOVDPTR,#FRELMOVA,RMOVCA,A+DPTRMOVLO,AMOVR,#RETVALUE:;//歌曲的频率设置MOVDPTR,#FREHMOVA,RMOVCA,A+DPTRMOVHI,AMOVDPTR,#FRELMOVA,RMOVCA,A+DPTRMOVLO,AMOVR,#RETVALUE:;//歌曲的频率设置MOVDPTR,#FREHMOVA,RMOVCA,A+DPTRMOVHI,AMOVDPTR,#FRELMOVA,RMOVCA,A+DPTRMOVLO,AMOVR,#RETVALUE:;//歌曲的频率设置MOVDPTR,#FREHMOVA,RMOVCA,A+DPTRMOVHI,AMOVDPTR,#FRELMOVA,RMOVCA,A+DPTRMOVLO,AMOVR,#RET//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////T_INT:MOVTL,LOMOVTH,HICPLP.RETIDELAY:MOVR,#D:MOVR,#DJNZR,$DJNZR,DDJNZR,DELAYRETF:MOVDPTR,ZMOVA,#HMOVXDPTR,AMOVA,#HMOVXDPTR,AMOVA,#DHMOVXDPTR,ALCALLDELAYMOVA,#HMOVXDPTR,AMOVA,#HMOVXDPTR,ARETLO_KEY:MOVDPTR,ZMOVXA,DPTRANLA,#FHJZLO_KEYRETP_KEY:MOVDPTR,ZMOVXA,DPTRANLA,#FHJNZSIGNJZSIGNSIGN:LJMPPANSIGN:RETFREHDB,,,,,,,,,,,,,,FRELDB,,,,,,,,,,,,,,FREHDB,,,,,,,,,,,,,,FRELDB,,,,,,,,,,,,,,FREHDB,,,,,,,,,,,,,,FRELDB,,,,,,,,,,,,,,FREHDB,,,,,,,,,,,,,,FRELDB,,,,,,,,,,,,,,FREHDB,,,,,,,,,,,,,,FRELDB,,,,,,,,,,,,,,END

  ⒒#include“reg.h“#defineuintunsignedint#defineucharunsignedcharuchar*TABLE;codeuintTABLE={,,,,,,,,,,,,,,};codeucharSONG={//.迟来的爱};codeucharSONG={//.两只蝴蝶};codeucharSONG={//.一个师傅三个徒弟};ucharhjsz;ucharljsz;ucharjpm;ucharyfm;uchart=;uinti=;sbitSpeaker=P^;uintk;voidDelay(){for(k=;k《;k++);}voidLignt(){uchart;for(t=;t《;t++){P=xff;Delay();P=x;Delay();}}voidLignt(){P=xaa;Delay();P=x;Delay();}voidDelay(uchart)//延时{while(t--)//决定节拍Lignt();}voidDelay(ucharw)//延时{while(w--)//决定节拍Lignt();}voidTInt()interrupt//TIMER{TL=ljsz;TH=hjsz;Speaker=!Speaker;}voidExtInt()interrupt//INT{if(t》)t=;i=;//全局变量,指向歌谱的第个switch(t++){case:TABLE=SONG;break;//选择第首case:TABLE=SONG;break;//选择第首case:TABLE=SONG;break;//选择第首case:TABLE=SONG;break;//选择第首case:TABLE=SONG;break;//选择第首case:TABLE=SONG;break;//选择第首case:TABLE=SONG;break;//选择第首case:TABLE=SONG;break;//选择第首case:TABLE=SONG;break;//选择第首case:TABLE=SONG;break;//选择第首}}voidsongsing()//发音程序{i=;while(TABLE){jpm=TABLE&xf;//节拍值yfm=(TABLE》》x)&xf;//简谱值if(yfm)//简谱为,取计数值{yfm=yfm-;hjsz=(uchar)(TABLE》》x);//取计数值高字节TH=hjsz;ljsz=(uchar)(TABLE);//取计数值低字节TL=ljsz;TR=;//启动TIMER}elseTR=;//简谱为,不发音Delay(jpm);//节拍延时i++;}}voidmain(void){TMOD=X;//设TIMER在MODETCON=X;//外部中断INT,下降沿触发IE=x;//开中断(INT,TIMERIP=x;//设置中断优先级TABLE=SONG;while(){Lignt();songsing();//调用发音程序TR=;//停止TIMERDelay();TABLE=SONG;//更改歌曲songsing();}}

  ⒓求一个用C语言编写的单片机音乐程序代码

  ⒔#include《reg.h》sbitspeaker=P^;unsignedchartimerh,timerl,time;//生日歌codeunsignedcharsszymmh={,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};//音阶频率表高八位codeunsignedcharFREQH={xF,xF,xF,xF,xF,xF,xF,xF,xF,xFA,xFA,xFB,xFB,xFC,xFC,//,,,,,,,,ixFC,xFD,xFD,xFD,xFD,xFE,xFE,xFE,xFE,xFE,xFE,xFE,xFF,};//音阶频率表低八位codeunsignedcharFREQL={x,xC,x,xB,xD,xD,xB,x,xE,xC,xD,x,xE,xB,xF,//,,,,,,,,ixEE,x,xB,xB,xF,xD,x,x,xA,xB,xDA,xFA,x,};voiddelay(unsignedchart){unsignedchart;unsignedlongt;for(t=;t《t;t++){for(t=;t《;t++){;}}TR=;}voidtint()interrupt{TR=;speaker=!speaker;TH=timerh;TL=timerl;TR=;}voidsong(){TH=timerh;TL=timerl;TR=;delay(time);}voidmain(void){unsignedchark,i;TMOD=;//置CT定时工作方式EA=;ET=;//IE=x//CPU开中断,CT开中断while(){i=;while(i《){//音乐数组长度,唱完从头再来k=sszymmh-;timerh=FREQH;timerl=FREQL;time=sszymmh;i=i+;song();}}}

您可能感兴趣的文章:

相关文章