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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LPC2000系列ARM芯片的電子琴的設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:570925 發表于 2019-6-24 16:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
1.用LPC2000系列ARM芯片設計電子琴,用proteus軟件仿真。
2.按下不同的按鍵,揚聲器能夠發出不同的音調。
3.用PWM控制揚聲器可以實現音調的條件。

通過編程,利用按鍵去控制揚聲器的發聲。
    通過小組討論分析,結合設計電路性能指標、器件的性價比,本設計電路選擇方案二。
  • 硬件設計與介紹
嵌入式的定義:
從技術的角度定義:以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。
    從系統的角度定義:嵌入式系統是設計完成復雜功能的硬件和軟件,并使其緊密耦合在一起的計算機系統。術語嵌入式反映了這些系統通常是更大系統中的一個完整的部分,稱為嵌入的系統。嵌入的系統中可以共存多個嵌入式系統。
     3.1 213X系列最小系統板介紹:
LPC2131/2132/2138 是基于一個支持實時仿真和嵌入式跟蹤的32/16ARM7TDMI-STM CPU 的微控制器,并帶有32kB、64kB、512 kB 的嵌入的高速Flash 存儲器。128 位寬度的存儲器接口和獨特的加速結構使32 位代碼能夠在最大時鐘速率下運行。對代碼規模有嚴格控制的應用可使用16 位Thumb模式將代碼規模降低超過30%,而性能的損失卻很小。
較小的封裝和極低的功耗使 LPC2131/2132/2138 可理想地用于小型系統中,如訪問控制和POS 機。寬范圍的串行通信接口和片內8/16/32kB的SRAM使LPC2131/2132/2138 非常適用于通信網關、協議轉換器、軟modem、聲音辨別和低端成像,為它們提供巨大的緩沖區空間和強大的處理功能。多個32位定時器、1個或2 個10 位8 路ADC、10 位DAC、PWM 通道和47個GPIO 以及多達9個邊沿或電平觸發的外部中斷使它們特別適用于工業控制和醫療系統。
主要特性如下:
(1)16/32位ARM7TDMI-S核,超小LQFP64封裝。  ??
(2)8/16/32kB的片內靜態RAM和32/64/128/256/512kB的片內Flash程序存儲器。128位寬度接口/加速器可實現高達60MHz工作頻率。  ??
(3)通過片內boot裝載程序實現在系統編程/在應用編程(ISP/IAP)。單個Flash扇區或整片擦除時間 為400ms。256字節行編程時間為1ms。  ??
(4)EmbeddedICE RT和嵌入式跟蹤接口通過片內RealMonitor軟件對代碼進行實時調試和高速跟蹤。 ??
(5)1個(LPC2131/32)或2個(LPC2134/36/38)8路10位的A/D轉換器,共提供16路模擬輸入,每個通道的轉換時間低至2.44us。  ??
(6)1個10位的D/A轉換器,可產生不同的模擬輸出。(LPC2132/34/36/38)  ?? (7)2個32位定時器/外部事件計數器(帶4路捕獲和4路比較通道)、PWM單元(6路輸出)和看門狗。  ??
(8)低功耗實時時鐘具有獨立的電源和特定的32kHz時鐘輸入。  ??
(9)多個串行接口,包括2個16C550工業標準UART、2個高速I2C總線(400 kbit/s)、SPI和具有緩沖作用和數據長度可變功能的SSP。 ??
(10)向量中斷控制器。可配置優先級和向量地址。  ??
(11)小型的LQFP64封裝上包含多達47個通用I/O口(可承受5V電壓)。 ?? (12)多達9個邊沿或電平觸發的外部中斷管腳。  ??
(13)通過片內PLL(100us的設置時間)可實現最大為60MHz的CPU操作頻率。  ??
(14)片內集成振蕩器與外部晶體的操作頻率范圍為1~30 MHz,與外部振蕩器的操作頻率范圍高達 50MHz。  ??
(15)低功耗模式:空閑和掉電。  ??
(16)可通過個別使能/禁止外部功能和外圍時鐘分頻來優化功耗。 ??
(17)通過外部中斷或BOD將處理器從掉電模式中喚醒。 ??
(18)單電源,具有上電復位(POR)和掉電檢測(BOD)電路。  ??
(19)CPU操作電壓范圍:3.0V~3.6 V (3.3 V± 10﹪),I/O口可承受5V的電壓。
3.2最小系統板結構
    LPC2131/2132/2138 包含一個支持仿真的ARM7TDMI-S CPU、與片內存儲器控制器接口的ARM7 局部總線、與中斷控制器接口的AMBA 高性能總線(AHB)和連接片內外設功能的VLSI 外設總線(VPB,ARMAMBA 總線的兼容超集)。LPC2131/2132/2138 將ARM7TDMI-S 配置為小端(little-endian)字節順序。AHB 外設分配了2M 字節的地址范圍,它位于4G 字節ARM 存儲器空間的最頂端。每個AHB 外設都分配了16k 字節的地址空間。LPC2131/2132/2138 的外設功能(中斷控制器除外)都連接到VPB 總線。AHB到VPB 的橋將VPB 總線與AHB 總線相連。VPB 外設也分配了2M 字節的地址范圍,從3.5GB 地址點開始。每個VPB 外設在VPB 地址空間內都分配了16k 字節地址空間。
