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

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

?? jbmcomm.c

?? 電話PSTN線路上FSK處理軟件。。。。。。。。。
?? C
?? 第 1 頁 / 共 3 頁
字號:

/************************************************************
 *
 *		文件名: jbmcomm.c
 *		說	明:MODEM通信主文件
 *		主要含: 計費器上呼管理機函數: UpCall()
 *			   管理機呼叫計費器函數: DownCall()
 *
 *************************************************************/

//#pragma SRC
//#pragma DEBUG

#include <jbMcomm.h>

#define MODEM_TEST 1

/************************************************************
 *
 *		函	數:UpCall(void)
 *		說	明:計費器呼叫管理機程序
 *				手動,出錯自動呼叫及回報話單均調用本過程
 *
 ***********************************************************/
void UpCall(void)
{
	byte bBuf;
	bErrorCode=ERR_NO;				// 缺省設置為無錯
	cbFangDao=0;					// 啟動發防盜音
	while(TRUE)
	{
		if(!Dial()){				// 撥管理機電話號碼
			bErrorCode=ERR_00;
			break;
		}
		if(!ConnectModem()){ 		// MODEM聯絡過程
			bErrorCode=ERR_01;
			break;
		}
		if(!RxFirstOK())			// 接收管理機下傳的第一個OK
			break;
		SendTelNum(1);
		if(!RxByte())
			break;
		bBuf=bRecSBUF;
		if(!RxByte())
			break;
		if((bBuf==END)&&(bBuf==~bRecSBUF)){				// 無此用戶
			bErrorCode=ERR_21;
			break;
		}
		if((bBuf==ERR_CS)&&(bBuf==~bRecSBUF)){
			fWorkMode=0;
			bStatusWord=S_OLDUPCOMM;
			return;
		}
		if((bRecSBUF!=0xbb)||((bBuf!=0x88)&&(bBuf!=0x99))){
			TxByte(0xcc);
			TxByte(0xdd);
			bErrorCode=ERR_31;
			break;
		}
		if(bBuf==0x88){
			fWorkMode=0;
			bStatusWord=S_OLDUPCOMM;	// 新系統下按OLD模式通信
			return;
		}
		fWorkMode=1;
		bStatusWord=S_NEWUPCOMM;		// 新系統下按NEW模式通信
		return;
	}
	ExitPro();							// 關閉CML644A并延時顯示出錯信息
}
// End function: UpCall()

/************************************************************
 *
 *
 *		函	數:DownCall
 *		說	明:管理機呼叫計費器程序,收到聯絡音后進入
 *
 *
 ***********************************************************/
