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

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

?? prog1.c

?? this program reads data from sensors and then sends it to a PIC-WEB which then loads it to a server
?? C
字號:
//portc6 y portc7 al display. portc4 reset PIC. PORTC5 enable display.


//#include <iom64v.h>
//#include <shortnametype.h>
//#include <macros.h>
//#include <eeprom.h>
#include <math.h>
#include <ctype.h>

#include <util/delay.h>

#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <avr/wdt.h>
#include <avr/io.h>
#include <avr/interrupt.h>

#define ACK                        1
#define noACK                      0

#define F_CPU 2000000UL
#define HUMIDITY_DDR	 DDRC
#define HUMIDITY_PIN	 PINC
#define HUMIDITY_PORT	 PORTC
#define PIC_DDR	 		 DDRB
#define PIC_PIN	 		 PINB
#define PIC_PORT	 	 PORTB
#define DATAVALID	     0x10 
#define DATAACCEPTED	 0x08
#define RESETPIC	 	 0x20
#define HUMIDITY_DATA	 0x01 
#define HUMIDITY_SCK	 0x02 
#define LED				 0x04

//adr command r/w 
#define HUMIDITY_STATUS_REG_W 0x06 //000 0011 0 
#define HUMIDITY_STATUS_REG_R 0x07 //000 0011 1 
#define HUMIDITY_MEASURE_TEMP 0x03 //000 0001 1 
#define HUMIDITY_MEASURE_HUMI 0x05 //000 0010 1 
#define HUMIDITY_RESET 0x1e //000 1111 0 

void HumidityInit(void); 
void HumidityDelay(void); 
void HumidityWriteByte(unsigned char value); 
unsigned char HumidityReadByte(unsigned char ack); 
void HumidityTransStart(void); 
void HumidityConnectionReset(void); 
void HumiditySoftReset(void); 
unsigned char HumidityReadStatus(void); 
void HumidityWriteStatus(unsigned char value); 
unsigned int HumidityMeasure(unsigned char mode); 
void HumidityCalc(float *p_humidity ,float *p_temperature); 
void HumidityGet(float *p_humidity ,float *p_temperature); 
void HumidityUpdate(void); 
void enviarPIC(unsigned int value);
char presionupdate(void);
void USART_Transmit( unsigned char data );
void USART_Init( unsigned int baud );
unsigned char USART_Receive( void );

unsigned char HumiError = 0;
float Temperature,Humidity;
unsigned int Temp,Hum,presion;
unsigned int tmp1,tmp2,tmp3;

void HumidityDelay(void) 
{ 
//int i; 
//for (i=0;i<20;i++) wdt_reset(); 
_delay_us(5);
} 

void HumidityInit(void) 
{ 
HUMIDITY_DDR |= HUMIDITY_DATA + HUMIDITY_SCK; 
HUMIDITY_PORT |= HUMIDITY_DATA + HUMIDITY_SCK; 
HumiditySoftReset(); 
} 


void HumidityWriteByte(unsigned char value) 
{ 
unsigned char i; 

HUMIDITY_DDR |= HUMIDITY_DATA; //DATA-line in output 

for (i=0x80;i>0;i/=2) //shift bit for masking 
{ 
HumidityDelay(); 
if (i & value) HUMIDITY_PORT |= HUMIDITY_DATA; 
else HUMIDITY_PORT &= ~HUMIDITY_DATA; 
HumidityDelay(); 
HUMIDITY_PORT |= HUMIDITY_SCK; 
HumidityDelay(); 
HUMIDITY_PORT &= ~HUMIDITY_SCK; 
} 

HUMIDITY_PORT |= HUMIDITY_DATA; //release DATA-line 
HUMIDITY_DDR &= ~HUMIDITY_DATA;	 //DATA-line in input 
HumidityDelay(); 
HUMIDITY_PORT |= HUMIDITY_SCK;	 //clk #9 for ack 
HumidityDelay(); 
if (HUMIDITY_PIN & HUMIDITY_DATA) HumiError = 1; //OJO SI NO ACK no hace nada?
HUMIDITY_PORT &= ~HUMIDITY_SCK; 
HumidityDelay(); 
} 