片內外設與器件管腳的連接由管腳連接模塊控制。該模塊必須由軟件進行控制以符合外設功能與管腳在特定應用中的需求。
3.3 片內FLASH程序儲存器
LPC2131/2132/2138 分別含有32kB、64kB 和512kB 的FLASH 存儲器系統。該存儲器可用作代碼和數據的存儲。對FLASH 存儲器的編程可通過幾種方法來實現:通過內置的串行JTAG 接口,通過在系統編程(ISP)和UART0,或通過在應用編程(IAP)。使用在應用編程的應用程序也可以在應用程序運行時對FLAH 進行擦除和/或編程,這樣就為數據存儲和現場固件的升級都帶來了極大的靈活性。如果LPC2131/2132/2138 使用了片內引導裝載程序(bootloader),32/64/512kB 的Flash 存儲器就可用來存放用戶代碼。
LPC2131/2132/2138 的Flash 存儲器至少可擦除/編程10,000 次,保存數據的時間長達10 年。
3.4 片內靜態RAM
片內靜態RAM(SRAM)可用作代碼和/或數據的存儲,支持8 位、16 位和32 位的訪問。LPC2131/2132/2138 含有8/16/32kB 的靜態RAM。
LPC2131/2132/2138 SRAM 是一個字節尋址的存儲器。對存儲器進行字和半字訪問時將忽略地址對準,訪問被尋址的自然對準值(因此,對存儲器進行字訪問時將忽略地址位0 和1,半字訪問時將忽略地址位0)。
因此,有效的讀寫操作要求半字數據訪問的地址線0 為0(地址以0、2、4、6、8、A、C 和E 結尾),字數據訪問的地址線0 和1 都為0(地址以0、4、8 和C 結尾)。該原則同樣用于片外和片內存儲器。
SRAM 控制器包含一個回寫緩沖區,它用于防止CPU 在連續的寫操作時停止運行。回寫緩沖區總是保存著軟件發送到SRAM 的最后一個字節。該數據只有在軟件請求下一次寫操作時才寫入SRAM(數據只有在軟件執行另外一次寫操作時被寫入SRAM)。如果發生芯片復位,實際的SRAM 內容將不會反映最近一次的寫請求(即:在一次“熱”芯片復位后,SRAM 不會反映最后一次寫入的內容)。任何在復位后檢查SRAM 內容的程序都必須注意這一點。通過對一個單元執行兩次相同的寫操作可保證復位后數據的寫入。或者,也可通過在進入空閑或掉電模式前執行虛寫(dummy write)操作來保證最后的數據在復位后被真正寫入到SRAM。
3.5 存儲器映射概念和操作方式
LPC2131/2132/2138 的基本的概念是:每個存儲器組在存儲器映射中都有一個“物理上的”位置。它是一個地址范圍,該范圍內可寫入程序代碼。每一個存儲器空間的容量都永久固定在同一個位置,這樣就不需要將代碼設計成在不同地址范圍內運行。
由于ARM7 處理器上的中斷向量位置(地址0x0000 0000~0x0000 001C,見表2),Boot Block 和SRAM空間的一小部分需要重新映射來實現在不同操作模式下對中斷的使用,見表1。中斷的重新映射通過存儲器映射控制特性來實現,詳見系統控制模塊一節。
表1:LPC2131/2132/2138 存儲器映射模式
模式
激活
用途
Boot裝載程序模式
由任何復位硬件激活
在任何復位后都會執行 Boot 裝載程序。Boot Block 中斷向量映射到存儲器的底部以允許處理異常并在Boot 裝載過程中使用中斷。
用戶Flash模式
由Boot代碼軟件激活
當在存儲器中識別了一個有效的用戶程序標識并且Boot 裝載操作未被執行時,由Boot 裝載程序啟動。中斷向量沒有重新映射,它位于Flash 存儲器的底部。
用戶RAM模式
由用戶程序軟件激活
由用戶程序激活。中斷向量重新映射到靜態 RAM 的底部。
3.6 系統控制模塊
系統控制模塊功能匯總:
系統控制模塊包括幾個系統特性和控制寄存器,這些寄存器具有眾多與特定外設器件無關的功能。
1、晶體振蕩器
2、外部中斷輸入
3、存儲器映射控制
4、PLL
5、功率控制
6、復位
7、VPB 分頻器
8、喚醒定時器
每種類型的功能都有其自身的寄存器,不需要的位則定義為保留位。為了滿足將來擴展的需要,無關/的功能不共用相同的寄存器地址。
表2:系統控制模塊功能相關的管腳
管腳名稱
管腳方向
管腳描述
X1
輸入
晶振輸入--振蕩器和內部時鐘發生器電路的輸入
X2
輸出
晶振輸出--振蕩器放大器的輸出
EINT0
輸入
外部中斷輸入0--低有效的通用中斷輸入。該管腳可用于將處理器從空閑或掉電模式中喚醒。
P0.1和P0.16可用作EINT0 功能。
EINT1
輸入
外部中斷輸入1--見上面的EINT0 描述。
P0.3 和P0.14可用作EINT1 功能。
復位后管腳 P0.14上立即出現的低電平被看作是一個啟動ISP 命令處理器的外部硬件請求
EINT2
輸入
外部中斷輸入2--見上面的EINT0 描述。
P0.7 和P0.15 可用作EINT2 功能。
EINT3
輸入
外部中斷輸入3--見上面的EINT0 描述。
P0.9,P0.20和P0.30可用作EINT3 功能。
RESET
輸入
外部復位輸入--該管腳上的低電平將芯片復位,使I/O 口和外設恢復其默認狀態,并使處理器從地址0 開始執行程序。
                      圖3.1 LPC2138管腳排列圖
  3.7 行列式鍵盤工作原理
