久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2760|回復(fù): 7
收起左側(cè)

TA3116做的200W功放 附單片機程序和PCB文件

  [復(fù)制鏈接]
ID:499742 發(fā)表于 2023-10-18 21:02 | 顯示全部樓層 |閱讀模式
閑來無事,做了一塊200*2.1聲道功放板
貢獻出來學(xué)習(xí)
PADS畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
功放PCB.png 按鍵板.png 8X8LED.jpg


單片機源程序如下:
  1. #include <INTRINS.H>
  2. #include        "STC15.h"                //主控芯片的頭文件
  3. #include  "intrins.h"        //需要使用nop()函數(shù)故而包含該頭文件
  4. #include  "delay.h"
  5. #include  "i2c.h"
  6. #include  "sc2314.h"
  7. #include  "key.h"
  8. #include  "tm1618.h"
  9. //#include "iap.h"        

  10. //寄存器引用及申明
  11. /************************常用數(shù)據(jù)類型定義*************************/
  12. #define u8  uint8_t
  13. #define u16 uint16_t
  14. #define u32 uint32_t

  15. typedef unsigned char    uint8_t;
  16. typedef unsigned int     uint16_t;
  17. typedef unsigned long    uint32_t;

  18. unsigned char idata sound_dats;   //音量常數(shù)
  19. unsigned char idata sound_ch;     //通道常數(shù)
  20. unsigned char idata sub_dats;     //低音常數(shù)
  21. unsigned char idata tre_dats;     //高音常數(shù)
  22. unsigned char idata test_data;

  23. /****************************************************************************/
  24. #define SetdatAdd   0x0002  //設(shè)置參數(shù)存儲初始地址
  25. #define voladd    0x00      //音量存儲地址
  26. #define chadd     0x01      //通道存儲地址
  27. #define subadd    0x03      //低音存儲地址
  28. #define treadd    0x04      //低音存儲地址
  29. #define test      0x05 //測試存儲地址

  30. #define FOSC 11059200UL     //系統(tǒng)外部時鐘頻率(無符號長整型)
  31. #define BAUD 9600           //欲配置的串口通信波特率值
  32. /************************端口/引腳定義區(qū)域************************/

  33. sbit MUTE=P1^2;                                                        //
  34. sbit STBY=P1^3;                                                  //
  35. sbit BLUE=P3^6;                                                        //

  36. //----------------------------------------------------------------

  37. /************************用戶自定義數(shù)據(jù)區(qū)域***********************/

  38. bit IR_KEY=0;                                                                //遙控按鍵按下標(biāo)志
  39. bit IR_Flag=0;                                                        //紅外數(shù)據(jù)接收完成標(biāo)志位
  40. u8 IR_time=0;                                                          //下降沿之間的時間計數(shù)值
  41. u8 IR_code[4];                                                        //用戶碼+用戶碼+數(shù)據(jù)碼+數(shù)據(jù)反碼
  42. u8 IR_data[33];                                                        //引導(dǎo)碼+32個位數(shù)據(jù)各自占用的時間
  43. //unsigned char IR_Key        = 0x0;        //IR待處理鍵值
  44. /**************************函數(shù)聲明區(qū)域***************************/
  45. void delay(u16 Count);                        //延時函數(shù)聲明
  46. void Time0_init(void);                        //定時計數(shù)器0初始化函數(shù)
  47. void Int0_init(void);                                //外部中斷0初始化函數(shù)
  48. void IR_decode(void);                                //紅外解碼函數(shù)(用于得到鍵值)
  49. void IR_control(void);                        //紅外控制函數(shù)(用戶控制LED燈)
  50. void IR_deal(void);                                                //紅外解碼
  51. void Key_deal(unsigned char dat);
  52. void Key_scanf(void);
  53. void UART_init(void);                                //串口初始化函數(shù)聲明
  54. void SendData(u8 dat);                        //串口發(fā)送單字節(jié)數(shù)據(jù)函數(shù)聲明
  55. void SendString(u8 *s);                        //串口發(fā)送字符串函數(shù)聲明

  56. /****************************************************************/
  57. //定時計數(shù)器0初始化函數(shù)Time0_init(),無形參,無返回值
  58. /****************************************************************/
  59. void IO_init(void)        //
  60. {
  61. //        P1M0 = 0x0c;     //STC15W204S IO配置
  62. //        P1M1 = 0x30;
  63. //        P5M0 = 0x00;
  64. //        P5M1 = 0x30;
  65. //        P3M0 = 0x40;
  66. //        P3M1 = 0x00;

  67. //      //STC15W408AS IO配置
  68.     P0M0 = 0x00; P0M1 = 0x00;
  69.     P1M0 = 0x0c; P1M1 = 0x10;
  70.     P2M0 = 0x00; P2M1 = 0x00;
  71.     P3M0 = 0x40; P3M1 = 0x04;
  72.     P4M0 = 0x00; P4M1 = 0x00;
  73.     P5M0 = 0x00; P5M1 = 0x00;
  74.     P6M0 = 0x00; P6M1 = 0x00;
  75.     P7M0 = 0x00; P7M1 = 0x00;

  76. }

  77. /****************************************************************/
  78. //定時計數(shù)器0初始化函數(shù)Time0_init(),無形參,無返回值
  79. /****************************************************************/
  80. void Time0_init(void)        //278微秒@11.0592MHz
  81. {
  82.         AUXR &= 0x7F;        //定時器時鐘12T模式
  83.         TMOD &= 0xF0;        //T0工作在工作方式2,8位自動重裝載模式
  84.         TMOD |= 0x02;        //T0工作在工作方式2,8位自動重裝載模式
  85.         TL0 = 0x00;                //定時初值為0,則T0定時時間達到最大(約0.278ms)
  86.         TH0 = 0x00;                //定時初值為0,則T0定時時間達到最大(約0.278ms)
  87.         TF0 = 0;                        //清除TF0標(biāo)志
  88.         ET0=1;                                //使能T0的溢出中斷
  89.         TR0=1;                                //開啟T0運行控制位,允許T0開始計數(shù)
  90.         //定時時間計算:t=256*12/11.0592=277.77us
  91. }
  92. /****************************************************************/
  93. //外部中斷0初始化函數(shù)Int0_init(),無形參,無返回值
  94. /****************************************************************/
  95. void Int0_init(void)
  96. {
  97.         IT0=1;        //配置外部中斷0信號觸發(fā)方式為邊沿觸發(fā)(下降沿有效)
  98.         EX0=1;        //使能INT0中斷
  99.         EA=1;                //打開單片機總中斷開關(guān)EA
  100. }
  101. /****************************************************************/
  102. //紅外解碼函數(shù)IR_decode(),用于得到鍵值,無形參,無返回值
  103. /****************************************************************/
  104. void IR_decode(void)
  105. {
  106.         u8 i,j,k;                                                               
  107.         u8 Timer_Value,IR_Value;

  108.         k=1;                                                                                                        //先讓變量k等于1,因為k為0時取出的將會是“引導(dǎo)碼的時間間隔”
  109.         for(i=0;i<4;i++)                                                        //外層循環(huán)4次為了得到4個數(shù)據(jù)字節(jié)
  110.         {
  111.                 for(j=0;j<=7;j++)                                                //內(nèi)層循環(huán)8次為了拼合8個數(shù)據(jù)位為1個字節(jié)
  112.                 {
  113.                         Timer_Value=IR_data[k];                //取出相應(yīng)紅外位的“時間間隔”數(shù)據(jù)
  114.                         if(Timer_Value>7)                                        //若“時間間隔”比7大那肯定是“1碼”反之為“0碼”
  115.                                 IR_Value|=0x80;                                        //通過按位或運算高位填1
  116.                         if(j<7)                                                                                
  117.                                 IR_Value>>=1;                                                
  118.                         k++;                                                                                
  119.                 }
  120.                 IR_code[i]=IR_Value;                                //得到紅外數(shù)據(jù)后放回IR_code[]數(shù)組
  121.                 IR_Value=0;                                                                        //清零IR_Value變量
  122.         }
  123.         IR_KEY=1;                                                                                        //紅外按鍵按下標(biāo)志位置1
  124. }
  125. /****************************************************************/
  126. //紅外控制函數(shù)IR_control(),無返回值
  127. /****************************************************************/
  128. void IR_control(void)
  129. {
  130.   wir_1618((IR_code[2])/10,0);
  131.   wir_1618((IR_code[2])%10,1);
  132.   wir_1618((IR_code[3])/10,2);
  133.   wir_1618((IR_code[3])%10,3);
  134.                 switch(IR_code[2])
  135.                 {
  136.                                 case 0x45:               //開關(guān)機按鍵
  137.                            {
  138.           BLUE = ~BLUE;
  139.                                         STBY = ~STBY;        
  140.                                         MUTE = ~MUTE;
  141.                                         if(STBY ==1)     //開機
  142.                                                 {        
  143.                                                         sound_ch=RdFROM(chadd);
  144.                                                         Delay_50us(4);
  145.                                                         crl_dsp();
  146.                                                         ch(sound_ch);
  147.                                                         if(sound_ch==0){WrToROM(chadd,0);AUX1();}
  148.                                                         if(sound_ch==1){WrToROM(chadd,1);DVD();}
  149.                                                         if(sound_ch==2){WrToROM(chadd,2);}               
  150.                                                         if(sound_ch==3){WrToROM(chadd,3);}        
  151.                                                 }                                 
  152.                                  };break;
  153. //*************************************               
  154.         
  155.                          case 0x46:              //聲道切換
  156.           {
  157.                                  if(STBY==1)        
  158.                                          {
  159.                                                 sound_ch=RdFROM(chadd);
  160.             Delay_50us(2);
  161.                                                  crl_dsp();
  162.                                                 if(sound_ch>=3)//4)
  163.                                                          {
  164.                                                          sound_ch=0;
  165.                                                          }
  166.                                                 else
  167.                                                          sound_ch++;
  168.                                                 ch(sound_ch);
  169.                                                 if(sound_ch==0){WrToROM(chadd,0);AUX1();}
  170.                                                 if(sound_ch==1){WrToROM(chadd,1);DVD();}
  171.                                                 if(sound_ch==2){WrToROM(chadd,2);}
  172.                                                 if(sound_ch==3){WrToROM(chadd,3);}
  173.                                          }
  174.                                         };
  175.                                         break;
  176. //***************************
  177.                         case 0x15://09************************VOL -
  178.           {
  179.                                  if(STBY==1)        
  180.                                          {
  181.                                                 sound_dats=RdFROM(voladd);
  182.                                                 if(sound_dats>0)
  183.                                                  {
  184. //                                                         BLUE = ~BLUE;
  185.                                                          sound_dats--;
  186.                                                         write_add(0x88,sound_dats);
  187. //                                                vol_dsp();
  188.                                                   dis_str(3,(30-sound_dats)/10);
  189.                                                   dis_str(4,(30-sound_dats)%10);
  190.                                                          WrToROM(voladd,sound_dats);                                                                                             
  191.                                                          }
  192.                                                  if(sound_dats==0)
  193.                                                 {
  194.                                                         BLUE = 1;
  195.                                                         sound_dats++;                                                        
  196.                                                 }
  197.                                   }
  198.                                         };break;
  199. //************************************
  200.                         case 0x07:            //09************************VOL +
  201.           {
  202.                                  if(STBY==1)        
  203.                                          {
  204.                                         sound_dats=RdFROM(voladd);
  205.                                         if(sound_dats<30)
  206.                                                 {
  207.                                                         sound_dats++;
  208.                                                         write_add(0x88,sound_dats);
  209.                                                         WrToROM(voladd,sound_dats);                                                                                                      
  210.                                                         }
  211.                                         if(sound_dats==30)
  212.                                                         {
  213.                                                                 BLUE = 1;
  214.                                                     sound_dats--;
  215.                                                         }
  216.                                                 }

  217.                                         };break;

  218. //************************************      
  219.                         case 0x16:     //靜音
  220.           {
  221.                                  if(STBY==1)        
  222.                                          {
  223.                                                 MUTE = ~MUTE;
  224.                                                 BLUE = ~BLUE;
  225.                                          }
  226.                                         };break;        
  227. //***********************************************************
  228.                 case 0x40:          //***********高音+
  229.                                  {
  230.                                 if(STBY==1)        
  231.                                          {
  232.                                         tre_dats=RdFROM(treadd);
  233.                                         if(tre_dats<10)
  234.                                                 {
  235.                                                         tre_dats++;
  236.                                                         tre(tre_dats);
  237.                                                         WrToROM(treadd,tre_dats);                                                                                                      
  238.                                                         }
  239.                                         if(tre_dats==10)
  240.                                                         {
  241.                                                  tre_dats--;
  242.                                                         }
  243.                                                 }

  244.                                  break;
  245.                                  }
  246. //***********************************************************
  247.                 case 0x44:          //***********高音-
  248.                                  {
  249.                                 if(STBY==1)        
  250.                                          {
  251.                                         tre_dats=RdFROM(treadd);
  252.                                         if(tre_dats>0)
  253.                                                 {
  254.                                                         tre_dats--;
  255.                                                         tre(tre_dats);
  256.                                                         WrToROM(treadd,tre_dats);                                                                                                      
  257.                                                         }
  258.                                         if(tre_dats==0)
  259.                                                         {
  260.                                                  tre_dats++;
  261.                                                         }
  262.                                                 }

  263.                                  break;
  264.                                  }
  265. //***********************************************************
  266.                 case 0x0d:          //***********低音+
  267.                                  {
  268.                                 if(STBY==1)        
  269.                                          {
  270.                                         sub_dats=RdFROM(subadd);
  271.                                         if(sub_dats<10)
  272.                                                 {
  273.                                                         sub_dats++;
  274.                                                         bass(sub_dats);
  275.                                                         WrToROM(subadd,tre_dats);                                                                                                      
  276.                                                         }
  277.                                         if(sub_dats==0)
  278.                                                         {
  279.                                                  sub_dats++;
  280.                                                         }
  281.                                                 }

  282.                                  break;
  283.                                  }
  284. //***********************************************************
  285.                 case 0x19:          //***********低音-
  286.                                  {
  287.                                 if(STBY==1)        
  288.                                          {
  289.                                         sub_dats=RdFROM(subadd);
  290.                                         if(sub_dats>0)
  291.                                                 {
  292.                                                         sub_dats--;
  293.                                                         bass(sub_dats);
  294.                                                         WrToROM(subadd,tre_dats);                                                                                                      
  295.                                                         }
  296.                                         if(sub_dats==0)
  297.                                                         {
  298.                                                  sub_dats++;
  299.                                                         }
  300.                                                 }

  301.                                  break;
  302.                                  }
  303. //*************************************               
  304.                         case 0x43:     //關(guān)藍燈
  305.           {

  306.                                                 BLUE = 0;
  307.                                                 crl_dsp();
  308.                                                 break;        
  309.                                   }               
  310. //*************************************               
  311.                         case 0x0c:     //關(guān)藍燈
  312.           {

  313.             DVD();
  314.                                                 break;        
  315.                                   }        
  316. //*************************************               
  317.                         case 0x09:     //2314初始化
  318.           {
  319.                  sc2314_init();
  320.                                          BLUE =1;
  321.                                          WrToROM(test,0x01);
  322.                                          Delay_ms(100);               
  323.                                          test_data=RdFROM(test);        
  324.                                          BLUE = ~BLUE;
  325.                                          Delay_ms(100);                                                
  326.                                          if(test_data==1)
  327.                                                 {
  328.                                                         BLUE = ~BLUE;
  329.                                                         Delay_ms(100);
  330.                                                         BLUE = ~BLUE;
  331.                                                 }        
  332.                                                 else
  333.                                                         MUTE = 0;                                       
  334.                                    break;        
  335.                                   }                                                
  336.                         default: break;

  337.         }
  338.         
  339.         IR_KEY=0;//遙控處理完成,清零該標(biāo)志位
  340. }

  341. /****************************************************************/
  342. //紅外調(diào)用函數(shù)
  343. //***************************************************
  344. void IR_deal()
  345. {
  346.         u8 x,y,z;                                   //變量x控制循環(huán)
  347.                                                                            //變量y用于存放紅外碼高位,變量z用于存放紅外碼低位
  348.         if(IR_Flag)        //紅外數(shù)據(jù)接收完成標(biāo)志位                                
  349.                 {
  350.                         IR_decode();         //遙控數(shù)據(jù)解碼        
  351.                         IR_Flag=0;                        
  352.                 }
  353.                 if(IR_KEY)                         //遙控按鍵按下標(biāo)志               
  354.                 {
  355.                                 IR_control();               
  356.                                 SendString("|****遙控碼值****:");
  357.                                 for(x=0;x<4;x++)                                                //輸出紅外的4個字節(jié)碼
  358.                                 {
  359.                                         if(IR_code[x]/16<0x10)                //若數(shù)據(jù)高8位為數(shù)字則轉(zhuǎn)換為對應(yīng)ASCII碼打印出來
  360.                                                 y=IR_code[x]/16+0x30;
  361.                                         if(IR_code[x]/16>0x09)                //若數(shù)據(jù)高8位為字母則轉(zhuǎn)換為對應(yīng)ASCII碼打印出來
  362.                                                 y=IR_code[x]/16+0x37;
  363.                                         if(IR_code[x]%16<0x10)                //若數(shù)據(jù)低8位為數(shù)字則轉(zhuǎn)換為對應(yīng)ASCII碼打印出來
  364.                                                 z=IR_code[x]%16+0x30;
  365.                                         if(IR_code[x]%16>0x09)                //若數(shù)據(jù)低8位為字母則轉(zhuǎn)換為對應(yīng)ASCII碼打印出來
  366.                                                 z=IR_code[x]%16+0x37;
  367.                                         SendData(' ');                                                //打印空格為了優(yōu)化顯示
  368.                                         SendData('0');                                                //打印'0'字符
  369.                                         SendData('x');                                                //打印'x'字符
  370.                                         SendData(y);                                                        //打印數(shù)據(jù)高8位
  371.                                         SendData(z);                                                        //打印數(shù)據(jù)低8位
  372.                                         SendData(' ');                                                //打印空格為了優(yōu)化顯示
  373.                                 }
  374.                                 SendString("\r\n");                                        //打印回車換行
  375.                                 SendString("|***************************************************|\r\n");               
  376.                                 IR_KEY=0;//清除紅外按鍵按下標(biāo)志位
  377.            }
  378. }
  379. /****************************************************************/
  380. //串口初始化函數(shù)UART_init(),無形參,無返回值
  381. /****************************************************************/
  382. void UART_init(void)
  383. {
  384.         SCON=0x50;                                                                                //10位數(shù)據(jù)異步通信模式,允許接收
  385.         T2L=(65536-(FOSC/4/BAUD));           //設(shè)置波特率重裝值
  386.   T2H=(65536-(FOSC/4/BAUD))>>8;        //設(shè)置波特率重裝值
  387.   AUXR|=0x14;                                //T2為1T模式,并啟動定時器2
  388.   AUXR|=0x01;                               //選擇定時器2為串口1的波特率發(fā)生器
  389.   EA=1;                                                                                                        //使能單片機總中斷開關(guān)EA
  390. }
  391. /****************************************************************/
  392. //串口發(fā)送單字節(jié)數(shù)據(jù)SendData(),有形參dat用于接收欲發(fā)送的單字節(jié)數(shù)據(jù),
  393. //無返回值
  394. /****************************************************************/
  395. void SendData(u8 dat)
  396. {
  397.         SBUF=dat;                        //發(fā)送數(shù)據(jù)到發(fā)送緩沖區(qū)內(nèi)
  398.         while(TI==0);        //等待串口數(shù)據(jù)發(fā)送完畢
  399.         TI=0;                                        //清除發(fā)送完成標(biāo)志位TI        
  400. }
  401. /****************************************************************/
  402. //串口發(fā)送字符串函數(shù)SendString(),有形參*s屬于指針變量,用于指向要
  403. //發(fā)送的字符串首字節(jié),通過指針的自增,逐一取出字符依次發(fā)送直至字符串
  404. //結(jié)束標(biāo)志'\0',無返回值
  405. /****************************************************************/
  406. void SendString(u8 *s)
  407. {
  408.         while(*s!='\0')
  409.         {
  410.                 SendData(*s);        //調(diào)用SendData()函數(shù)依次發(fā)送單字節(jié)數(shù)據(jù)
  411.                 s++;                                        //指針自增,便于發(fā)送下一個數(shù)據(jù)
  412.         }
  413. }
  414. /****************************************************************/

  415. /***************************主函數(shù)區(qū)域****************************/

  416. void main(void)
  417. {
  418.         Delay_50us(10);
  419.         IO_init();
  420.         Time0_init();                //定時計數(shù)器0初始化函數(shù)
  421.         Int0_init();                //外部中斷0初始化函數(shù)
  422.         WrToROM(voladd,20);
  423.   Delay_ms(1);
  424.         WrToROM(chadd,0);
  425.         Delay_ms(1);
  426.         WrToROM(subadd,5);
  427.         Delay_ms(1);
  428.         WrToROM(treadd,5);
  429.         Delay_ms(1);
  430.         sc2314_init();
  431.         UART_init();                //串口初始化
  432.         Delay_ms(1);
  433.         SendString("|******串口準(zhǔn)備完畢******|\r\n");
  434.   BLUE=1;
  435.         MUTE=1;
  436.         STBY=0;        
  437.         while(1)
  438.         {
  439. //                if(ON_flag==0)BLUE =0;
  440.                 IR_deal();
  441.                 if(IR_KEY==0)                                
  442.                 {
  443.                 Key_scanf();                //按鍵掃描
  444.                 key_process();
  445.                         
  446. //    IR_KEY==0;

  447.                 }
  448.         }
  449. }

  450. /****************************************************************/
  451. //外部中斷0中斷服務(wù)函數(shù)INT0_ISR(),無形參,無返回值
  452. /****************************************************************/
  453. void INT0_ISR() interrupt 0
  454. {
  455.         static u8 IR_bit;                                                  //變量IR_bit用于指示紅外數(shù)據(jù)的位數(shù)
  456.         static bit Start_Flag;                                //位變量Start_Flag用于指示是否開始處理
  457.         if(Start_Flag)                                                               
  458.         {
  459.                 if(IR_time<70&&IR_time>32)        //判斷引導(dǎo)碼(9ms+4.5ms)
  460.                 //IR_time大約要溢出32次(9ms/0.278ms)到70次(可以大于(9+4.5)/0.278)
  461.                         IR_bit=0;                                                                        //清除位數(shù)變量,確保當(dāng)前IR_bit為0,表示引導(dǎo)碼
  462.                 IR_data[IR_bit]=IR_time;                //存儲相應(yīng)位時間寬度
  463.                 IR_time=0;                                                                        //清零時間寬度計數(shù)值
  464.                 IR_bit++;                                                                                //位數(shù)變量自增
  465.                 if(IR_bit==33)                                                        //如果達到了33位(引導(dǎo)碼+32個數(shù)據(jù)位)
  466.                 {
  467.                         IR_Flag=1;                                                                //紅外數(shù)據(jù)接收完成標(biāo)志位置1
  468.                         IR_bit=0;                                                                        //位數(shù)變量清零
  469.                 }
  470.         }
  471.         else                                                                                                        //外部中斷0檢測到下降沿,即將開始引導(dǎo)碼
  472.         {
  473.                 IR_time=0;                                                                        //清零時間計數(shù)值
  474.                 Start_Flag=1;                                                                //紅外數(shù)據(jù)產(chǎn)生第一次下降沿,意味著數(shù)據(jù)即將開始
  475.         }
  476. }
  477. /****************************************************************/
  478. //定時計數(shù)器0中斷服務(wù)函數(shù)TIMER0_ISR(),無形參,無返回值
  479. /****************************************************************/
  480. void TIMER0_ISR() interrupt 1
  481. {
  482.         IR_time++;

  483. }