unsigned char HumidityReadByte(unsigned char ack) //para mandar ACK ack=1
{ 
unsigned char i,val=0; 

HUMIDITY_PORT |= HUMIDITY_DATA; //release DATA-line 
HUMIDITY_DDR &= ~HUMIDITY_DATA;	 //DATA-line in input 

for (i=0x80;i>0;i/=2) //shift bit for masking 
{ 
HumidityDelay(); 
HUMIDITY_PORT |= HUMIDITY_SCK; //clk for SENSI-BUS 
HumidityDelay(); 
if (HUMIDITY_PIN & HUMIDITY_DATA) val=(val | i); //read bit 
HUMIDITY_PORT &= ~HUMIDITY_SCK; 
} 

if (ack == 1) 
{ 
HUMIDITY_DDR |= HUMIDITY_DATA;	 //DATA-line in output 
HUMIDITY_PORT &= ~HUMIDITY_DATA; //"ack==1" pull down DATA-Line 
HumidityDelay(); 
HUMIDITY_PORT |= HUMIDITY_SCK; 
HumidityDelay(); 
HUMIDITY_PORT &= ~HUMIDITY_SCK; 
} 
else 
{ 
HumidityDelay(); 
HUMIDITY_PORT |= HUMIDITY_SCK; 
HumidityDelay(); 
HUMIDITY_PORT &= ~HUMIDITY_SCK; 
} 
return val; 
} 

void HumidityTransStart(void) 
{ 
HUMIDITY_DDR |= HUMIDITY_DATA; //DATA-line in output 

HUMIDITY_PORT |= HUMIDITY_DATA; //DATA=1 
HUMIDITY_PORT &= ~HUMIDITY_SCK; //SCK=0 
HumidityDelay(); 
HUMIDITY_PORT |= HUMIDITY_SCK; //SCK=1 
HumidityDelay(); 
HUMIDITY_PORT &= ~HUMIDITY_DATA; //DATA=0 
HumidityDelay(); 
HUMIDITY_PORT &= ~HUMIDITY_SCK; //SCK=0 
HumidityDelay(); 
HUMIDITY_PORT |= HUMIDITY_SCK; //SCK=1 
HumidityDelay(); 
HUMIDITY_PORT |= HUMIDITY_DATA;	 //DATA=1 
HumidityDelay(); 
HUMIDITY_PORT &= ~HUMIDITY_SCK;	 //SCK=0 
HumidityDelay(); 
} 

void HumidityConnectionReset(void) 
{ 
unsigned char i; 

HUMIDITY_DDR |= HUMIDITY_DATA; //DATA-line in output 
HUMIDITY_PORT |= HUMIDITY_DATA; //DATA=1 
HUMIDITY_PORT &= ~HUMIDITY_SCK; //SCK=0 

for (i=0;i<9;i++) //9 SCK cycles 
{ 
HumidityDelay(); 
HUMIDITY_PORT |= HUMIDITY_SCK; //SCK=1 
HumidityDelay(); 
HUMIDITY_PORT &= ~HUMIDITY_SCK; //SCK=0 
} 
HumidityTransStart(); //transmission start 
HumiError = 0; 
} 

void HumiditySoftReset(void) 
{ 
int i; 
HumidityConnectionReset(); //Reset communication 
HumidityWriteByte(HUMIDITY_RESET); //send Reset-command to sensor 

//for (i=0;i<100;i++) HumidityDelay(); // 11ms delay 
_delay_ms(11);
} 

unsigned int HumidityMeasure(unsigned char mode) 
{ 
unsigned char msb,lsb; 
int i,j; 

HumidityTransStart(); //transmission start 
switch (mode)	 //send command to sensor 
{ 
	case HUMIDITY_MEASURE_TEMP : HumidityWriteByte(HUMIDITY_MEASURE_TEMP); 
	break; 
	case HUMIDITY_MEASURE_HUMI : HumidityWriteByte(HUMIDITY_MEASURE_HUMI); 
	break; 
	default : break; 
} 

HUMIDITY_PORT |= HUMIDITY_DATA; //release DATA-line 
HUMIDITY_DDR &= ~HUMIDITY_DATA;	 //DATA-line in input 

for (i=0;i<=200000;i++) 
{ 
	//for (j=0;j<1;j++) 
	//{
	wdt_reset();
	if((HUMIDITY_PIN & HUMIDITY_DATA) == 0) break; //wait until sensor 
	//}
}	 //has finished the measure 
if(i > 65530) 
{ 
	HumiError=1; // or timeout (~2 sec.) is reached 
	return 0xffff; 
} 

msb =HumidityReadByte(ACK); //read the first byte (MSB) 
lsb=HumidityReadByte(noACK); //read the second byte (LSB) 
//tmp =HumidityReadByte(noACK); //dummy read checksum 
return (msb<<8)+lsb; 
} 

