亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dso.c

?? STM32手持式示波器源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
/****************************************************************************
* Copyright (C), 2010, www.armfly.com
*
* 【本例程在安富萊STM32F103ZE-EK開發(fā)板上調(diào)試通過             】
* 【QQ: 1295744630, 旺旺:armfly, Email: armfly@qq.com       】
*
* 文件名: dso.c
* 內(nèi)容簡述: 本模塊完成示波器adc采樣方面的工作
*
* 文件歷史:
* 版本號  日期       作者    說明
* v0.1    2010-03-18 armfly  創(chuàng)建該文件
*
*/

/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
#include <stdio.h>
#include <string.h>
#include "tft_lcd.h"
#include "systick.h"
#include "dso.h"
#include "button.h"
#include "BackLight.h"
#include "WaveMaker.h"

#define DSO_VER	"V0.6"		  /* 當(dāng)前版本 */

/* 主程序狀態(tài)字 */
enum
{
	S_HELP		= 0,	/* 幫助頁面 */
	S_RUN		= 1,	/* 采集狀態(tài) */
	S_HOLD		= 2		/* 暫停狀態(tài) */
};

/* 時(shí)間分度表, g_DSO.TimeBaseId作為數(shù)組索引  */
const uint32_t g_TimeTable[] =
{
	20, 	50, 	100, 
	200,	500,	1000,
	2000,	5000,	10000,
	20000,	50000,	100000,
	200000,	500000,	1000000		
};

/* 衰減倍數(shù)表  
	g_DSO.Ch1Attenuation = 23
	幅度衰減因子:
	(1) 28 === 1V  (1:1)
*/
#define ATT_COUNT	6
const uint32_t g_AttTable[ATT_COUNT][2] =
{
	/* {除數(shù),每大格電壓}  1:1 */
	{1400,	5000},
	{560,	2000},
	{280,	1000},
	{140,	500},
	{56,	200},
	{28,	100},
};

static void DsoHelp(uint8_t *pMainStatus);
static void DsoRun(uint8_t *pMainStatus);

/*
	安富萊STM32F103ZE-EK 口線分配:

	示波器通道1同時(shí)連接到CPU的PC0、PC2、PC3,這3個(gè)口線作為ADC輸入使用
		PC0 = ADC1_IN10
		PC2 = ADC2_IN12
		PC3 = ADC3_IN13

	示波器通道2只連接到CPU的PC1,這個(gè)口線作為ADC輸入使用
		PC1 = ADC2_IN12

	對于通道1的模擬信號,可以同時(shí)啟動3個(gè)ADC進(jìn)行交錯(cuò)采樣,理論上可以實(shí)現(xiàn)3Mbps采樣速率 
	(后來發(fā)現(xiàn)ADC2不能DMA操作,因此這句話還有待考究)

	通道2只能啟動1個(gè)ADC進(jìn)行采樣。
	支持通道1和通道2進(jìn)行同步采樣。
*/

DSO_T g_DSO;	/* 全局變量,是一個(gè)結(jié)構(gòu)體 */

/*******************************************************************************
*	函數(shù)名: DsoMain
*	輸  入:	無
*	輸  出:	無
*	功能說明:DSO主程序,是一個(gè)循環(huán)體
*/
void DsoMain(void)
{
	uint8_t MainStatus = S_RUN;		/* 程序執(zhí)行狀態(tài) */

	InitWaveMaker();
//	SetupWaveType(WT_SIN);		/* 設(shè)置正弦波 */

	LCD_Init();		/* 顯示器初始化 */

	SetBackLight(BRIGHT_DEFAULT);  /* 設(shè)置背光亮度 */

	/* 進(jìn)入主程序循環(huán)體 */
	while (1)
	{
		switch (MainStatus)
		{
			case S_HELP:
				DsoHelp(&MainStatus);		/* 顯示幫助 */
				break;

			case S_RUN:
				DsoRun(&MainStatus);		/* 全速采集,實(shí)時(shí)顯示 */
				break;

			default:
				break;
		}
	}
}