復(fù)制代碼



單片機程序和PCB文件下載: TA3116功放.zip (6.31 MB, 下載次數(shù): 89)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:1083996 發(fā)表于 2023-10-19 15:06 | 顯示全部樓層
TPA3116這個片子已經(jīng)有點落伍了;
現(xiàn)在比較好的是TPA3251和TPA3255,價格不貴,容易制作,音質(zhì)好;
搭配藍牙5.3和32bit/384kHz解碼芯片,效果感人;
當(dāng)然不能忘記了助教--單片機
回復(fù)

使用道具 舉報

ID:499742 發(fā)表于 2023-10-19 16:06 | 顯示全部樓層
TA3116以前還是用得比較多效率高,功率大
回復(fù)

使用道具 舉報

ID:128989 發(fā)表于 2023-10-29 00:36 | 顯示全部樓層
不錯的功放,學(xué)習(xí)了
回復(fù)

使用道具 舉報

ID:187261 發(fā)表于 2023-11-11 02:50 | 顯示全部樓層
PCB需要用pads這個軟件才能打開
回復(fù)

使用道具 舉報

ID:1034178 發(fā)表于 2023-11-26 17:34 來自手機 | 顯示全部樓層
現(xiàn)在很多自帶i2c接囗的功放芯片不需要用pt2314
回復(fù)

