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

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

?? main.c

?? 程序概述: 這是個具體產品程序
?? C
?? 第 1 頁 / 共 4 頁
字號:
// Copyright (c)2005 - 2006 by Laser Electronics, All Rights Reserved.
/*----------------------------------------------------------------------------+
|  File Name:  Main.c, v1.0.1                                                 |
|  Author:     								                                  |
|  Date:                                                                      |
+-----------------------------------------------------------------------------+
|  Description: 聯網型智能樓宇對講系統 -- 管理中心機主程序文件                |
|               器件選擇 -- STC89C58RD+, PQFP-44                              |
|               時鐘頻率 -- 24.000 MHz                                        |
+-----------------------------------------------------------------------------+
|  Release Notes:                                                             |
|                                                                             |                                                                             |
+----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------+
| Include files                                                               |
+----------------------------------------------------------------------------*/
#include "Main.h"
#include "LCD.h"
#include "UART.h"
#include "Timer.h"
#include "KeyProcess.h"
#include "RouteTable.h"

/*----------------------------------------------------------------------------+
| Type Definition & Macro                                                     |
+----------------------------------------------------------------------------*/
// I2C存儲器的配置:使用24C512,64K字節空間, 0x0000 ~ 0xFFFF, 這里只用到16K字節
/*----------------------------------------------------------------------------+
| 0x0000(2字節): 系統標志
| 0x0002(1字節): 雙擊間隔時間
| 0x0003(1字節): 管理機輪檢門口機的時間間隔
| 0x0004(2字節): 小區的路由信息I2C起始地址
| 0x0006(2字節): 小區的路由信息長度
| 0x0008(2字節): 射頻卡信息起始地址
| 0x000A(2字節): 射頻卡信息長度
| 0x000C(2字節): 報警信息起始地址
| 0x000E(2字節): 報警信息長度
| 0x0010(2字節): 報警記錄第一條記錄的地址
| 0x0012(2字節): 報警記錄最后一條記錄的地址
| 0x0020 - 0x002F (16字節): 系統密碼+密碼長度
| 0x0030 - 0x003F (16字節): 管理機LOGO,在管理機空閑模式下LCD屏的第一行顯示的字符
| 0x0400 - 0x07FF (1K字節): 
| 0x0800 - 0x0FFF (2K字節): 存放小區的路由信息,每個單元占用8個字節,所以可以存放256個單元的路由信息
| 0x1000 - 0x1FFF (4K字節): 存放卡號,每張卡號占用16個字節,所以可以存放256張卡號
| 0x2000 - 0x3FFF (8K字節): 存放報警記錄,每條報警記錄占用16個字節,所以可以存放512條報警記錄
+----------------------------------------------------------------------------*/
#define DEFAULT_ROUTE_INFO_START_ADDR	0x0800	// 從0x0800地址處開始
#define DEFAULT_ROUTE_INFO_LENGTH		0x0800	// 用2K字節來存放小區路由信息,每個單元需要8字節,可以存放256個單元的路由信息
#define DEFAULT_RFCARDTAB_START_ADDR	0x1000	// 從0x1000地址處開始
#define DEFAULT_RFCARDTAB_LENGTH		0x1000	// 用4K字節來存放臨時射頻卡號,每張卡需16字節,可以存放256張臨時卡
#define DEFAULT_ALARM_RECORD_START_ADDR	0x2000	// 從0x2000地址處開始
#define DEFAULT_ALARM_RECORD_LENGTH		0x2000	// 用8K字節來存放分機報警記錄,每條記錄需16字節,可以存放512條報警記錄

/*----------------------------------------------------------------------------+
| Extern Variables                                                            |
+----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------+
| Global Variables                                                            |
+----------------------------------------------------------------------------*/

bit bHandleUp;							// 指示手柄是否提起,TRUE為提起狀態,FALSE為壓下狀態
bit LineIdle;							// 當前線路上是否有數據,如果沒有才可以發數據
bit TxOK;								// 當前字節是否已經發送完成

