LM386功放电路使用详解

LM386是一款低功耗、高增益的音频集成功放,适用于录音机和收音机。文章介绍了LM386的特性、引脚功能、电压增益计算以及一个简单的应用电路,该电路利用单片机的PWM输出驱动音乐播放,通过调整电阻和电容实现音量控制和输入阻抗匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LM386功放芯片介绍

 

        LM386 是一种音频集成功放,具有自身功耗低、电压增益可调整电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。
电源电压 4-12V 或 5-18V(LM386N-4);静态消耗电流为 4mA;电压增益为20-200dB;在引脚1和8开路时,增益为20DB;带宽为 300KHz;输入阻抗为50K:音频功率0.5W。
LM386芯片引脚如图:

(1)引脚2 为反相输入端,
(2)引脚3 为同相输入端引脚
(3)引脚5为输出端:
(4)引脚6和4分别为电源和地;
(5)引脚1和8为电压增益设定端;
(6)引脚 7和地之间接旁路电容,通常取10p F。

电压增益知识补充

        放大器增益是输出功率与输入功率之比的对数,用来表示功率放大的程度。它也指电压或电流的放大倍数。而分贝是放大器增益的单位。
(1)电压增益Av(dB)=20log(|Av|)
电压增益值以分贝为单位,等于以 10 为底的对数的 20 倍的绝对值,即
当前增益(分贝):Ai(dB)=20log(|Ai|);
当前增益值(以分贝为单位)等于 20 乘以以 10 为底的对数倍数的绝对值。
(2)例如,LM386开环增益为20DB,即电压增益为10,或功率增益为10。


应用电路

    

(1)电位器RT1用于调节音量。
(2)C2为旁路电容,用于降低音频噪声。
(3)R1、C1构成的滤波电路,用于滤波和调节输入阻抗。
(4)C6、C7为芯片电源去耦电容。
(5)BEEP为8欧姆,0.25W扬声器;        
(6)LM386增益引脚1、8连接10uF电容,增益为200DB。
注意:该电路用在PWM音频上,需串联一个适当的电阻器。

应用实例


        下面举一个简单的以单片机PWM音频输出的音乐播放器。
首先,功放电路采用以上的电路,不同的是,该电路输入引脚多串联了一个10k的电阻(R2),主要作用是降低输入电流(另一种办法是降低功放电路的增益)。

然后单片机引脚P1.0输出一串以音频信号来变换频率的PWM,便可通过功放电路来驱动喇叭播放一段音乐。

程序:

//《最浪漫的事》
unsigned char code song8[]={
     5,1,1, 6,1,1, 1,2,1, 6,1,2, 6,1,1, 5,1,1, 6,1,1, 5,1,1, 3,1,1, 5,1,5, 
	 5,1,1, 6,1,1, 1,2,1, 6,1,2, 6,1,1, 5,1,1, 6,1,1, 5,1,1, 6,1,1, 1,1,5, 
	 1,1,1, 2,1,1, 3,1,1, 2,1,1, 2,1,1, 2,1,1, 1,1,1, 2,1,1, 1,1,1, 6,1,1, 
	 3,1,2, 2,1,3, 5,1,1, 6,1,1, 1,2,1, 6,1,2, 6,1,1, 5,1,1, 6,1,1, 5,1,1, 
	 6,1,1, 1,1,5, 1,1,1, 2,1,1, 3,1,1, 4,1,2, 4,1,1, 5,1,1, 6,1,1, 6,1,1, 
	 5,1,1, 6,1,2, 1,2,1, 6,1,3, 1,2,1, 6,1,1, 5,1,1, 5,1,4, 1,1,1, 6,1,1, 
	 5,1,5, 5,1,1, 6,1,1, 1,2,1, 3,1,1, 2,1,1, 3,1,1, 1,1,6, 0,0,0}; 

// 频率-半周期数据表 高八位  共保存了四个八度的28个频率数据
unsigned char code FREQH[]={
    0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8,    //低音1234567
    0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC,//1,2,3,4,5,6,7,i
    0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE,            //高音 234567
    0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF};   //超高音 1234567

// 频率-半周期数据表 低八位
unsigned char code FREQL[]={
    0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6,    //低音1234567
    0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F, //1,2,3,4,5,6,7,i
    0xEE, 0x44, 0x6B, 0xB4, 0xF4, 0x2D,             //高音 234567
    0x47, 0x77, 0xA2, 0xB6, 0xDA, 0xFA, 0x16};   //超高音 1234567  

void main(void)
{
	TMOD=0x11; //T0 T1 均在工作方式1
	ET0=1;  //T0开中断
	EA=1;   //CPU开中断	 
	while(1)
	{
		music_play();	//根据当前状态播放相应歌曲的某个音符

		if(!pause)		//暂停键处理
		{
		delayms(5);
		if(!pause)
		{
			if(music_num==0)    //music_num=0只有在刚开机,且未按下暂停键时存在,表示刚开机时的状态,按下后从第一首开始播放
			{
				music_num=1;    //歌曲序号置1
				num=0;	        //从头播放
				play_enable=1;	//允许播放
			}
			else
			{
				play_enable=~play_enable;
			    speaker=1;
			}
			while(!pause)	 //若按着暂停键不放手时的处理
			{
			if(play_enable==0){}	        //如果是暂停,则显示时间不变//(暂停时play_enable==0)
			}

		  }//暂停键处理结束
	}//while结束

		if((!play_up)&&(music_num!=0)) //上一首按键
		{
		delayms(5);
		if((!play_up)&&(music_num!=0))
		{   speaker=1;
			music_num-=1;//歌曲编号减一
			if(music_num<=0)
			music_num=8;
			num=0;		 //从头开始播放

			if(music_num==(sound_amount+1))
				music_num=1; 
			delayms(500);//歌曲切换时延时0.5S
		}	
		}

		if((!play_down)&&(music_num!=0))
		{
		delayms(5);
		if((!play_down)&&(music_num!=0))
		{   speaker=1;
			music_num+=1;//歌曲编号加一
			if(music_num>=9)
			music_num=1;
			num=0;	 	 //从头开始播放

			if(music_num==0)
				music_num=sound_amount;
			delayms(500);//歌曲切换时延时0.5S
		}
		}

	}
} 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值