/*******************************************************************************
*	函數(shù)名: InitDSO
*	輸  入:	無
*	輸  出:	無
*	功能說明:對示波器通道1進(jìn)行初始化配置。主要完成GPIO的配置、ADC的配置、
*		定時(shí)器的配置以及DMA的配置。
*/
static void InitDSO(void)
{
	/* 配置GPIO.  */
	{
		GPIO_InitTypeDef GPIO_InitStructure;

		/* 打開GPIO_C 和 AFIO 的時(shí)鐘 */
		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC	| RCC_APB2Periph_AFIO, ENABLE);

		/* 配置PC0為模擬輸入模式 */
		GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;
		GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
		GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
		GPIO_Init(GPIOC, &GPIO_InitStructure);
	}


	/* 配置DMA1_1 用于CH1 */
	#if 1
	{
		DMA_InitTypeDef DMA_InitStructure;

		/* Enable DMA1 clock */
		RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);

		DMA_DeInit(DMA1_Channel1);		/* 復(fù)位DMA1寄存器到缺省狀態(tài) */
		DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;	/* 選擇ADC1的數(shù)據(jù)寄存器作為源 */
		DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&g_DSO.Ch1Buf;	/* 目標(biāo)地址 */
		DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;	/* 設(shè)置DMA傳輸方向,外設(shè)(ADC)作為源 */
		DMA_InitStructure.DMA_BufferSize = SAMPLE_COUNT;	/* 設(shè)置緩沖區(qū)大小 */
		DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;	/* 外設(shè)地址不自增 */
		DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;	/* 存儲器地址需要自增 */
		DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;	/* 選擇外設(shè)傳輸單位:16bit */
		DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;	/* 選擇內(nèi)存?zhèn)鬏攩挝唬?6bit */
		DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;	/* 無需循環(huán)模式   */
		DMA_InitStructure.DMA_Priority = DMA_Priority_High;	/* 選擇DMA優(yōu)先級 */
		DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;	/* DMA傳輸類型,不是內(nèi)存到內(nèi)存 */
		DMA_Init(DMA1_Channel1, &DMA_InitStructure);

		/* Enable DMA1 channel1 */
		DMA_Cmd(DMA1_Channel1, ENABLE);
	}
	#endif

	/* 配置DMA2_5 用于CH2 */
	#if 1
	{
		DMA_InitTypeDef DMA_InitStructure;

		/* Enable DMA1 clock */
		RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA2, ENABLE);

		DMA_DeInit(DMA2_Channel5);		/* 復(fù)位DMA2寄存器到缺省狀態(tài) */
		DMA_InitStructure.DMA_PeripheralBaseAddr = ADC3_DR_Address;	/* 選擇ADC3的數(shù)據(jù)寄存器作為源 */
		DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&g_DSO.Ch2Buf;	/* 目標(biāo)地址 */
		DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;	/* 設(shè)置DMA傳輸方向,外設(shè)(ADC)作為源 */
		DMA_InitStructure.DMA_BufferSize = SAMPLE_COUNT;	/* 設(shè)置緩沖區(qū)大小 */
		DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;	/* 外設(shè)地址不自增 */
		DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;	/* 存儲器地址需要自增 */
		DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;	/* 選擇外設(shè)傳輸單位:16bit */
		DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;	/* 選擇內(nèi)存?zhèn)鬏攩挝唬?6bit */
		DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;	/* 無需循環(huán)模式   */
		DMA_InitStructure.DMA_Priority = DMA_Priority_Medium;	/* 選擇DMA優(yōu)先級 */
		DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;	/* DMA傳輸類型,不是內(nèi)存到內(nèi)存 */
		DMA_Init(DMA2_Channel5, &DMA_InitStructure);

		/* Enable DMA2 channel5 */
		DMA_Cmd(DMA2_Channel5, ENABLE);
	}
	#endif

	/* 配置ADC1  */
	
	 /* ADCCLK = PCLK2/2 */
    RCC_ADCCLKConfig(RCC_PCLK2_Div2);     //ADCCLK = PCLK2/4 = 18MHz

	#if 1
	{
		ADC_InitTypeDef	ADC_InitStructure;

		RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);

		ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
		ADC_InitStructure.ADC_ScanConvMode = DISABLE;
		ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;		/* 連續(xù)轉(zhuǎn)換靜止 */
		ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC3;	/* 選擇TIM1的CC3做觸發(fā) */
		//ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T2_CC2;	/* 選擇TIM2的CC2做觸發(fā) */

		ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;	/* 數(shù)據(jù)右對齊,高位為0 */
		ADC_InitStructure.ADC_NbrOfChannel = 1;	/* 1個(gè)通道 */
		ADC_Init(ADC1, &ADC_InitStructure);

		/* ADC1 regular channels configuration */
		ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_1Cycles5);

		/* Enable ADC1 external trigger conversion */
		ADC_ExternalTrigConvCmd(ADC1, ENABLE);

		/* 使能 ADC1 */
		ADC_Cmd(ADC1, ENABLE);

		/* Enable ADC1 DMA */
		ADC_DMACmd(ADC1, ENABLE);

		/* 使能 ADC1 復(fù)位校準(zhǔn)寄存器 */
		ADC_ResetCalibration(ADC1);
		/* 檢測復(fù)位校準(zhǔn)寄存器 */
		while(ADC_GetResetCalibrationStatus(ADC1));

		/* 開始 ADC1 校準(zhǔn) */
		ADC_StartCalibration(ADC1);
		/* 等待校準(zhǔn)結(jié)束 */
		while(ADC_GetCalibrationStatus(ADC1));
	}
	#endif

	/* 配置ADC3  */
	#if 1
	{
		ADC_InitTypeDef	ADC_InitStructure;

		RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, ENABLE);

		ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
		ADC_InitStructure.ADC_ScanConvMode = DISABLE;
		ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;		/* 連續(xù)轉(zhuǎn)換靜止 */
		//ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1;	/* 選擇TIM1的CC1做觸發(fā) */
		ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC3;	/* 選擇TIM2的CC2做觸發(fā) */
		ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;	/* 數(shù)據(jù)右對齊,高位為0 */
		ADC_InitStructure.ADC_NbrOfChannel = 1;	/* 1個(gè)通道 */
		ADC_Init(ADC3, &ADC_InitStructure);

		/* ADC1 regular channels configuration */
		ADC_RegularChannelConfig(ADC3, ADC_Channel_11, 1, ADC_SampleTime_1Cycles5);

		/* Enable ADC3 external trigger conversion */
		ADC_ExternalTrigConvCmd(ADC3, ENABLE);

		/* 使能 ADC3 */
		ADC_Cmd(ADC3, ENABLE);

		/* Enable ADC3 DMA */
		ADC_DMACmd(ADC3, ENABLE);

		/* 使能 ADC3 復(fù)位校準(zhǔn)寄存器 */
		ADC_ResetCalibration(ADC3);
		/* 檢測復(fù)位校準(zhǔn)寄存器 */
		while(ADC_GetResetCalibrationStatus(ADC3));

		/* 開始 ADC3 校準(zhǔn) */
		ADC_StartCalibration(ADC3);
		/* 等待校準(zhǔn)結(jié)束 */
		while(ADC_GetCalibrationStatus(ADC3));
	}
	#endif

	/* 配置采樣觸發(fā)定時(shí)器,使用TIM1 CC1 */
	SetSampRate(g_DSO.SampleFreq);	/* 修改采樣頻率(啟動時(shí)100K) */
}

