亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
91久久精品国产91性色tv | 亚洲免费观看高清完整版在线观看熊| 欧美亚洲综合网| 色吧成人激情小说| 欧洲精品一区二区三区在线观看| 国产精品一区二区三区乱码| 狠狠色狠狠色综合| 国产盗摄精品一区二区三区在线| 国产精品乡下勾搭老头1| 国产揄拍国内精品对白| 成人久久18免费网站麻豆| 国产成人精品1024| 成人在线视频一区二区| 一本久久a久久免费精品不卡| a亚洲天堂av| 91精品国产综合久久精品麻豆 | 亚洲黄网站在线观看| 天堂资源在线中文精品| 日韩成人一级片| 丰满少妇在线播放bd日韩电影| 成人精品视频.| 欧美一区二区人人喊爽| 国产日韩欧美不卡| 天天影视涩香欲综合网| 久久97超碰色| 欧美美女视频在线观看| 日本一区二区三区电影| 婷婷国产在线综合| 99精品久久只有精品| 精品国产不卡一区二区三区| 亚洲综合激情另类小说区| 国产精品一区二区不卡| 欧美影院一区二区| 中文字幕在线不卡国产视频| 亚洲欧洲韩国日本视频| 精品在线一区二区| 91精品婷婷国产综合久久性色| 久久久青草青青国产亚洲免观| 婷婷久久综合九色国产成人| 色综合天天综合| 国产精品久线观看视频| 精品无人码麻豆乱码1区2区 | 亚洲成人在线网站| 国产白丝精品91爽爽久久| 久久欧美一区二区| 国内精品久久久久影院薰衣草| 制服.丝袜.亚洲.中文.综合| 午夜视频在线观看一区| 91麻豆精品国产综合久久久久久| 亚洲综合丝袜美腿| 欧美日韩免费电影| 免费在线视频一区| 2020国产精品久久精品美国| 国产成人在线视频网站| 国产欧美一区二区三区网站| 成人免费高清在线| 一区二区三区四区视频精品免费 | 国产精品一区免费视频| 国产精品色婷婷久久58| 在线区一区二视频| 蜜臀va亚洲va欧美va天堂| 久久精品人人做人人爽97| www.久久久久久久久| 日韩精品一级中文字幕精品视频免费观看| 欧美麻豆精品久久久久久| 久久99国产精品尤物| 又紧又大又爽精品一区二区| 色琪琪一区二区三区亚洲区| 视频一区中文字幕| 亚洲欧美在线高清| 日韩精品中文字幕一区二区三区 | 欧美一区二区三区人| 丰满亚洲少妇av| 激情五月激情综合网| 日韩理论片一区二区| 久久综合丝袜日本网| 欧美亚洲高清一区二区三区不卡| 国产伦精品一区二区三区视频青涩| 亚洲精品五月天| 亚洲裸体在线观看| 国产精品久久久久婷婷| 国产亚洲一区二区三区| 日韩精品一区二区三区四区视频| 一本大道久久精品懂色aⅴ| 国产在线观看免费一区| 国产在线精品免费av| 美国精品在线观看| 人人精品人人爱| 久久99精品久久久久久国产越南 | 555www色欧美视频| 欧美三级资源在线| 在线亚洲精品福利网址导航| av在线不卡电影| 成人av网站在线观看| 97久久精品人人爽人人爽蜜臀| 成人av网站在线| 欧洲中文字幕精品| 欧美一区二区免费观在线| 欧美成人精品1314www| 精品久久久久久亚洲综合网| 久久伊99综合婷婷久久伊| 91同城在线观看| 成人黄色a**站在线观看| 波多野结衣中文字幕一区二区三区| 成人免费毛片高清视频| 在线观看日产精品| 日韩一级片网站| 最新不卡av在线| 美腿丝袜在线亚洲一区| av成人免费在线| 91精品在线免费观看| 中文成人av在线| 无吗不卡中文字幕| 成人黄色av电影| 精品成人私密视频| 亚洲第一福利视频在线| 韩国成人精品a∨在线观看| 色哟哟国产精品| 久久精品视频在线看| 男女男精品网站| 日本精品视频一区二区三区| 久久久精品一品道一区| 日韩精品一区第一页| 欧美在线高清视频| 国产三级欧美三级日产三级99| 亚洲午夜影视影院在线观看| 成人福利视频在线看| 久久人人97超碰com| 奇米影视一区二区三区| 欧美日韩成人一区二区| 亚洲国产精品久久久男人的天堂| 国产91露脸合集magnet| 精品成人一区二区| 国产高清视频一区| 日本一区二区视频在线| 成人精品免费看| 国产精品国产精品国产专区不片| 国产精品18久久久久久久网站| 久久综合九色综合欧美亚洲| 蜜桃久久久久久| 久久九九99视频| 99久久伊人久久99| 亚洲一区二区三区四区五区黄| 91国模大尺度私拍在线视频| 一区二区三区中文字幕精品精品 | 久久一日本道色综合| 国产成人av电影免费在线观看| 国产精品美女一区二区在线观看| 国产99精品国产| 亚洲一区免费观看| 日韩一级二级三级| 成人妖精视频yjsp地址| 夜夜嗨av一区二区三区中文字幕 | 日本成人在线电影网| 欧美经典三级视频一区二区三区| 不卡区在线中文字幕| 丝袜美腿亚洲一区| 中文字幕精品一区二区三区精品| 99久久综合精品| 国产乱码字幕精品高清av | 欧美日韩电影在线播放| 国产成人免费xxxxxxxx| 丝袜美腿高跟呻吟高潮一区| 国产精品动漫网站| 久久先锋影音av鲁色资源| 欧美三级视频在线播放| 成人高清伦理免费影院在线观看| 美日韩一区二区三区| 亚洲综合图片区| 亚洲黄色av一区| 自拍偷拍国产精品| 国产精品乱子久久久久| 久久嫩草精品久久久久| 日韩精品一区二区三区swag | 欧美一级高清片| 宅男在线国产精品| 日韩一区二区三区免费看| 91色porny蝌蚪| 亚洲日韩欧美一区二区在线| 欧美群妇大交群的观看方式| 91玉足脚交白嫩脚丫在线播放| 国产精品69毛片高清亚洲| 极品瑜伽女神91| 国产成人免费在线观看不卡| 国产精品996| jlzzjlzz亚洲日本少妇| 丁香亚洲综合激情啪啪综合| 成人激情综合网站| 欧美影片第一页| 日韩一级精品视频在线观看| 久久久www成人免费毛片麻豆 | 国产精品一二三四五| 成人av免费网站| 欧美久久久久久久久中文字幕| 91麻豆精品国产无毒不卡在线观看| 欧美一区二区视频在线观看2022| 亚洲精品一区二区三区在线观看 | 波多野结衣精品在线| 欧美亚洲国产怡红院影院| 久久久不卡网国产精品二区|