void HumidityCalc(float *p_humidity ,float *p_temperature) 
{ 
float C1=-4.0; // for 12 Bit 
float C2=+0.0405; // for 12 Bit 
float C3=-0.0000028; // for 12 Bit 
float T1=+0.01; // for 14 Bit @ 3V 
float T2=+0.00008; // for 14 Bit @ 3V 

float rh=*p_humidity; // rh: Humidity [Ticks] 12 Bit 
float t=*p_temperature; // t: Temperature [Ticks] 14 Bit 
float rh_lin; // rh_lin: Humidity linear 
float rh_true; // rh_true: Temperature compensated humidity 
float t_C; // t_C : Temperature [?C] 

t_C=t*0.01 - 40; //calc. temperature from ticks to [?C] 
rh_lin=C3*rh*rh + C2*rh + C1; //calc. humidity from ticks to [%RH] 
rh_true=(t_C-25)*(T1+T2*rh)+rh_lin; //calc. temp compensated humidity [%RH] 
if(rh_true>100)rh_true=100; //cut if the value is outside of 
if(rh_true<0.1)rh_true=0.1; //the physical possible range 

*p_temperature=t_C; //return temperature [?C] 
*p_humidity=rh_true; //return humidity[%RH] 
} 

void HumidityGet(float *p_humidity ,float *p_temperature) 
{ 
unsigned int humi_val,temp_val; 

humi_val = HumidityMeasure(HUMIDITY_MEASURE_HUMI); //measure humidity 
temp_val = HumidityMeasure(HUMIDITY_MEASURE_TEMP); //measure temperature 

if(HumiError == 1) HumidityConnectionReset(); //in case of an error: Reset 
else 
{ 
*p_humidity=(float)humi_val; //converts integer to float 
*p_temperature=(float)temp_val; //converts integer to float 
HumidityCalc(p_humidity,p_temperature); //calculate humidity, temperature 
} 
} 

void HumidityUpdate(void) 
{ 
if (HumiError == 1) HumidityInit(); 
HumidityGet(&Humidity,&Temperature); 
Hum = Humidity;  //ojo multiplicar para precision
Temp = Temperature * 10; 
}

void enviarPIC(unsigned int value)
{
 char a[1];
  itoa(value,a,10);
  PIC_PORT=a[0];
  PORTD |= DATAVALID; 	 //DATAVALID=1
	while((PIND & DATAACCEPTED) == 0) 
   	{
	wdt_reset();
	}
  PORTD &= ~DATAVALID; 	 //DATAVALID=0
  	while((PIND & DATAACCEPTED) != 0)
	{
	wdt_reset();
	}
  return;
}

void USART_Init( unsigned int baud )
{
/* Set baud rate */
   //#define BAUD 9600
   //#include <util/setbaud.h>
   //UBRRH = UBRRH_VALUE;
   //UBRRL = UBRRL_VALUE;

  UBRRH = (unsigned char)(baud>>8);
  UBRRL = (unsigned char)baud;
/* Enable receiver and transmitter */
  UCSRB = (1<<RXEN)|(1<<TXEN);
/* Set frame format: 8data, 1s	top bit */
  UCSRC = (1<<URSEL)|(3<<UCSZ0);
}

void USART_Transmit( unsigned char data )
{
/* Wait for empty transmit buffer */
	while ( !( UCSRA & (1<<UDRE)) )
	;
/* Put data into buffer, sends the data */
	UDR = data;
}

unsigned char USART_Receive( void )
{
/* Wait for data to be received */
	while ( !(UCSRA & (1<<RXC)) )
	;
/* Get and return received data from buffer */
	return UDR;
}