ARM嵌入式系統使用常用的行列式鍵盤電路,此電路的優點是比較節省I/0口線,并且接口簡單。它的工作模式如下圖所示。它的行線與按鍵的一個引腳相連,列線與按鍵的另一個引腳相連。平時列線被置成低電平,沒有按鍵被按下時,行線保持高電平,而有按鍵被按下時,行線被拉成低電平。如圖3.2。



圖3.2 鍵盤掃描模式
  3.8 鍵盤識別原理
對于常規的按鍵識別過程一般分為以下幾步:
(1)用IF語句判斷按鍵是否按下。
(2)調用延時函數延時去除按鍵抖動。
(3)再用IF語句判斷是否真的按下。
(4)是真的按下,則執行按鍵處理程序。
(5)用WHILE語句等待按鍵釋放。
為了考慮提高CPU的效率和充分利用CPU的資源等因素,可將第2步和第5步的延時和等待過程用其他方式代替。
  3.9鍵盤電路介紹
為了實現電子琴的輸入,需要擴展鍵盤以作為控制輸入。系統采用LPC2138的P0.8--P0.13端口引腳作為2X4矩陣鍵盤的擴展接口,電路原理圖如圖3.3所示。
                       圖 3.3 鍵盤電路

在擴展鍵盤時需要解決兩個問題,一是鍵盤的抖動,二是多鍵同時按下。鍵盤的去抖動可通過軟件的適當延時實現,即在讀入端口P0.8~P0.11后,適當延時一段時間,再讀入端口P0.12~P0.13,兩次比較后確定按鍵是否真按得下。多鍵同時按下也可通過軟件設計屏蔽多按下的鍵,對于同一列的鍵同時按下,可以只取鍵值最小的鍵,屏蔽值大的鍵,或反之。對于不同列的鍵,可以將P0.12~P0.13設置優先級,如P0.12最高,P0.13最低,或反之。這樣,只取優先級高的鍵,屏蔽優先級低的鍵。
在ARM中,必須將管腳置為GPIO口后才能將管腳作為I/O口的功能來使用,由于在I/O的初始化中已經將用到的管腳設置為GPIO口,固可以將管腳作為I/O口的功能來使用。具體方法如下:
先將P0.8-P0.11這4列端口設置為輸入管腳并且置為低電平,然后將P0.12-P0.13這2行端口設置為輸出管腳并且置為高電平,通過判斷是否有按鍵按下,如果有按鍵按下則可以首先確定2行端口的代碼,接著再將4列端口設置為輸出管腳并且置為高電平,將2行端口設置為輸入管腳并且置為低電平,以此來決定4列端口的代碼,然后再講4列端口代碼和2行端口代碼按照2行為高4位,4列為低4位的順序排成一個8位代碼。
3.10 蜂鳴器驅動電路分析
   蜂鳴器驅動電路分析如下:
   蜂鳴器:發聲元件,在其兩端施加直流電壓(有源蜂鳴器)或者方波(無源蜂鳴器)就可以發聲,其主要參數是外形尺寸、發聲方向、工作電壓、工作頻率、工作電流、驅動方式(直流/方波)等。這些都可以根據需要來選擇。
   續流二極管:蜂鳴器本質上是一個感性元件,其電流不能瞬變,因此必須有一個續流二極管提供續流。否則,在蜂鳴器兩端會產生幾十伏的尖峰電壓,可能損壞驅動三極管,并干擾整個電路系統的其它部分。
   三極管驅動蜂鳴器電路:三極管Q1起開關作用,其基極的高電平使三極管飽和導通,使蜂鳴器發聲;而基極低電平則使三極管關閉,蜂鳴器停止發聲。如圖3.4。

                        圖3.4實際選用驅動放大電路

  3.11 整體電路圖
       如圖3.5所示。
                      圖3.5 硬件設計電路整體圖
  • 軟件設計
   1.程序流程圖如圖4.1所示。
                      圖4.1程序流程圖
  2.軟件設計程序代碼如下:
  1. /*******************************************************************************
  2. *File: Main.c
  3. *功能: 使用PWM6輸出PWM信號,通過濾波電路實現DAC轉換.由按鍵控制PWM占空比,每按一次
  4. *      按鍵將會改變一次PWM的占空比,使蜂鳴器發出不同的音調。
  5. *******************************************************************************/
  6. #include "config.h"
  7. #define   KEY1   0x00004000        /*P0.14引腳連接KEY1*/
  8. #define   KEY2   0x00000400        /*P0.10引腳連接KEY2*/
  9. #define   KEY3   0x00000800        /*P0.11引腳連接KEY3*/
  10. #define   KEY4   0x00001000        /*P0.12引腳連接KEY4*/
  11. #define   KEY5   0x00002000        /*P0.13引腳連接KEY5*/
  12. #define   KEY6   0x00008000        /*P0.15引腳連接KEY6*/
  13. #define   KEY7   0x00010000        /*P0.16引腳連接KEY7*/
  14. #define   KEY8   0x00020000        /*P0.17引腳連接KEY8*/

  15. /*******************************************************************************
  16. *名稱: WaitKey()
  17. *功能: 等待一個有效按鍵,有去抖功能
  18. *******************************************************************************/
  19. /*void WaitKey(void)
  20. { uint32 i;

  21.   while(1)
  22.   { while((IOPIN&KEY1)!=0);                 //等待KEY1鍵按下
  23.     for(i=0;i<50;i++);                      //延時去抖
  24.     if((IOPIN&KEY1)==0)break;
  25.   }
  26.     while((IOPIN&KEY1)==0);                   //等待KEY1鍵放開
  27. }*/
  28. void TargetInit(void);
  29. /*******************************************************************************
  30. *名稱: main()
  31. *功能: 使用PWM6輸出占空比可調的PWM波形
  32. *******************************************************************************/
  33. int main(void)
  34. { uint32  pwmdata;                        //PWM占空比控制變量
  35.   int i;
  36.   PINSEL0=0x00080000;                     //設置PWM6連接到P0.9引腳
  37.   PINSEL1=0x00000000;                     //其他引腳設置為GPIO
  38.   TargetInit();                           //PWM初始化
  39.   pwmdata=1382;
  40.   while(1)
  41.   {  PWMMR0=2765;                         //設置PWM周期
  42.      PWMMR6=pwmdata;                      //設置PWM占空比
  43.      PWMLER=0x41;                         //PWMMR0,PWMMR6鎖存,更新PWM占空比
  44.     // WaitKey();                           //等待按鍵

  45.     if(KEY1==0)
  46.                    { while((IOPIN&KEY1)!=0);                 //等待KEY1鍵按下
  47.                   for(i=0;i<50;i++);                      //延時去抖
  48.                   if((IOPIN&KEY1)==0)break;
  49.                    }
  50.                   while((IOPIN&KEY1)==0);                   //等待KEY1鍵放開
  51.                    pwmdata=100;                        //改變PWM占空比控制變量

  52.     if(KEY2==0)
  53.                    { while((IOPIN&KEY2)!=0);                 //等待KEY2鍵按下
  54.                   for(i=0;i<50;i++);                      //延時去抖
  55.                   if((IOPIN&KEY2)==0)break;
  56.                    }
  57.                   while((IOPIN&KEY2)==0);                   //等待KEY2鍵放開
  58.                    pwmdata=300;                        //改變PWM占空比控制變量
  59.                   
  60.     if(KEY3==0)
  61.                    { while((IOPIN&KEY3)!=0);                 //等待KEY3鍵按下
  62.                   for(i=0;i<50;i++);                      //延時去抖
  63.                   if((IOPIN&KEY3)==0)break;
  64.                    }
  65.                   while((IOPIN&KEY3)==0);                   //等待KEY3鍵放開
  66.                    pwmdata=500;                        //改變PWM占空比控制變量
  67.                   
  68.     if(KEY4==0)
  69.                    { while((IOPIN&KEY4)!=0);                 //等待KEY4鍵按下
  70.                   for(i=0;i<50;i++);                      //延時去抖
  71.                   if((IOPIN&KEY4)==0)break;
  72.                    }
  73.                   while((IOPIN&KEY4)==0);                   //等待KEY4鍵放開
  74.                    pwmdata=700;                        //改變PWM占空比控制變量  
  75.                   
  76.     if(KEY5==0)
  77.                    { while((IOPIN&KEY5)!=0);                 //等待KEY5鍵按下
  78.                   for(i=0;i<50;i++);                      //延時去抖
  79.                   if((IOPIN&KEY5)==0)break;
  80.                    }
  81.                   while((IOPIN&KEY5)==0);                   //等待KEY5鍵放開
  82.                    pwmdata=900;                        //改變PWM占空比控制變量
  83.                   
  84.               if(KEY6==0)
  85.                    { while((IOPIN&KEY6)!=0);                 //等待KEY6鍵按下
  86.                   for(i=0;i<50;i++);                      //延時去抖
  87.                   if((IOPIN&KEY6)==0)break;
  88.                    }
  89.                   while((IOPIN&KEY6)==0);                   //等待KEY6鍵放開
  90.                    pwmdata=1100;                        //改變PWM占空比控制變量
  91.                   
  92.     if(KEY7==0)
  93.                    { while((IOPIN&KEY7)!=0);                 //等待KEY7鍵按下
  94.                   for(i=0;i<50;i++);                      //延時去抖
  95.                   if((IOPIN&KEY7)==0)break;
  96.                    }
  97.                   while((IOPIN&KEY7)==0);                   //等待KEY7鍵放開
  98.                    pwmdata=1300;                        //改變PWM占空比控制變量   
  99.                   
  100.                   
  101.     if(KEY8==0)
  102.                    { while((IOPIN&KEY8)!=0);                 //等待KEY8鍵按下
  103.                   for(i=0;i<50;i++);                      //延時去抖
  104.                   if((IOPIN&KEY8)==0)break;
  105.                    }
  106.                   while((IOPIN&KEY8)==0);                   //等待KEY8鍵放開
  107.                    pwmdata=1500;                        //改變PWM占空比控制變量
  108.                        
  109.      if(pwmdata>=2764)pwmdata=0;
  110.   }
  111.   return(0);
  112. }
  113. //PWM初始化函數
  114.   void TargetInit(void)
  115. {
  116. PWMPR=0x00;                      //不分頻
  117. PWMMCR=0x02;                     //設置PWMMR0匹配
  118.     PWMMR0=2765;                     //設置PWM周期
  119. PWMMR6=1382;                     //設置PWM占空比   
  120. PWMLER=0x41;                     //PWMMR0,PWMMR6鎖存                                               PWMPCR=0x4000;                       //允許PWM單邊輸出
  121.     PWMTCR=0x09;                     //PWM使能
  122. }
