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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ade7758.c

?? ADI公司的ADE7758全部使用原代碼(包括校驗)
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*
	裝載上電后首先AdeInit(),調用3個子程序為Read_Ade_Burn_Parm/Write_Ade_Reg_Val/AdeRead,其中Read_Ade_Burn_Parm
將EEPROM中的要固化ADE參數讀到adeburnparm(用于固化的參數區),自檢通過后調用Read_Ade_Reg_Val將此adeburnparm讀到
runaderegval.Write_Ade_Reg_Val則調用若干子程序將上面的參數寫入ADE的參數區,其中WriteConfig為通用配置寄存器的設置.
	調用ADE_Calib對ADE進行校驗,采用線性積分方式:
	1)ADE的電流waveform sampling為帶符號的24位,同時考慮50%的gain增溢調整,則實際為22位,即最大為
3FFFFF,又考慮63%的裕度,則0.5V時的最大值為2642412.IRMS從以上的waveform sampling而來,最大為1921472.
	2)ADE的電壓waveform sampling當0.5V時其輸出值為電壓滿刻度的63%,為0X2797,VRMS從waveform sampling
而來,處理后0.5V時為1678210.
	3)電流的gain增溢調整:ITEST=2A(IMAX=20A)
		2*1921472/20=IRMSTEST*(1+IRMSGAIN/2**12)
	4)電壓的gain增溢調整:VTEST=220V(VMAX=520V)
		220*1678210/520=VRMSTEST*(1+VRMSGAIN/2**12)
	注:1)\2)\3)\4)的LCYCMODE_VAL_RW8U=0X38
	5)APCFDEN的計算:APCFNOMAL=(16*1000*60*0.5)/(134.33*7.778)=459.41		
					APCFEXPECTED=(32000*60*0.5)/(1000*3600)=0.26666666
					APCFDEN=1723
					VADIV=0X0C
	6)WAT\VA的gain增溢調整:ITEST=0.5A,VTEST=60V,LCYCMODE=0XBF,LINECYC=0X800,MASK=0x001000,@=0.
		WATTHREXTECTED=[(4*32000*0.5*60*1*ACCUMTIME*1723)/1000*3600]/12
		其中ACCUMTIME=2048/[2*(1/2085*9.6*10**-6)*3]=6.832128
		WATTHREXTECTED=1046.38
	7)VAR的gain增溢調整:@=90,其余同6).
	8)WAT的OS調整:ITEST=0.5A,VTEST=60V,LCYCMODE=0XBF,LINECYCTEST=0X800,MASK=0x001000,@=0.
		IMIN=0.02A,VMIN=7V,LINECYCTEST=0X4000
		分別讀出WATTHRTEST及WATTHRMIN.
		WATOFFSET=(WATTHRMIN*0.5-WATTHRTEST*8*0.02)/(0.02-0.5)
		WATTHROS=[(4*WATOFFSET)/(ACCUMTIME*10)]*2**29
		其中ACCUMTIME=16384/[2*(1/2085*9.6*10**-6)*3]=54.657S
		WATOFFSET=(WATTHRMIN*19645-WATTHRTEST*6286)/(-4800)
	9)VAR的OS調整:@=90,其余同8).		
*/
#include "config.h"
#include "pinsel.h"
#include "ade7758.h"
#include "eint3.h"
#include "e2prom.h"
#include "function.h"
#include "wpd800.h"
#include "string.h"
#include "main.h"
#include "timer1.h"
#include "mea.h"
#include "math.h"

AdeRegVal runaderegval;//對應ADE7758全部內部寄存器
CalibUI_RMS_VAL uirmsval;//UI RMS
CalibUI_RMS_VAL_TEST uirmsvaltest;// 輸入標準(0.5A,60V) UI RMS
CalibUI_RMS_VAL_MIN uirmsvalmin;//輸入最小值(0.013A,7V) UI RMS
Calib_WATVARVA_VAL watvarvaval;
Calib_WATVARVA_VAL_TEST watvarvavaltest;
Calib_WATVARVA_VAL_TEST_PF05 watvarvavaltestpf05;
Calib_WATVARVA_VAL_MIN watvarvavalmin;
Ade_Burn_Parm adeburnparm;//用于固化的ADE寄存器參數
Ade_Mea_VAL ademeaval;//讀取的ADE各電量(經過處理)