void DownCall(void)
{
	byte i,bBuf,k,j;
	bErrorCode=ERR_NO;
	bCallReason=0xff;
	cbFangDao=0;
	////////////////////////////////////
	bDlpReason=0;
	InitLevel();
	FSK=1;
	EA=0;
	IE=0x00;
	TMOD=0x21;
	SCON=0x40;					// 串口工作模式1,8位UART
	TH0=L5MS_H;				// 主頻為11.0592MHZ,5MS定時常數
    TL0=L5MS_L;
    ET0=1;
    TH1=0xfc;					// 串口9600BPS定時常數
	TL1=0xfc;
	TI=0;
	RI=0;
	TR1=0;
    REN=1;
    ES=1;
    T2CON=0x00;
	T2MOD=0x00;
	TF2=0;
	TR2=0;
	RCAP2H=0xff;						// 278US
	RCAP2L=0x56;
	TH2=0xff;
	TL2=0x56;
	ET2=1;
	EA=1;
	PCON=0x80;


    P1=(P1&0xf8)|0x06;
    Close(MD_CS);
	ResetUart();
	P1=(P1&0xf8)|0x05;
	aCallID[99]=0;
    aCallID[98]=0;
    aCallID[97]=0;
    TR2=0;
    TR1=1;
    TR0=0;

	bCurrentVoltage=0;
	fTxFSKStart=1;
	while(1){
		for(j=0;j<10;j++){
			TxByte(j);
		}
		TxByte(aCallID[99]);
		TxByte(aCallID[98]);
		TxByte(aCallID[97]);

		j=0;
		i=0;
		k=0;
		while(1){
			switch(k){
				case 0:
					TR0=1;
					EA=1;
					Delay5MS(100);
					TR0=0;
					TR1=0;
					TR2=0;
					EA=0;
					P1=(P1&0xf8)|0x06;
					k=1;
					break;


				case 1:
					j=0;
					for(i=0;i<8;i++){
						TxFskByte(0x55);
					}
					for(i=0;i<2;i++){
						TxFskByte(0xFF);
					}
						TxFskByte(0x80);
					while(j<128){
						TxFskByte(j++);
					}
					k=2;
					break;

				case 2:
					InitLevel();
					P1=(P1&0xf8)|0x05;
					TR0=1;
					TR1=1;
					TR2=1;
					EA=1;
					Delay5MS(200);
					TxByte(0xaa);
					TxByte(0xaa);
					k=3;
					break;

				case 3:
					Delay5MS(60);
					cbDelay5MS=200;
        			fDelay5MS=0;
					while(!fDelay5MS){
						if(aCallID[99]>0){
							if(RxFskByte(&j))
							TxByte(j);
							cbDelay5MS=200;
							fDelay5MS=0;
						}
					}
					k=0;
					break;


				default :
					TxByte(0xfa);
					TxByte(0xfa);
					break;
			}
		}
	}
	////////////////////////////////////


	while(TRUE){
		if(!ConnectModem()){
			bErrorCode=ERR_01;			// 載波聯絡失敗
			break;
		}
		DispSymbol(LARGE_COMM);
		DelaySecond(2);
		TxCmd(OK);
		for(i=0,bBuf=0;i<17;i++){
			if(!RxByte())
				return;
			if(i<16)
				bBuf+=bRecSBUF;
		}
		if(bBuf==bRecSBUF){
			fWorkMode=0;
			bCallReason=0x88;
			bStatusWord=S_OLDDOWNCOMM;
			return;
		}
		if(bBuf!=~bRecSBUF){
			TxByte(0xcc);
			TxByte(0xdd);
			bErrorCode=ERR_31;
			break;
		}
        //TxCmd(OK);
        TxByte(0x66);
        TxByte(0xbb);
		if(!RxByte())
			break;
		bBuf=bRecSBUF;
		if(!RxByte())
			break;
		if((bRecSBUF!=0xbb)||((bBuf!=0x88)&&(bBuf!=0x99))){
			bErrorCode=ERR_31;
			break;
		}
		bCallReason=0x99;
		if(bBuf==0x88){
			if(fWorkMode)
				fSecretSelect=0;
			fWorkMode=0;
			bStatusWord=S_OLDDOWNCOMM;
			return;
		}
		if(!fWorkMode)
			fSecretSelect=0;
		fWorkMode=1;
		bStatusWord=S_NEWDOWNCOMM;
		return;
	}
	ExitPro();
}
// End function: DownCall()

/************************************************************
 *
 *		函	數:OldComm()
 *		說	明:OLD模式數據交換過程
 *				OLD模式上呼和下傳均調用本函數
 *
 ***********************************************************/