char presionupdate(void)
{
char t1[3],presiontmp[13],signo,t2,t3,t4;
USART_Transmit('g');
wdt_reset();
USART_Transmit('e');
wdt_reset();
USART_Transmit('t');
wdt_reset();
USART_Transmit(13);
for(int j=0;j<=2;j++)
     {
	 t1[j]=USART_Receive();
     wdt_reset();
	 }
wdt_reset();
if(t1[0]=='o' && t1[1]=='k' && t1[2]=='$')
  {
  for(int i=0;i<=12;i++)
     {
	 presiontmp[i]=USART_Receive();
     wdt_reset();
	 }
	 signo=presiontmp[0];
  if(presiontmp[7]=='-')
    {
	presion=0;
	wdt_reset();
	}
  else if(presiontmp[7]=='+')
    {
	t2=presiontmp[1];
	t3=presiontmp[3];
	t4=presiontmp[4];

	if(presiontmp[9]=='0')
	{
	  if(t2=='1')
	    presion=1;
	  else if (t2=='2')
	    presion=2;
	  else if (t2=='3')
	    presion=3;
  	  else if (t2=='4')
	    presion=4;
      else if (t2=='5')
	    presion=5;
      else if (t2=='6')
	    presion=6;
	  else if (t2=='7')
	    presion=7;
	  else if (t2=='8')
	    presion=8;
	  else if (t2=='9')
	    presion=9;
	  else 
	    presion=0;
	}
	else if(presiontmp[9]=='1')
	{
	  if(t2=='1')
	    presion=10;
	  else if (t2=='2')
	    presion=20;
	  else if (t2=='3')
	    presion=30;
  	  else if (t2=='4')
	    presion=40;
      else if (t2=='5')
	    presion=50;
      else if (t2=='6')
	    presion=60;
	  else if (t2=='7')
	    presion=70;
	  else if (t2=='8')
	    presion=80;
	  else if (t2=='9')
	    presion=90;
	  else 
	    presion=0;
	  if(t3=='1')
	    presion=presion+1;
	  else if (t3=='2')
	    presion=presion+2;
	  else if (t3=='3')
	    presion=presion+3;
  	  else if (t3=='4')
	    presion=presion+4;
      else if (t3=='5')
	    presion=presion+5;
      else if (t3=='6')
	    presion=presion+6;
	  else if (t3=='7')
	    presion=presion+7;
	  else if (t3=='8')
	    presion=presion+8;
	  else if (t3=='9')
	    presion=presion+9;
	  else if (t3=='0')
	    presion=presion+0;
	//presion=(atoi(t2))*10+atoi(t3);
	}
	else if(presiontmp[9]=='2')
	{
	if(t2=='1')
	    presion=100;
	  else if (t2=='2')
	    presion=200;
	  else if (t2=='3')
	    presion=300;
  	  else if (t2=='4')
	    presion=400;
      else if (t2=='5')
	    presion=500;
      else if (t2=='6')
	    presion=600;
	  else if (t2=='7')
	    presion=700;
	  else if (t2=='8')
	    presion=800;
	  else if (t2=='9')
	    presion=900;
	  else 
	    presion=0;
	  if(t3=='1')
	    presion=presion+10;
	  else if (t3=='2')
	    presion=presion+20;
	  else if (t3=='3')
	    presion=presion+30;
  	  else if (t3=='4')
	    presion=presion+40;
      else if (t3=='5')
	    presion=presion+50;
      else if (t3=='6')
	    presion=presion+60;
	  else if (t3=='7')
	    presion=presion+70;
	  else if (t3=='8')
	    presion=presion+80;
	  else if (t3=='9')
	    presion=presion+90;
	  else if (t3=='0')
	    presion=presion+0;
	  	  if(t4=='1')
	    presion=presion+1;
	  else if (t4=='2')
	    presion=presion+2;
	  else if (t4=='3')
	    presion=presion+3;
  	  else if (t4=='4')
	    presion=presion+4;
      else if (t4=='5')
	    presion=presion+5;
      else if (t4=='6')
	    presion=presion+6;
	  else if (t4=='7')
	    presion=presion+7;
	  else if (t4=='8')
	    presion=presion+8;
	  else if (t4=='9')
	    presion=presion+9;
	  else if (t4=='0')
	    presion=presion+0;
	//presion=(atoi(t2))*100+(atoi(t3))*10+atoi(t4);
	}
	
	}
	wdt_reset(); 
  }
else presionupdate();
return signo;
}

