国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2442|回復: 1
打印 上一主題 下一主題

蜂鳴器

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2011-12-21 22:28:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/************************************************************************  
[文件名]  C51音樂程序(八月桂花)  
[功能]    通過單片機演奏音樂  
注意:通過了74HC14控制ULN2003 驅動芯片驅動蜂鳴器        *  
/**********************************************************************/   
#include    
#include    
//本例采用89C52, 晶振為11.0592MHZ   
//關于如何編制音樂代碼, 其實十分簡單,各位可以看以下代碼.   
//頻率常數即音樂術語中的音調,而節拍常數即音樂術語中的多少拍;   
//所以拿出譜子, 試探編吧!   
sbit Beep =  P1^5 ;
   
unsigned char n=0;  //n為節拍常數變量   
unsigned char code music_tab[] ={   
0x18, 0x30, 0x1C , 0x10, //格式為: 頻率常數, 節拍常數, 頻率常數, 節拍常數,   
0x20, 0x40, 0x1C , 0x10,   
0x18, 0x10, 0x20 , 0x10,   
0x1C, 0x10, 0x18 , 0x40,   
0x1C, 0x20, 0x20 , 0x20,   
0x1C, 0x20, 0x18 , 0x20,   
0x20, 0x80, 0xFF , 0x20,   
0x30, 0x1C, 0x10 , 0x18,   
0x20, 0x15, 0x20 , 0x1C,   
0x20, 0x20, 0x20 , 0x26,   
0x40, 0x20, 0x20 , 0x2B,   
0x20, 0x26, 0x20 , 0x20,   
0x20, 0x30, 0x80 , 0xFF,   
0x20, 0x20, 0x1C , 0x10,   
0x18, 0x10, 0x20 , 0x20,   
0x26, 0x20, 0x2B , 0x20,   
0x30, 0x20, 0x2B , 0x40,   
0x20, 0x20, 0x1C , 0x10,   
0x18, 0x10, 0x20 , 0x20,   
0x26, 0x20, 0x2B , 0x20,   
0x30, 0x20, 0x2B , 0x40,   
0x20, 0x30, 0x1C , 0x10,   
0x18, 0x20, 0x15 , 0x20,   
0x1C, 0x20, 0x20 , 0x20,   
0x26, 0x40, 0x20 , 0x20,   
0x2B, 0x20, 0x26 , 0x20,   
0x20, 0x20, 0x30 , 0x80,   
0x20, 0x30, 0x1C , 0x10,   
0x20, 0x10, 0x1C , 0x10,   
0x20, 0x20, 0x26 , 0x20,   
0x2B, 0x20, 0x30 , 0x20,   
0x2B, 0x40, 0x20 , 0x15,   
0x1F, 0x05, 0x20 , 0x10,   
0x1C, 0x10, 0x20 , 0x20,   
0x26, 0x20, 0x2B , 0x20,   
0x30, 0x20, 0x2B , 0x40,   
0x20, 0x30, 0x1C , 0x10,   
0x18, 0x20, 0x15 , 0x20,   
0x1C, 0x20, 0x20 , 0x20,   
0x26, 0x40, 0x20 , 0x20,   
0x2B, 0x20, 0x26 , 0x20,   
0x20, 0x20, 0x30 , 0x30,   
0x20, 0x30, 0x1C , 0x10,   
0x18, 0x40, 0x1C , 0x20,   
0x20, 0x20, 0x26 , 0x40,   
0x13, 0x60, 0x18 , 0x20,   
0x15, 0x40, 0x13 , 0x40,   
0x18, 0x80, 0x00   
};   
   
void int0()  interrupt 1   //采用中斷0 控制節拍   
{  TH0=0xd8;   
   TL0=0xef;   
   n--;   
}   
   
void delay (unsigned char m)   //控制頻率延時   
{   
unsigned i=3*m;   
while(--i);   
}   
   
void delayms(unsigned char a)  //豪秒延時子程序   
{   
  while(--a);                  //采用while(--a) 不要采用while(a--); 各位可編譯一下看看匯編結果就知道了!   
}   
   
void main()   
{ unsigned char p,m;   //m為頻率常數變量   
  unsigned char i=0;   
  TMOD&=0x0f;   
  TMOD|=0x01;   
  TH0=0xd8;TL0=0xef;   
  IE=0x82;   
play:   
   while(1)   
    {   
    a: p=music_tab[i];   
       if(p==0x00)       { i=0, delayms(1000); goto play;}     //如果碰到結束符,延時1秒,回到開始再來一遍   
       else if(p==0xff)  { i=i+1;delayms(100),TR0=0; goto a;}  //若碰到休止符,延時100ms,繼續取下一音符   
            else         {m=music_tab[i++], n=music_tab[i++];}  //取頻率常數 和 節拍常數   
             TR0=1;                                             //開定時器1   
           while(n!=0) Beep=~Beep,delay(m);                         //等待節拍完成, 通過P1口輸出音頻(可多聲道哦!)   
       TR0=0;                                             //關定時器1   
    }   
}
沙發
發表于 2011-12-29 14:42:38 | 只看該作者
很好的東西
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本一区二区中文字幕 | 夜夜爽8888免费视频 | 福利一区二区三区视频午夜观看 | 精品免费在线视频 | 成人自拍网站 | www.av88| 四虎影视永久免费观看 | 欧美一级在线 | 国产欧美视频在线 | 亚洲国产欧美视频 | 精品国产一区二区三区www | 欧美人与动性行为高清视频 | 国产高清一级在线观看 | 噜噜噜噜色 | 婷婷综合国产激情在线 | 四虎国产精品永久地址99 | 国产在线精品一区二区中文 | 亚洲精品欧美日韩 | 国产三级精品三级在专区 | 国产真实伦对白全集视频 | 最新内地三级在线观看 | 日本视频二区 | 亚洲操操操 | 韩毛片 | 国产精品夜夜春夜夜爽 | 精品网站 | 在线观看男女男免费视频 | 亚洲欧美综合视频 | 欧美日韩国产一区二区三区不卡 | 99re8热精品免费视频 | 91香蕉视频在线观看 | 日韩精品中文字幕一区二区三区 | 国产区久久 | 在线欧美a | 91久久青青草原线免费 | 91香蕉视频网 | 亚洲高清视频在线播放 | 国产在线观看高清精品 | 欧美日韩高清在线观看一区二区 | 伊人精品网 | 国产一级在线播放 |