void OldComm(void)
{
	byte bTemp;
	byte bRecord=0;
	bool fTest;
	uint iCommFail;
	bErrorCode=ERR_NO;
	if(bStatusWord==S_OLDUPCOMM){
		SendTelNum(0);
		while(1){
			if(RxCmd())
				break;
			if(bRecSBUF==OK)
				break;
			else
				bErrorCode=ERR_04;
			ExitPro();
			return;
		}
		if((bCallReason==NEW_TEST)||(bCallReason==NEW_REPORT_BILLS))
			bCallReason=OLD_TEST;
		if(bCallReason==OLD_TEST)
			bRecord=1;
	}
	else{									// OLD模式下傳通信準備
		if(bCallReason==0x88)				//老系統下傳
			TxCmd(ERR_CS);
		else
			TxCmd(OK);
		bCallReason=DYNAMIC_PASSWORD;		// 接收動態密碼
	}
	fWorkMode=0;
	while(TRUE)
	{
		if(bCallReason==DYNAMIC_PASSWORD)
			bTemp=bCallReason;
		else{
			bTemp=SearchCmd(bCallReason);
			DispCmd(bTemp);						// 顯示通信代碼
		}
		if(bTemp==0xff)
			break;
		fTest=0;
		iCommFail=0;
		switch(bCallReason)
		{
			case OLD_TEST:					// 0x23
				OldTest();
				fTest=1;
				break;
			case DYNAMIC_PASSWORD:			// 0x09
				DynamicPassword();
				break;
			case OLD_REPORT_BILLS:			// 0x20
				OldReportBills();
				break;
			case OLD_DAYTOTAL:				// 0x24
				OldDayTotal();
				break;
			case OLD_SCALL_TOTAL:			// 0x25
				OldScallTotal(bCallReason);
				break;
			case OLD_POWERONOFF:	 		// 0x26
				OldPowerOnOff();
				break;
			case OLD_SYSTEM:				// 0x10
				OldSystem();
				break;
			case OLD_DISABLE:				// 0x12
				OldDisable();
				break;
			case OLD_DISCOUNT:				// 0x11
				OldDiscount();
				break;
			case OLD_IDD_TARIFF:			// 0x16
				iCommFail=PARA_229;
				OldIDDTariff();
				break;
			case OLD_DDD_TARIFF:			// 0x17
				iCommFail=PARA_230;
				OldDDDTariff();
				break;
			case OLD_LOCAL_TARIFF:			// 0x18
				iCommFail=PARA_231;
				OldLocalTariff();
				break;
			case OLD_IDD_CLASS:				// 0x13
				iCommFail=PARA_226;
				OldIDDClass();
				break;
			case OLD_DDD_CLASS:				// 0x14
				iCommFail=PARA_227;
				OldDDDClass();
				break;
			case OLD_LOCAL_CLASS:			// 0x15
				iCommFail=PARA_228;
				OldLocalClass();
				break;
			case OLD_QUERY_BILLS:			// 0x1c
				OldQueryBills();
				break;
			case OLD_REPORT_QUERYBILLS:		// 0x22
				OldReportQueryBills();
				break;
			case OLD_CLOCK:		      		// 0x19
				OldClock();
				break;
			case QUERY_VERSION:				// 0x81
				QueryVersion();
				break;

			default:
				bErrorCode=ERR_33;			// 收到異常命令
				break;
		}// End switch(bCallReason)
		// 接收下一條命令或進行出錯處理:
		if(bDlpReason!=0) return;
		if((bErrorCode!=ERR_NO)||(!RxCmd())){
			// yxw 2001-03-15 15:30 add 避免通訊不成功時,寫入不完整的數據,更改校驗和
			if((iCommFail>=PARA_226)&&(iCommFail<PARA_232)){
				Page(6);
				XBYTE[PARA_76]=1;
				Page(5);
			}
			break;
		}
		if(bRecSBUF==END){
			if(fTest){
				bErrorCode=ERR_21;
				break;
			}
			AutoReadPara(47);
			if(bParaByte!=0x88){
				bParaByte=0x88;
				AutoWritePara(47);
				ClrRam();
			}
			if(bRecord==2)
				bCallReason=OLD_TEST;
			break;
		}
		bCallReason=bRecSBUF;
		if(bCallReason==OLD_CLOCK)
			bRecord++;
		else
			bRecord=0;
	} //End while(TRUE)
	ExitPro();
}
// End function: OldComm()

/************************************************************
 *
 *		函	數:OldTest()
 *		說	明:OLD模式上傳測試參數
 *
 ***********************************************************/
void OldTest(void)
{
	byte i;
	TxCmd(OLD_TEST);
	if(!RxCmd())
		return;
	if(bRecSBUF!=OK){
		if(bRecSBUF==END)
			bErrorCode=ERR_21;
		else
			bErrorCode=ERR_05;
		return;
	}
	bPaBuf=OLD_TEST_PA;			// 0x00;
	bNeBuf=OLD_TEST_NE;			// 0x0a;
	if(!TxPaNe()){
		return;
	}
	i=0;
	memcpy(&aDataBuf,&aTestPara,9);
	if(!TxData())
		return;
	TxCmd(EQ);	 				// 尋問管理機下一命令
}
// End function: OldTest()

/************************************************************
 *
 *		函	數:DynamicPassword()
 *		說	明:校驗動態密碼及接收實時時鐘
 *				OLD模式和NEW模式共用本函數
 *
 ***********************************************************/