使用道具 舉報

ID:774081 發(fā)表于 2023-12-29 15:22 | 顯示全部樓層
這個代碼又是紅外又是串口又是LED點陣的,就是沒看到關(guān)鍵的用I2C控制TPA3116的代碼。
回復(fù)

使用道具 舉報

ID:370415 發(fā)表于 2024-3-30 00:56 | 顯示全部樓層
老兄,沒見到原理圖呢
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一级片免费视频 | 国产亚洲网站 | 日韩国产中文字幕 | 五月婷婷中文 | 91久久久久久久久久久 | 成人精品福利 | www亚洲一区 | 亚洲视频二区 | 91高清视频在线 | 久久成人午夜 | 91精品一区| 国产欧美精品 | 日韩午夜 | 国产日产精品一区二区三区四区 | 日韩av免费看 | 爱爱视频在线观看 | 精品三级在线观看 | 美国一级黄色片 | 黄色大片免费看 | 国产精品视频免费观看 | 久久久久久国产精品 | 美女视频网站久久 | 一区二区三区四区日韩 | 欧州一区二区三区 | 国产精品免费一区二区三区四区 | 美女在线观看国产 | 一区二区三区免费 | 天堂色| 综合精品在线 | 精品网| 四虎影院一区二区 | 日日精品 | 99视频在线免费观看 | 国产永久免费 | 色一级 | 精品久久久久久国产 | 国产成人叼嘿视频在线观看 | 婷婷激情综合 | 欧美视频在线播放 | 国产成人免费在线 | 国产欧美精品 |