跪求一个单片机生日快乐歌C语言程序. 谁有单片机蜂鸣器上生日之歌的C语言程序啊!求发个文件,有he...

\u6c42\uff1a \u752851\u5355\u7247\u673ac\u8bed\u8a00\u64cd\u4f5c\u4f7f\u8702\u9e23\u5668\u594f\u51fa\u201c\u795d\u4f60\u751f\u65e5\u5feb\u4e50\u201d\u97f3\u4e50\u7684\u5168\u90e8\u7a0b\u5e8f\uff01

#include
sbit speaker=P1^2;
unsigned char timer0h,timer0l,time;
//\u751f\u65e5\u6b4c
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};
// \u97f3\u9636\u9891\u7387\u8868 \u9ad8\u516b\u4f4d
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,
} ;
// \u97f3\u9636\u9891\u7387\u8868 \u4f4e\u516b\u4f4d
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; //\u7f6eCT0\u5b9a\u65f6\u5de5\u4f5c\u65b9\u5f0f1
EA=1;
ET0=1;//IE=0x82 //CPU\u5f00\u4e2d\u65ad,CT0\u5f00\u4e2d\u65ad
while(1)
{
i=0;
while(i<75){ //\u97f3\u4e50\u6570\u7ec4\u957f\u5ea6 \uff0c\u5531\u5b8c\u4ece\u5934\u518d\u6765
k=sszymmh[i]+7*sszymmh[i+1]-1;
timer0h=FREQH[k];
timer0l=FREQL[k];
time=sszymmh[i+2];
i=i+3;
song();
}
}
}

#include
sbit speaker=P1^6;
unsigned char timer0h,timer0l,time;
//\u751f\u65e5\u6b4c,\u8fd9\u4e09\u4e2a\u5b57\u8282\u4e00\u7ec4\uff0c\u5206\u522b\u5b9a\u4e49\uff1a\u65cb\u5f8b\uff081234567\uff09\u3001\u9ad8\u4f4e\u97f3\uff08\u4f4e\u97f3\u3001\u4e2d\u97f3\u3001\u9ad8\u97f3\uff09\u3001\u8282\u594f\uff08\u957f\u5ea6\uff09
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};
// \u97f3\u9636\u9891\u7387\u8868 \u9ad8\u516b\u4f4d\uff0c\u4e5f\u5c31\u662f\u53d1\u97f3\u5bf9\u5e94\u9891\u7387\u7684\u9ad8\u516b\u4f4d
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,} ;
// \u97f3\u9636\u9891\u7387\u8868 \u4f4e\u516b\u4f4d\uff0c\u4e5f\u5c31\u662f\u53d1\u97f3\u5bf9\u5e94\u9891\u7387\u7684\u4f4e\u516b\u4f4d
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) //\u5ef6\u65f6\u7a0b\u5e8f
{
unsigned char t1;
unsigned long t2;
for(t1=0;t1<t;t1++)
{
for(t2=0;t2<8000;t2++)
{ ; } }
TR0=0;
}
void t0int() interrupt 1 //\u5b9a\u65f6\u56680\u4e2d\u65ad\u670d\u52a1\u7a0b\u5e8f\uff0c\u63a7\u5236\u58f0\u97f3\u6253\u9891\u7387
{ TR0=0;
speaker=!speaker;
TH0=timer0h;
TL0=timer0l;
TR0=1;
}
void song() //\u542f\u52a8\u6f14\u594f\u5f53\u524d\u9891\u7387
{ TH0=timer0h; //\u5f53\u524d\u9891\u7387\u7684\u9ad8\u516b\u4f4d
TL0=timer0l; //\u5f53\u524d\u9891\u7387\u7684\u4f4e\u516b\u4f4d
TR0=1; //\u542f\u52a8\u5b9a\u65f6\u56680
delay(time); //\u5ef6\u65f6\u5f53\u524d\u9891\u7387\u7684\u6f14\u594f\u65f6\u95f4
}
void main(void)
{
unsigned char k,i;
TMOD=1; //\u7f6eCT0\u5b9a\u65f6\u5de5\u4f5c\u65b9\u5f0f1 EA=1; ET0=1;//IE=0x82 //CPU\u5f00\u4e2d\u65ad,CT0\u5f00\u4e2d\u65ad
while(1)
{
i=0;
while(i<75)
{ //\u97f3\u4e50\u6570\u7ec4\u957f\u5ea6 \uff0c\u5531\u5b8c\u4ece\u5934\u518d\u6765
k=sszymmh[i]+7*sszymmh[i+1]-1; //\u53d6\u5f53\u524d\u8282\u594f\u7684\u9891\u7387\u5730\u5740
timer0h=FREQH[k]; //\u53d6\u5f53\u524d\u9891\u7387\u9ad8\u516b\u4f4d
timer0l=FREQL[k]; //\u53d6\u5f53\u524d\u9891\u7387\u4f4e\u516b\u4f4d
time=sszymmh[i+2]; //\u53d6\u5f53\u524d\u9891\u7387\u7684\u65f6\u957f
i=i+3; //\u4e09\u4e2a\u5b57\u8282\u4e00\u7ec4
song(); //\u6f14\u594f\u5f53\u524d\u9891\u7387\uff0c\u517175/3\uff0c25\u4e2a\u66f2\u8c03\u3002
}
}
}
//\u7a0b\u5e8f\u7684\u8bbe\u8ba1\u601d\u8def\u5c31\u662f\u5c06\u4e00\u9996\u4e50\u66f2\u5206\u6210\u4e09\u4e2a\u53d8\u91cf\u6765\u63a7\u5236\uff0c\u5206\u522b\u662f\u66f2\u8c03\u3001\u6240\u5728\u97f3\u533a\u3001\u65f6\u957f\u3002\u800c\u63a7\u5236\u66f2\u8c03\u7684\u56e0\u7d20\u4e5f\u5c31\u662f\u9891\u7387\u53c8\u5206\u6210\u9ad8\u516b\u4f4d\u548c\u7b2c\u516b\u4f4d\u4e24\u4e2a\u8868\uff0c\u6bcf\u6f14\u594f\u4e00\u4e2a\u66f2\u8c03\uff0c\u5c31\u6839\u636e\u8be5\u66f2\u8c03\u7684\u4e09\u4e2a\u53d8\u91cf\u6765\u53d6\u503c\u3002

