新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 讓蜂鳴器唱“美麗的姑娘”

讓蜂鳴器唱“美麗的姑娘”

作者: 時(shí)間:2012-08-24 來(lái)源:網(wǎng)絡(luò) 收藏

把51hei-5開發(fā)板的 j5跳線插到23端 以便選通,燒入程序就可以聽到美麗的姑娘的了.

#include reg52.h>     #include absacc.h>#include intrins.h>#define uchar unsigned char#define uint unsigned int#define ON  0#define OFF 1sbit P20=P2^2;struct music_type{ uchar tone;uchar delay;};uint code tonetab[] ={63890,64070,64229,64303,64438,64557,64664,64713,64803,64883,64919,64987,65047,65100,65124,65169,65209,65228,65261,65291,65318,};struct music_type code codetab[]={1+7,0x02,1+7,0x02,6+7,0x04,5+7,0x04,6+7,0x01,1+14,0x01,6+7,0x01,5+7,0x01,3+7,0x02,3+7,0x01,1+7,0x01,2+7,0x02,3+7,0x02,4+7,0x02,5+7,0x02,3+7,0x04,2+7,0x01,3+7,0x01,2+7,0x01,1+7,0x01,1+7,0x10,5+7,0x02,5+7,0x01,5+7,0x01,1+14,0x03,7+7,0x02,6+7,0x02,1+14,0x01,1+14,0x01,1+14,0x01,6+7,0x01,5+7,0x04,5+7,0x02,5+7,0x02,1+14,0x02,7+7,0x02,6+7,0x02,7+7,0x02,1+14,0x0c,5+7,0x02,5+7,0x02,1+14,0x02,7+7,0x02,6+7,0x02,7+7,0x01,7+7,0x01,1+14,0x01,1+14,0x01,1+14,0x01,6+7,0x01,5+7,0x02,3+7,0x02,5+7,0x02,5+7,0x01,5+7,0x01,6+7,0x02,6+7,0x01,5+7,0x01,3+7,0x03,1+7,0x01,2+7,0x01,3+7,0x01,2+7,0x01,1+7,0x01,1+7,0x04,1+7,0x02,1+7,0x02,6+7,0x04,5+7,0x04,6+7,0x01,1+14,0x01,6+7,0x01,5+7,0x01,3+7,0x02,3+7,0x01,1+7,0x01,2+7,0x02,3+7,0x02,4+7,0x02,5+7,0x01,4+7,0x01,3+7,0x03,1+7,0x01,2+7,0x01,3+7,0x01,2+7,0x01,1+7,0x01,1+7,0x04,1+7,0x02,1+7,0x02,6+7,0x04,5+7,0x04,6+7,0x01,1+14,0x01,6+7,0x01,5+7,0x01,3+7,0x02,3+7,0x01,1+7,0x01,2+7,0x02,3+7,0x02,4+7,0x02,5+7,0x01,4+7,0x01,3+7,0x03,1+7,0x01,2+7,0x01,3+7,0x01,2+7,0x01,1+7,0x01,1+7,0x04,5+7,0x02,5+7,0x01,5+7,0x01,1+14,0x03,7+7,0x02,6+7,0x02,1+14,0x01,1+14,0x01,1+14,0x01,6+7,0x01,5+7,0x04,5+7,0x02,5+7,0x02,1+14,0x02,7+7,0x02,6+7,0x02,7+7,0x02,1+14,0x0c,5+7,0x02,5+7,0x02,1+14,0x02,7+7,0x02,6+7,0x02,7+7,0x01,7+7,0x01,1+14,0x01,1+14,0x01,1+14,0x01,6+7,0x01,5+7,0x02,3+7,0x02,5+7,0x02,5+7,0x01,5+7,0x01,6+7,0x02,6+7,0x01,5+7,0x01,3+7,0x03,1+7,0x01,2+7,0x01,3+7,0x01,2+7,0x01,1+7,0x01,1+7,0x04,1+7,0x02,1+7,0x02,6+7,0x04,5+7,0x04,6+7,0x01,1+14,0x01,6+7,0x01,5+7,0x01,3+7,0x02,3+7,0x01,1+7,0x01,2+7,0x02,3+7,0x02,4+7,0x02,5+7,0x01,4+7,0x01,3+7,0x03,1+7,0x01,2+7,0x01,3+7,0x01,2+7,0x01,1+7,0x01,1+7,0x04,1+7,0x02,1+7,0x02,6+7,0x04,5+7,0x04,6+7,0x01,1+14,0x01,6+7,0x01,5+7,0x01,3+7,0x02,3+7,0x01,1+7,0x01,2+7,0x02,3+7,0x02,4+7,0x02,5+7,0x01,4+7,0x01,3+7,0x03,1+7,0x01,2+7,0x01,3+7,0x01,2+7,0x01,1+7,0x01,1+7,0x04,0,0x00,};volatile uchar tl0,th0;void delay_us(uchar n)  { do{ _nop_();_nop_();_nop_();_nop_();}while(--n);}void delay_ms(uint n) { do delay_us(100); while(--n);}void T0_sev() interrupt 1{ TL0=tl0;TH0=th0;P20=!P20;}void main(void){ uchar i,j;TMOD=0x01;IE=0x82;while(1){ i=0;while(codetab[i].delay){ if(!codetab[i].tone) TR0=0;else{ th0=TH0=tonetab[codetab[i].tone-1]/256; tl0=TL0=tonetab[codetab[i].tone-1]%256;TR0=1;}   for(j=0;jcodetab[i].delay;j++) delay_ms(215);i++;}TR0=0;delay_ms(3000);}}
蜂鳴器相關(guān)文章:蜂鳴器原理


關(guān)鍵詞: 蜂鳴器 單片機(jī) 音樂(lè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