/*******************************************************************************
*	函數(shù)名: SetSampRate
*	輸  入:	freq : 采樣頻率 單位Hz
*	輸  出:
*	功  能:修改采樣頻率
*/
static void SetSampRate(uint32_t freq)
{
	/* 第4步: 配置定時(shí)器2第2通道CC2, CC2作為ADC1的觸發(fā)源 */
	TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
	TIM_OCInitTypeDef  TIM_OCInitStructure;
	uint16_t Period;

	TIM_Cmd(TIM1, DISABLE);

//	g_DSO.SampleRate = freq;	/* 將采樣頻率保存到全部變量中 */

	/*
	采樣頻率計(jì)算公式 :
		period = 72000000 / freq ;
		
		1200 == 60KHz 采樣頻率
	*/
	Period = 72000000 / freq;		

	/* Enable TIM1 clock */
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);

	TIM_TimeBaseStructInit(&TIM_TimeBaseStructure); 
	TIM_TimeBaseStructure.TIM_Period = Period;          
	TIM_TimeBaseStructure.TIM_Prescaler = 0;   /* 計(jì)數(shù)頻率 = 72000 000 / 18 = 4000 000	 */
	TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;    
	TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
	TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);

	/* TIM1 channel1 configuration in PWM mode */
	TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; 
	TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;                
	TIM_OCInitStructure.TIM_Pulse = TIM_TimeBaseStructure.TIM_Period / 2; 
	TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;         
	TIM_OC3Init(TIM1, &TIM_OCInitStructure);

	/* TIM1 counter enable */
	TIM_Cmd(TIM1, ENABLE);

	/* TIM1 main Output Enable */
	TIM_CtrlPWMOutputs(TIM1, ENABLE);  
}