#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit BEEP=P1^2;//接喇叭或蜂鸣器的接口
uint h,i;
uint hz;
uchar jiep;
bit flag;
uint code fre[]={ 64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217};
uchar code song[]={6,9, 6,3, 7,12, 6,12, 9,12, 8,24, 6,9, 6,3, 7,12,
6,12, 10,12, 9,24, 6,9, 6,3, 13,12, 11,12, 8,12, 7,12,
12,9, 12,3, 11,12, 9,12, 10,12, 9,24}; //歌谱 2个一组(0,0)(音调,节拍)

void init () //初始化
{
EA=1;
TMOD=0x11;
ET0=1;
ET1=1;
i=0;
flag=1;
}
void sing()
{
if(flag==1)
{
h=song[i];
jiep=song[i+1];
i=i+2;
if(i>46) i=0;
hz=fre[h];
TH0=(hz)/256;
TL0=(hz)%256;
flag=0;
TR0=1;
TR1=1;
}
}
void main()
{
init();
while(1)
{
sing();
}
}
void time0() interrupt 1 //定时器0
{
TH0=(hz)/256;
TL0=(hz)%256;
if(!flag) BEEP=!BEEP;
else TR0=0;
}
void time1() interrupt 3
{
TH1=(15536)/256;
TL1=(15536)%256;
--jiep;
if(jiep==0)
flag=1;
}

