LM386简易音频功放电路图 基于LM386功放芯片的音乐播放器设计

2023-07-21  

一.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。

从电路图可以看出,五线四相表示电机有4个线圈,5根接线端子,其中引脚5为公共端。

三.应用电路:

图片

(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

    }

    }



  }

}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。