久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機直流電機脈寬調制調速程序 閉環控制原理
[打印本頁]
作者:
mulleft
時間:
2024-1-5 10:25
標題:
單片機直流電機脈寬調制調速程序 閉環控制原理
一、實驗目的
*掌握脈寬調制調速的原理與方法,學習頻率/周期測量的方法;
*掌握使用ST7920控制器在液晶顯示屏上進行圖形顯示的方法;
*了解閉環控制的原理。
二、實驗設備
*單片機實驗箱
*直流電機模塊
*液晶顯示屏模塊
*Keil開發系統
三、實驗原理
1、直流電機原理
直流電機具有良好的啟動制動性能,可以在寬范圍內平滑調速,應用范圍廣泛。影響直流電機轉速的主要參數有電樞的供電電壓和電機的勵磁電流,可以通過調節這兩個參數來達到調速的目的。小型直流電機沒有勵磁電流,使用調壓的方式來控制,由電壓決定了電機轉速。這種控制方式需要模擬量輸出,一般要采用D/A器件完成。
2、脈寬調制原理
脈寬調制(Pulse Width Modulation,PWM) 是一種能夠通過開關量輸出達到模擬量輸出效果的方法。
PWM的基本原理是:通過輸出一個高頻率的0/1信號,其中有效信號的比例為d(也叫做占空比),在外圍積分元件的作用下,使得總的效果相當于輸出d×A(A為高電壓)的電壓。通過改變占空比就可以調整輸出電壓,從而使用1根線就可以達到模擬量輸出的效果。
編程實現PWM,最簡單的辦法就是以某個時間單位(如0.1ms)為基準,在前N段輸出1,后M-N段輸出0,總體的占空比就是N/M。這種方法由于0和1分布不均勻,所以要求基準頻率要足夠高,否則會出現顛簸現象。累加進位法可以達到更穩定的效果。思路是將總的周期內的0和1均勻分散開。設置一個累加變量X,每次加N,若結果大于M,則輸出1,并減去M;否則輸出0。整體來看,占空比將是N/M。
3、電機測速原理
在電機的同軸轉盤上,安裝有磁塊,在轉盤下面由對磁體敏感的霍爾傳感器,隨著轉盤轉動,當磁體正對傳感器時,傳感器會輸出一個低電平。單片機利用此電平變化觸發中斷,統計在固定時間(如1秒)內中斷發生的次數,即得到電機的轉速。
4、電機驅動原理
按照脈寬調制的原理,使用一個快速的定時中斷(0.1ms左右),動態改變輸出0/1,使得總體占空比d=N/M,d就是控制量。
注意實驗箱的電機,低電平旋轉,因此前述的0/1在使用時均要取反。
隨著控制量d增大,電機轉速就應該提高,但它們之間不是簡單的對應關系,因此必須根據測量出來的實際轉速進行閉環反饋調整。
5、閉環控制原理
閉環控制系統是控制系統的一種類型,又稱反饋控制系統。把控制系統輸出量,通過一定方法和裝置反送回系統的輸入端,然后將反饋信息與預定的輸入目標量進行比較,再根據比較的結果對系統進行控制,避免系統偏離預定目標。
6、電機調速原理
使用閉環控制方法,如想將電機轉速控制在預定值附近,在測量出當前轉速之后,將其與目標值相對比,通過控制算法調整控制量,使當前值與目標值差距不斷減少。
最簡單的控制算法可以是加1減1法,即如當前轉速小于目標轉速,則增加d(N++),否則減少d(N--),也可以使用更加復雜的算法。
四、實驗內容
使用脈寬調制調速方式驅動直流電機的轉動,測量轉速并根據目標轉速進行控制,并將運行狀態顯示到液晶顯示屏上。
實驗具體內容
1、使用計數法測量直流電機每秒鐘轉動圈數;
2、使用脈寬調制調速方法,驅動電機旋轉;
3、根據設定的目標轉速,動態調整占空比,使電機轉速能夠穩定在目標轉速附近;
4、通過輸入開關改變目標轉速,隨后電機轉速能夠自動調整,穩定在目標轉速附近。
5、在液晶顯示屏上顯示出系統狀態,包括:當前轉速、目標轉速、占空比等;
6、同時在液晶顯示屏上使用圖形模式,顯示一些提示和裝飾信息。
五、實驗步驟
設計電路連接方案,進行設備連線
參考連線:
液晶顯示屏模塊:RS連IO1(P0^0),WR連IO2(P0^1),DE連IO3(P0^2)。
直流電機模塊:DRV連IO5(P0^4),SPEED連INT0(P3^2)。
輸入模塊:將8個開關連接至P2,最左側開關接P2.7,最右側開關接P2.0,可以表示0-255范圍的無符號整數,用來輸入目標轉速。
1.jpg
(2.47 MB, 下載次數: 28)
下載附件
2024-1-5 12:53 上傳
建議按以下步驟依次編程和調試
1. 將模擬量輸出線接到直流電機的DRV端,調節滑動變阻器,可以驅動電機轉動,連接測速線,編寫程序測量電機轉速并顯示;
2. 編寫PWM驅動部分,將輸出信號連到電機的DRV端,給一個固定占空比,測試該部分功能;
3. 編寫閉環反饋的控制邏輯進行調速;
4. 對輸出界面進行美觀優化。
參考單片機代碼
//lcd12864.h
#ifndef _LCD12864_H_
#define _LCD12864_H_
/**************************************************************
iO口宏定義區
***************************************************************/
sbit CS =P0^0;//對應實驗箱上IO1 RS
sbit SID=P0^1;//對應實驗箱上IO2 RW
sbit SCK=P0^2;//對應實驗箱上IO3 E
void write_command( unsigned char Cbyte ); //寫入指令函數
void write_data( unsigned char Dbyte ); //寫入指令數據
void lcd_init( void ); //顯示屏初始化
void lcd_clear_txt( void ); //顯示屏清屏
void location_xy_12864(unsigned char x,unsigned char y);
void put_str(unsigned char row,unsigned char col,unsigned char *puts);
void put_char(unsigned char row,unsigned char col,unsigned char put);
void lcd_display_picture(unsigned char p[][16]);
#endif
復制代碼
//lcd12864.c
#include <reg51.h>
#include <intrins.h>
#include "lcd12864.h"
/**************************************************************
//串行方式控制
/*******************************************************************
常量聲明區
********************************************************************/
unsigned char code AC_TABLE[]={ //坐標編碼
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
};
/****************************************************************
發送一個字節
*****************************************************************/
void send_byte(unsigned char dbyte)
{
unsigned char i;
for(i=0;i<8;i++)
{
SCK = 0;
dbyte=dbyte<<1;
SID = CY;
SCK = 1;
SCK = 0;
}
}
/**********************************************************
接收一個字節
***********************************************************/
unsigned char receive_byte(void)
{
unsigned char i,temp1,temp2;
temp1=temp2=0;
for(i=0;i<8;i++)
{
temp1=temp1<<1;
SCK = 0;
SCK = 1;
SCK = 0;
if(SID) temp1++;
}
for(i=0;i<8;i++)
{
temp2=temp2<<1;
SCK = 0;
SCK = 1;
SCK = 0;
if(SID) temp2++;
}
return ((0xf0&temp1)+(0x0f&temp2));
}
/****************************************************************
檢查忙狀態
******************************************************************/
void check_busy( void )
{
do send_byte(0xfc); //11111,RW(1),RS(0),0
while(0x80&receive_byte());
}
/******************************************************************
寫一個字節的指令
*******************************************************************/
void write_command( unsigned char Cbyte )
{
CS = 1;
check_busy();
send_byte(0xf8); //11111,RW(0),RS(0),0
send_byte(0xf0&Cbyte);
send_byte(0xf0&Cbyte<<4);
CS = 0;
}
/*************************************************************
寫一個字節的數據
**************************************************************/
void write_data( unsigned char dbyte )
{
CS = 1;
check_busy();
send_byte(0xfa); //11111,RW(0),RS(1),0
send_byte(0xf0&dbyte);
send_byte(0xf0&dbyte<<4);
CS = 0;
}
/******************************************************************
lcd初始化函數
*******************************************************************/
void lcd_init( void )
{
write_command(0x30);
write_command(0x03);
write_command(0x0c);
write_command(0x01);
write_command(0x06);
}
/*******************************************************************************************************
設定光標函數
********************************************************************************************************/
void location_xy_12864(unsigned char x,unsigned char y)
{
switch(x)
{
case 0:
x=0x80;break;
case 1:
x=0x90;break;
case 2:
x=0x88;break;
case 3:
x=0x98;break;
default:
x=0x80;
}
y=y&0x07;
write_command(0x30);
write_command(y+x);
write_command(y+x);
}
/***********************************************************************************
清除文本
************************************************************************************/
void lcd_clear_txt( void )
{
unsigned char i;
write_command(0x30);
write_command(0x80);
for(i=0;i<64;i++)
write_data(0x20);
location_xy_12864(0,0);
}
/****************************************************************************************
顯示字符串
*****************************************************************************************/
void put_str(unsigned char row,unsigned char col,unsigned char *puts)
{
write_command(0x30);
write_command(AC_TABLE[8*row+col]);
while(*puts != '\0')
{
if(col==8)
{
col=0;
row++;
}
if(row==4) row=0;
write_command(AC_TABLE[8*row+col]);
write_data(*puts);
puts++;
if(*puts != '\0')
{
write_data(*puts);
puts++;
col++;
}
}
}
/****************************************************************************************
顯示字符
*****************************************************************************************/
void put_char(unsigned char row,unsigned char col,unsigned char put)
{
write_command(0x30);
write_command(AC_TABLE[8*row+col]);
write_data(put);
}
/****************************************************************************************
顯示圖片
*****************************************************************************************/
void lcd_display_picture(unsigned char p[][16])
{
unsigned char x,y,a,b,c;
write_command(0x34);
x = 0x80;
y = 0x80;
for(c=0;c<2;c++)//先畫上半屏,再畫下半屏
{
for(a=0;a<32;a++)
{
write_command(y+a);
write_command(x);
for(b=0;b<16;b++)
write_data(p[a+c*32][b]);
}
x=0x88;
}
write_command(0x36);
write_command(0x30);
}
復制代碼
//main.c
#include <reg51.h>
#include "lcd12864.h"
sbit DRV = P0^4;//對應實驗箱IO5
unsigned char circle=0,current_speed_val=0,target_speed_val=30,flag_1s=0,counter=0,pwm_val=50; //counter計數,0-100。pwm_val指的是占空比(脈沖寬度調整)pwm_val 最大值為100。總份數在本程序中亦為100
char current_speed[4];
char target_speed[4];
char pwm[4];
unsigned char code img[][16] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x04,0x02,0x55,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0xB4,0x00,0x00,
0x00,0x00,0x04,0x0B,0xEA,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x00,0xAA,0xA8,
0x00,0x00,0x12,0x24,0x29,0xA3,0x00,0x00,0x00,0x00,0x0A,0x00,0x2C,0x00,0x10,0x04,
0x00,0x01,0x55,0x37,0x84,0x3B,0x00,0x00,0x00,0x00,0x42,0x20,0x26,0x80,0x0A,0x42,
0x00,0x02,0x00,0x80,0x04,0x4A,0x80,0x00,0x00,0x0A,0x99,0x10,0x01,0x78,0x00,0x10,
0x00,0x28,0xAF,0xDA,0x08,0x32,0x00,0x02,0x00,0x2D,0x62,0xC0,0x00,0xD7,0x80,0x08,
0x2C,0x95,0xB0,0xC0,0x05,0x6E,0x00,0x03,0x40,0xA2,0xBD,0x74,0x00,0x12,0x80,0x00,
0x02,0x41,0x54,0x14,0x84,0x26,0x00,0x01,0x2E,0xBA,0xAD,0x2E,0x80,0x5A,0xC0,0x00,
0x00,0x24,0xC0,0x0A,0x41,0x33,0xD0,0x00,0x13,0x46,0x95,0xB3,0x6D,0x56,0x80,0x00,
0x00,0x1B,0x00,0x00,0x52,0x9C,0x6A,0x00,0x4D,0x58,0x01,0x6C,0xAA,0xE9,0x00,0x00,
0x0A,0x80,0x00,0x00,0x29,0x4B,0x2D,0x56,0xA5,0x70,0x00,0x0A,0xAD,0x2A,0x00,0x00,
0x50,0x00,0x00,0x00,0x00,0x29,0xAA,0xAA,0xA5,0x00,0x00,0x60,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x84,0xDD,0x55,0x58,0x01,0x55,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x28,0x01,0x4A,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
void main(void){
IE=0x81;//EA 空 空 ES ET1 EX1 ET0 EX0
TCON=0x01;//TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0(IT0=1表示外部中斷0位邊沿觸發)
TMOD=0x11;//計時器0和計時器1均為方式1
TL1 = 0xA4; //單片機CPU主頻11.0892MHz,1/12是0.9241M
TH1 = 0xFF; //(65536-初值)/(0.9241M)=0.1ms,得到初值是65444=0xFFA4
TH0=0x4b;
TL0=0x83;// (65536-19331)/(0.9241M)=0.05s,19331=0x4b83 ,20次中斷為1秒
lcd_init();
lcd_clear_txt();
lcd_display_picture(img);
while(1){
target_speed_val=P2;//將8個開關連接至P2,最左側開關接P2.7,最右側開關接P2.0,可以表示0-255范圍的數
target_speed[2]='0'+target_speed_val%10;
target_speed[1]='0'+(target_speed_val/10)%10;
target_speed[0]='0'+(target_speed_val/100)%10;
target_speed[3]='\0';
put_str(0,0,"占空比");
put_str(0,6,pwm);
put_str(1,0,"目標轉速");
put_str(1,6,target_speed);
put_str(2,0,"當前轉速");
put_str(2,6,current_speed);
ET0=1;
TR0=1;
ET1=1;
TR1=1;
}
}
/****************************************************************
定時器T1實現pwm
****************************************************************/
void timer1_interrupt() interrupt 3 //每隔100us進來一次
{
TL1 = 0xA4; //單片機CPU主頻11.0892MHz,1/12是0.9241M
TH1 = 0xFF; //(65536-初值)/(0.9241M)=0.1ms,得到初值是65444=0xFFA4
counter=(counter+1)%100;
if(counter<pwm_val)
{
DRV=0;//實驗箱的電機低電平運行
}
else
{
DRV=1;
}
ET1=1;
TR1=1;
}
/****************************************************************
定時器T0實現每秒更新轉速,并根據當前轉速調整pwm
****************************************************************/
void timer0_interrupt() interrupt 1{
EA=0;
TH0=0x4b;
TL0=0x83;
flag_1s++;
if(flag_1s==20){
current_speed_val=circle;
current_speed[2]='0'+current_speed_val%10;
current_speed[1]='0'+(current_speed_val/10)%10;
current_speed[0]='0'+(current_speed_val/100)%10;
current_speed[3]='\0';
circle=0;
//根據當前轉速和目標轉速調整占空比
if(current_speed_val>target_speed_val){
if(pwm_val>0)pwm_val--;
}else{
if(pwm_val<99)pwm_val++;
}
pwm[1]='0'+pwm_val%10;
pwm[0]='0'+(pwm_val/10)%10;
pwm[2]='\0';
flag_1s=0;
}
ET0=1;
TR0=1;
EA=1;
}
/****************************************************************
外部中斷0,脈沖技術記錄電機的轉速,電機轉一圈circle加一
****************************************************************/
void int0_interrupt() interrupt 0{
circle++;
IE0=0;
}
復制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美激情精品久久久久久
|
伊人色综合久久久天天蜜桃
|
精品久久久久国产
|
午夜免费视频
|
亚洲精品大全
|
久久88
|
一区观看
|
韩国av网站在线观看
|
日韩精品在线观看视频
|
亚洲性在线
|
91精品国产一区二区三区香蕉
|
中文字幕av网
|
亚洲视频在线看
|
国产精品一区视频
|
自拍偷拍亚洲一区
|
少妇一级淫片免费播放
|
五月天综合影院
|
www.4hu影院
|
成人午夜免费福利视频
|
成人影院网站ww555久久精品
|
91久久综合亚洲鲁鲁五月天
|
亚洲va中文字幕
|
精品一级
|
av一区二区三区四区
|
国产视频一区二区
|
精品成人69xx.xyz
|
日韩在线精品强乱中文字幕
|
久久a久久
|
久久久.com
|
国产精品永久免费观看
|
日韩h
|
一区二区国产精品
|
福利社午夜影院
|
一级毛片免费视频
|
一区二区三区不卡视频
|
亚洲网站免费看
|
欧美一级大片免费观看
|
精品久久久一区二区
|
国产三级精品视频
|
91精品国产乱码久久蜜臀
|
有码一区
|