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

查看: 2378|回復(fù): 1
打印 上一主題 下一主題

蜂鳴器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2011-12-21 22:28:11 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
/************************************************************************  
[文件名]  C51音樂(lè)程序(八月桂花)  
[功能]    通過(guò)單片機(jī)演奏音樂(lè)  
注意:通過(guò)了74HC14控制ULN2003 驅(qū)動(dòng)芯片驅(qū)動(dòng)蜂鳴器        *  
/**********************************************************************/   
#include    
#include    
//本例采用89C52, 晶振為11.0592MHZ   
//關(guān)于如何編制音樂(lè)代碼, 其實(shí)十分簡(jiǎn)單,各位可以看以下代碼.   
//頻率常數(shù)即音樂(lè)術(shù)語(yǔ)中的音調(diào),而節(jié)拍常數(shù)即音樂(lè)術(shù)語(yǔ)中的多少拍;   
//所以拿出譜子, 試探編吧!   
sbit Beep =  P1^5 ;
   
unsigned char n=0;  //n為節(jié)拍常數(shù)變量   
unsigned char code music_tab[] ={   
0x18, 0x30, 0x1C , 0x10, //格式為: 頻率常數(shù), 節(jié)拍常數(shù), 頻率常數(shù), 節(jié)拍常數(shù),   
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 控制節(jié)拍   
{  TH0=0xd8;   
   TL0=0xef;   
   n--;   
}   
   
void delay (unsigned char m)   //控制頻率延時(shí)   
{   
unsigned i=3*m;   
while(--i);   
}   
   
void delayms(unsigned char a)  //豪秒延時(shí)子程序   
{   
  while(--a);                  //采用while(--a) 不要采用while(a--); 各位可編譯一下看看匯編結(jié)果就知道了!   
}   
   
void main()   
{ unsigned char p,m;   //m為頻率常數(shù)變量   
  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;}     //如果碰到結(jié)束符,延時(shí)1秒,回到開(kāi)始再來(lái)一遍   
       else if(p==0xff)  { i=i+1;delayms(100),TR0=0; goto a;}  //若碰到休止符,延時(shí)100ms,繼續(xù)取下一音符   
            else         {m=music_tab[i++], n=music_tab[i++];}  //取頻率常數(shù) 和 節(jié)拍常數(shù)   
             TR0=1;                                             //開(kāi)定時(shí)器1   
           while(n!=0) Beep=~Beep,delay(m);                         //等待節(jié)拍完成, 通過(guò)P1口輸出音頻(可多聲道哦!)   
       TR0=0;                                             //關(guān)定時(shí)器1   
    }   
}
沙發(fā)
發(fā)表于 2011-12-29 14:42:38 | 只看該作者
很好的東西

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩一二三区 | 四虎官方影库 | 成人免费观看一区二区 | 麻豆自创视频在线观看 | 美女紧身裤裆看光了下面 | 日本女人毛茸茸 | 97se狠狠狠狠狠亚洲综合网 | 成人午夜动漫在线观看 | 日本国产亚洲 | 国产欧美日韩精品a在线观看 | 狠狠操穴 | 国产成人综合精品一区 | 国产精品久久一区一区 | 99精品福利视频 | 婷婷热| 交在线观看网站视频 | ww亚洲ww亚在线观看 | 亚洲国产成人精品久久 | 成人黄页网站免费观看大全 | 四虎永久免费在线观看 | 日韩免费专区 | 成年美女黄网站色大免费视频 | 国产美女免费国产 | 911精品国产91久久久久 | 高清成年美女黄网站色大 | 国产日本欧美亚洲精品视 | 国产精品公开免费视频 | 国产午夜精品一区二区三区 | 在线播放一区二区三区 | 日韩簧片 | 国产精品99久久99久久久看片 | 精品日韩一区二区 | 一区二区不卡 | 正在播放国产无套露脸 | 国产a免费视频 | 欧美日韩国产高清 | 欧美一级精品 | 妈妈的朋友韩国在线 | 99视频久久 | 欧美在线视频 一区二区 | 亚洲综合在线观看视频 |