void DynamicPassword(void)
{
	byte i,bTemp;
	byte xdata *Point;
	byte data aTemp[6];
	uint iAddr;
	bPaBuf=0x00;
	bNeBuf=0x10;
	iPaNeNum=0;
	if(!RxData())
		return;
	if(fWorkMode)
		iAddr=PARA_00;
	else
		iAddr=PARA_200;
	ReadData(1,iAddr,6,&aTemp);
	if(fSecretSelect){
		if((aTemp[2]!=0)&&(memcmp(&aDataBuf,&aTemp,6)!=0)){
			TxCmd(ERR_PW);
			bErrorCode=ERR_03;
			return;
		}
	}
	bParaByte=0;
	AutoWritePara(78);
	aTemp[0]=aDataBuf[15];			// 記錄動態密碼
	aTemp[1]=aDataBuf[14];
	aTemp[2]=aDataBuf[13];
	aTemp[3]=aDataBuf[10];
	aTemp[4]=aDataBuf[8];
	aTemp[5]=aDataBuf[6];
	WriteData(1,iAddr,6,&aTemp);
	Page(6);						// 暫停12887走時
	XBYTE[RTC_CONTROLB]=0x92;
	Page(5);
	// 存儲實時時鐘
	for(i=0,Point=0xc000;i<10;i++,Point++){
		bTemp=aDataBuf[i+6];
		Page(6);
		*Point=bTemp;
		Page(5);
	}
	Page(6);						// 啟動12887繼續走時
	XBYTE[RTC_CONTROLB]=0x12;
	Page(5);
	TxCmd(OK);
}
// End function: DynamicPassword()

/************************************************************
 *
 *		函	數:OldReportBills()
 *		說	明:OLD模式自動回報話單
 *
 ***********************************************************/
void OldReportBills(void)
{
	byte i,j,bTemp;
	uint cNoReport;
	uint ciBills;
	TxCmd(OLD_REPORT_BILLS);
	if(!RxCmd())
		return;
	if(bRecSBUF!=OK){
		bErrorCode=ERR_05;
		return;
	}
    // 計算需回報話單的Pa,Ne:
    AutoReadPara(69);
    cNoReport=iParaWord;				//匯報話單數量
    ciBills=iParaWord*OLD_BILL_LEN;		//匯報話單長度
    bPaBuf=(byte)(ciBills/128);
    bNeBuf=(byte)(ciBills%128);
    if(bNeBuf==0){
    	bNeBuf=128;
    	--bPaBuf;
    }
	if(!TxPaNe())
		return;
	// 從話單存儲區取內容到aDataBuf[]緩沖區:
    AutoReadPara(68);					//匯報話單指針
	ciBills=OLD_BILLS_ADDR+iParaWord*OLD_BILL_LEN;
	iParaWord=0;
	for(i=0;i<cNoReport;i++){
		for(j=0;j<OLD_BILL_LEN;j++){
			Page(1);
			bTemp=XBYTE[ciBills++];
			Page(5);
			aDataBuf[iParaWord++]=bTemp;
		}
		if(ciBills>=(OLD_BILLS_ADDR+200*OLD_BILL_LEN))
			ciBills=OLD_BILLS_ADDR;
	}
	if(!TxData())
		return;
	iParaWord=0;
	AutoWritePara(69);
	AutoReadPara(67);
	AutoWritePara(68);
	TxCmd(EQ);
}
// End function: OldReportBills();

/************************************************************
 *
 *		函	數:OldDayTotal()
 *		說	明:OLD模式上傳日分項合計記錄
 *
 ***********************************************************/
void OldDayTotal(void)
{
	TxCmd(OLD_DAYTOTAL);
	if(!RxCmd())
		return;
	if(bRecSBUF!=OK){
		bErrorCode=ERR_05;
		return;
	}
	bPaBuf=OLD_DAYTOTAL_PA;			// 0x01;
	bNeBuf=OLD_DAYTOTAL_NE;			// 0x70;
	if(!TxPaNe())
		return;
	GeneralReadData(1,OLD_DAYTOTAL_ADDR,iPaNeNum,&aDataBuf);
	if(!TxData())
		return;
	TxCmd(EQ);
}
// End function: OldDayTotal()

/************************************************************
 *
 *		函	數:OldPowerOnOff()
 *		說	明:OLD模式上傳開關機記錄
 *
 ***********************************************************/
void OldPowerOnOff(void)
{
	TxCmd(OLD_POWERONOFF);
	if(!RxCmd())
		return;
	if(bRecSBUF!=OK){
		bErrorCode=ERR_05;
		return;
	}
	bPaBuf=OLD_POWERONOFF_PA;		// 0x02;
	bNeBuf=OLD_POWERONOFF_NE;		// 0x00;
	if(!TxPaNe())
		return;
	GeneralReadData(1,OLD_POWERONOFF_ADDR,iPaNeNum,&aDataBuf);
	if(!TxData())
		return;
	TxCmd(EQ);
}
// End function: OldPowerOnOff()

/************************************************************
 *
 *	函	數:OldSystem()
 *	說	明:OLD模式接收系統參數
 *
 ***********************************************************/