uint32 eint3timer=0;
uint32 eint3timer1;
uint32 eint3timer2;
uint32 TCTEMP1,TCTEMP2;
uint16 CalibTypeR=0;//下行命令標志
uint16 CalibTypeW=0;//上行命令標志
uint32 eint3intcnt=0;
bool booladeinit=TRUE;
bool Ade_Test=TRUE;


uint32 HrT0TCFI=0;
uint32 HrT0TCEND=0;

//uint8 tempia[32],tempib[32],tempic[32],tempua[32],tempub[32],tempuc[32];

//extern TMEAVAL tMeaVal;
extern BYTE adehrcnt;
extern BYTE adermscnt;
extern volatile DWORD dTCounter;//計數器

//extern uint32 freqnumcnt;
//extern uint32 freqcalcnt;
//extern uint32 freqvalue[freqlgh];
 
const uint8 aderegaddr[80]=
{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,	
 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,	
 0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x7e,0x7f,0x80,0x00,0x00,0x00,0x00};

void RunReadAde_Hr_Val(void);
void RunReadAde_Rms_Val(void);
void Write_Energy_Cmd(void);
void AdeEntCalibSt(void);
void AdeEscCalibSt(void);
void Calib_UI_Gain_Sub(void);
void Get_Calib_UI_Os_TestVal_Sub(void);
void Get_Calib_UI_Os_MinVal_Sub(void);
void Calib_UI_Os_Sub(void);
void Calib_WATVA_Gain_Sub(void);
void Calib_VAR_Gain_Sub(void);
void Get_Calib_Ph_Os_TestVal_Sub(void);
void Get_Calib_Ph_Os_TestVal_PF05_Sub(void);
void Calib_Ph_Os_Sub(void);
void Get_Calib_WATVA_Os_TestVal_Sub(void);
void Get_Calib_WATVA_Os_TestVal_Min_Sub(void);
void Calib_WATVA_Os_Sub(void);
void Get_Calib_VAR_Os_TestVal_Sub(void);
void Get_Calib_VAR_Os_TestVal_Min_Sub(void);
void Calib_VAR_Os_Sub(void);
void ReadAde3byte(uint8 cmdval,uint32 *p24);

extern int32 _div32by32(int32,int32);
extern int32 _div32by32COS(int32,int32);
extern uint32 udiv32by32mea(uint32,uint32);