static void DispHelp1(void)
{
	uint16_t y;
	uint16_t LineCap;

	LCD_Clear(Blue);  			/* 清屏,背景藍(lán)色 */
	LCD_SetBackColor(Blue);		/* 設(shè)置文字背景顏色 */

	LCD_SetTextColor(White);	/* 設(shè)置文字顏色 */
	y = 0;
	LineCap = 18; /* 行間距 */
	LCD_DisplayString(20, y, "安富萊STM32F103ZE-EK開發(fā)板  www.armfly.com");
	y += LineCap;
	LCD_SetTextColor(Yellow);
	LCD_DisplayString(30, y, "QQ:1295744630     Email:armfly@qq.com");
	y += LineCap;

	y += LineCap;

	LCD_DisplayString(30, y, "操作提示:");
	y += LineCap;
	LCD_DisplayString(50, y, "TAMPER鍵 = 切換通道焦點(diǎn)。CH1或CH2");
	y += LineCap;
	LCD_DisplayString(50, y, "WAKEUP鍵 = 顯示幫助或退出幫助");
	y += LineCap;
	LCD_DisplayString(50, y, "USER  鍵 = 暫?;?qū)崟r(shí)運(yùn)行");
	y += LineCap;
	LCD_DisplayString(50, y, "搖桿上鍵 = 放大波形垂直幅度或向上移動");
	y += LineCap;
	LCD_DisplayString(50, y, "搖桿下鍵 = 縮小波形垂直幅度或向下移動");
	y += LineCap;
	LCD_DisplayString(50, y, "搖桿左鍵 = 水平展寬波形");
	y += LineCap;
	LCD_DisplayString(50, y, "搖桿右鍵 = 水平縮小波形");
	y += LineCap;
	LCD_DisplayString(50, y, "搖桿OK鍵 = 切換搖桿調(diào)節(jié)模式。幅度或位置");
	y += LineCap;
}