void OldSystem(void)
{
	TxCmd(OK);
	if(!RxPaNe())
		return;
	if((bPaBuf!=OLD_SYSTEM_PA)||(bNeBuf!=OLD_SYSTEM_NE)){
		bErrorCode=ERR_05;
		return;
	}
	if(!RxData())
		return;
	GeneralWriteData(OLD_SYSTEM_ADDR);
	bParaByte=CalcCSSubA(OLD_SYSTEM_ADDR,iPaNeNum);
	AutoWritePara(223);
	TxCmd(OK);
}
// End function: OldSystem()

/************************************************************
 *
 *		函	數:OldDisable()
 *		說	明:OLD模式上傳測試參數
 *
 ***********************************************************/
void OldDisable(void)
{
	TxCmd(OK);
	if(!RxPaNe())
		return;
	if((bPaBuf!=OLD_DISABLE_PA)||(bNeBuf!=OLD_DISABLE_NE)){
		bErrorCode=ERR_05;
		return;
	}
	if(!RxData())
		return;
	GeneralWriteData(OLD_DISABLE_ADDR);
	bParaByte=CalcCSSubA(OLD_DISABLE_ADDR,iPaNeNum);
	AutoWritePara(225);
	TxCmd(OK);
}
// End function: OldDisableNumber()

/************************************************************
 *
 *		函	數:OldDiscount()
 *		說	明:OLD模式接收折扣參數
 *
 ***********************************************************/
void OldDiscount(void)
{
	TxCmd(OK);
	if(!RxPaNe())
		return;
	if((bPaBuf!=OLD_DISCOUNT_PA)||(bNeBuf!=OLD_DISCOUNT_NE)){
		bErrorCode=ERR_05;
		return;
	}
	if(!RxData())
		return;
	GeneralWriteData(OLD_DISCOUNT_ADDR);
	bParaByte=CalcCSSubA(OLD_DISCOUNT_ADDR,iPaNeNum);
	AutoWritePara(224);
	TxCmd(OK);
}
// End function: OldDiscount()

/************************************************************
 *
 *		函	數:OldIDDClass()
 *		說	明:OLD模式接收國際級數表
 *
 ***********************************************************/