data t_SystemStatus SystemStatus;		// 當前選擇的命令,是監視、查詢還是呼叫等等

data UINT RS485SendWaitTimer;			// RS485總線超時重發計數器,當這個數減計數到MAX_RS485_WAIT_TIMES的倍數的時候重發,減到0的時候表示放棄這一次發送

data UINT MessageShowTimer;				// 消息顯示的時間長短計數器,當這個數減到0的時候清除顯示的消息并回到之前的狀態

data UINT BeepTimer;					// 蜂鳴器發聲定時器

idata BYTE WDT_Counter;					// 看門狗狗糧

idata UINT LineIdleWaitTime;			// 等待485總線空閑需要等待的時間, 根據地址而各不相同

idata UINT RingTimeCounter;				// 振鈴信號持續時間,超過這個時間就會停止振鈴

idata UINT AlarmTimeCounter;			// 報警持續時間,超過這個時間就會停止報警

idata UINT ViewTimeCounter;				// 監視定時器,當這個計數器減計數到0的時候向門口機發送取消監視請求的命令

xdata BYTE ConnectingAddr[4];			// 管理機正在監視的門口機地址

xdata BYTE KeyBuffer[KEY_BUF_LENGTH+1];	// 按鍵緩沖

xdata BYTE CardBuffer[Card_BUF_LENGTH+1];	// 卡號緩沖

xdata t_RouteInfo RouteInfo;			// 路由信息緩沖區

idata BYTE DoubleKeyPressTimer;			// 設定雙擊按鍵的時間間隔,以10ms為單位
idata BYTE CheckDoorIntervalTimer;		// 設定管理機輪檢門口機的時間間隔

idata UINT RouteInfoStartAddr;			// 用于存放各個用戶的路由信息的表格在I2C存儲器中的起始地址
idata UINT RouteInfoLength;				// 用于存放各個用戶的路由信息的表格的長度

idata UINT RFCardTabStartAddr;			// 用于存放各個單元所有卡號對應的I2C地址的表格的頭地址,即表格的地址
idata UINT RFCardTabLength;				// 用于存放各個單元所有卡號對應的I2C地址的表格的長度的地址

idata UINT AlarmRecordStartAddr;		// 存放的報警記錄的首地址
idata UINT AlarmRecordLength;			// 存放的報警記錄的長度

xdata BYTE SystemPassword[MAX_SYSTEM_PASSWORD_LENGTH+1]; // 存放系統管理員密碼,第一個字節為密碼長度

xdata t_AlarmRecord AlarmRecord;		// 報警記錄緩沖區
idata t_AlarmRecord *pAlarmRecord;		// 指向報警記錄的指針

xdata t_RFCardUser RFCardUser;			// 定義記錄刷卡用戶的結構體,包括卡號,用戶名
idata t_RFCardUser *p_RFCardUser;

xdata BYTE I2CBuffer[I2C_PAGE_SIZE] _at_ 0x0000;		// 讀寫I2C存儲器的內存緩沖

xdata BYTE CheckDoorIntervalArray[MAX_DOOR_NUM] _at_ I2C_PAGE_SIZE;// 管理機輪檢各個門口機所用到的數據緩存,每一個門口機對應一個字節
data  UINT DoorNumber;					// 在I2C存儲器中設置的單元的數量,根據這個數量管理機決定需要對多少個門口機進行輪檢

code UINT SystemPasswordAddress = 0x20;	// 用于存放系統管理員密碼的I2C地址,長度為16個字節,用一頁來存放

code BYTE NullString[NULL_STRING_LENGTH] = {0x00};		// 常量空字符串

code BYTE Logo[DISP_BUF_LENGTH] = "    雷森電子    ";

