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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4123|回復: 1
打印 上一主題 下一主題
收起左側

函數信號發生器設計論文 uCOS-II多任務程序 AD9850+ARM1138+ARM1138

[復制鏈接]
跳轉到指定樓層
樓主
這是我很早之前做的,大家可以看看,附件中包含有完整的論文和源碼.

       采用基于DDS專用芯片AD9850作為信號產生模塊,并以基于ARM7的微控制器ARM1138作為整個系統的控制核心。在ARM1138中嵌入UCOSII操作系統方便實現多任務處理。例如波形轉換,頻率調節,幅值調節,12864顯示,I2C掉電保護等。本方案融合了如方案一頻率合成的優點,并能發揮ARM控制器強大的系統管理能力。同時可利于分工合作,以最快的時間完成題目的所有要求。此方案比較靈活、可擴展性好,能完全達到設計要求,故采用此方案。

ARM微控制器從鍵盤獲得控制信息,通過計算得到控制字并通過IO口送給DDS的頻率和相位的控制端口,同時,將信息顯示在LCD上。DDS輸出信號由程序控制其預置頻率和相位的正弦信號或方波信號,再通過放大倍數可調的運算放大系統來控制調幅。三角波則由方波信號經過一級方大后通過積分電路獲得。掉電保護功能則由ARM1138內部AD把數據讀回再通過I2C寫入24C04來完成。結構圖如圖2-1。

2.2 DDS的實現設計
DDS的基本原理是利用采樣定理,通過查表法產生波形,其基本架構如圖2-2所示:

相位累加器由N位加法器與N位累加寄存器級聯構成。 每來一個時鐘脈沖fs,加法器將頻率控制字k與累加寄存器輸出的累加相位數據相加,把相加后的結果送至累加寄存器的數據輸入端。累加寄存器將加法器在上一個時鐘脈沖作用后所產生的新相位數據反饋到加法器的輸入端,以使加法器在下一個時鐘脈沖的作用下繼續與頻率控制字相加。這樣,相位累加器在時鐘作用下,不斷對頻率控制字進行線性相位累加。 由此可以看出, 相位累加器在每一個時鐘脈沖輸入時,把頻率控制字累加一次,相位累加器輸出的數據就是合成信號的相位,相位累加器的溢出頻率就是DDS輸出的信號頻率。 用相位累加器輸出的數據作為波形存儲器(ROM)的相位取樣地址,這樣就可把存儲在波形存儲器內的波形抽樣值 (二進制編碼) 經查找表查出,完成相位到幅值轉換。波形存儲器的輸出送到D/A轉換器,D/A轉換器將數字量形式的波形幅值轉換成所要求合成頻率的模擬量形式信號。低通濾波器用于濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號。 DDS在相對帶寬、頻率轉換時間、高分辨力、相位連續性、 正交輸出以及集成化等一系列性能指標方面遠遠超過了傳統頻率合成技術所能達到的水平,為系統提供了優于模擬信號源的性能。


系統測試
4.1測試條件
表1  儀器儀表
  
儀器儀表名稱
  
型號
數量(臺)
  
數字示波器
  
Tektronix
1
  
函數信號發生器
  
RIGOL
1
  
直流穩壓電源
  
YB1732
1
  
萬用表
  
DT9025
1
4.2測試方案與測試結果
       4.2.1觀察示波器,記錄頻率值和輸出電壓峰-峰值。
表二    頻率值和輸出電壓峰-峰值測量記錄表
  
預置頻率/Hz
  
測量頻率/Hz
相對誤差/%
峰-峰值/V
  
50
  
48
4
2
  
100
  
98
2
4
  
500
  
497
0.6
3
  
1k
  
1000
0
5
  
5k
  
4998
0.4
4
  
10k
  
9990
0.1
2
  
15k
  
15100
0.6
        3
  
20k
  
20108
0.54
1
4.2.2 觀察示波器,記錄步進頻率值。
                              表三  步進頻率值記錄表
  
預置頻率
  
Hz
  
步進值
  