int main(void)
{
  char sign;
  wdt_reset();
  WDTCR = 0x0f;      // wathdog como en 2.2seg
  HumidityInit();
  USART_Init(12);    // 9600 baudios suponiendo fclk=2MHz
	  PIC_DDR =0xFF;		 //puerto pic es output
  DDRD |= DATAVALID;     	 //data valid es output
  DDRD &= ~DATAACCEPTED;	 //data accepted es input				 	 
  DDRD |= RESETPIC;
  DDRD |= LED;
  PORTD &= ~RESETPIC;
  _delay_us(100);
  PORTD |= RESETPIC; 
while(1)
  {
  wdt_reset(); 
  HumidityUpdate();
  tmp1=Hum/100;
  tmp2=(Hum-(tmp1*100))/10;
  tmp3=(Hum-(tmp1*100)-(tmp2*10));
  enviarPIC(tmp1);
  enviarPIC(tmp2);
  enviarPIC(tmp3);
  wdt_reset();
  tmp1=Temp/100;
  tmp2=(Temp-(tmp1*100))/10;
  tmp3=(Temp-(tmp1*100)-(tmp2*10));
  enviarPIC(tmp1);
  enviarPIC(tmp2);
  enviarPIC(tmp3);
  wdt_reset();
  sign=presionupdate();
  PIC_PORT=sign;
  PORTD |= DATAVALID; 	 //DATAVALID=1
	while((PIND & DATAACCEPTED) == 0) 
   	{
	wdt_reset();
	}
  PORTD &= ~DATAVALID; 	 //DATAVALID=0
  	while((PIND & DATAACCEPTED) != 0)
	{
	wdt_reset();
	}
  tmp1=presion/100;
  tmp2=(presion-(tmp1*100))/10;
  tmp3=(presion-(tmp1*100)-(tmp2*10));
  enviarPIC(tmp1);
  enviarPIC(tmp2);
  enviarPIC(tmp3);
  wdt_reset();
  if(sign=='-'||presion<=10)
	PORTD |= LED;
  else PORTD &= ~LED;
  wdt_reset();
  }
return(1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡一区二区三区高清视频| 国产精品国产三级国产普通话99| 亚洲超丰满肉感bbw| 欧美视频日韩视频在线观看| 亚洲黄色小说网站| 9191国产精品| 国内精品伊人久久久久av影院| 精品国产电影一区二区| 国产精品一区二区在线播放 | 欧美日韩一区小说| 午夜国产精品影院在线观看| 日韩欧美电影一二三| 国产91丝袜在线播放0| 亚洲日本在线a| 欧美嫩在线观看| 国产一区视频在线看| 亚洲视频在线一区| 日韩欧美国产一区二区三区| 成人在线视频首页| 亚洲精品少妇30p| 日韩色在线观看| 成人教育av在线| 视频在线在亚洲| 国产欧美1区2区3区| 欧美主播一区二区三区| 国产在线精品一区二区夜色 | 国产精品久久一卡二卡| 欧美色图天堂网| 国产伦精一区二区三区| 亚洲精品乱码久久久久久| 欧美一区二区播放| 不卡的av网站| 蜜臀va亚洲va欧美va天堂| 国产精品久久久久久久久久久免费看| 欧美性色综合网| 国产精品99久久久久久有的能看| 亚洲主播在线播放| 国产亚洲自拍一区| 91精品欧美综合在线观看最新| 国产精品一区在线观看你懂的| 亚洲亚洲人成综合网络| 国产欧美精品区一区二区三区| 91麻豆精品国产| 色中色一区二区| 国产成人在线视频网站| 丝袜诱惑制服诱惑色一区在线观看| 欧美经典一区二区| 欧美大片日本大片免费观看| 欧美性视频一区二区三区| 国产成人亚洲综合a∨猫咪| 人妖欧美一区二区| 一区二区三区在线视频观看| 欧美激情在线看| 欧美成人午夜电影| 制服丝袜日韩国产| 欧美在线影院一区二区| av激情综合网| 春色校园综合激情亚洲| 国模一区二区三区白浆| 欧美a级理论片| 丝袜国产日韩另类美女| 亚洲激情在线播放| 亚洲欧洲三级电影| 国产偷v国产偷v亚洲高清| 亚洲精品一区二区三区香蕉| 欧美精品 日韩| 欧美精品乱人伦久久久久久| 91麻豆精品在线观看| 99re66热这里只有精品3直播| 国产精品白丝jk白祙喷水网站| 精彩视频一区二区| 秋霞午夜av一区二区三区| 亚洲第一主播视频| 日日夜夜一区二区| 日韩av电影免费观看高清完整版| 亚洲午夜一区二区| 亚洲成人动漫一区| 青青草伊人久久| 久久se精品一区精品二区| 日韩vs国产vs欧美| 久久99精品一区二区三区三区| 蜜桃av一区二区三区| 玖玖九九国产精品| 国产一区二区在线电影| 国产成a人亚洲精| a美女胸又www黄视频久久| 99久久99久久精品免费看蜜桃 | 日本丶国产丶欧美色综合| 一本大道久久a久久精二百 | 欧美日韩电影一区| 91精品国产综合久久久蜜臀图片| 555www色欧美视频| 日韩欧美美女一区二区三区| 精品国产乱码久久久久久浪潮| 久久久国产精品不卡| 国产精品久久影院| 一区二区免费在线| 蜜桃91丨九色丨蝌蚪91桃色| 国产综合久久久久久久久久久久 | 99国产精品久久久久久久久久久| 99精品视频在线免费观看| 欧美性猛片aaaaaaa做受| 欧美一区二区啪啪| 久久综合五月天婷婷伊人| 国产精品嫩草影院com| 一个色在线综合| 麻豆成人av在线| 成人在线视频一区二区| 欧美亚洲愉拍一区二区| 精品卡一卡二卡三卡四在线| 国产欧美一区二区三区鸳鸯浴| 亚洲乱码国产乱码精品精可以看| 午夜视频一区在线观看| 国产河南妇女毛片精品久久久| 91亚洲精品一区二区乱码| 欧美精品乱人伦久久久久久| 久久精品夜夜夜夜久久| 亚洲乱码国产乱码精品精的特点 | 国产成人av在线影院| 色狠狠色狠狠综合| 亚洲精品一区二区三区影院 | 亚洲综合色区另类av| 韩国女主播一区二区三区| 色8久久精品久久久久久蜜| 日韩免费看网站| 亚洲女与黑人做爰| 国产又粗又猛又爽又黄91精品| 91亚洲大成网污www| 精品国产露脸精彩对白| 亚洲午夜精品17c| 成人一区二区三区视频| 91精品国产综合久久精品图片 | 亚洲综合自拍偷拍| 国产九色sp调教91| 欧美一区在线视频| 一区二区三区欧美日| 国产 日韩 欧美大片| 欧美一级日韩免费不卡| 一区二区三区精品视频| 成人在线一区二区三区| 2021国产精品久久精品| 五月天一区二区三区| 91小视频免费看| 国产精品网站在线观看| 国产一区二区三区电影在线观看 | 精一区二区三区| 欧美日韩国产系列| 一区二区在线观看免费视频播放| 国产成人在线影院 | 欧美日韩精品是欧美日韩精品| 日本一区二区三区四区在线视频 | 亚洲一本大道在线| 91论坛在线播放| 国产精品剧情在线亚洲| 国产福利一区在线观看| 精品国产乱码久久久久久1区2区| 日韩av电影一区| 在线播放/欧美激情| 亚洲图片欧美综合| 欧美私人免费视频| 亚洲一区二区视频| 欧美色图片你懂的| 亚洲h在线观看| 欧美群妇大交群中文字幕| 樱桃视频在线观看一区| 91看片淫黄大片一级| 一区二区三区精品视频| 欧美在线999| 午夜亚洲国产au精品一区二区 | 在线综合+亚洲+欧美中文字幕| 亚洲最大的成人av| 欧美日韩你懂得| 日日骚欧美日韩| 欧美成人激情免费网| 九一九一国产精品| 久久久99精品免费观看不卡| 国产激情一区二区三区| 中文字幕一区二区三区四区| 成人精品视频一区| 亚洲六月丁香色婷婷综合久久| 欧美亚洲动漫精品| 日本欧美肥老太交大片| 2020日本不卡一区二区视频| 国产成人无遮挡在线视频| 国产精品久久久久久久久动漫| 一本一本久久a久久精品综合麻豆| 亚洲欧美激情小说另类| 欧美猛男超大videosgay| 久久99久久久欧美国产| 国产日产欧美精品一区二区三区| av欧美精品.com| 亚洲成人久久影院| 欧美精品一区二区三| 成人免费观看av| 亚洲国产aⅴ天堂久久| 欧美大肚乱孕交hd孕妇| 成人在线一区二区三区| 亚洲国产日韩a在线播放性色| 日韩精品在线网站| 91丨porny丨中文|