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

求: 用51单片机c语言 *** 作使蜂鸣器奏出“祝你生日快乐”音乐的全部程序!,第1张

#include <reg51h>

sbit speaker=P1^2;

unsigned char timer0h,timer0l,time;

//生日歌

code unsigned char sszymmh[]={5,1,1, 5,1,1, 6,1,2, 5,1,2, 1,2,2, 7,1,4,

5,1,1, 5,1,1, 6,1,2, 5,1,2, 2,2,2, 1,2,4,

5,1,1, 5,1,1, 5,2,2, 3,2,2, 1,2,2, 7,1,2, 6,1,2,

4,2,1, 4,2,1, 3,2,2, 1,2,2, 2,2,2, 1,2,4};

// 音阶频率表 高八位

code unsigned char FREQH[]={

0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,

0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i

0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,

0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,

} ;

// 音阶频率表 低八位

code unsigned char FREQL[]={

0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,

0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i

0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,

0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,

};

void delay(unsigned char t)

{

unsigned char t1;

unsigned long t2;

for(t1=0;t1<t;t1++)

{

for(t2=0;t2<8000;t2++)

{

;

}

}

TR0=0;

}

void t0int() interrupt 1

{

TR0=0;

speaker=!speaker;

TH0=timer0h;

TL0=timer0l;

TR0=1;

}

void song()

{

TH0=timer0h;

TL0=timer0l;

TR0=1;

delay(time);

}

void main(void)

{

unsigned char k,i;

TMOD=1; //置CT0定时工作方式1

EA=1;

ET0=1;//IE=0x82 //CPU开中断,CT0开中断

while(1)

{

i=0;

while(i<75){ //音乐数组长度 ,唱完从头再来

k=sszymmh[i]+7sszymmh[i+1]-1;

timer0h=FREQH[k];

timer0l=FREQL[k];

time=sszymmh[i+2];

i=i+3;

song();

}

}

}

#include"stdio.h"

#include <stringh>

intmain(void){

chara[]="Iwishyouahappybirthday!baiIwishyouahappybirthday!",m[4],i;

printf("\n\n\n");

printf("%*.*s\n",58,21,"_*=__=*_");

printf("%*.*s\n",61,25,"Wishyourbirthday!");

printf("%*.*s\n",63,29,"Iwishyouahappybirthday!");

printf("%*.*s\n",65,33,a);

printf("%*.*s\n",66,35,a);

printf("%*.*s\n",66,35,a);

printf("%*.*s\n",65,33,a);

printf("%*.*s\n",64,31,a);

printf("%*.*s\n",63,29,a);

printf("%*.*s\n",61,25,a);

printf("%*.*s\n",59,21,a);

printf("%*.*s\n",57,17,a);

printf("%*.*s\n",55,13,a);

printf("%*.*s\n",53,9,a);

printf("%*.*s\n",51,5,a);

printf("%*.*s\n",50,3,a);

printf("%*.*s\n",49,1,a);

return0;

扩展资料

或者:

#include <stdioh>

#include <mathh>

#include <stdlibh>

#defineI20

#defineR340

intmain()

system("modeconcols=80lines=60");

system("title向你致以最诚挚的祝福!");

chardata[200][60]={{"祝你生日快乐!祝你生日快乐!"},{"\nHappybirthdaytoyou!\n"},{"Happybirthdaymydearfriend!\n"},

{"在你面前的台里本,总有一天是很独特!\n"},{"虽然你和我,没办法选,来到世界的某刻。\n"},{"天气寒冷,又或炎热,又或者什么血型和星座!\n"},

{"每年这刻,我对自己说,有生的日子要更快乐!\n"},{"天气寒冷,又或炎热,又或者什么血型和星座!\n"},{"每年这刻,我对自己说,有生的日子要更快乐!\n"},

{"爸爸妈妈辛苦了!谢谢你们为我付出太多!\n"},{"生日祝福,吹灭蜡烛,我要我自己不许哭。\n"},{"长大了一岁变得靠谱,继续走自己的旅程!\n"},

{"又到这一个时刻,幸福的花火,手机祝福收到很多很多。\n"},{"看到最后一条来自你,写着让我感动的话语。\n"},{"亲爱的朋友要经常联络,我们一起来唱这首歌!\n"},

{"祝你生日快乐额!我们一起快乐!\n"}

};

intsign=0;

inti,j,e;

inta;

longtime;

  for(i=1,a=I;i<I/2;i++,a--)

      for(j=(int) ( I-sqrt(II-(a-i)(a-i)) );j>0;j--)

printf("");

      for(e=1;e<=2sqrt(II-(a-i)(a-i));e++)

printf("\3");

for(j=(int)

          ( 2( I-sqrt(II-(a-i)(a-i)) ) );j>0;j--)

printf("");

      for(e=1;e<=2sqrt(II-(a-i)(a-i));e++)

printf("\3");

printf("\n");

  for(i=1;i<80;i++)

if(i==25)

printf("======祝,生日快乐。======");

i+=30;

printf("\3");

printf("\n");

      for(i=1;i<=R/2;i++)

if(i%2||i%3)

continue;

      for(j=(int) ( R-sqrt(RR-ii) );j>0;j--)

printf("");

      for(e=1;e<=2( sqrt(RR-ii) - (R-2I) );e++)

printf("\3");

printf("\n");

for(;;)

system("colora");

for(time=0;time<99999999;time++); system("color b");

for(time=0;time<99999999;time++); system("color c");

for(time=0;time<99999999;time++); system("color d");

for(time=0;time<99999999;time++); system("color e");

for(time=0;time<99999999;time++); system("color f");

for(time=0;time<99999999;time++);

system("color 0"); for(time=0;time<99999999;time++);

system("color 1"); for(time=0;time<99999999;time++);

system("color 2"); for(time=0;time<99999999;time++);

system("color 3"); for(time=0;time<99999999;time++);

system("color4");

for(time=0;time<99999999;time++); system("color 5");

for(time=0;time<99999999;time++); system("color 6");

for(time=0;time<99999999;time++); system("color 7");

for(time=0;time<99999999;time++); system("color 8");

for(time=0;time<99999999;time++); system("color 9");

for(time=0;time<99999999;time++); system("color ab");

for(time=0;time<99999999;time++); system("color ac");

for(time=0;time<99999999;time++); system("color ad");

for(time=0;time<99999999;time++); system("color ae");

for(time=0;time<99999999;time++); system("color af");

for(time=0;time<99999999;time++);

printf("%s",data[sign]);

sign++;

return0;

1、写入头文件。

2、加入宏定义。

3、位定义 给出蜂鸣器变量 beep,接口是P2^3。sbit beep = P2^3;。

4、设计延迟函数:void delay(uint z){uint x,y;for(x = z; x > 0; x--)for(y = 60; y > 0 ; y--);} 。

5、设计主函数。

6、加入循环效果,蜂鸣器。beep = ~beep中: ~按位取反。

#include<stdioh>

#include<windowsh>

int main()

{

printf("祝你生日快乐!\n\a");

system ("pause");

return 0;

}

以上C语言在VC++60中编译!

以上就是关于求: 用51单片机c语言 *** 作使蜂鸣器奏出“祝你生日快乐”音乐的全部程序!全部的内容,包括:求: 用51单片机c语言 *** 作使蜂鸣器奏出“祝你生日快乐”音乐的全部程序!、有一个圣诞快乐的程序据说是用C语言写的,我想把它改成生日快乐的,跪求原代码~谢谢各位、用89C51单片机和蜂鸣器播放“ 生日快乐”歌的C程序 12M晶振等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9998368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存