void  DelayAdeNS(uint32  dly)
{  
    uint32  i;

    for(; dly>0; dly--) 
        for(i=0; i<30; i++);
}
void adecmdwrite(uint8 data)//寫命令
{
	bool booladecmd;	
	
	IO1CLR = ADECS_CLR;
	IO0SET = ADESCK_SET;		
	booladecmd=data&0x80;//7
	if(booladecmd) IO0SET = 0x00080000;
	else IO0CLR = 0x00080000;
	IO0CLR = ADESCK_CLR;	
	booladecmd=data&0x40;//6
	IO0SET = ADESCK_SET;		
	if(booladecmd) IO0SET = 0x00080000;
	else	IO0CLR = 0x00080000;
	IO0CLR = ADESCK_CLR;	
	booladecmd=data&0x20;//5
	IO0SET = ADESCK_SET;		
	if(booladecmd) IO0SET = 0x00080000;
	else	IO0CLR = 0x00080000;
	IO0CLR = ADESCK_CLR;
	booladecmd=data&0x10;//4
	IO0SET = ADESCK_SET;		
	if(booladecmd) IO0SET = 0x00080000;
	else	IO0CLR = 0x00080000;
	IO0CLR = ADESCK_CLR;
	booladecmd=data&0x08;//3
	IO0SET = ADESCK_SET;		
	if(booladecmd) IO0SET = 0x00080000;
	else	IO0CLR = 0x00080000;
	IO0CLR = ADESCK_CLR;
	booladecmd=data&0x04;//2
	IO0SET = ADESCK_SET;		
	if(booladecmd) IO0SET = 0x00080000;
	else	IO0CLR = 0x00080000;
	IO0CLR = ADESCK_CLR;
	booladecmd=data&0x02;//1
	IO0SET = ADESCK_SET;		
	if(booladecmd) IO0SET = 0x00080000;
	else	IO0CLR = 0x00080000;
	IO0CLR = ADESCK_CLR;
	booladecmd=data&0x01;//0
	IO0SET = ADESCK_SET;		
	if(booladecmd) IO0SET = 0x00080000;
	else	IO0CLR = 0x00080000;
	IO0CLR = ADESCK_CLR;
	__asm{nop};
	__asm{nop};
	__asm{nop};
	__asm{nop};	
}
uint8 adereadvalue(void)//讀一個BYTE
{
	uint8 data;
	uint32 bak1;//,TCTEMP1,TCTEMP2;

	//TCTEMP1=T0TC;
	bak1=0x00;

	__asm{nop};
	__asm{nop};
	IO0CLR = ADESCK_CLR;
	__asm{nop};
	__asm{nop};
	IO0SET = ADESCK_SET;
	bak1 = (((IO0PIN) & (0x00040000)) | bak1 ) << 1;//0	
	__asm{nop};
	IO0CLR = ADESCK_CLR;
	__asm{nop};
	__asm{nop};
	IO0SET = ADESCK_SET;
	bak1 = (((IO0PIN) & (0x00040000)) | bak1 ) << 1;//1
	__asm{nop};
	IO0CLR = ADESCK_CLR;
	__asm{nop};
	__asm{nop};
	IO0SET = ADESCK_SET;
	bak1 = (((IO0PIN) & (0x00040000)) | bak1 ) << 1;//2	
	__asm{nop};
	__asm{nop};
	IO0CLR = ADESCK_CLR;
	__asm{nop};
	__asm{nop};		
	IO0SET = ADESCK_SET;
	bak1 = (((IO0PIN) & (0x00040000)) | bak1 ) << 1;//3
	__asm{nop};		
	IO0CLR = ADESCK_CLR;
	__asm{nop};
	__asm{nop};	
	IO0SET = ADESCK_SET;
	bak1 = (((IO0PIN) & (0x00040000)) | bak1 ) << 1;//4
	__asm{nop};		
	IO0CLR = ADESCK_CLR;
	__asm{nop};
	__asm{nop};	
	IO0SET = ADESCK_SET;
	bak1 = (((IO0PIN) & (0x00040000)) | bak1 ) << 1;//5
	__asm{nop};		
	IO0CLR = ADESCK_CLR;
	__asm{nop};
	__asm{nop};		
	IO0SET = ADESCK_SET;
	bak1 = (((IO0PIN) & (0x00040000)) | bak1 ) << 1;//6
	__asm{nop};		
	IO0CLR = ADESCK_CLR;
	__asm{nop};
	__asm{nop};	
	IO0SET = ADESCK_SET;
	bak1 = (((IO0PIN) & (0x00040000)) | bak1 ) << 1;//7
	__asm{nop};		
	IO0CLR = ADESCK_CLR;

	bak1 = ((bak1 >> 19) & (0x000000ff));
	data = (uint8)bak1; 

	//TCTEMP2=T0TC;

	return data;
}
void WriteAde3byte(uint8 cmdval,uint32 dat24)//寫三個BYTE命令
{
	adecmdwrite(cmdval);
	adecmdwrite((uint8)((dat24>>0x10)&0x000000ff));
	adecmdwrite((uint8)((dat24>>0x08)&0x000000ff));
	adecmdwrite((uint8)(dat24&0x000000ff));
	DelayAdeNS(1);	
	IO1SET = ADECS_SET;
}	
void WriteAde2byte(uint8 cmdval,uint16 dat16)//寫二個BYTE命令
{
	adecmdwrite(cmdval);
	adecmdwrite((uint8)((dat16>>0x08)&0x00ff));
	adecmdwrite((uint8)(dat16&0x00ff));
	DelayAdeNS(1);	
	IO1SET = ADECS_SET;
}	
void WriteAde1byte(uint8 cmdval,uint8 dat8)//寫一個BYTE命令
{
	adecmdwrite(cmdval);
	adecmdwrite(dat8);
	DelayAdeNS(1);	
	IO1SET = ADECS_SET;
}	
void ReadAde3byte(uint8 cmdval,uint32 *p24)//讀三個BYTE
{
	uint8 data1,data2,data3;
	uint32 temp1,temp2,temp3;
	
	adecmdwrite(cmdval);
	temp1=T0TC;
	DelayAdeNS(2);
	temp2=T0TC;					
	data3=adereadvalue();
	data2=adereadvalue();
	data1=adereadvalue();
	IO1SET = ADECS_SET;	
	temp3=T0TC;
	*p24=(data3<<0x10)|(data2<<0x08)|data1;	
}
void ReadAde2byte(uint8 cmdval,uint16 *p16)//讀二個BYTE
{
	uint8 data1,data2;

	adecmdwrite(cmdval);
	DelayAdeNS(2);				
	data2=adereadvalue();
	data1=adereadvalue();
	IO1SET = ADECS_SET;	
	*p16=(uint16)(data2<<0x08)|data1;	
}
void ReadAde1byte(uint8 cmdval,uint8 *p8)//讀一個BYTE
{
	uint8 data1;

	adecmdwrite(cmdval);
	DelayAdeNS(2);				
	data1=adereadvalue();
	IO1SET = ADECS_SET;	
	*p8=data1;	
}
void setadereg2byte(uint16 *p16,uint16 data)
{
	*p16=data;
}	
void Write_Energy_Cmd(void)//脈沖方式能量命令寫入
{
	ReadAde3byte(aderegaddr[RSTATUS_R24U],(uint32 *)&(runaderegval.RSTATUS_VAL_R24U));
	runaderegval.LCYCMODE_VAL_RW8U=0x40;//0x78;
	runaderegval.MASK_VAL_RW24U=0x201;//0x204;//0x000004;//視在能量中斷	
	WriteAde1byte((aderegaddr[LCYCMODE_RW8U])|0x80,runaderegval.LCYCMODE_VAL_RW8U);
	WriteAde3byte((aderegaddr[MASK_RW24U])|0x80,runaderegval.MASK_VAL_RW24U);

	//ademeaval.MEA_AWATHR=0;
	//ademeaval.MEA_BWATHR=0;
	//ademeaval.MEA_CWATHR=0;
	//ademeaval.MEA_AVARHR=0;
	//ademeaval.MEA_BVARHR=0;
	//ademeaval.MEA_CVARHR=0;
	//ademeaval.MEA_AVAHR=0;
	//ademeaval.MEA_BVAHR=0;
	//ademeaval.MEA_CVAHR=0;	
	
	ReadAde2byte(aderegaddr[AWATTHR_R16S],(uint16 *)&(runaderegval.AWATTHR_VAL_R16S));
	ReadAde2byte(aderegaddr[BWATTHR_R16S],(uint16 *)&(runaderegval.BWATTHR_VAL_R16S));
	ReadAde2byte(aderegaddr[CWATTHR_R16S],(uint16 *)&(runaderegval.CWATTHR_VAL_R16S));
	ReadAde2byte(aderegaddr[AVARHR_R16S],(uint16 *)&(runaderegval.AVARHR_VAL_R16S));
	ReadAde2byte(aderegaddr[BVARHR_R16S],(uint16 *)&(runaderegval.BVARHR_VAL_R16S));
	ReadAde2byte(aderegaddr[CVARHR_R16S],(uint16 *)&(runaderegval.CVARHR_VAL_R16S));
	ReadAde2byte(aderegaddr[AVAHR_R16U],(uint16 *)&(runaderegval.AVAHR_VAL_R16U));
	ReadAde2byte(aderegaddr[BVAHR_R16U],(uint16 *)&(runaderegval.BVAHR_VAL_R16U));
	ReadAde2byte(aderegaddr[CVAHR_R16U],(uint16 *)&(runaderegval.CVAHR_VAL_R16U));

	booleint3=FALSE;			
	ReadAde3byte(aderegaddr[RSTATUS_R24U],(uint32 *)&(runaderegval.RSTATUS_VAL_R24U));
}
void Write_Lcycle_Cmd(void)//線性積分方式能量命令寫入
{
	ReadAde3byte(aderegaddr[RSTATUS_R24U],(uint32 *)&(runaderegval.RSTATUS_VAL_R24U));
	runaderegval.LCYCMODE_VAL_RW8U=0xbf;
	runaderegval.MASK_VAL_RW24U=0x001000;	
	WriteAde1byte((aderegaddr[LCYCMODE_RW8U])|0x80,runaderegval.LCYCMODE_VAL_RW8U);
	WriteAde2byte((aderegaddr[LINECYC_RW16U])|0x80,runaderegval.LINECYC_VAL_RW16U);
	WriteAde3byte((aderegaddr[MASK_RW24U])|0x80,runaderegval.MASK_VAL_RW24U);
	while(booleint3==FALSE);
	booleint3=FALSE;	
	ReadAde3byte(aderegaddr[RSTATUS_R24U],(uint32 *)&(runaderegval.RSTATUS_VAL_R24U));

	while(booleint3==FALSE);
	booleint3=FALSE;	
	ReadAde3byte(aderegaddr[RSTATUS_R24U],(uint32 *)&(runaderegval.RSTATUS_VAL_R24U));
}
//調試方式讀取電量,共10次,第1次不用,9次值平均用于能量的校驗
void ReadVal_WatVarVa(void)
{
	int32 awathr,bwathr,cwathr,avarhr,bvarhr,cvarhr,freqval,uitemp4;
	int16 uitemp1,uitemp2,uitemp3;	
	uint32 avahr,bvahr,cvahr,uhrtemp4;
	uint16 uhrtemp1,uhrtemp2,uhrtemp3;
	
	uint8 *pfreq,*pawat,*pbwat,*pcwat,*pavar,*pbvar,*pcvar;
	uint8 *pava,*pbva,*pcva,i;
	uint8 tempfreq[24];
	uint8 tempawathr[24];
	uint8 tempbwathr[24];
	uint8 tempcwathr[24];
	uint8 tempavarhr[24];
	uint8 tempbvarhr[24];
	uint8 tempcvarhr[24];
	uint8 tempavahr[24];
	uint8 tempbvahr[24];
	uint8 tempcvahr[24];
	pfreq=&tempfreq[0];
	pawat=&tempawathr[0];
	pbwat=&tempbwathr[0];
	pcwat=&tempcwathr[0];
	pavar=&tempavarhr[0];
	pbvar=&tempbvarhr[0];
	pcvar=&tempcvarhr[0];
	pava=&tempavahr[0];
	pbva=&tempbvahr[0];
	pcva=&tempcvahr[0];

	for(i=0;i<10;i++)
	{
		while(booleint3==FALSE);
		adecmdwrite(aderegaddr[FREQ_R12U]);
		DelayAdeNS(2);				
		*pfreq++=adereadvalue();
		*pfreq++=adereadvalue();
		IO1SET = ADECS_SET;	
		adecmdwrite(aderegaddr[AWATTHR_R16S]);
		DelayAdeNS(2);				
		*pawat++=adereadvalue();
		*pawat++=adereadvalue();
		IO1SET = ADECS_SET;
		adecmdwrite(aderegaddr[BWATTHR_R16S]);
		DelayAdeNS(2);				
		*pbwat++=adereadvalue();
		*pbwat++=adereadvalue();
		IO1SET = ADECS_SET;
		adecmdwrite(aderegaddr[CWATTHR_R16S]);
		DelayAdeNS(2);				
		*pcwat++=adereadvalue();
		*pcwat++=adereadvalue();
		IO1SET = ADECS_SET;
		adecmdwrite(aderegaddr[AVARHR_R16S]);
		DelayAdeNS(2);				
		*pavar++=adereadvalue();
		*pavar++=adereadvalue();
		IO1SET = ADECS_SET;
		adecmdwrite(aderegaddr[BVARHR_R16S]);
		DelayAdeNS(2);				
		*pbvar++=adereadvalue();
		*pbvar++=adereadvalue();
		IO1SET = ADECS_SET;
		adecmdwrite(aderegaddr[CVARHR_R16S]);
		DelayAdeNS(2);				
		*pcvar++=adereadvalue();
		*pcvar++=adereadvalue();
		IO1SET = ADECS_SET;
		adecmdwrite(aderegaddr[AVAHR_R16U]);
		DelayAdeNS(2);				
		*pava++=adereadvalue();
		*pava++=adereadvalue();
		IO1SET = ADECS_SET;
		adecmdwrite(aderegaddr[BVAHR_R16U]);
		DelayAdeNS(2);				
		*pbva++=adereadvalue();
		*pbva++=adereadvalue();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人亚洲综合色影视| 美女一区二区三区在线观看| 精品国产区一区| 欧美一级二级在线观看| 777a∨成人精品桃花网| 欧美美女直播网站| 91精品中文字幕一区二区三区| 在线观看国产日韩| 欧美日韩国产综合久久| 91精品国产黑色紧身裤美女| 日韩欧美国产电影| 国产欧美日韩亚州综合| 综合久久综合久久| 亚洲电影视频在线| 久久精品国产在热久久| 国产超碰在线一区| 在线一区二区三区| 91精品国产全国免费观看| 日韩午夜av一区| 国产精品午夜春色av| 一区二区欧美国产| 久久精品久久综合| thepron国产精品| 欧美肥大bbwbbw高潮| 日韩精品自拍偷拍| 亚洲日本欧美天堂| 麻豆精品视频在线观看免费| 粉嫩高潮美女一区二区三区| 色国产精品一区在线观看| 91精品国产入口| 国产精品国产三级国产aⅴ中文 | 岛国av在线一区| 91免费观看视频在线| 91精品国产综合久久福利| 欧美高清一级片在线观看| 亚洲福利视频导航| 国产一区二区精品久久| 欧美三级三级三级爽爽爽| 精品国精品国产| 夜夜嗨av一区二区三区| 国产精品一区二区在线观看不卡| 97se亚洲国产综合在线| 精品乱人伦小说| 亚洲综合激情小说| 成人黄色777网| 精品国产一区二区三区不卡| 亚洲一区二区三区四区在线观看 | 国产日韩欧美高清在线| 丝袜诱惑制服诱惑色一区在线观看| 国产精品自在欧美一区| 欧美日韩在线播| 国产精品久久777777| 国产在线精品不卡| 日韩欧美一卡二卡| 亚洲国产日韩在线一区模特| 菠萝蜜视频在线观看一区| 欧美一区二区福利视频| 一区二区高清免费观看影视大全 | 99久久精品免费| 久久久.com| 国产一区欧美二区| 日韩欧美中文字幕公布| 一区在线播放视频| 国产综合色产在线精品| 欧美一级片在线| 五月激情综合色| 欧美在线看片a免费观看| 一色屋精品亚洲香蕉网站| 成人性色生活片免费看爆迷你毛片| 欧美电影免费观看高清完整版在| 午夜伦欧美伦电影理论片| 欧美无砖专区一中文字| 亚洲一区在线观看视频| 在线观看日韩国产| 亚洲综合小说图片| 欧美日韩在线三级| 午夜视频在线观看一区二区| 欧美午夜精品久久久久久超碰| 一区二区三区在线免费| 欧美性视频一区二区三区| 亚洲精品第一国产综合野| 在线亚洲欧美专区二区| 亚洲一区在线观看免费观看电影高清| 91视频xxxx| 亚洲图片欧美色图| 日韩一级高清毛片| 韩国女主播成人在线| 国产日韩欧美综合在线| av亚洲精华国产精华| 一区二区三区资源| 欧美精品色一区二区三区| 日韩精品电影一区亚洲| 欧美成人精品福利| 成人在线一区二区三区| 国产精品毛片高清在线完整版| 99精品久久99久久久久| 亚洲电影一级黄| 精品免费一区二区三区| 成人动漫在线一区| 亚洲一卡二卡三卡四卡无卡久久| 欧美精品欧美精品系列| 国产制服丝袜一区| 亚洲精品成人悠悠色影视| 91麻豆精品国产91久久久久| 国产精品一级片在线观看| 三级成人在线视频| 久久中文字幕电影| 色婷婷精品久久二区二区蜜臂av| 日本欧美一区二区三区| 国产精品福利一区二区三区| 欧美精品免费视频| 成人在线视频一区二区| 三级在线观看一区二区| 国产精品网友自拍| 日韩一级大片在线观看| 91网上在线视频| 国产一区二区网址| 午夜精品123| 中文字幕在线不卡| 日韩一区二区免费在线电影 | 欧美亚洲日本国产| 国产美女在线观看一区| 亚洲成人精品影院| 《视频一区视频二区| 日韩欧美国产小视频| 欧美中文一区二区三区| 丰满白嫩尤物一区二区| 捆绑调教美女网站视频一区| 一区二区三区中文在线观看| 久久精品亚洲一区二区三区浴池| 欧美亚洲一区三区| 91蝌蚪porny| 国产suv精品一区二区三区| 日本视频一区二区三区| 亚洲精品国产品国语在线app| 国产午夜亚洲精品不卡| 日韩一区二区三区视频| 欧美日韩久久不卡| 在线日韩国产精品| 色老综合老女人久久久| 99精品欧美一区二区三区小说| 国产精品一二三区| 黑人精品欧美一区二区蜜桃| 日本最新不卡在线| 日欧美一区二区| 亚洲高清视频的网址| 亚洲精品国产精华液| 亚洲精品国产无天堂网2021| 综合激情成人伊人| 中文字幕一区在线观看| 亚洲国产高清在线观看视频| 久久久久久久久久久久久夜| 久久一区二区三区四区| 久久综合五月天婷婷伊人| 精品乱码亚洲一区二区不卡| 精品噜噜噜噜久久久久久久久试看 | 粉嫩av一区二区三区在线播放 | 国产精一品亚洲二区在线视频| 日韩中文字幕av电影| 视频一区免费在线观看| 美女网站视频久久| 国产成人精品综合在线观看| 成人免费视频网站在线观看| www.成人在线| 在线观看亚洲专区| 正在播放亚洲一区| 久久久久久综合| 国产精品初高中害羞小美女文| 最新日韩在线视频| 亚洲sss视频在线视频| 美国三级日本三级久久99| 国产精品一区二区久激情瑜伽| 丁香桃色午夜亚洲一区二区三区| 成人黄色a**站在线观看| 欧美亚洲图片小说| 2024国产精品| 亚洲色图制服丝袜| 日韩福利电影在线| 国产精品18久久久| 欧美视频在线一区二区三区| 精品国产一区二区精华| 国产精品久久久久久户外露出| 亚洲一级二级三级| 国产麻豆9l精品三级站| 欧美三级视频在线播放| 国产亚洲欧美日韩在线一区| 亚洲精品久久嫩草网站秘色| 狠狠色狠狠色综合日日91app| 成人av网站在线观看| 91精品国产综合久久福利| 国产精品高潮久久久久无| 热久久免费视频| av电影天堂一区二区在线| 日韩视频123| 亚洲美女在线一区| 丁香六月综合激情| 日韩一二三四区| 亚洲码国产岛国毛片在线| 久久av资源站| 欧美日本乱大交xxxxx|