运算器 缓存 总线 晶体管 集成电路 逻辑门
主页 正文

51单片机音乐代码怎么写

求89C51单片机播放音乐的C语言代码!

#include#includesbitSPK=P2^7;unsignedcharfrq;unsignedintflag;voiddelayms(unsignedcharms);voidmain(){TMOD=0x01;frq =0x00;TH0=0x00;TL0=0xff;TR0=1;IE=0x82;flag=0;while(1){switch(flag){case0:frq++;break;//Flag 如果flag设置为0,则frq增加情况1。
:frq--;break;//flag 如果flag设置为1,则递减f rq}if(!(frq^0xff))flag=1;//如果frq递增为FFH,则flag设置为1并且frq正在增加 准备减少。
if(!(frq^0x00))flag=0;//当frq减小时。
当达到 00H 时,标志设置为 0,并且 frq 准备增加延迟。
ms(15);}}Interrupt1using1 中的 voidtimer0(){TH0=0xfe;TL0=frq;SPK=~SPK;}voiddelayms(unsignedcharms ) //延迟 Subroutine{unsignedchari;while(ms--){for(i=0;i

用51单片机做音乐播放 只能播放一句 代码如下 求大神解答! 急急急!

/*********************************************//*音乐: 两只蝴蝶 *//************************************************ ****** */# include//这是单片机的音乐代码生成器 生成的代码 #defineucharunsignedcharsbitbeepIO=P1^0;//输出为P1.0,可以改为其他IO口 ucharm,n;ucharcodeT[49][2]={{0,0},{0xF8,0x8B},{0xF8,0xF2},{0xF9,0x5B },{0xF9,0xB7},{0xFA,0x14},{0xFA,0x66},{0xFA,0xB9},{0xFB,0x03},{0xF B,0x4A},{0xFB,0x8F},{0xFB,0xCF},{0xFC,0x0B},{0xFC,0x43},{0xFC,0x78 },{0xFC,0xAB},{0xFC,0xDB},{0xFD,0x08},{0xFD,0x33},{0xFD,0x5B},{0xF D,0x81},{0xFD,0xA5},{0xFD,0xC7},{0xFD,0xE7},{0xFE,0x05},{0xFE,0x21 },{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0xFE,0x84},{0xFE,0x99},{0xF E,0xAD},{0xFE,0xC0},{0xFE,0x02},{0xFE,0xE3},{0xFE,0xF3},{0xFF,0x02 },{0xFF,0x10},{0xFF,0x1D},{0xFF,0x2A},{0xFF,0x36},{0xFF,0x42},{0xF F,0x4C},{0xFF,0x56},{0xFF,0x60},{0xFF,0x69},{0xFF,0x71},{0xFF,0x79 },{0xFF,0x81}};ucharcodemusic[][2]={ {0,4},{23,4},{21,4},{23,16},{2 3,4},{21,4},{23,4},{21,4},{19,16},{16,4},{19,4},{21,8},{21, 4},{23, 4},{21,4},{19,4},{16,4},{19,4},{14,24},{23,4},{21,4},{23,16} ,{23.4 },{21,4},{23,4},{21,4},{19,24},{16,4},{19,4},{21,8},{21,4}, {23.4}, {21,4},{19,4},{16,4},{19,4},{21,24},{23,4},{21,4},{23,16},{23 ,4},{ 21,4},{23,4},{21,4},{19,16},{16,4},{19,4},{21,8},{21,4},{23, 4},{21 ,4},{19,4},{16,4},{19,4},{14,24},{23,4},{26,4},{26,16},{26,4 },{28, 4},{26,4},{23,24},{21,4},{23,4},{21,8},{21,4},{23,4},{21,4} ,{19.4} ,{16,4},{16,2},{19,2},{19,24},{0,20},{26,4},{26,4},{28,4},{ 31.4},{ 30.4},{30.4},{28.4},{23.4},{21.4},{21.4},{23.16},{0.4},{23, 4},{23, 4},{26,4},{28,8},{28,12},{16,4},{23,4},{21,4},{21,24},{23,4} ,{26.4 },{26,4},{23,4},{26,8},{0,4},{31,8},{30,4},{28,4},{30,4}, {23,8},{0 ,4},{28,4},{28,4},{30,4},{28,4},{26,4},{23,4},{21,8},{23,4 },{21,4} ,{23,4},{26,16},{0xFF,0xFF}};voiddelay(ucharp){uchari,j;for(;p>0;p --)for(i=181;i>0;i--)for(j=181;j>0;j--);}voidpause(){uchari,j;for(i=150;i>0 ;i--)for(j=150;j>0;j--);}voidT0_int()中断1{beepIO=!b eepIO;TH0=T[m][0];TL0=T[m][1];}voidmain(){uchari=0;TMOD=0x01;EA=1;ET0=1;while(1){m=音乐[i][0];n=音乐[i][1];if(m==0x00){TR0=0;延迟 (n);i++;}elseif(m==0xFF){TR0=0;延迟(30);i=0;}elseif(m==音乐[i+1][0]){TR0=1;延迟(n);TR0=0;暂停();i++;}否则{TR0=1;延迟(n);i++;}}}

请高手帮忙解读一下51单片机音乐代码

/*代码比较长,还没给出点,导致我有点偷懒*/#include#defineucharunsignedchar/*用uchar替换无符号字符*/#defineuintuns ignedint/*无符号整数使用uint代替*/sbitBEEP=P3^7;/*使用BEEP代替P3^7,即设置BEEP为P3。
宣布为第7个I/O口*//*下面有点忘记了,哈哈*//*机器根据频率和延迟给我们唱歌,相当于乐谱中的音标和节拍*。
/ucharcodeSONG_TONE[]={212,212,190,212,159,169,212,212,190,212, 142,159,212,212,106,126,129,169,190,119,119,126,159,142,159,0};ucharcodeSONG_LONG[]={9,3,12,12 ,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0};/*这是延迟*/voidDelayMS(uintms){uchar rt; while(ms--){for(t=0;t<120;t++);}}/*这是声音代码*/voidPlayMusic(){uinti=0,j,k; while(SONG_LONG[ i]!=0||SONG_TONE[i]!=0){for(j=0;j

热门资讯
51单片机编程代码大全temp
mysql 空间函数
redis除了缓存还能做什么(redis缓存用什么数据结构)
STM32串口接收不定长数据:DMA与空闲中断技术解析
浙江外贸实力盘点十大领军企业
半导体ETF投资指南:选择与建议
手机显示的流量和实际耗的不一样
计算机硬件系统的核心部件CPU解析