(10Hz/步
測量頻率
  
(Hz)
步進頻率
  
Hz
相對誤差
  
%
  
20
  
1
28
30
6
  
100
  
1
105
110
4.5
  
500
  
1
510
510
0
  
1k
  
1
1010
1010
0
  
5k
  
1
5010
5010
0
  
10k
  
1
10008
10010
0.019
  
15k
  
1
15015
15010
0.03
  
20k
  
1
20008
20010
0.009
4.3測試結果分析
    由實驗調試結果及測試結果,該函數信號發生器達到了題目的所有指示要求,在選擇波形與調節幅度頻率試時采用LCD人機交互界面,界面友好方便,具有直觀性。
五、結語
本次設計的低頻三相信號源,主要運用了DDS基本原理,利用ARM1138作為仿真測試和實際測量(測量結果見上表)符合題目給定的基本要求。

本次軟件設計流程如圖3-1所示:程序初始化后進入初始界面,再判斷KEY1是否被按下,按下KEY1是選擇波形型號,按下KEY2選擇頻率遞增,按下KEY3選擇頻率遞減,按下KEY4選擇幅值遞增,按下KEY5選擇幅值遞減。本設計最大的優點就是能實現掉電保護,實時保存數據,防止電壓過低或者突然斷電造成的數據丟失。

源程序:
  1. /******************************/
  2. /******************************/

  3. #include <includes.h>
  4. #include  "AD9850.h"
  5. #define  SysCtlPeriEnable       SysCtlPeripheralEnable
  6. #define  SysCtlPeriDisable      SysCtlPeripheralDisable
  7. #define  GPIOPinTypeOut         GPIOPinTypeGPIOOutput
  8. #define  TASK_STK_SIZE                  64
  9. /**************************************
  10.   CONSTANTS 常量
  11. **************************************/

  12. /************************************
  13.   VARIABLES 變量
  14. *************************************/
  15. uint16 now_color=0;             //當前色
  16. uint16 state=0,flag=0;                 //狀態
  17. uint16 frist_in=0;              //初次進入標志
  18. unsigned  char  num=0,aa=1;
  19. unsigned  int  tt;
  20. unsigned long ulData  =  0;
  21. unsigned  char  buff[5];
  22. unsigned  char  display[10];   
  23. float   temp=0;
  24. unsigned long dat= 0,dat2=0,dat3=0;
  25. unsigned  char wan=0, qian=0,ge=0,shi=0,bai=0;
  26. unsigned  char wan2=0, qian2=0,ge2=0,shi2=0,bai2=0;
  27. unsigned  char wan3=0, qian3=0,ge3=0,shi3=0,bai3=0;


  28. static OS_STK  GstkStart[TASK_START_STK_SIZE];//啟動任務的堆棧   
  29. static OS_STK  GstkLED[TASK_LED_STK_SIZE];
  30. OS_STK        Task1Stk[TASK_STK_SIZE];
  31. OS_STK        Task2Stk[TASK_STK_SIZE];


  32. /*************************************
  33.    FUNCTION PROTOTYPES 函數聲明
  34. **************************************/
  35. static void taskStart (void  *parg);          //啟動任務
  36. static void taskLED(void *parg);              //任務0
  37. void  Task1(void *data);
  38. void  Task2(void *data);


  39. /***********************************************
  40.     功能:主程序
  41. ************************************************/
  42. int main (void)
  43. {
  44.     OSInit();                                 //  OS-II 初始化uC/OS-II的內核

  45.     OSTaskCreate( taskStart,                                          
  46.                   (void *)0,
  47.                   &GstkStart[TASK_START_STK_SIZE-1],
  48.                   TASK_START_PRIO );                    
  49.    /*  初始化啟動任務   */       
  50.     OSStart();                                // 啟動uC/OS-II*/

  51.     return(0);
  52. }


  53. /****************************************
  54. ** Function name:           Task_Start          
  55. ** input parameters:        *p_arg
  56. *****************************************/
  57. static void taskStart (void  *parg)
  58. {
  59.     (void)parg;

  60.     targetInit();                             // 初始化目標單片機     

  61.     #if OS_TASK_STAT_EN > 0
  62.     OSStatInit();                             // 使能統計功能
  63.     #endif
  64.    
  65.     /* 在這里創建其他任務 */
  66.     OSTaskCreate( taskLED,                                          
  67.                   (void *)0,
  68.                   &GstkLED[TASK_LED_STK_SIZE-1],
  69.                   TASK_LED_PRIO );            //  建處理任務
  70.     OSTaskCreate(Task1, (void *)2, &Task1Stk[TASK_STK_SIZE - 1],2);       
  71.     OSTaskCreate(Task2, (void *)3, &Task2Stk[TASK_STK_SIZE - 1], 3);
  72.    
  73.    
  74.     KEY_Init(KEY1 | KEY2); //按鍵初始化
  75.     LCDInit();   //LCD12864初始化                                               //  LCD初始化
  76.     clear_all(); // 清屏
  77.    
  78.     while (1)
  79.     {                             
  80.         /* 啟動任務可在這里掛起  */
  81.        OSTaskSuspend(OS_PRIO_SELF);
  82.     }
  83. }


  84. /***********************************************
  85. 名稱:任務0
  86. 功能:
  87. **********************************************/
  88. static void taskLED(void  *parg)
  89. {
  90.     (void)parg;
  91.     Display(ulData);//開機顯示
  92.     for(;;)
  93.     {   
  94.         if(KEY_Get(KEY1))//KEY1選波形型號
  95.         {
  96.            OSTimeDlyHMSM(0,0,0,150);
  97.            if(KEY_Get(KEY1))
  98.            {
  99.               num++;
  100.               if(num==4)
  101.               {
  102.                 num=0;              
  103.               }   
  104.            }
  105.         }
  106.         
  107.         
  108.      
  109.       if(num==1)////正弦波
  110.       {
  111.         LCD_ComdWrite(0x93);
  112.         LCD_ComdWrite(0x0C);//關光標
  113.         Displaysin();//正弦波
  114.         dat=wan*10000+qian*1000+bai*100+shi*10;
  115.         Write_9850(dat);
  116.         display[4]=dat%100000/10000+0X30;//顯示千位
  117.         display[3]=dat%10000/1000+0X30;//顯示千位
  118.         display[2]=dat%1000/100+0X30;//顯示百位
  119.         display[1]=dat%100/10+0X30;//顯示十位
  120.         display[0]=dat%10+0X30;//顯示個位
  121.            if(display[4]==0x30)
  122.            {
  123.              display[4]=0x20;
  124.             if(display[3]==0x30)        //高位為0,不顯示
  125.             {
  126.                display[3]=0x20;              
  127.                if(display[2]==0x30)//次高位為0,不顯示
  128.                {
  129.                display[2]=0x20;
  130.                if(display[1]==0x30)
  131.                display[1]=0x20;
  132.                }
  133.              }
  134.            }
  135.           LCD_ComdWrite(0x9B);
  136.           LCD_DataWrite(display[4]);
  137.           LCD_DataWrite(display[3]);
  138.           LCD_DataWrite(display[2]);
  139.           LCD_DataWrite(display[1]);
  140.           LCD_DataWrite(display[0]);
  141.          LCD_DataWrite('H');
  142.          LCD_DataWrite('Z');
  143.         if(KEY_Get(KEY2))//KEY2光標移動
  144.         {
  145.            OSTimeDlyHMSM(0,0,0,100);
  146.            if(KEY_Get(KEY2))
  147.            {
  148.                 //LCD_ComdWrite(0x9c);
  149.                 //LCD_ComdWrite(0x0F);//開光標顯示
  150.                 //LCD_DataWrite(aa+0x30);
  151.                 shi++;
  152.                 if(shi==10)  
  153.                 {
  154.                   //aa=1;
  155.                   shi=0;
  156.                   bai++;
  157.                   if(bai==10)
  158.                   {
  159.                     bai=0;
  160.                     qian++;
  161.                     if(qian==10)
  162.                     {
  163.                       qian=0;
  164.                       wan++;
  165.                       if(wan==10)
  166.                       {
  167.                         wan=0;
  168.                       }
  169.                       dat=wan*10000+qian*1000+bai*100+shi*10;
  170.                       Write_9850(dat);  
  171.                     }
  172.                    dat=wan*10000+qian*1000+bai*100+shi*10;
  173.                    Write_9850(dat);   

  174.                   }
  175.                  dat=wan*10000+qian*1000+bai*100+shi*10;
  176.                  Write_9850(dat);
  177.                 }
  178.                   
  179.               dat=wan*10000+qian*1000+bai*100+shi*10;
  180.               Write_9850(dat);   
  181.                
  182.             }
  183.            display[4]=dat%100000/10000+0X30;//顯示千位
  184.            display[3]=dat%10000/1000+0X30;//顯示千位
  185.            display[2]=dat%1000/100+0X30;//顯示百位
  186.            display[1]=dat%100/10+0X30;//顯示十位
  187.            display[0]=dat%10+0X30;//顯示個位
  188.            if(display[4]==0x30)
  189.            {
  190.              display[4]=0x20;
  191.             if(display[3]==0x30)        //高位為0,不顯示
  192.             {
  193.                display[3]=0x20;              
  194.                if(display[2]==0x30)//次高位為0,不顯示
  195.                {
  196.                     display[2]=0x20;
  197.                     if(display[1]==0x30)
  198.                       display[1]=0x20;
  199.                }
  200.              }
  201.            }
  202.           LCD_ComdWrite(0x9B);
  203.           LCD_DataWrite(display[4]);
  204.           LCD_DataWrite(display[3]);
  205.           LCD_DataWrite(display[2]);
  206.           LCD_DataWrite(display[1]);
  207.           LCD_DataWrite(display[0]);
  208.           LCD_DataWrite('H');
  209.           LCD_DataWrite('Z');
  210.         }
  211.       }////正弦波
  212.       
  213.       
  214.       if(num==2)//  顯示方波
  215.       {
  216.          LCD_ComdWrite(0x93);
  217.          LCD_ComdWrite(0x0C);//關光標
  218.          Displayfang();//  顯示方波
  219.          dat2=wan2*10000+qian2*1000+bai2*100+shi2*10;
  220.          Write_9850(dat2);
  221.          display[4]=dat2%100000/10000+0X30;//顯示千位
  222.            display[3]=dat2%10000/1000+0X30;//顯示千位
  223.           display[2]=dat2%1000/100+0X30;//顯示百位
  224.           display[1]=dat2%100/10+0X30;//顯示十位
  225.           display[0]=dat2%10+0X30;//顯示個位
  226.            if(display[4]==0x30)
  227.            {
  228.              display[4]=0x20;
  229.             if(display[3]==0x30)        //高位為0,不顯示
  230.             {
  231.                display[3]=0x20;              
  232.                if(display[2]==0x30)//次高位為0,不顯示
  233.                {
  234.                     display[2]=0x20;
  235.                     if(display[1]==0x30)
  236.                       display[1]=0x20;
  237.                }
  238.              }
  239.            }
  240.           LCD_ComdWrite(0x9B);
  241.           LCD_DataWrite(display[4]);
  242.           LCD_DataWrite(display[3]);
  243.           LCD_DataWrite(display[2]);
  244.           LCD_DataWrite(display[1]);
  245.           LCD_DataWrite(display[0]);
  246.           LCD_DataWrite('H');
  247.           LCD_DataWrite('Z');
  248.         if(KEY_Get(KEY2))//KEY2光標移動
  249.         {
  250.            OSTimeDlyHMSM(0,0,0,100);
  251.            if(KEY_Get(KEY2))
  252.            {
  253.                 //LCD_ComdWrite(0x9c);
  254.                 //LCD_ComdWrite(0x0F);//開光標顯示
  255.                 //LCD_DataWrite(aa+0x30);
  256.                 shi2++;
  257.                 if(shi2==10)  
  258.                 {
  259.                   //aa=1;
  260.                   shi2=0;
  261.                   bai2++;
  262.                   if(bai2==10)
  263.                   {
  264.                     bai2=0;
  265.                     qian2++;
  266.                     if(qian2==10)
  267.                     {
  268.                       qian2=0;
  269.                       wan2++;
  270.                       if(wan2==10)
  271.                       {
  272.                         wan2=0;
  273.                       }
  274.                       dat2=wan2*10000+qian2*1000+bai2*100+shi2*10;
  275.                       Write_9850(dat2);  
  276.                     }
  277.                     dat2=wan2*10000+qian2*1000+bai2*100+shi2*10;
  278.                     Write_9850(dat2);   

  279.                   }
  280.                   dat2=wan2*10000+qian2*1000+bai2*100+shi2*10;
  281.                   Write_9850(dat2);
  282.                 }
  283.                   
  284.               dat2=wan2*10000+qian2*1000+bai2*100+shi2*10;
  285.               Write_9850(dat2);   
  286.                
  287.             }
  288.            display[4]=dat2%100000/10000+0X30;//顯示千位
  289.            display[3]=dat2%10000/1000+0X30;//顯示千位
  290.           display[2]=dat2%1000/100+0X30;//顯示百位
  291.           display[1]=dat2%100/10+0X30;//顯示十位
  292.           display[0]=dat2%10+0X30;//顯示個位
  293.            if(display[4]==0x30)
  294.            {
  295.              display[4]=0x20;
  296.             if(display[3]==0x30)        //高位為0,不顯示
  297.             {
  298.                display[3]=0x20;              
  299.                if(display[2]==0x30)//次高位為0,不顯示
  300.                {
  301.                     display[2]=0x20;
  302.                     if(display[1]==0x30)
  303.                       display[1]=0x20;
  304.                }
  305.              }
  306.            }
  307.           LCD_ComdWrite(0x9B);
  308.           LCD_DataWrite(display[4]);
  309.           LCD_DataWrite(display[3]);
  310.           LCD_DataWrite(display[2]);
  311.           LCD_DataWrite(display[1]);
  312.           LCD_DataWrite(display[0]);
  313.           LCD_DataWrite('H');
  314.           LCD_DataWrite('Z');
  315.         }
  316.       }//  顯示方波
  317.       
  318.       
  319.       
  320.        if(num==3)//  顯示三角波
  321.       {
  322.         LCD_ComdWrite(0x93);
  323.         LCD_ComdWrite(0x0C);//關光標
  324.         Displaythree();//  顯示三角波
  325.         dat3=wan3*10000+qian3*1000+bai3*100+shi3*10;
  326.         Write_9850(dat3);
  327.         display[4]=dat3%100000/10000+0X30;//顯示千位
  328.         display[3]=dat3%10000/1000+0X30;//顯示千位
  329.         display[2]=dat3%1000/100+0X30;//顯示百位
  330.         display[1]=dat3%100/10+0X30;//顯示十位
  331.         display[0]=dat3%10+0X30;//顯示個位
  332.         if(display[4]==0x30)
  333.         {
  334.             display[4]=0x20;//高位為0,不顯示
  335.             if(display[3]==0x30)        //高位為0,不顯示
  336.             {
  337.                display[3]=0x20;              
  338.                if(display[2]==0x30)//次高位為0,不顯示
  339.                {
  340.                     display[2]=0x20;
  341.                     if(display[1]==0x30)
  342.                       display[1]=0x20;
  343.                }
  344.              }
  345.            }
  346.           LCD_ComdWrite(0x9B);
  347.           LCD_DataWrite(display[4]);
  348.           LCD_DataWrite(display[3]);
  349.           LCD_DataWrite(display[2]);
  350.           LCD_DataWrite(display[1]);
  351.           LCD_DataWrite(display[0]);
  352.           LCD_DataWrite('H');
  353.           LCD_DataWrite('Z');
  354.         if(KEY_Get(KEY2))//KEY2光標移動
  355.         {
  356.            OSTimeDlyHMSM(0,0,0,100);
  357.            if(KEY_Get(KEY2))
  358.            {
  359.                 //LCD_ComdWrite(0x9c);
  360.                 //LCD_ComdWrite(0x0F);//開光標顯示
  361.                 //LCD_DataWrite(aa+0x30);
  362.                 shi3++;
  363.                 if(shi3==10)  
  364.                 {
  365.                   shi3=0;
  366.                   bai3++;
  367.                   if(bai3==10)
  368.                   {
  369.                     bai3=0;
  370.                     qian3++;
  371.                     if(qian3==10)
  372.                     {
  373.                       qian3=0;
  374.                       wan3++;
  375.                       if(wan3==10)
  376.                       {
  377.                         wan3=0;
  378.                       }
  379.                       dat3=wan3*10000+qian3*1000+bai3*100+shi3*10;
  380.                       Write_9850(dat3);  
  381.                     }
  382.                     dat3=wan3*10000+qian3*1000+bai3*100+shi3*10;
  383.                     Write_9850(dat3);   

  384.                   }
  385.                   dat3=wan3*10000+qian3*1000+bai3*100+shi3*10;
  386.                    Write_9850(dat3);
  387.                 }
  388.                   
  389.                dat3=wan3*10000+qian3*1000+bai3*100+shi3*10;
  390.               Write_9850(dat3);   
  391.                
  392.             }
  393.            display[4]=dat3%100000/10000+0X30;//顯示千位
  394.            display[3]=dat3%10000/1000+0X30;//顯示千位
  395.            display[2]=dat3%1000/100+0X30;//顯示百位
  396.            display[1]=dat3%100/10+0X30;//顯示十位
  397.            display[0]=dat3%10+0X30;//顯示個位
  398.            if(display[4]==0x30)
  399.            {
  400.              display[4]=0x20;
  401.             if(display[3]==0x30)        //高位為0,不顯示
  402.             {
  403.                display[3]=0x20;              
  404.                if(display[2]==0x30)//次高位為0,不顯示
  405.                {
  406.                display[2]=0x20;
  407.                if(display[1]==0x30)
  408.                display[1]=0x20;
  409.                }
  410.              }
  411.            }
  412.           LCD_ComdWrite(0x9B);
  413.           LCD_DataWrite(display[4]);
  414.           LCD_DataWrite(display[3]);
  415.           LCD_DataWrite(display[2]);
  416.           LCD_DataWrite(display[1]);
  417.           LCD_DataWrite(display[0]);
  418.           LCD_DataWrite('H');
  419.           LCD_DataWrite('Z');
  420.         }
  421.       }  //  顯示三角波
  422.     }
  423. }
  424. /**********************************************************
  425. 名稱:Task1()
  426. 功能:執行相應功能
  427. ***********************************************************/
  428. void  Task1(void *pdata)
  429. {  
  430.    pdata=pdata;
  431.     while(1)           
  432.     {       
  433.       if(state==0)
  434.       {
  435.           temp=4.8;
  436.           tt=temp*10;
  437.           buff[0]=tt/10+0x30;
  438.           buff[1]=tt%10+0x30;
  439.           LCD_ComdWrite(0x8B);
  440.           LCD_DataWrite(buff[0]);
  441.           LCD_DataWrite('.');
  442.           LCD_DataWrite(buff[1]);
  443.           LCD_DataWrite('V');
  444.           //LED_Toggle(LED1);
  445.           state=1;   
  446.       }
  447.     }
  448. }
  449. /****************************************
  450. 名稱:Task2()
  451. 功能:按鍵控制
  452. *****************************************/
  453. void  Task2(void *pdata)
  454. {   
  455.     pdata=pdata;
  456.    
  457.     while(1)
  458.     {  
  459.       if(flag==0)
  460.       {
  461.           LED_Toggle(LED3);
  462.           flag=1;
  463. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

下載:
函數信號發生器多任務程序(完成2 24C02).rar (220.1 KB, 下載次數: 21)
完整論文下載word格式:
函數信號發生器.doc (340.5 KB, 下載次數: 18)


評分

參與人數 1黑幣 +5 收起 理由
liaoyx0214 + 5 回帖助人的獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:559107 發表于 2019-6-25 15:23 | 只看該作者
這個怎么樣啊
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
精品国产一区二区三区久久久蜜臀 | 精品中文字幕不卡在线视频| 国产五月天婷婷| 国产又粗又长又大视频| 国产精品视频首页| 欧美精品亚洲一区二区在线播放| 成熟丰满熟妇高潮xxxxx视频| 大陆一级毛片免费观看| 精品一区二区日韩| 精品国产青草久久久久福利| 国产精品激情自拍| 成人三级在线| 欧美国产一二三区| 日本免费精品视频| 毛片视频免费播放| 九九精品九九| 精品国产18久久久久久洗澡| 亚洲成av人片一区二区三区| 明星裸体视频一区二区| 日本丰满少妇做爰爽爽| 国产ktv在线视频| 国产精品免费视频网站| 亚洲bbw性色大片| 精品人妻一区二区三区四区不卡 | 国产精品免费一区二区三区观看 | 亚洲AV无码国产精品午夜字幕| 干出白浆视频| 亚洲欧美综合| 制服丝袜综合日韩欧美| 天堂网www在线网| 国产一区不卡在线观看| 国产精品福利久久久| 668精品在线视频| 国产成人高清激情视频在线观看| 国产成人精品999| 91久久久久久久久久久久久| 欧美亚州韩日在线看免费版国语版| 欧美人伦禁忌dvd放荡欲情| 欧美精品一区二区在线观看| 中文字幕欧美专区| 7m精品福利视频导航| 国产欧美日韩中文字幕在线| 成人综合色站| 亚洲国产精品一区二区第四页av | 国产91精品久久久久| 国产精品入口尤物| 精品一区二区三区日本| 性伦欧美刺激片在线观看| 亚洲男人天堂| aaa日本高清在线播放免费观看| 精品美女在线观看视频在线观看| 亚洲精品88| 永久免费精品视频| 五月精品视频| 久久精品99久久久| 欧美激情在线一区二区| 色综合久久综合网97色综合| 精品sm在线观看| 欧美激情影音先锋| 国产精品日韩高清| 国产中文字幕二区| 中国一级特黄录像播放| 国产精品23p| 粉嫩小泬无遮挡久久久久久| 日本亲与子乱a| 精华区一区二区三区| 超碰aⅴ人人做人人爽欧美| 欧美色资源站| 国产免费叼嘿网站免费| 林ゆな中文字幕一区二区| 精品国产亚洲一区二区三区在线观看| 国产视频精品免费| 九九99九九精彩| 亚洲午夜免费电影| 久久午夜无码鲁丝片午夜精品| 国产极品模特精品一二| 欧美人妻精品一区二区三区| 亚洲高清视频免费观看| 国产精品美女主播| 国自产精品手机在线观看视频| 7777奇米亚洲综合久久 | 国产99久久精品一区二区永久免费| 精品国产乱码久久久久久蜜柚 | 欧美日韩黄色一区二区| www国产亚洲精品久久网站| 亚洲aa在线观看| 国产人妻777人伦精品hd| 中出视频在线观看| 中文天堂在线视频| 国产成人禁片免费观看| 国产一区电影| 国产精品一区二区精品| 一本久久综合| 亚洲视频一区在线观看| 亚洲乱码一区av黑人高潮| 成人a在线视频| 人妻少妇被粗大爽9797pw| jizz18女人高潮| 免费国产羞羞网站视频| 李宗瑞系列合集久久| 国产精品你懂的在线观看| 最新中文在线视频| 亚洲精品无播放器在线播放| 99精品久久久| 亚洲欧美色一区| 夜夜嗨av一区二区三区四区 | 国产精品日韩久久久| 国产精品福利影院| 亚洲欧美国产日韩中文字幕| 国产精品一区免费观看| 女同性αv亚洲女同志| 国产情侣免费视频| eeuss影院130020部| 人人草在线视频| 欧美成人亚洲| 亚洲免费观看高清完整版在线观看熊 | 国产精品99久久久久久成人| 中文xxx视频| 99re在线视频| 日本道不卡免费一区| 久久久激情视频| 亚洲欧美成人网| 日本不卡久久| 免费一级特黄3大片视频| 欧美第一页草草影院浮力| caoporm免费视频在线| 在线看片不卡| 亚洲成人手机在线| 26uuu亚洲国产精品| 六月丁香婷婷激情| 国模私拍一区二区| 中文字幕123| 亚洲精品国产动漫| 国产亚洲女人久久久久毛片| 国产一区二区三区网站| 神马影院午夜我不卡影院| 久久久久亚洲AV成人无在| 欧美图片欧美激情欧美精品| 亚洲国产精品久久网午夜小说| 久久99久久| 日韩在线高清| 亚洲一线二线三线视频| 97精品免费视频| 亚洲熟妇av一区二区三区| 天堂av免费在线观看| 午夜在线不卡| 免费视频一区三区| 亚洲欧美日韩综合aⅴ视频| 17婷婷久久www| 日本中文字幕二区| 亚洲精品久久久久久无码色欲四季 | silk一区二区三区精品视频| av在线播放成人| 一区二区三区精品99久久 | 国产九九在线观看| 精品欧美一区二区精品少妇| www.在线播放| 亚洲经典自拍| 欧美精品久久99| 精品一卡二卡三卡四卡日本乱码| 中文字幕第二区| jizz免费| 久草精品在线| 午夜精品福利视频网站| 91精品视频观看| 精品一区二区三区在线播放| 国产美女被草| 青青草观看免费视频在线| av资源久久| 一区二区三区在线视频免费| 国产999在线观看| 少妇极品熟妇人妻无码| 久久99蜜桃精品久久久久小说| 另类图片综合电影| 不卡的看片网站| 久久福利视频网| 婷婷免费在线观看| 亚洲精品国产一区二区在线| 欧美成人免费视频a| 免费欧美电影| 91免费看视频| 91精品国产91久久久| 精品伦一区二区三区| 国产又白又嫩又紧又爽18p| **国产精品| 国产精品福利在线播放| 91久久精品美女| 欧美日韩人妻精品一区二区三区| 在线免费视频你懂得| 国产一在线精品一区在线观看| 9191精品国产综合久久久久久| 亚洲午夜精品久久久中文影院av| 中文资源在线播放| www欧美xxxx| 成人久久18免费网站麻豆| 欧美黑人性视频| 小毛片在线观看| 四虎免费av| 好吊一区二区三区| 亚洲精品美女久久久| 欧美在线观看www| 亚洲国产图片| 中文字幕中文字幕精品| 在线观看亚洲一区| 看一级黄色录像| 亚洲激情丁香| 国产欧美三级电影| 欧美性猛交xxxx黑人交| 国产在线无码精品| 最近中文av字幕在线中文| www.豆豆成人网.com| 色系网站成人免费| 强开小嫩苞一区二区三区网站| 丰满人妻av一区二区三区| 国产精品无码久久久久| 99久久婷婷国产综合精品电影| 香蕉伊大人中文在线观看| 在线观看的日韩av| 亚洲欧美在线一区二区| av在线网址导航| 青青草娱乐视频| 亚洲欧美在线专区| 亚洲欧美日韩精品久久奇米色影视| 中文av一区二区三区| av影音资源网| 国产乱码精品| 亚洲欧美综合色| 亚洲一区国产精品| 久久久精品毛片| 免费观看一级欧美片| 亚洲一区成人在线| 波多野结衣三级在线| 一本大道一区二区三区| 亚洲高清极品| 日韩电影视频免费| 在线观看成人动漫| 同心难改在线观看| 成人av一区二区三区| 亚洲mm色国产网站| 97人人爽人人爽人人爽| 麻豆一区在线| 4438亚洲最大| 一区二区三区蜜桃| 国产精品1luya在线播放| 99久久99久久综合| 国产成人精品福利一区二区三区| 亚洲视频久久久| 亚洲一区av| 欧美一区二区精美| xxx中文字幕| 羞羞视频在线免费看| 99久久久国产精品免费蜜臀| 国产精品二区三区四区| 精品人妻伦一二三区久久| 在线综合色站| 亚洲国内精品在线| 久久精品无码一区| 日韩免费影院| 午夜精品一区二区三区电影天堂| 亚洲精品久久久久久久蜜桃臀| 免费吸乳羞羞网站视频| 日本伊人午夜精品| 亚洲欧洲精品成人久久奇米网| 在线观看中文| 快she精品国产999| 国产69久久精品成人| 无码人妻一区二区三区线| 欧美久久亚洲| 日韩极品精品视频免费观看| 奇米网一区二区| 在线观看v片| 欧美综合视频在线观看| www.污污视频| 国产精品无码AV| 国产成人一区| 大胆人体色综合| 日韩 欧美 中文| 第一区第二区在线| 在线色欧美三级视频| 好吊日在线视频| 久久国内精品| 日韩精品久久久久久福利| av最新在线观看| 久久av影院| 亚洲天堂成人在线视频| 久久久久久久久久一区二区三区| 久久伊人国产| 亚洲男子天堂网| 久久97人妻无码一区二区三区| 婷婷久久免费视频| 国产视频精品va久久久久久| 欧美特黄一级片| av日韩久久| 深夜福利一区二区| 精品午夜一区二区| 日韩一区二区视频在线观看| 日本韩国欧美三级| 欧美日韩在线一| 中文在线二区| 亚洲激情自拍偷拍| 欧美三级理论片| 日本中文在线观看| 日韩欧美一区二区三区久久| 亚洲天堂小视频| 中文在线中文资源| 亚洲白拍色综合图区| 懂色av懂色av粉嫩av| 国产精品tv| 69av在线视频| 亚洲人成影院77777| 秋霞午夜鲁丝一区二区老狼| 欧美三级网色| 97福利电影| 亚洲自拍另类综合| 性感美女一区二区三区| 竹内纱里奈兽皇系列在线观看 | 中国a一片一级一片| 色成人综合网| 色爱精品视频一区| 中文字幕在线观看免费| 欧美精品色网| 国产女主播一区二区| 欧洲有码在线视频| 久久精品夜色噜噜亚洲aⅴ| 欧美—级a级欧美特级ar全黄| 国产情侣自拍小视频| 国产日韩欧美一区| 亚洲高清视频在线观看| 91短视频在线| 欧美视频精品一区| 日本不卡一区视频| 免费视频亚洲| 91精品国产综合久久久久久丝袜| 九九夜夜操妹子| 1区2区3区精品视频| 男人的天堂影院| 久久综合偷偷噜噜噜色| 久久久久久一区二区三区| 日本视频中文字幕| 成人sese在线| www.com黄色片| 新片速递亚洲合集欧美合集| 色av中文字幕一区| 亚洲激情丁香| 91丨九色丨蝌蚪丨老版| 色18美女社区| 亚洲欧洲日韩精品在线| 97视频色精品| 天堂网在线.www天堂在线视频| 亚洲精品成人悠悠色影视| 免费黄色在线视频| 伊人春色之综合网| 国产 高清 精品 在线 a| 性网站在线免费观看| 欧美色窝79yyyycom| 国产精品老女人| 国产精品丝袜xxxxxxx| 天天在线免费视频| 欧洲在线视频| 久热精品在线视频| 欧美成人se01短视频在线看| 国产午夜精品美女毛片视频| 91黄色免费视频| 亚洲欧美成人vr| 国产呦系列欧美呦日韩呦| 最新中文字幕在线| 亚洲国产成人一区| 丰满熟妇人妻中文字幕| 99精品热视频| 喷水视频在线观看| 精品福利久久久| 欧美日韩免费观看一区| h视频在线播放| 日韩专区在线播放| 欧美军同video69视频| 成人免费小视频| 欧美激情图片小说| 男女av一区三区二区色多| 国产高清精品在线观看| 欧美天堂在线| 7777奇米亚洲综合久久| 毛片免费在线播放| 在线成人中文字幕| 国产原创在线播放| 天天操天天色综合| 国产综合av在线| 成人日韩视频| 成人激情av| 一区二区三区视频网站| xxx一区二区| 人人在草线视频在线观看| 日韩欧美精品中文字幕| 亚洲字幕av一区二区三区四区| 成人精品视频一区| 丰满少妇高潮一区二区| 国内精品久久久久久久影视麻豆| www.av毛片| 国产精品视频一区二区三区综合| 国产免费一区二区三区| 性直播体位视频在线观看|