/*----------------------------------------------------------------------------+
| Internal Variables                                                          |
+----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------+
| Type Definition & Macro                                                     |
+----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------+
| System Initialization Routines                                              |
+----------------------------------------------------------------------------*/
//
// 初始化定時器0, 定時1.1ms作為檢測線路是否沖突的時間界限
void InitTimer0(void)
{
	// initial timer0 interrupt
	TMOD &= 0xF0;                       // zero low nibble
	TMOD |= 0x01;                       // 設置 Timer 0 為16位計數器工作方式

	// Init Timer0 counter
	TH0 = LineIdleWaitTime >> 8;
	TL0 = LineIdleWaitTime & 0xFF;

	TF0 = 0;                            // clear timer 0 overflow flag
	ET0 = 1;                            // enable timer 0 interrupt
}

//
// 初始化定時器2, Auto Reload方式定時10ms作為系統心跳信號
void InitTimer2(void)
{
	// initial timer2
//  T2CON                           __    ___
//	TF2	 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2
//	 0	   0    0    0    0    0    0    0
//	T2CON  = 0x00;                      // Mode 0, 16Bit Auto-Reload Mode
	TR2 = 0;                            // Clear Interrupt Flag
	EXF2 = 0;                           // reset flag
	TCLK = 0; RCLK = 0;                 // disable baud rate generator
	EXEN2 = 0;                          // ignore events on T2EX
	C_T2 = 0;                           // timer mode
	CP_RL2 = 0;                         // reload mode

	T2MOD &= 0xFC;                      // T2OE(Timer 2 Output Enable bit)=0; DCEN(up/down counter)=0;

	// initial timer2 reload value (1.1ms) @ fosc=24MHz
	RCAP2H = TIMER2_H;                  // 自動裝載寄存器, 高8位
	RCAP2L = TIMER2_L;                  // 自動裝載寄存器, 低8位
	// Init timer2 counter
	TH2 = TIMER2_H;
	TL2 = TIMER2_L;

	ET2    = ENABLE;                    // enable timer2 interrupt
	TR2    = ENABLE;                    // timer2 run
}

// 初始化
void CopyDefaultSettings(void)
{

	EA = DISABLE;                       // 關閉總中斷

	AUXR = 0x01;                        // 禁止ALE信號輸出,提升系統的EMI性能,STC單片機專用

	// 修改中斷優先級,讓Timer2中斷有最高優先級,其次是INT0
	IP		= 0x00;
	XICON	= 0x00;                     ////////////////////////////////////////////////////

	PT2 	= 0;
	PT2H 	= 1;                        // 設置Timer2具有優先級2

	IT2 	= 1;						//INT2邊沿觸發
	PX2H 	= 1;						
	PX2		= 1;						// 設置INT2具最高優先級
	EX2		= 1;
	
	
	P_VIDEO = P_OFF;                    // 電源關閉
	P_AUDIO = P_OFF;                    // 電源關閉

	BeepTimer = 0;

	ViewTimeCounter = 0x0000;           // 監視定時器,當這個計數器減計數到0的時候向門口機發送取消監視請求的命令

	MessageShowTimer = 0x0000;

	RS485SendWaitTimer = 0x0000;        // RS485總線超時重發計數器,當這個數減計數到MAX_RS485_WAIT_TIMES的倍數的時候重發,減到0的時候表示放棄這一次發送

	KeyBuffer[0] = 0x00;

	LineIdleWaitTime = 0xF6A0;          // (65536-1200*2), 如果有地址,則在后面減去與地址相關的數

	InitTimer0();
	InitTimer2();

	InitMessagePool();
}

