機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
蜂鳴器演奏音樂(lè)
蜂鳴器演奏音樂(lè)
 更新時(shí)間:2008-7-27 16:05:20  點(diǎn)擊數(shù):2
【字體: 字體顏色

/*  播放兩首音樂(lè)(C語(yǔ)言)

*********************************
測(cè)試通過(guò)*/

#include<AT89X51.h>

void Music(unsigned char number);
void delay10ms(unsigned char time);
void delay50us(unsigned char time);
unsigned char code SOUNDLONG[];
unsigned char code SOUNDTONE[];
 
void main()
{
 while(1)
 {
  Music(1);  //生日快樂(lè)
  delay10ms(250);
  delay10ms(250);
  Music(2);  //三輪車
  delay10ms(250);
  delay10ms(250);
 }
}

void Music(unsigned char number)
{
 unsigned int k,n;
 unsigned int SoundLong,SoundTone;
 unsigned int i,j,m;

 for(k=0;k<number-1;k++)
 {
  while(SOUNDLONG[i] !=0){i++;}
  i++;
  if(i>=57) i=0;
 }
 for(k=0;k<number-1;k++)
 {
  while(SOUNDTONE[j] !=0){j++;}
  j++;
  if(j>=57) j=0;
 }

 do
 {
  if(i>=57) i=0;
  if(j>=57) j=0;
  SoundLong=SOUNDLONG[i];
  SoundTone=SOUNDTONE[j];
  i++;
  j++;
 
  for(n=0;n<SoundLong;n++)
  {
   for(k=0;k<12;k++)
   {
    P3_4=0;
    for(m=0;m<SoundTone/2;m++)
     ;
    P3_4=1;
    for(m=0;m<SoundTone/2;m++)
     ;
   }
  }
  delay50us(6);
 }while((SOUNDLONG[i] !=0) || (SOUNDTONE[j] !=0));
}

//延時(shí)程序
void delay10ms(unsigned char time)
{
 unsigned char a,b,c;
 for(a=0;a<time;a++)
  for(b=0;b<10;b++)
   for(c=0;c<120;c++)
   ;
}
void delay50us(unsigned char time)
{
 unsigned char a,b;
 for(a=0;a<time;a++)
  for(b=0;b<6;b++)
   ;
}

unsigned char code SOUNDLONG[]=
 {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, //生日快樂(lè)end
  6,6,9,3,6,6,12,
  6,6,6,6,6,6,12,
  6,6,9,3,6,6,9,3,
  6,3,3,6,3,3,6,6,9,
  0 //三輪車end
 };

unsigned char code SOUNDTONE[]=
{
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, //生日快樂(lè)end
239,239,212,189,159,159,189,
159,159,142,126,120,120,159,
120,120,142,159,189,142,159,189,
239,212,189,159,142,159,189,212,239,
0 //三輪車end
};

  • 上一篇: DS18B20測(cè)溫
  • 下一篇: 單片機(jī)通過(guò)串口與電腦連接通信
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1