/*******************************************************************************
*	函數(shù)名: DsoHelp
*	輸  入:	無
*	輸  出:	無
*	功  能:顯示幫助
*/
static void DsoHelp(uint8_t *pMainStatus)
{
	uint8_t KeyCode;
	uint16_t bright;
	uint8_t fRefresh = 1;	/* LCD刷新標(biāo)志 */
	uint8_t SubStatus = 0;

	bright = GetBackLight();	/* 讀取背光值 */
	while (*pMainStatus == S_HELP)
	{
		CPU_IDLE();

		if (fRefresh)
		{
			fRefresh = 0;

			if (SubStatus == 0)
			{
				DispHelp1();
			}
		}

		/* 讀取按鍵,大于0表示有鍵按下 */
		KeyCode = GetKey();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久婷婷国产综合精品电影| 亚洲午夜日本在线观看| 国产在线不卡一区| 欧美一二三区在线| 美女性感视频久久| 精品av久久707| 国产iv一区二区三区| 国产精品国产三级国产aⅴ原创| 暴力调教一区二区三区| 综合在线观看色| 欧美日韩亚洲综合在线 | 日本不卡视频一二三区| 91精品国产91久久久久久一区二区 | 在线一区二区观看| 丝袜美腿高跟呻吟高潮一区| 久久香蕉国产线看观看99| 99久久er热在这里只有精品15 | 中文字幕第一区综合| 欧美亚洲国产一区二区三区va | 色88888久久久久久影院按摩| 亚洲3atv精品一区二区三区| 欧美精品在线观看一区二区| 蜜臀99久久精品久久久久久软件| 国产欧美一区二区精品秋霞影院| 91福利精品第一导航| 另类综合日韩欧美亚洲| 亚洲免费观看高清完整版在线| 欧美高清性hdvideosex| 国产suv精品一区二区6| 性久久久久久久久久久久| 中文一区二区在线观看| 欧美精品123区| 色婷婷综合久久久中文字幕| 麻豆精品国产传媒mv男同| 亚洲视频在线观看一区| 日韩天堂在线观看| 一本色道a无线码一区v| 久久不见久久见中文字幕免费| 亚洲欧美怡红院| 26uuu亚洲| 欧美午夜影院一区| 99久久精品久久久久久清纯| 日韩电影免费在线观看网站| 日韩理论片在线| 欧美成人bangbros| 欧美三级蜜桃2在线观看| 国产成人精品亚洲日本在线桃色| 五月婷婷另类国产| 成人免费小视频| 久久影院电视剧免费观看| 欧美在线观看18| 99这里只有久久精品视频| 激情亚洲综合在线| 日韩精品亚洲一区二区三区免费| 亚洲天堂网中文字| 国产欧美日韩久久| 精品国产91九色蝌蚪| 欧美乱妇23p| 欧美中文字幕一二三区视频| 成人高清视频在线| 国产福利一区二区| 韩国欧美国产1区| 日韩国产欧美在线视频| 亚洲成人免费在线| 一区二区三区精密机械公司| 国产精品久久久久婷婷| 国产日本亚洲高清| 国产欧美1区2区3区| 久久综合99re88久久爱| 精品国产乱码久久久久久久久| 欧美另类一区二区三区| 欧美美女网站色| 制服丝袜日韩国产| 欧美另类变人与禽xxxxx| 欧美二区三区的天堂| 欧美日韩专区在线| 欧美日本韩国一区| 欧美日韩精品一区二区三区| 欧美性色黄大片| 欧美日韩成人激情| 欧美一级日韩免费不卡| 欧美一级日韩免费不卡| 欧美r级在线观看| 26uuu成人网一区二区三区| 久久奇米777| 国产色产综合色产在线视频| 国产嫩草影院久久久久| 中文字幕不卡的av| 亚洲欧美日韩一区| 亚洲永久精品国产| 日韩精彩视频在线观看| 另类小说色综合网站| 韩国三级在线一区| 成人黄色一级视频| 一本一本大道香蕉久在线精品 | 久久99精品国产.久久久久久| 另类小说视频一区二区| 国产成人aaa| 91性感美女视频| 欧美日本一道本在线视频| 欧美一区二区三区日韩| 久久久亚洲国产美女国产盗摄| 中文字幕电影一区| 中文字幕在线不卡国产视频| 亚洲精选视频免费看| 首页国产欧美久久| 国产一区二区电影| 9久草视频在线视频精品| 精品视频一区二区三区免费| 日韩一区二区三区视频| 国产精品国产三级国产a| 性做久久久久久| 国产suv精品一区二区883| 欧美熟乱第一页| 久久综合精品国产一区二区三区| 亚洲日本免费电影| 日本欧美在线看| 波波电影院一区二区三区| 91精品国产综合久久精品性色| 久久久久久久久久久久久夜| 亚洲一二三四在线| 国产精品主播直播| 欧美日韩在线综合| 国产清纯白嫩初高生在线观看91 | 欧美大片拔萝卜| 国产欧美精品国产国产专区| 午夜欧美视频在线观看| 国产成人在线观看| 91精品国产91久久久久久一区二区| 中文在线资源观看网站视频免费不卡| 亚洲成a天堂v人片| 成人精品视频.| 日韩精品一区二区在线| 亚洲欧美日韩中文字幕一区二区三区| 久久国产三级精品| 欧美在线播放高清精品| 亚洲国产精品黑人久久久| 日韩av不卡在线观看| av中文字幕一区| xnxx国产精品| 热久久一区二区| 欧美视频日韩视频在线观看| 国产精品久久久久久久久动漫| 蜜桃av一区二区三区电影| 欧美体内she精高潮| 《视频一区视频二区| 国产精品一区二区在线播放| 日韩一卡二卡三卡四卡| 亚洲国产中文字幕在线视频综合| 国产91对白在线观看九色| 久久久美女艺术照精彩视频福利播放| 性做久久久久久久久| 在线亚洲高清视频| 亚洲免费观看视频| 91无套直看片红桃| 国产精品久久国产精麻豆99网站| 久久99精品国产.久久久久久| 欧美电影一区二区| 亚洲成人在线观看视频| 欧美性猛交xxxx乱大交退制版| 亚洲免费电影在线| 91久久精品一区二区三区| 亚洲色图在线视频| 成人午夜电影网站| 国产精品免费久久| 91在线高清观看| 亚洲欧洲精品一区二区三区| 成人免费视频播放| 国产精品传媒在线| 成人18视频在线播放| 国产精品免费丝袜| 91片黄在线观看| 亚洲精品国产一区二区三区四区在线| 91在线观看免费视频| 亚洲精品成人少妇| 欧美日本国产视频| 全国精品久久少妇| 久久久久高清精品| 大白屁股一区二区视频| 成人免费在线视频观看| 欧美优质美女网站| 日韩av不卡在线观看| 精品成人佐山爱一区二区| 国产精品主播直播| 亚洲欧美视频在线观看视频| 欧洲色大大久久| 美日韩一区二区| 国产农村妇女毛片精品久久麻豆 | 狠狠狠色丁香婷婷综合激情| 久久精品亚洲一区二区三区浴池| 成人精品小蝌蚪| 亚洲一二三专区| 精品美女被调教视频大全网站| 国产乱人伦偷精品视频免下载| 国产精品久久久久永久免费观看| 91豆麻精品91久久久久久| 日韩av成人高清| 欧美国产精品劲爆| 欧美色窝79yyyycom| 黑人巨大精品欧美一区|