復制代碼


  • 系統的仿真與調試

   將編譯好的十六制文件下載到proteus中的ARM芯片中。
    第一次用軟件調試時,沒有任何現象,檢查了好久終于發現了原來是有一個電源沒有設置數值,也沒有標明電源的極性,將其改為+3.3V時現象就出現了。
依次按下KEY1-KEY,依次發出不同音調的聲音,按下復位鍵系統回歸到初始狀態。
    圖5.1 為硬件設計電路整體圖。

                          圖5.1 硬件設計電路整體圖
  • 設計總結
此次嵌入式設計的主要內容:基于LPC2000系列的高級電子琴設計。它的主要功能是:實現不同頻率的音調輸出。因此要涉及到蜂鳴器的驅動電路,按鍵的掃描程序,最小系統電路的設計。
剛開始時拿到這個設計的題目是還有點不知所措,但通過上網查閱LPC213X系列最小系統板的相關資料,學會了用proteus進行ARM仿真,查找了一些以應用嵌入式ARM的仿真實例,分析各個實例的工作原理,將各個實例的有用模塊綜合運用得到本實訓基于嵌入式ARM的高級電子琴設計的原理圖,該圖主要包括三個模塊:2*4鍵盤、PWM脈沖輸出、功率放大電路。控制LPC213X系列最小系統板的P0.9口輸出PWM脈沖發出不同頻率使蜂鳴器發出不同的聲音,P0.9口外接功放電路連接蜂鳴器發聲。按鍵輸入功能有8個輸入故最終確定采用2*4的矩陣鍵盤作為電子密碼鎖的鍵盤控制。經過網上收集資料與同學之間的討論,終于明白了鍵盤掃描的工作原理,和51單片機一樣都是利用動態掃描原理最終實現了鍵盤輸入的功能。依靠程序完成大部分的功能,所以程序的調試是重中之重,當然前提是能夠編寫并會修改程序。
    此次設計總的來說進行的還順利,這是小組成員團結付出的結果,當然,在此期間指導老師也為我們提供了巨大的幫助,在此表示深深的感謝!在此期間也學到了許多,特別是對軟件的應用,如proteus,ADS1.2,AXD,加強了理論與實踐的聯系。

