wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

標題: TA3116做的200W功放 附單片機程序和PCB文件 [打印本頁]

作者: 金滿堂    時間: 2023-10-18 21:02
標題: TA3116做的200W功放 附單片機程序和PCB文件
閑來無事,做了一塊200*2.1聲道功放板
貢獻出來學習
PADS畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)



單片機源程序如下:
  1. #include <INTRINS.H>
  2. #include        "STC15.h"                //主控芯片的頭文件
  3. #include  "intrins.h"        //需要使用nop()函數故而包含該頭文件
  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. /************************常用數據類型定義*************************/
  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;   //音量常數
  19. unsigned char idata sound_ch;     //通道常數
  20. unsigned char idata sub_dats;     //低音常數
  21. unsigned char idata tre_dats;     //高音常數
  22. unsigned char idata test_data;

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

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

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

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

  37. /************************用戶自定義數據區域***********************/

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

  56. /****************************************************************/
  57. //定時計數器0初始化函數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. //定時計數器0初始化函數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標志
  88.         ET0=1;                                //使能T0的溢出中斷
  89.         TR0=1;                                //開啟T0運行控制位,允許T0開始計數
  90.         //定時時間計算:t=256*12/11.0592=277.77us
  91. }
  92. /****************************************************************/
  93. //外部中斷0初始化函數Int0_init(),無形參,無返回值
  94. /****************************************************************/
  95. void Int0_init(void)
  96. {
  97.         IT0=1;        //配置外部中斷0信號觸發方式為邊沿觸發(下降沿有效)
  98.         EX0=1;        //使能INT0中斷
  99.         EA=1;                //打開單片機總中斷開關EA
  100. }
  101. /****************************************************************/
  102. //紅外解碼函數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時取出的將會是“引導碼的時間間隔”
  109.         for(i=0;i<4;i++)                                                        //外層循環4次為了得到4個數據字節
  110.         {
  111.                 for(j=0;j<=7;j++)                                                //內層循環8次為了拼合8個數據位為1個字節
  112.                 {
  113.                         Timer_Value=IR_data[k];                //取出相應紅外位的“時間間隔”數據
  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;                                //得到紅外數據后放回IR_code[]數組
  121.                 IR_Value=0;                                                                        //清零IR_Value變量
  122.         }
  123.         IR_KEY=1;                                                                                        //紅外按鍵按下標志位置1
  124. }
  125. /****************************************************************/
  126. //紅外控制函數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:               //開關機按鍵
  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:     //關藍燈
  305.           {

  306.                                                 BLUE = 0;
  307.                                                 crl_dsp();
  308.                                                 break;        
  309.                                   }               
  310. //*************************************               
  311.                         case 0x0c:     //關藍燈
  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;//遙控處理完成,清零該標志位
  340. }

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

  415. /***************************主函數區域****************************/

  416. void main(void)
  417. {
  418.         Delay_50us(10);
  419.         IO_init();
  420.         Time0_init();                //定時計數器0初始化函數
  421.         Int0_init();                //外部中斷0初始化函數
  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("|******串口準備完畢******|\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中斷服務函數INT0_ISR(),無形參,無返回值
  452. /****************************************************************/
  453. void INT0_ISR() interrupt 0
  454. {
  455.         static u8 IR_bit;                                                  //變量IR_bit用于指示紅外數據的位數
  456.         static bit Start_Flag;                                //位變量Start_Flag用于指示是否開始處理
  457.         if(Start_Flag)                                                               
  458.         {
  459.                 if(IR_time<70&&IR_time>32)        //判斷引導碼(9ms+4.5ms)
  460.                 //IR_time大約要溢出32次(9ms/0.278ms)到70次(可以大于(9+4.5)/0.278)
  461.                         IR_bit=0;                                                                        //清除位數變量,確保當前IR_bit為0,表示引導碼
  462.                 IR_data[IR_bit]=IR_time;                //存儲相應位時間寬度
  463.                 IR_time=0;                                                                        //清零時間寬度計數值
  464.                 IR_bit++;                                                                                //位數變量自增
  465.                 if(IR_bit==33)                                                        //如果達到了33位(引導碼+32個數據位)
  466.                 {
  467.                         IR_Flag=1;                                                                //紅外數據接收完成標志位置1
  468.                         IR_bit=0;                                                                        //位數變量清零
  469.                 }
  470.         }
  471.         else                                                                                                        //外部中斷0檢測到下降沿,即將開始引導碼
  472.         {
  473.                 IR_time=0;                                                                        //清零時間計數值
  474.                 Start_Flag=1;                                                                //紅外數據產生第一次下降沿,意味著數據即將開始
  475.         }
  476. }
  477. /****************************************************************/
  478. //定時計數器0中斷服務函數TIMER0_ISR(),無形參,無返回值
  479. /****************************************************************/
  480. void TIMER0_ISR() interrupt 1
  481. {
  482.         IR_time++;

  483. }
復制代碼



單片機程序和PCB文件下載: TA3116功放.zip (6.31 MB, 下載次數: 89)
作者: 量子工業    時間: 2023-10-19 15:06
TPA3116這個片子已經有點落伍了;
現在比較好的是TPA3251和TPA3255,價格不貴,容易制作,音質好;
搭配藍牙5.3和32bit/384kHz解碼芯片,效果感人;
當然不能忘記了助教--單片機
作者: 金滿堂    時間: 2023-10-19 16:06
TA3116以前還是用得比較多效率高,功率大
作者: yhgwork    時間: 2023-10-29 00:36
不錯的功放,學習了
作者: C3M    時間: 2023-11-11 02:50
PCB需要用pads這個軟件才能打開
作者: 1233389    時間: 2023-11-26 17:34
現在很多自帶i2c接囗的功放芯片不需要用pt2314
作者: shennognshi    時間: 2023-12-29 15:22
這個代碼又是紅外又是串口又是LED點陣的,就是沒看到關鍵的用I2C控制TPA3116的代碼。
作者: linyin    時間: 2024-3-30 00:56
老兄,沒見到原理圖呢




歡迎光臨 (http://m.izizhuan.cn/bbs/) Powered by Discuz! X3.1
国产女人18毛片| 中文字幕无线码一区| 亚洲一区三区在线观看| 久久久精品久久久| 亚洲成人av免费| 国产美女精品人人做人人爽| 国产精品白丝av嫩草影院| 午夜免费福利在线观看| 国产精品臀控福利在线观看| 中文字幕日韩第一页| 精品无码在线观看| 日韩网址在线观看| 欧美一二三四五区| 国产精品va在线播放| 亚洲人精品午夜在线观看| 日本黄色一区二区| 亚洲欧洲在线观看av| 精品制服美女久久| 欧美日韩精品| 国产影视精品一区二区三区| 91在线亚洲| av中文字幕在线播放| a天堂中文在线官网| 在线观看视频色| 亚洲天堂电影在线观看| 在线播放成人av| 国产第一页第二页| www.99热| 中文字幕在线播放一区| 激情五月亚洲色图| 国产一区二区三区乱码| 青青草成人激情在线| 91精品视频免费| 97视频在线免费观看| 综合久久五月天| 亚洲精品在线观看网站| 欧美日韩一区中文字幕| 亚洲大尺度视频在线观看| 日本一区二区成人| 99re热视频精品| 四虎av在线| 午夜免费啪视频观看视频| 午夜羞羞视频| 国产免费av网站| 亚洲精品aaaa精品| 中文字幕色站| 中文字幕色视频| 全国男人的天堂天堂网| 日本激情一区二区| 国产精品特级毛片一区二区三区| 国产美女激情视频| 日韩手机在线观看| 激情综合五月网| 欧美交换国产一区内射| av成人免费网站| 国产小视频你懂的| 日韩三级在线观看视频| 国产午夜精品理论片在线| 日韩av在线看免费观看| 黄色录像a级片| aaaaaav| 免费观看一级一片| 国产在线综合视频| 老司机深夜福利网站| 免费在线观看污| 在线看片中文字幕| 九九这里只有精品视频| 欧美狂猛xxxxx乱大交3| 无码h肉动漫在线观看| 手机在线播放av| 亚洲成a人无码| 91大神免费观看| 丰满人妻一区二区三区免费视频棣| 亚欧在线免费观看| 国内自拍视频一区| 亚洲黄色片免费| 热久久久久久久久| 中文字幕亚洲日本| 日本国产在线视频| a视频免费观看| 呻吟揉丰满对白91乃国产区| 五月天激情小说| 国产精品视频在| 黑人狂躁日本娇小| 私库av在线播放| 狠狠狠狠狠狠狠| 国产精品高潮呻吟av| 国产成人毛毛毛片| 色屁屁草草影院ccyycom| 亚洲激情丁香| 麻豆精品国产自产在线| 日本夜夜草视频网站| 菠萝蜜视频网址| 最新在线观看av网站| 校园春色欧美| 蜜桃视频在线观看www社区| 日本在线免费| 狠狠色成人综合网图片区 | 特黄特黄的视频| 写真福利片hd在线观看| 免费动漫网站在线观看| 国产精品va在线观看视色| 国产后进白嫩翘臀在线观看视频| 樱花草涩涩www在线播放| 免费视频观看成人| 日韩欧美影院| 国产精品99免费看| 国产东北露脸精品视频| 国产欧美日韩视频在线观看| 亚洲一区二区欧美日韩 | 国产在线一区二区三区欧美| 精品在线观看一区二区| 亚洲一区二区三区加勒比| 在线观看18视频网站| www黄色av| 国产女主播在线播放| 国产又粗又长免费视频| 国产寡妇亲子伦一区二区三区四区| 国产精华7777777| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 你懂的视频在线看| 老司机aⅴ毛片免费观看| 美女欧美视频在线观看免费 | 欧美日韩高清在线一区| 黄色片免费在线观看视频| 在线观看的毛片| 娇妻被老王脔到高潮失禁视频| 日韩 欧美 亚洲| 老熟妇高潮一区二区高清视频| 无遮挡h肉3d动漫在线观看 | 国产精品腿扒开做爽爽爽挤奶网站| 免费久久精品视频| 中文一区一区三区高中清不卡| 日韩欧美亚洲一二三区| 中文字幕亚洲精品| 成人黄色大片在线免费观看| 一区精品在线| 国产福利精品一区二区三区| 精品国产国产综合精品| 国产裸体无遮挡| 给个网站可以在线观看你懂的| 国产在线日本| 91精品国产自产观看在线| 亚洲电影在线一区二区三区| 国产成人午夜精品影院观看视频| 亚洲午夜精品久久久久久久久| 日韩视频一区二区三区在线播放 | 国产第一页视频| 91精品国自产在线| 99久久亚洲精品日本无码| 再深点灬舒服灬太大了添少妇视频 | 亚洲色图五月天| 成人中心免费视频| 亚洲中文字幕无码中文字| 欧美日韩高清丝袜| 99久久婷婷国产一区二区三区| www.eeuss影院| 色av手机在线| 日产午夜精品一线二线三线| 国产高清精品网站| 欧美性欧美巨大黑白大战| 久久国产精品影片| 欧美一级二级三级| 国产草草浮力影院| 国产一区二区三区中文字幕| 羞羞影视羞羞在线| 国产精品天天操| 天天撸天天射| 51一区二区三区| 亚洲看片一区| 一区二区三区中文在线| 亚洲天堂精品在线| 国产黄色片在线播放| 精品国产免费人成电影在线观看四季 | 久久大胆人体视频| 久久精品999| 日韩欧美在线一区| 欧美激情一级二级| 蜜桃视频成人在线观看| 亚洲色图第四色| 一本之道久久| 欧洲不卡av| 99久久精品费精品国产| 国产精品久久午夜夜伦鲁鲁| 日韩精品福利在线| 黄色国产精品一区二区三区| 亚洲色图欧美日韩| 天天综合天天综合| 国产高清一区在线观看| 久久综合色占| 国产精品久久久久影院亚瑟| 日韩有码视频在线| 综合久久国产| 五月婷婷一区二区| www天堂在线观看| 97色婷婷成人综合在线观看| 久久99最新地址| 欧美大片一区二区三区| 99理论电影网| 亚洲精品成人无码熟妇在线| 亚洲高清色图| 大香伊人久久| 亚欧成人精品| 69堂精品视频| 欧美性bbwbbwbbwhd| 国产传媒视频在线| 全彩无遮挡全彩口工漫画h# | 黄色影院在线观看| 青娱乐极品盛宴一区二区| 久久99热99| 日韩午夜激情av| 欧美日韩一区在线播放| 久久精品日韩无码| 天天操天天操一操| 国产精品自在线拍| 成人欧美一区二区三区1314| 久久久久国产一区二区三区| 成人中文字幕av| 亚洲男人天堂久久| 99精品在线视频观看| 国外男同性恋在线看| 亚洲成aⅴ人片久久青草影院| 久久精品欧美日韩精品| 欧美日韩福利电影| 国产福利一区视频| 日韩一级免费毛片| 暧暧视频在线免费观看| 秋霞电影网一区二区| 亚洲福利视频网站| 欧美aaa在线观看| 成人a v视频| 天天综合视频在线观看| 久久精品99国产精品| 国产亚洲欧美一区| 国产一区二区三区精彩视频| 成人av一区二区三区在线观看| 黄色一级大片在线免费看产| 日韩中文字幕区一区有砖一区| 日韩精品最新网址| 超碰超碰超碰超碰超碰| 一区二区三区免费在线| 制服丝袜在线播放| 国产精品88av| 欧美激情a在线| www.黄色网| 美乳美女在线观看香蕉| 亚洲va久久| 欧洲精品一区二区三区在线观看| 婷婷五月色综合| 一级视频在线播放| 女厕盗摄一区二区三区| 91农村精品一区二区在线| 97在线视频精品| 国产麻豆天美果冻无码视频| 伊人狠狠av| 你懂的成人av| 亚洲黄色片网站| 一本久道综合色婷婷五月| 最近中文字幕免费mv视频多少集| 一级欧美视频| 亚洲成人动漫av| 五月天综合网| 免费的黄色av| 欧美综合自拍| 欧美精品18+| 青青草精品视频在线| 四虎久久影院| 免费成人av| 日韩一区二区三区三四区视频在线观看| 国产精品夜夜夜爽张柏芝| 亚洲欧美另类日韩| 日本在线成人| 欧美主播一区二区三区美女| 亚洲图片小说在线| 人妻少妇精品无码专区久久| 99热这里有精品| 色综合天天综合在线视频| 在线免费观看一区二区三区| 三级视频在线看| 国产一区福利| 欧美变态tickling挠脚心| 国产精品亚洲a| 黄色三级在线| 最新在线观看av| 久久av资源站| 国产精品久久久久久久电影| 黄页网站免费观看| 黄页网站在线| 亚洲人成小说网站色在线 | 色欲一区二区三区精品a片| 撸视在线观看免费视频| 国产99久久久久| 成人免费自拍视频| 一个人看的www日本高清视频| 成人午夜亚洲| 在线观看一区日韩| 成年人小视频网站| 天天撸天天射| 老色鬼精品视频在线观看播放| 51精品国产黑色丝袜高跟鞋| 久久免费视频精品| 成人午夜视屏| 日本久久精品电影| 乌克兰美女av| 电影天堂最新网址| 国产在线播精品第三| 97人人干人人| 人妻va精品va欧美va| 成人激情开心网| 精品国产一区二区在线| 日本爱爱小视频| 国内激情视频在线观看| 精品久久久久久电影| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 被陌生人带去卫生间啪到腿软| 久久一区中文字幕| 国产精品久久久久久久久久新婚| 中文在线免费看视频| 国产精品久久久久久久久久辛辛| 欧美精品一二三区| 美女被艹视频网站| 国产写真视频在线观看| 亚洲成人精品影院| 已婚少妇美妙人妻系列| 在线黄色国产视频| 中文字幕不卡一区| 草草视频在线免费观看| 国产男女爽爽爽| 99热精品一区二区| 吴梦梦av在线| 成人在线电影网| 成人激情黄色小说| 狠狠精品干练久久久无码中文字幕| 日日操夜夜爽| 国产精品自拍在线| 日韩色妇久久av| 乳奴隷乳フ辱| www.欧美亚洲| 国产人妻人伦精品| 少妇免费视频| 国产精品久久久久久妇女6080| 免费人成自慰网站| julia中文字幕久久亚洲蜜臀| 中文字幕不卡三区| 亚洲人成色77777| 成人77777| 欧美色另类天堂2015| 无套白嫩进入乌克兰美女| 99福利在线| 欧美精品xxxxbbbb| 99久久国产免费免费| 亚洲aaa在线观看| 在线亚洲激情| 国产精品久久精品国产| 青青操在线观看| 91亚洲永久精品| 青春草国产视频| 激情综合闲人网| 懂色av一区二区三区| 蜜臀视频在线观看| av日韩亚洲| 亚洲欧美一区二区三区四区| 香蕉视频一区二区| 免费短视频成人日韩| 伦伦影院午夜日韩欧美限制| 中文字幕+乱码+中文乱码www| 久久综合国产| 国产精品一区二区三区免费视频 | 制服丨自拍丨欧美丨动漫丨| 国产精品日本一区二区三区在线| 美女av一区二区三区| 一本色道久久综合亚洲| 亚洲小说区图片区| 国精产品一区二区| 天天草夜夜骑| 亚洲一级在线观看| 亚洲天堂美女视频| 国产精品一区二区精品视频观看| 久久久成人精品视频| av网站免费播放| 黑人精品欧美一区二区蜜桃| 黄黄视频在线观看| av在线首页| 精品国产乱码久久久久久蜜臀| 日本午夜精品理论片a级app发布| 日韩夫妻性生活xx| 成人在线资源网址| 被下部羞羞漫画| 欧美日韩亚洲网| 可以免费看av的网址| 久久综合国产| 精品一区二区久久久久久久网站| 电影天堂最新网址| 在线观看视频一区二区| 日韩在线观看视频一区二区| 国产91精品对白在线播放| 99久久伊人精品影院| 神马伦理电影| 欧美日韩高清不卡| 51国产偷自视频区视频|