/*----------------------------------------------------------------------------+
| Main Routine                                                                |
+----------------------------------------------------------------------------*/
void main(void)
{
	bit bTemp;
	UINT i;
	BYTE temp;
	MSG msg;
	GREEN_LED = P_OFF;                  // 綠色LED亮
	RED_LED = P_ON;                     // 紅色LED滅
	CopyDefaultSettings();              // 初始化系統變量

	RESET_WDT;
	Delayms(20);
	RESET_WDT;
	Delayms(20);
	RESET_WDT;
	Delayms(20);
	RESET_WDT;
	Delayms(20);
	RESET_WDT;
	InitLCD();
	Delayms(1);                         // LCD初始化之后要等待1ms才能正常顯示
	RESET_WDT;

	SystemStatus.PreStatus = Status_Idle;
	SystemStatus.Status = Status_Init;
	InitDispBuffer(TRUE);
	UpdateDisp(TRUE);

	InitKey();
	InitUART();                         // 初始化串口和模擬串口

	RESET_WDT;

//	i = 0x55AA;
//	I2CWriteString(0x00, 0x0000, (BYTE *)(&i), 2);  // 先寫高字節,然后寫低字節,說明高字節放在低地址處,低字節放在高地址處

	// 掃描按鍵并判斷'*'鍵的狀態,如果是按下的狀態,則進入設置模式
	KEY_ROW1 = 0;						// 掃描第1行(1  2  3  監視)
	i <<= 4;
	i |= (P0 & 0x0F);					// 得到第1行按鍵的電平 "1, 2, 3, 13"
	KEY_ROW1 = 1;
	KEY_ROW2 = 0;						// 掃描第2行(4  5  6  呼叫)
	i <<= 4;
	i |= (P0 & 0x0F);					// 得到第2行按鍵的電平 "4, 5, 6, 14"
	KEY_ROW2 = 1;
	KEY_ROW3 = 0;						// 掃描第3行(7  8  9  開鎖)
	i <<= 4;
	i |= (P0 & 0x0F);					// 得到第3行按鍵的電平 "7, 8, 9, 15"
	KEY_ROW3 = 1;
	KEY_ROW4 = 0;						// 掃描第4行(*  0  #  查詢)
	i <<= 4;
	i |= (P0 & 0x0F);					// 得到第4行按鍵的電平 "11, 0, 12, 16"
	KEY_ROW4 = 1;
	if (i == 0xFFF7)					// 0000,0000,0000,1000,即所有按鍵中只有'*'鍵是按下的
	{
		memcpy(&DispBuffer[0][1], "系統正在初始化  ", DISP_BUF_LENGTH);
		memcpy(&DispBuffer[1][1], "請稍候!        ", DISP_BUF_LENGTH);
		UpdateDisp(TRUE);
		// 向I2C存儲器中寫入默認的配置
		// 清空前面2K字節空間
		for (i=0x0000; i<DEFAULT_ROUTE_INFO_START_ADDR; i+=NULL_STRING_LENGTH)
		{
			RESET_WDT;
			I2CWriteString(0x00, i, NullString, NULL_STRING_LENGTH);
		}						                                                             
		// 清空小區路由信息所占用的2K字節空間
		for (i=DEFAULT_ROUTE_INFO_START_ADDR; i<(DEFAULT_ROUTE_INFO_START_ADDR+DEFAULT_ROUTE_INFO_LENGTH); i+=NULL_STRING_LENGTH)
		{
			RESET_WDT;
			I2CWriteString(0x00, i, NullString, NULL_STRING_LENGTH);
		}						                                                             
		// 清空卡號所占用的4K字節空間
		for (i=DEFAULT_RFCARDTAB_START_ADDR; i<(DEFAULT_RFCARDTAB_START_ADDR+DEFAULT_RFCARDTAB_LENGTH); i+=NULL_STRING_LENGTH)
		{
			RESET_WDT;
			I2CWriteString(0x00, i, NullString, NULL_STRING_LENGTH);
		}						                                                             
		// 清空報警記錄所占用的8K字節空間
		for (i=DEFAULT_ALARM_RECORD_START_ADDR; i<(DEFAULT_ALARM_RECORD_START_ADDR+DEFAULT_ALARM_RECORD_LENGTH); i+=NULL_STRING_LENGTH)
		{
			RESET_WDT;
			I2CWriteString(0x00, i, NullString, NULL_STRING_LENGTH);
		}						                                                             

		// 寫入標志
		I2CWriteString(0x00, 0x0000, "\x55\xAA", 2);
		RESET_WDT;

		// 初始化系統變量
		RouteInfoStartAddr     = DEFAULT_ROUTE_INFO_START_ADDR;
		RouteInfoLength        = sizeof(RouteInfoTable);//小區路由長度
		RFCardTabStartAddr     = DEFAULT_RFCARDTAB_START_ADDR;
		RFCardTabLength        = DEFAULT_RFCARDTAB_LENGTH;
		AlarmRecordStartAddr   = DEFAULT_ALARM_RECORD_START_ADDR;
		AlarmRecordLength      = DEFAULT_ALARM_RECORD_LENGTH;

		DoubleKeyPressTimer    = 25;		// 設置按鍵雙擊間隔時間為25*10=250ms
		CheckDoorIntervalTimer = 0;			// 設置管理機輪檢門口機的時間間隔: 60*10=600秒

		I2CBuffer[0] = DoubleKeyPressTimer;
		I2CWriteString(0x00, 0x0002, I2CBuffer, 1); // 按鍵雙擊間隔時間
		RESET_WDT;

		I2CBuffer[0] = CheckDoorIntervalTimer;
		I2CWriteString(0x00, 0x0003, I2CBuffer, 1); // 管理機輪檢門口機時間間隔
		RESET_WDT;

		I2CBuffer[0] = RouteInfoStartAddr>>8;
		I2CBuffer[1] = RouteInfoStartAddr&0xFF;
		I2CWriteString(0x00, 0x0004, I2CBuffer, 2); // 小區的路由信息I2C起始地址
		RESET_WDT;
		I2CBuffer[0] = RouteInfoLength>>8;
		I2CBuffer[1] = RouteInfoLength&0xFF;
		I2CWriteString(0x00, 0x0006, I2CBuffer, 2); // 小區的路由信息長度
		RESET_WDT;

		I2CBuffer[0] = RFCardTabStartAddr>>8;
		I2CBuffer[1] = RFCardTabStartAddr&0xFF;
		I2CWriteString(0x00, 0x0008, I2CBuffer, 2); // 射頻卡信息起始地址
		RESET_WDT;
		I2CBuffer[0] = RFCardTabLength>>8;
		I2CBuffer[1] = RFCardTabLength&0xFF;
		I2CWriteString(0x00, 0x000A, I2CBuffer, 2); // 射頻卡信息長度
		RESET_WDT;

		I2CBuffer[0] = AlarmRecordStartAddr>>8;
		I2CBuffer[1] = AlarmRecordStartAddr&0xFF;
		I2CWriteString(0x00, 0x000C, I2CBuffer, 2); // 報警信息起始地址
		RESET_WDT;
		I2CBuffer[0] = AlarmRecordLength>>8;
		I2CBuffer[1] = AlarmRecordLength&0xFF;
		I2CWriteString(0x00, 0x000E, I2CBuffer, 2); // 報警信息長度
		RESET_WDT;

		// 初始化管理機LOGO
		I2CWriteString(0x00, 0x0030, Logo, 16);		// 管理機LOGO
		RESET_WDT;
		memcpy(MainLogo, Logo, DISP_BUF_LENGTH);

		// 初始化報警記錄存儲空間
		AlarmRecord.Index = 0x00;           // 報警記錄的長度
		AlarmRecord.PreRecord = AlarmRecordStartAddr;     // 報警記錄最后一條記錄的地址
		AlarmRecord.NextRecord = AlarmRecordStartAddr;    // 報警記錄第一條記錄的地址
		I2CWriteString(0x00, AlarmRecordStartAddr, (BYTE *)(&AlarmRecord), sizeof(t_AlarmRecord));
		RESET_WDT;

		// 寫入小區的路由信息	
		for (i=0; i<sizeof(RouteInfoTable); )
		{
			if ((sizeof(RouteInfoTable) - i) > I2C_PAGE_SIZE) // 一頁寫不完這些數據,需要轉到下一頁
				temp = I2C_PAGE_SIZE;
			else
				temp = (sizeof(RouteInfoTable) - i);
					
			I2CWriteString(0x00, RouteInfoStartAddr+i, (BYTE *)(RouteInfoTable)+i, temp);//			
			RESET_WDT;
			i += temp;
		}
	}
	else
	{
		bTemp = FALSE;
		if (I2CReadString(0x00, 0x0000, I2CBuffer, 64)) // 第一次讀16各字節,包括一些系統變量的值
		{
			if ((I2CBuffer[0] == 0x55) && (I2CBuffer[1] == 0xAA))
			{
				// 初始化系統變量

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久丁香综合五月国产三级网站 | 精品免费日韩av| 26uuu另类欧美亚洲曰本| 国产精品色噜噜| 日本午夜一本久久久综合| 成人深夜在线观看| 在线播放国产精品二区一二区四区 | 美国毛片一区二区| 91免费小视频| 欧美激情一区二区三区不卡 | 亚洲综合久久久久| 国产馆精品极品| 日韩一区二区视频在线观看| 亚洲欧洲精品成人久久奇米网| 麻豆视频观看网址久久| 在线免费观看不卡av| 欧美国产精品一区| 久久99精品国产.久久久久久| 91麻豆免费视频| 国产精品久久毛片a| 狠狠色丁香九九婷婷综合五月| 欧亚洲嫩模精品一区三区| 国产精品午夜在线| 美腿丝袜亚洲色图| 69堂国产成人免费视频| 一级做a爱片久久| 91视频xxxx| 综合精品久久久| 成人一级视频在线观看| 久久看人人爽人人| 久久国产福利国产秒拍| 欧美一区二区免费视频| 午夜亚洲福利老司机| 欧美怡红院视频| 一区二区三区四区乱视频| 99re视频精品| 成人欧美一区二区三区黑人麻豆| 高清不卡一区二区在线| 国产女人aaa级久久久级 | 国产激情视频一区二区三区欧美| 欧美tickling网站挠脚心| 免费一级欧美片在线观看| 91精品国产色综合久久不卡蜜臀| 日韩和的一区二区| 91精品黄色片免费大全| 蜜臀av亚洲一区中文字幕| 日韩视频国产视频| 国产在线视视频有精品| 久久久久久**毛片大全| 国产成人精品亚洲777人妖 | 国产一区二区导航在线播放| 欧美精品一区二区三区四区 | 国产精品亚洲成人| 国产女人aaa级久久久级| a美女胸又www黄视频久久| 一区精品在线播放| 欧美日韩在线播| 蜜臀久久99精品久久久久久9 | 麻豆一区二区在线| 久久久www免费人成精品| av资源站一区| 亚洲大片精品永久免费| 欧美不卡一区二区三区| 国产成人精品亚洲日本在线桃色 | 精品噜噜噜噜久久久久久久久试看| 九九**精品视频免费播放| 国产精品嫩草影院com| 在线观看日韩精品| 美女一区二区视频| 中文字幕一区二区三区av| 欧美午夜视频网站| 一本在线高清不卡dvd| 午夜久久电影网| 久久精品网站免费观看| 欧美亚洲图片小说| 国模套图日韩精品一区二区 | 亚洲一区在线观看免费| 日韩欧美一二区| 99精品视频在线播放观看| 日韩电影免费在线观看网站| 欧美激情一区二区在线| 欧美精品久久99久久在免费线 | 美女性感视频久久| 日韩伦理av电影| 欧美成人a在线| 欧美亚洲高清一区| 国产福利一区二区三区视频| 亚洲成人综合网站| 亚洲国产精品ⅴa在线观看| 欧美军同video69gay| 成人激情校园春色| 久久精品99国产国产精| 亚洲一区二区黄色| 国产精品亲子伦对白| 欧美videofree性高清杂交| 在线观看欧美日本| 成人精品在线视频观看| 欧美aaaaaa午夜精品| 一区二区不卡在线播放| 中文字幕第一区第二区| 日韩视频一区二区三区在线播放| 91免费看视频| 福利电影一区二区三区| 激情文学综合插| 麻豆精品在线播放| 亚洲成人黄色小说| 一区二区三区在线播放| 国产精品国产精品国产专区不蜜| 久久网站热最新地址| 日韩一区二区中文字幕| 91精品国产综合久久久久久久久久| 日本高清不卡在线观看| 99精品欧美一区二区蜜桃免费| 国产精品乡下勾搭老头1| 久久精品国产一区二区三 | 国产日韩v精品一区二区| 欧美成人伊人久久综合网| 欧美一区二区日韩| 91精品国产手机| 日韩一区二区三区四区五区六区| 国产亚洲成av人在线观看导航| 日韩午夜在线播放| 欧美mv和日韩mv国产网站| 日韩欧美精品在线| 欧美一级免费观看| 日韩免费高清电影| 日韩一区二区免费在线电影| 51久久夜色精品国产麻豆| 欧美一区二区高清| 欧美videos大乳护士334| 久久色在线视频| 国产色婷婷亚洲99精品小说| 日本一区二区三区dvd视频在线| 日本一区二区在线不卡| 亚洲欧美日韩小说| 亚洲国产成人tv| 免费久久精品视频| 国产精品一区二区91| 成人动漫一区二区三区| 一本一道综合狠狠老| 欧美猛男超大videosgay| 欧美大片免费久久精品三p| 久久女同互慰一区二区三区| 国产精品丝袜在线| 一区二区理论电影在线观看| 午夜在线成人av| 韩日av一区二区| 91亚洲精品一区二区乱码| 欧美日韩午夜在线视频| 精品国产免费视频| 日韩美女视频一区二区| 偷窥国产亚洲免费视频 | 亚洲18色成人| 国产精品一区在线观看乱码| 色综合久久88色综合天天6| 91精品欧美久久久久久动漫| 久久精品在线免费观看| 亚洲国产精品久久久久秋霞影院| 免费看黄色91| 日本韩国欧美国产| 久久久久国产精品麻豆ai换脸| 亚洲欧美另类久久久精品| 狠狠色狠狠色合久久伊人| 91麻豆高清视频| 久久久噜噜噜久久中文字幕色伊伊 | 成人国产精品视频| 欧美日本一区二区三区四区| 国产色综合一区| 日韩电影一二三区| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美一区二区三区免费视频| 国产精品伦理在线| 久久av资源站| 欧美日韩五月天| 中文字幕在线观看不卡| 国产一区久久久| 欧美日韩精品三区| 国产精品久久久久久久久久久免费看 | 国产亚洲欧美一级| 日韩精品成人一区二区在线| 91丝袜美腿高跟国产极品老师| 久久日韩精品一区二区五区| 亚洲高清不卡在线| 99精品国产99久久久久久白柏| 欧美mv和日韩mv的网站| 舔着乳尖日韩一区| 欧洲国产伦久久久久久久| 国产精品每日更新在线播放网址 | 一卡二卡三卡日韩欧美| 成人免费观看男女羞羞视频| 337p粉嫩大胆噜噜噜噜噜91av| 午夜日韩在线观看| 欧美探花视频资源| 亚洲精品美国一| 91麻豆福利精品推荐| 中文字幕制服丝袜成人av | 高清日韩电视剧大全免费| 久久久久久久免费视频了| 日本va欧美va瓶| 日韩亚洲欧美一区|