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

音频电路

144人已加入

描述

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


  }
}
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分