放个音乐还用单片机?
用KD9300 吧,成本低的可怜

  • 璺眰鍗曠墖鏈鐢靛瓙鐞C绋嬪簭,3*3鐨勭煩闃甸敭鐩,璁捐鍏釜闊冲氨濂
    绛旓細// 鐢熸棩蹇箰姝鑺傛媿琛紝鑺傛媿鍐冲畾姣忎釜闊崇鐨勬紨濂忛暱鐭 uchar code SONG_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};void PlayMusic(){ uint i=0,j,k;while(SONG_LONG[i]!=0||SONG_TONE[i]!=0){ //鎾斁鍚勪釜闊崇锛孲ONG_LONG 涓...
  • 鍗曠墖鏈89C52鏀炬瓕鍚屾椂闂伅
    绛旓細鍘熺悊鍥炬瓕鐨勮瘽鏄鐢熸棩蹇箰姝鍨嬪彿89C52RC鐏槸璺戦┈鐏潵鍥為棯閭g鎬庝箞瀹炵幇鍟... 鍘熺悊鍥炬瓕鐨勮瘽鏄敓鏃ュ揩涔愭瓕 鍨嬪彿89C52RC 鐏槸璺戦┈鐏 鏉ュ洖闂偅绉嶆庝箞瀹炵幇鍟 灞曞紑  鎴戞潵绛 鍒嗕韩 寰俊鎵竴鎵 缃戠粶绻佸繖璇风◢鍚庨噸璇 鏂版氮寰崥 QQ绌洪棿 涓炬姤 娴忚54 娆 鍙変腑1涓鎴栧涓笅闈㈢殑鍏抽敭璇,鎼滅储鐩稿叧璧勬枡銆備篃鍙洿鎺ョ偣鈥滄悳绱㈣祫鏂欌...
  • 姹傚姪鈥滃熀浜巗tc51鍗曠墖鏈鐨鐢熸棩蹇箰姝鈥
    绛旓細鍏跺疄寰堝鏄撶殑鍛傛壘涓涓崟鐗囨満鏈灏忕郴缁熸澘鎴栬呭紑鍙戞澘锛岀劧鍚庢帴濂借渹楦e櫒鐢佃矾銆傚湪缃戜笂鎵句竴涓渹楦e櫒濂忎箰鐨勪緥绋嬶紝鏀瑰ソI/O锛屽氨鍙互濂忎箰浜嗐傚啀鎵句竴涓渹楦e櫒璧颁篃鐨勮緟鍔╄蒋浠讹紝杈撳叆鐢熸棩姝鐨勭畝璋憋紝灏卞彲浠ュ鐢熸棩姝屼簡銆
  • 鍝簺姝屾洸鏈夎緭鍏鍗曠墖鏈洪煶涔鎾斁鐨勭紪鐮,鍏蜂綋缂栫爜鏄粈涔?
    绛旓細涓浜涚畝鍗曠殑姝屾洸閮芥湁鐨勶紝姣斿鐢熸棩蹇箰銆傝繖涓鍏堝畾涔夊ソ鍦ㄤ唬鐮侀噷闈㈠氨瀹规槗鍐欎簡锛屾杩庤拷闂噰绾炽
  • 濡備綍缂栧啓51鍗曠墖鏈洪煶涔绋嬪簭
    绛旓細// 鐢熸棩蹇箰姝鐨勯煶绗﹂鐜囪〃锛屼笉鍚岄鐜囩敱涓嶅悓鐨勫欢鏃舵潵鍐冲畾 uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,159,169,190,119,119,126,159,142,159,0};// 鐢熸棩蹇箰姝岃妭鎷嶈〃锛岃妭鎷嶅喅瀹氭瘡涓煶绗︾殑婕斿闀跨煭 uchar code SONG_LONG[]={9,3,12,...
  • 璇锋暀楂樻墜,涓嬮潰鏄51鍗曠墖鏈铚傞福鍣ㄦ紨濂忊鐢熸棩蹇箰鈥濈殑姹囩紪绋嬪簭:
    绛旓細绋嬪簭涓紝娉ㄩ噴宸茬粡澶熷浜嗐傚鏋滆繕鏄紕涓嶄簡锛屼笉濡傛崲涓涓鎬濊矾銆傜湅鐪嬩笅闈㈢殑锛屼篃璁稿ソ鐞嗚В涓浜涳細http://hi.baidu.com/do_sermon/item/8cff22baf5142245bb0e1247 http://hi.baidu.com/do_sermon/item/7665ea126f32075df0090e47
  • 濡備綍缂栧啓51鍗曠墖鏈洪煶涔绋嬪簭
    绛旓細璁版暟鑴夊啿鍊间笌棰戠巼鐨勫叧绯诲叕寮忓锛歂=Fi/2/Fr銆侼锛氳鏁板硷紱Fi锛氬唴閮ㄨ鏃朵緷娆′负1us锛屾晠鍏堕鐜囦负1 MHZ锛汧r锛氳浜х敓鐨勯鐜囥傚叾璁版暟鍊肩殑姹傛硶濡傦細T=65536-N=65536-Fi/2/Fr銆備緥锛氳K=65536锛孎=1000000=Fi=1 MHZ銆傛眰浣庨煶DO(26HZ)锛屼腑闊矰O(523HZ)锛岄珮闊矰O(1046HZ)鐨勮鏁板笺傛瘡涓煶绗︿娇鐢1涓闊宠妭...
  • 鎬ラ渶鍗曠墖鏈鈥旂畝鏄撶數瀛愮惔鐨C璇█绋嬪簭,甯屾湜鍚勪綅澶ц櫨甯府蹇,灏忓コ闈炲父鎰熻阿...
    绛旓細瀵逛簬涓嶅悓鐨勬洸璋冩垜浠篃鍙互鐢鍗曠墖鏈鐨勫彟澶涓涓瀹氭椂/璁℃暟鍣ㄦ潵瀹屾垚銆備笅闈㈠氨鐢ˋT89S51鍗曠墖鏈轰骇鐢熶竴棣栤鐢熸棩蹇箰鈥姝屾洸鏉ヨ鏄庡崟鐗囨満濡備綍浜х敓鐨勩傚湪杩欎釜绋嬪簭涓敤鍒颁簡涓や釜瀹氭椂/璁℃暟鍣ㄦ潵瀹屾垚鐨勩傚叾涓璗0鐢ㄦ潵浜х敓闊崇棰戠巼锛孴1鐢ㄦ潵浜х敓闊虫媿銆5锛 绋嬪簭妗嗗浘 璐翠笉浜.7锛 C璇█婧愮▼搴 include <AT89X51.H> unsigned ...
  • 鍗曠墖鏈虹敓鏃ュ揩涔愭瓕鐨勯煶闀垮拰闊宠皟琛ㄤ粈涔堟剰鎬?
    绛旓細鎰忔濆氨鏄瘡涓綆闊冲拰涓煶锛岄珮闊崇殑dao锛宺an锛宮i锛宖a锛宻ao锛宭a锛寈i锛岄兘鏈夊搴旂殑棰戠巼锛岃岃繖浜涢鐜囦笉鍚屾墠鑳借浜轰滑鍚埌鏄偊鑰崇殑姝屾洸銆傚搴旂殑缂栫爜鍜岄煶璋冭〃鏀炬暟缁勫嵆鍒╃敤鍗曠墖鏈瀹氭椂鍣ㄤ骇鐢熶笉鍚岀殑pwm娉紝鑰屼骇鐢熶笉鍚岀殑闊宠皟浜嗐備篃灏变骇鐢熶簡闊充箰 绾墜鎵擄紝濡傛灉婊℃剰鏈涢噰绾筹紒
  • 51鍗曠墖鏈婕斿鍥芥瓕
    绛旓細k=dTime[yd-1];_TH0=k>>8;_TL0=k&0x00ff;delay(jp);} mus++;} } mus=happy;} //涓婇潰鏄鐢熸棩蹇箰姝鐨勬墠c绋嬪簭锛佷綘鑷繁鏀规暟缁勫氨琛屼簡锛//涓嬮潰鏄浗姝岀▼搴 ;闊崇 棰戠巼 鍛ㄦ湡锛堝崐涓級 鍒濆 闊崇 棰戠巼 鍛ㄦ湡锛堝崐涓級鍒濆 闊崇 棰戠巼 鍛ㄦ湡锛堝崐涓級鍒濆 ;--- ;浣1DO 262...
  • 扩展阅读:51单片机蜂鸣器生日歌 ... python代码生成器 ... 免费代码生成器 ... 51单片机简单音乐编程 ... 生日快乐的乐谱 ... 51单片机儿歌乐谱代码 ... 生日快乐蜂鸣器 ... 生日快乐歌 ... 自动生成plc程序的软件 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网