⑴ 51單片機控制喇叭
用個定時器,定時半分鍾就可以了!
⑵ 51單片機推動喇叭發聲阻值選取、三極體作用燈
1.電阻R是用來防止基極電流過大燒壞三極體,根據三極體參數來算,一般選1K就可以啦,驅動能力不減少。
2.IO 口輸出電壓 U>=VCC時 ,8550截止,Vcc-U>0.7時,導通。也就是說如果是同電源,單片機VCC,三極體 VCC時,輸出高電平,8550截止,低 8550導通。如果你單片機用的是5V,三極體用 12V,就不能用 8550 PNP三極體,要用8050,9013等NPN三極體。
3.發聲是看喇叭是有源的還是無源的,無源的要靠頻率來驅動,有源的有電流經過就有聲音。有源的話,低電平喇叭發聲。
4.是程序確定的。
⑶ 51單片機驅動喇叭
可以使用一個PNP型的晶體管,如8550,構成一個驅動器,電路如下所示。
注意:不發音的時候,應該保持引腳的輸出為高電平;
如果難以保證,則應該在電阻支路中,再串聯一個10uF的電容器,起到隔直的作用。
⑷ 51單片機上面的喇叭有兩個引腳該怎麼接!教學視頻上面沒給我展示怎麼接,氣人啊!
這是個5V的蜂鳴器,只要正極輸入5V、負極接地、電流足夠,就會按照固定的頻率鳴響。
照著電路圖操作就是了,也就是ULN2003的IN1應輸入高電平(ULN2003是個達林頓陣列)。
⑸ stc51單片機的喇叭怎麼接啊喇叭那端有兩個腳,怎麼接謝謝了
一般2腳,反正我用過的分極性的,長的都是正極,你可以把負極連一個三極體,正極接 電源,天然後吧三極體的基極接到單片機上
⑹ C51單片機中用P1.0輸出1KHz和500Hz的音頻信號驅動揚聲器
開兩個計時器,計時器0用作定時中斷,計數器1用作普通計數器用,用計數器1產生兩個不同的頻率。
定時器0中斷用以判別100ms和200ms的時間隙,由於定時器中斷需要在兩個中斷間隔時間間跳變,幫需要加一個標志位FLAG,當FLAG=0時讓定時器0延時100MS中斷,當FLAG=1時定時器0延時200MS中斷。
假設p1.1外接按鈕,對輸出1khz和500hz進行切換。
#include
sbit wave = p1^0;
sbit k = p1^1;
#define fosc 12000000ul //晶振頻率,可以自行修改
#define fint 1000 //定時器中斷頻率
bit switchflag;
void delayms(unsigned int x)
{
unsigned char t;
while(x--)
for(t=0;t<120;t++);
}
void main()
{
tmod&=0xf0;
tmod|=0x01;
th0=(65536-fosc/fint/12)/256;
tl0=(65536-fosc/fint/12)%256;
ie|=0x82;
tr0=1;
while(1)
{
if(!k)
{
delayms(10);
if(!k)
switchflag=!switchflag;
}
}
}
void t0_int() interrupt 1
{
static bit i;
th0=(65536-fosc/fint/12)/256;
tl0=(65536-fosc/fint/12)%256;
i=!i;
if(switchflag) {wave=!wave;}
else {wave=(i)?!wave:wave;}
}
(6)51單片機喇叭擴展閱讀:
單片機也被稱為單片微控器,屬於一種集成式電路晶元。在單片機中主要包含CPU、只讀存儲器ROM和隨機存儲器RAM等,多樣化數據採集與控制系統能夠讓單片機完成各項復雜的運算,無論是對運算符號進行控制,還是對系統下達運算指令都能通過單片機完成。
由此可見,單片機憑借著強大的數據處理技術和計算功能可以在智能電子設備中充分應用。簡單地說,單片機就是一塊晶元,這塊晶元組成了一個系統,通過集成電路技術的應用,將數據運算與處理能力集成到晶元中,實現對數據的高速化處理。
⑺ 51單片機控制喇叭的程序(c語言)
/************************************************************************
[文件名] C51音樂程序(八月桂花)
[功能] 通過單片機演奏音樂
注意:通過了74HC14控制ULN2003 驅動晶元驅動蜂鳴器 *
/**********************************************************************/
#include <REG52.H>
#include <INTRINS.H>
//本例採用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
}
}
⑻ 51單片機可不可以控制一個小喇叭播放輸入好的音樂
51單片機可以控制一個小喇叭播放音樂.原理是利用定時器中斷.根據樂譜,裝入不同的初值,產生不同頻率的方波.
⑼ 51單片機通過MC1413或ULN2003,普通三極體控制高分貝喇叭有點疑問
效果應該 是一樣的,MC1413 是兩個三極體 組成的 達林頓電路,只是放大倍數大一點,
除了放大倍數 和單個三極體是一樣的, 而在單片機 IO 口驅動 的情況下 放大倍數 不重要,
所以 效果是完全一樣的。
在 音頻放大電路 中 效果就會 不一樣了。