完整的Word格式文檔51黑下載地址:
基于LPC2000系列的電子琴的設計.doc (987.63 KB, 下載次數: 31)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
www.综合网.com| 91一区二区三区在线观看| 污污视频在线| 日本jizzjizz| 97人妻一区二区精品视频| 中文字幕一区二区三区四区五区六区| 欧美精品做受xxx性少妇| 五月激情综合婷婷| 成人精品视频一区二区三区尤物| 999久久久精品国产| 欧美性理论片在线观看片免费 | 欧美私密网站| 麻豆av在线| 亚洲一道本在线| 日韩av男人天堂| 亚洲一二三四五| 欧美无砖专区免费| 国产精品午夜av在线| 欧美激情免费视频| 亚洲电影免费观看高清完整版在线观看 | 色综合久久88色综合天天免费| 国产一区二区精品久久| 天天射综合网视频| 亚洲美女色播| 日本三级韩国三级欧美三级| 污污免费网站| 香蕉视频网页版| 秋霞视频一区二区| 国产精品suv一区二区三区| 在线天堂www在线国语对白| 欧美精品自拍视频| 日本成人黄色| 亚洲综合中文字幕在线| 高清欧美性猛交xxxx黑人猛交| 日韩高清不卡av| 欧美日本韩国一区二区三区视频| 国产精品久久久久久久久久免费看| 美女免费视频一区| 欧美一区不卡| 国产精品日韩精品中文字幕| 色成人综合网| 久久人体大尺度| 亚洲国产精品精华素| 青青草娱乐在线| 男人天堂av网站| eeuss性xxxxxx电影| 国产一线天粉嫩馒头极品av| www香蕉视频| 精品成人无码久久久久久| 日韩精品123区| 国产高清一区二区三区四区| 性一交一黄一片| 久久久福利影院| 色噜噜狠狠永久免费| 久草精品在线播放| 国内外成人激情视频| www.av片| 国产视频一视频二| 国产乱子夫妻xx黑人xyx真爽 | 国产最新精品视频| 九九热这里只有精品6| www.午夜精品| 久久天天躁狠狠躁夜夜av| 色99之美女主播在线视频| 亚洲热线99精品视频| 亚洲欧美日韩在线高清直播| 亚洲精品永久免费精品| 亚洲码在线观看| 国产午夜精品麻豆| 永久555www成人免费| 中文字幕日韩av综合精品| 亚洲欧洲日产国产网站| 国产一区二区三区免费视频| 伊人久久精品视频| 久久久精品美女| 色综合久久久久久中文网| 欧美高清视频免费观看| 久久久久久香蕉网| 国产91色在线免费| 国产精品青青在线观看爽香蕉| 午夜欧美大片免费观看| 欧美极品在线播放| 欧美成人亚洲成人| 欧美成人精品三级在线观看| 亚洲区一区二区| 久久精品人人爽| 精品国模在线视频| 日日摸夜夜添一区| 久久久精品视频成人| 久久激情视频免费观看| 色偷偷偷亚洲综合网另类| 国产亚洲精品久久久久久| 久久亚洲精品国产亚洲老地址| 伊人激情综合网| 日韩在线观看成人| 久热在线中文字幕色999舞| 日韩专区在线播放| 久久久精品一区二区| 欧美tk—视频vk| 色菇凉天天综合网| 色婷婷精品久久二区二区蜜臂av | 成年人午夜视频| 国产香蕉在线视频| 日韩精品一区二区不卡| 六月丁香激情综合| 中文字幕人妻一区二区在线视频| 国产原创中文av| 成人久久久精品国产乱码一区二区| www.久久成人| 国产91麻豆视频| 91视频地址| 2018av| 韩国97影院| 中文字幕一区免费| 麻豆av电影在线观看| 午夜在线视频| 美女精品导航| 巨胸喷奶水www久久久免费动漫| 日本一区二区三区播放| 美女亚洲一区| 欧美日本在线| 久久成人综合网| 久久综合狠狠综合久久综合88 | 成人黄色生活片| 久久久久久亚洲精品不卡4k岛国| 亚洲人一区二区| 日日摸日日碰夜夜爽无码| 亚洲精品www.| 怡红院一区二区三区| 国产情侣在线视频| 亚洲狠狠婷婷综合久久蜜桃| 狠狠色噜噜狠狠狠888奇米| 性网站在线免费观看| 91网页在线观看| 中文字幕资源网在线观看免费 | 91免费视频网址| 色婷婷久久久久swag精品| 精品久久久久av影院| 在线观看不卡av| 日韩av片永久免费网站| 粉嫩高清一区二区三区精品视频| 亚洲春色综合另类校园电影| 成人免费毛片网| 黑丝av在线播放| 国产视频第一页| 高清精品一区二区三区一区| 米奇.777.com| 51漫画成人app入口| 国产精品白浆| 国产一区二区三区的电影| 9人人澡人人爽人人精品| 欧美日韩激情一区二区三区| 色偷偷av一区二区三区| 国产主播喷水一区二区| 18视频在线观看娇喘| 香蕉久久久久久av成人| 可以在线观看av的网站| 男人的天堂av社区在线| а√最新版在线天堂| 三级福利片在线观看| 成人亚洲精品777777ww| 美女免费免费看网站| 免费毛片在线看片免费丝瓜视频 | 一区二区三区高清在线| 日韩欧美一级片| 97av在线视频| 在线免费观看一区二区三区| 波多野结衣电影免费观看| 欧美成欧美va| 好男人www社区在线视频夜恋| 在线观看黄网| **国产精品| 一本综合精品| 日韩一区中文字幕| 亚洲精品理论电影| 国产在线视频不卡| 欧美网站免费观看| 国产成人精品777777| 国产8mav视频| 97影院秋霞午夜在线观看| 欧美电影在线观看免费| 久久99精品国产麻豆婷婷| 亚洲一区在线视频| 最新的欧美黄色| 久久久福利视频| 麻豆免费在线观看视频| 在线视频你懂得| 3d动漫成人在线| 懂色aⅴ精品一区二区三区| 国产欧美日韩亚洲一区二区三区| 中文字幕一区在线| 亚洲男人天堂古典| 精品乱码一区二区三区| 日本一区二区三区在线免费观看| 人妻丰满熟妇av无码区| 美女被c出白浆| 九色porny丨国产首页在线| 先锋影音久久久| 亚洲va韩国va欧美va精品 | 国产精品久久午夜| 亚洲精品美女免费| 国产va免费精品高清在线观看| av免费看网址| 国产在线精品观看| jizzjizz.con| 久久精品国产精品亚洲毛片| 日韩精品乱码av一区二区| 91麻豆精品国产自产在线 | 亚洲最大成人网站| 好男人www社区在线视频夜恋| 国产福利免费在线观看| 欧美日韩播放| 国产精品日韩成人| 97香蕉超级碰碰久久免费的优势| 久操手机在线视频| www..com国产| www99avcom| 噜噜噜狠狠夜夜躁精品仙踪林| 成人精品免费视频| 久久国产精品久久久久久| 黄色片免费在线观看视频| 久久精品国产亚洲AV无码男同| 成年人免费网站在线观看| 成人免费黄色| 国产福利一区在线观看| 亚洲欧美日韩天堂一区二区| 亚洲三区在线| 日韩少妇裸体做爰视频| 激情av网站| 妖精一区二区三区精品视频 | 777xxx欧美| 色噜噜一区二区| 精品伊人久久大线蕉色首页| 日韩无码精品一区二区| 国语对白中文字幕| 九色porny自拍视频在线播放| 石原莉奈在线亚洲二区| 亚洲成人黄色在线观看| 日韩av高清| 91av在线免费视频| 三级视频在线播放| 黄色另类av| 欧美日韩视频在线第一区| 亚洲国产精品一区在线观看不卡| 麻豆精品一区二区三区视频| 7777在线| 精品国内自产拍在线观看视频 | 久久91麻豆精品一区| 中文字幕日本乱码精品影院| 久久免费福利视频| 日韩欧美中文视频| 白丝美女让我捅| 偷拍精品福利视频导航| 性做久久久久久免费观看欧美| 成人在线中文字幕| 久久久久久久久久97| 俺去啦最新官网| 亚洲精品一二三区区别| 精品视频一区三区九区| 色之综合天天综合色天天棕色| 国产成人愉拍精品久久| 九色在线播放| 免费精品视频| 欧美成年人视频| 超碰在线免费av| 91.www| 九九久久电影| 欧美影院一区二区三区| 亚洲精品影院| 国产黄色一级大片| 日韩制服一区| 亚洲三级电影全部在线观看高清| 国产精品中文字幕久久久| 一级免费黄色录像| 日本中文字幕一区二区有码在线| 先锋影音网一区二区| 亚洲高清不卡在线| 国产中文一区二区| 日本一区二区三区精品| а√天堂官网中文在线| 成人精品免费视频| 97视频资源在线观看| 欧美不卡视频在线观看| 亚洲大胆人体大胆做受1| 北条麻妃一区二区三区| 国产精品18久久久久久首页狼| 九九九久久久久| 蜜桃视频在线观看www社区| 国产精品综合一区二区三区| 97精品免费视频| 国产www免费| 日韩三级视频在线看| 国产精品一区二区三区不卡 | 日韩一区在线视频| 日韩av综合在线观看| 久精品在线观看| 91精品专区| 国产清纯美女被跳蛋高潮一区二区久久w | 午夜精品久久久久久久99热浪潮| 亚洲精品视频大全| 你懂的在线看| 成人动漫一区二区三区| 国产精品久久久久久久app| 粉嫩av性色av蜜臀av网站| 日本成a人片在线观看| av高清不卡在线| 2020国产精品久久精品不卡| 超碰在线观看99| 加勒比色老久久爱综合网| 在线播放中文字幕一区| 久久久久久久久久久免费视频| 色一情一欲一爱一乱| 日日嗨av一区二区三区四区| 97超碰蝌蚪网人人做人人爽| 久久国产精品波多野结衣| a毛片不卡免费看片| 国产精品久久久久精k8| 99久热在线精品视频| 欧美videos另类| 很黄很黄激情成人| 欧美黑人一区二区三区| 一级黄色在线播放| 成人三级黄色免费网站| av一本久道久久综合久久鬼色| 国产精品国产精品国产专区不卡| 国产免费黄色录像| 一本色道久久综合亚洲精品酒店| 亚洲欧美日韩视频一区| 欧美三级视频网站| 丰满的护士2在线观看高清| 亚洲一区二区在线视频| 色www免费视频| 在线视频尤物| 国产精品久久看| 美女黄色免费看| 精东传媒在线观看| 91丨九色porny丨蝌蚪| 欧美亚洲丝袜| 91九色porn蝌蚪| 妖精视频成人观看www| 91在线视频导航| 五月婷婷开心中文字幕| 综合精品一区| 人妖精品videosex性欧美| 成人毛片视频免费看| 国产精品久久久久蜜臀| 国语自产精品视频在线看| 国产九色91回来了| 色棕色天天综合网| 2019中文字幕在线| 91肉色超薄丝袜脚交一区二区| 久久99青青| 欧美激情视频一区| 欧美一级特黄aaaaaa大片在线观看| 国产精品成人一区二区不卡| 97婷婷涩涩精品一区| 成人激情四射网| 日本大胆欧美人术艺术动态| 成人影片在线播放| 高清精品一区二区三区一区| 久久国产精品72免费观看| 国产成人精品久久二区二区| 亚洲欧美日韩精品永久在线| 亚洲在线观看| 国产区二精品视| 最新天堂网www| 中文字幕精品一区二区精品绿巨人| 男人添女荫道口图片| 最新在线地址| 悠悠色在线精品| 麻豆国产精品一区| 亚洲四虎影院| 亚洲精品国产精品自产a区红杏吧| 国产黄a三级三级| 伊人久久大香线蕉无限次| 久久久免费在线观看| 亚洲经典一区二区三区| 国产视频一区三区| 爱爱爱视频网站| 波多野结衣av在线播放| 亚洲自拍偷拍网站| av漫画在线观看| 成人看片在线观看| 日韩一中文字幕| 99精品在线视频观看| 亚洲经典三级| 亚洲成人第一| 中文字幕高清在线| 欧美色另类天堂2015| 新91视频在线观看| 国产伦一区二区三区| 国产成人综合精品在线| 卡一卡2卡三精品| 免费h在线看| 麻豆国产精品va在线观看不卡 | 91在线视频网址| 天天爽天天爽夜夜爽| segui88久久综合| 亚洲国产精品va在看黑人| 国产视频一区二区三区四区五区|