⑴ 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 口驱动 的情况下 放大倍数 不重要,
所以 效果是完全一样的。
在 音频放大电路 中 效果就会 不一样了。