void OldIDDClass(void)
{
	TxCmd(OK);
	if(!RxPaNe())
		return;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜精品一区二区三区| 精品国产免费一区二区三区四区| 亚洲午夜久久久久久久久久久 | 久久久久久麻豆| 国产iv一区二区三区| 亚洲欧洲国产专区| 欧美在线免费观看亚洲| 蜜桃久久久久久久| 国产欧美在线观看一区| 91一区二区在线观看| 天堂在线亚洲视频| 精品国产sm最大网站| 99国产欧美久久久精品| 亚洲成人在线网站| 久久网站热最新地址| 亚洲精品伦理在线| 91精品国产欧美日韩| 国产伦精品一区二区三区免费迷 | 成人免费视频一区二区| 一区二区三区鲁丝不卡| 日韩欧美在线网站| thepron国产精品| 日韩高清不卡一区二区三区| 久久午夜羞羞影院免费观看| 色哟哟一区二区在线观看| 日韩成人精品视频| 国产欧美日韩在线观看| 91黄色小视频| 精品一区二区久久| 亚洲六月丁香色婷婷综合久久| 麻豆精品一区二区综合av| 中文字幕中文字幕中文字幕亚洲无线 | 国产乱淫av一区二区三区| 国产精品乱码久久久久久| 欧美日韩三级视频| 国产精品456| 亚洲成人第一页| 亚洲国产高清不卡| 在线不卡欧美精品一区二区三区| 国产成人综合网站| 五月天激情综合网| 国产精品久久久久久久久久免费看 | 欧美一区二区三区思思人| 成人在线视频一区二区| 日韩亚洲欧美中文三级| av中文字幕一区| 美腿丝袜在线亚洲一区 | 亚洲三级免费观看| 欧美成人乱码一区二区三区| 色乱码一区二区三区88| 国产一区二区视频在线| 亚洲高清在线精品| 国产精品嫩草影院av蜜臀| 欧美一区二区三区四区高清| 色吧成人激情小说| 国产suv精品一区二区883| 日韩成人精品在线观看| 一区二区三区四区乱视频| 国产无一区二区| 日韩欧美aaaaaa| 欧美日韩一级黄| 99久久夜色精品国产网站| 国产精品资源网站| 日本免费新一区视频| 欧美日韩在线不卡| 91一区二区三区在线播放| 国产成人啪午夜精品网站男同| 免费成人在线播放| 亚洲成人av一区| 一区二区高清免费观看影视大全 | 日韩欧美一二三| 欧美性感一类影片在线播放| 成人av在线资源| 国产在线一区二区综合免费视频| 五月激情六月综合| 亚洲一区二区三区激情| 亚洲欧美日韩电影| 国产精品五月天| 2欧美一区二区三区在线观看视频| 7777精品久久久大香线蕉| 欧美午夜在线观看| 在线精品观看国产| 一区二区三区在线视频观看58| 欧美激情在线一区二区| 精品不卡在线视频| 精品99久久久久久| wwwwxxxxx欧美| 日韩欧美美女一区二区三区| 欧美精品久久天天躁| 欧美日韩一级黄| 欧美日韩aaaaaa| 欧美人狂配大交3d怪物一区| 欧美午夜免费电影| 欧美午夜精品一区二区蜜桃| 色8久久人人97超碰香蕉987| 日本精品视频一区二区| 在线免费亚洲电影| 欧美三级三级三级| 欧美日韩一区高清| 91.com在线观看| 91.xcao| 日韩欧美的一区二区| 日韩欧美成人午夜| 2020国产精品自拍| 成人一区在线看| 成人在线视频一区| 99久久精品免费看| 91免费观看视频在线| 91国内精品野花午夜精品| 欧美视频一区二| 欧美日本国产视频| 日韩免费高清av| 欧美精品一区二区在线播放| 久久久亚洲精品一区二区三区 | 精品国产91洋老外米糕| 337p日本欧洲亚洲大胆精品| 久久久精品免费免费| 不卡一区二区在线| av中文字幕在线不卡| 日本韩国一区二区三区视频| 欧美在线综合视频| 欧美丰满一区二区免费视频| 另类人妖一区二区av| 国产一区二区三区四区在线观看| 国产精品66部| 一本久久a久久精品亚洲| 欧美影片第一页| 欧美一区二区三区四区在线观看| 精品美女在线观看| 中文字幕高清不卡| 伊人婷婷欧美激情| 日日夜夜精品视频免费| 久久99精品国产91久久来源| 风流少妇一区二区| 欧美亚洲国产一区在线观看网站 | 3751色影院一区二区三区| 欧美电影免费提供在线观看| 国产亚洲午夜高清国产拍精品| 中文子幕无线码一区tr| 亚洲精品久久7777| 日本亚洲三级在线| 风间由美一区二区av101| 在线视频国内一区二区| 欧美一区二区视频网站| 99久久777色| 欧美人狂配大交3d怪物一区| 亚洲精品一区二区三区在线观看 | 久久 天天综合| 成人91在线观看| 精品视频免费在线| 337p日本欧洲亚洲大胆色噜噜| 亚洲人一二三区| 奇米影视一区二区三区小说| 粉嫩绯色av一区二区在线观看| 欧日韩精品视频| 精品成人一区二区| 亚洲日本在线a| 美女免费视频一区二区| zzijzzij亚洲日本少妇熟睡| 欧美高清www午色夜在线视频| 久久精子c满五个校花| 亚洲精品va在线观看| 国产综合一区二区| 欧洲精品在线观看| 久久亚洲综合色一区二区三区| 亚洲欧美日韩中文播放| 狠狠色狠狠色综合| 亚洲成人自拍偷拍| 国产成人免费视频| 欧美精品在线一区二区三区| 国产欧美日韩在线视频| 日韩二区三区四区| 99免费精品视频| 欧美精品一区二区三| 亚洲在线观看免费视频| 国产一区二区日韩精品| 欧美日韩综合不卡| 欧美国产乱子伦 | 国产一区二区福利| 欧美日韩卡一卡二| 国产精品久久久久久妇女6080 | 精品国精品国产| 一二三四区精品视频| 国产精品1区2区| 69堂精品视频| 一区二区视频免费在线观看| 国产一区二区在线看| 91精品婷婷国产综合久久| 欧美视频中文字幕| 欧美国产精品一区| 久久国产人妖系列| 欧美视频中文字幕| 亚洲人精品一区| 国产一区二区精品久久99| 91精品国产一区二区| 亚洲自拍偷拍网站| 91色porny| 日本一区二区三区国色天香| 麻豆久久一区二区| 欧美军同video69gay|