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

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

?? display.c

?? 關于proteus的仿真實例
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
KS0108 128*64 LCD C語言驅動
LCD引腳定義
1---GND 
2---VCC
3---VLCD
4---D/I
5---R/W
6---E
7到14 D0-D7
15--CS1
16--CS2
17--RESET
18--VEE
19--SW
20--NC 
*/
#include <iom32v.h>
#include <macros.h>
#include "delay.h"
unsigned char CurOffset,CurRow,CurPage,CurCol;	
#define uchar unsigned char
/*  常量定義  */
#define  LCD_STATUS_BUSY 0x80
#define  START_LINE0   0xc0
#define  DISPLAY_ON    0x3f
#define  DISPLAY_OFF   0x3e
#define  PARA1         0x40
//#define  BIT(x)  (1<<x)
//PORTA---數據口  PORTB----控制口
volatile unsigned char *LCD_DIR_PORT = &DDRA;
volatile unsigned char *LCD_IP_PORT  = &PINA;
volatile unsigned char *LCD_OP_PORT  = &PORTA;

volatile unsigned char *LCD_EN_PORT  = &PORTB;
volatile unsigned char *LCD_CS2_PORT = &PORTC;
volatile unsigned char *LCD_CS1_PORT = &PORTC;
volatile unsigned char *LCD_RW_PORT  = &PORTC;
volatile unsigned char *LCD_DI_PORT  = &PORTC;

char LCD_EN_BIT  = BIT(4);
char LCD_CS2_BIT = BIT(3);
char LCD_CS1_BIT = BIT(2);
char LCD_RW_BIT  = BIT(5);
char LCD_DI_BIT  = BIT(4);

#define SET_LCD_E      	        *LCD_EN_PORT |= LCD_EN_BIT    //LCD使能
#define CLEAR_LCD_E       	    *LCD_EN_PORT &= ~LCD_EN_BIT   //LCD禁止

#define SET_LCD_DATA      	    *LCD_DI_PORT |= LCD_DI_BIT    //選擇指令端口
#define SET_LCD_CMD       	    *LCD_DI_PORT &= ~LCD_DI_BIT   //選擇數據端口

#define SET_LCD_READ      	    *LCD_RW_PORT |= LCD_RW_BIT    //讀模式
#define SET_LCD_WRITE      	    *LCD_RW_PORT &= ~LCD_RW_BIT   //寫模式

#define SET_LCD_CS2      	    *LCD_CS2_PORT |= LCD_CS2_BIT  //左屏選擇禁止
#define CLEAR_LCD_CS2      	    *LCD_CS2_PORT &= ~LCD_CS2_BIT //左屏選擇使能

#define SET_LCD_CS1      	    *LCD_CS1_PORT |= LCD_CS1_BIT  //左屏選擇禁止
#define CLEAR_LCD_CS1      	    *LCD_CS1_PORT &= ~LCD_CS1_BIT //左屏選擇使能

#define LEFT 0
#define RIGHT 1
#define CMD 0
#define DATA 1

void LCD_BUSY(unsigned char lr) //判斷忙標志
{
    unsigned char status;
    _CLI();
    if(lr==LEFT)
    {
        CLEAR_LCD_CS2; //cs2=0
        SET_LCD_CS1;   //cs1=1
    }
    else
    {
        SET_LCD_CS2;   //cs2=1
        CLEAR_LCD_CS1; //cs1=0
    }	
    SET_LCD_CMD;
    *LCD_DIR_PORT = 0x00;
    *LCD_OP_PORT = 0xff;		
    SET_LCD_READ;
    SET_LCD_E;					
    _NOP();	
    _NOP();
    _NOP();
    _NOP();
    while((*LCD_IP_PORT) & LCD_STATUS_BUSY)
    {
        CLEAR_LCD_E;	   		
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        SET_LCD_E;
        _NOP();
        _NOP();
        _NOP();
        _NOP();
    }
    CLEAR_LCD_E;
    SET_LCD_WRITE;
    *LCD_OP_PORT = 0xff;
    asm("sei");//)asm("sei");
}

void write_LCD(unsigned char lr,unsigned char cd,unsigned char data) /*寫入指令或數據*/
{	
    _CLI();//_CLI();
    LCD_BUSY(lr);
    if(cd==CMD)
    {
        SET_LCD_CMD;
    }
    else
    {
        SET_LCD_DATA;
    }
    SET_LCD_WRITE; 
    SET_LCD_E;
    *LCD_DIR_PORT = 0xff;
    *LCD_OP_PORT = data;
    _NOP();
    _NOP();
    _NOP();
    _NOP();
    CLEAR_LCD_E;
    *LCD_OP_PORT = 0xff;
    _SEI();
}
unsigned char read_LCD(unsigned char lr)	  /*  讀顯示數據 */
{
    unsigned char data;
    _CLI();
    LCD_BUSY(lr);
    SET_LCD_DATA;
    *LCD_DIR_PORT = 0x00;
    *LCD_OP_PORT = 0xff;
    SET_LCD_READ;
    SET_LCD_E;
    _NOP();
    _NOP();
    _NOP();
    _NOP();
    data=*LCD_IP_PORT;
    CLEAR_LCD_E;
    SET_LCD_WRITE;
    LCD_BUSY(lr);
    SET_LCD_DATA; 
    *LCD_DIR_PORT = 0x00;
    *LCD_OP_PORT = 0xff;
    SET_LCD_READ; 
    SET_LCD_E;
    _NOP();	
    _NOP();
    _NOP();
    _NOP();
    data=*LCD_IP_PORT;
    CLEAR_LCD_E;
    SET_LCD_WRITE;

    _SEI();
    return data;
}

void set_start_line_L(unsigned char line) /*設置顯示起始行*/ //0-63
{
    write_LCD(LEFT,CMD,0xc0|line); 
}

void set_start_line_R(unsigned char line) /*設置顯示起始行*/ //0-63
{
    write_LCD(RIGHT,CMD,0xc0|line); 
}

void set_page_L(unsigned char page)	/*設置X地址 設置頁*/  //0-7
{
    write_LCD(LEFT,CMD,0xb8|page);                     
}
void set_page_R(unsigned char page)	/*設置X地址 設置頁*/ //0-7
{
    write_LCD(RIGHT,CMD,0xb8|page);                     
}

void set_col_addr_L(unsigned char col) /*設置Y地址*/ //0-63
{
    write_LCD(LEFT,CMD,0x40|col);                     
}

void set_col_addr_R(unsigned char col) /*設置Y地址*/ //0-63
{
    write_LCD(RIGHT,CMD,0x40|col);                     
}

void init_lcd(void) /*初始化函數*/
{
    set_start_line_L(0); /*顯示起始行為0*/
    set_start_line_R(0); /*顯示起始行為0*/
    write_LCD(LEFT,CMD,DISPLAY_ON); /*  開顯示  */
    write_LCD(RIGHT,CMD,DISPLAY_ON); /*  開顯示  */
}

void clr_lcd(void) /*清屏函數*/
{
    unsigned char pages,i;
    for(pages=0;pages<8;pages++)
    {
        set_page_L(pages);  /* X 頁地址 */
        set_page_R(pages);  /* X 頁地址 */
        for(i=0;i<64;i++)   
        {
            set_col_addr_L(i);//Y
            set_col_addr_R(i);//Y
            write_LCD(LEFT,DATA,0x0);
            write_LCD(RIGHT,DATA,0x0);
        }
    }
}

//ASCII 字模寬度及高度
#define ASC_CHR_WIDTH	8
#define ASC_CHR_HEIGHT	12

typedef struct typFNT_ASC16	/* 漢字字模顯示數據結構 */
{
    char Index[1];
    char Msk[16];
};
const struct typFNT_ASC16  ASC_16[] = 
{	/* 顯示為8*16  Curier 10 常規*/
"1",0x00,0x00,0x08,0x08,0xFC,0x00,0x00,0x00,0x00,0x00,0x04,0x04,0x07,0x04,0x04,0x00,
"2",0x00,0x00,0x08,0x04,0x84,0x44,0x38,0x00,0x00,0x00,0x06,0x05,0x04,0x04,0x04,0x00,
"3",0x00,0x00,0x08,0x04,0x44,0x44,0xB8,0x00,0x00,0x00,0x02,0x04,0x04,0x04,0x03,0x00,
"4",0x00,0x00,0x80,0x60,0x18,0xFC,0x00,0x00,0x00,0x00,0x01,0x01,0x05,0x07,0x05,0x00,
"5",0x00,0x00,0x7C,0x44,0x44,0x44,0x84,0x00,0x00,0x00,0x02,0x04,0x04,0x04,0x03,0x00,
"6",0x00,0x00,0xF0,0x48,0x44,0x44,0x80,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x03,0x00,
"7",0x00,0x00,0x0C,0x04,0x84,0x64,0x1C,0x00,0x00,0x00,0x00,0x06,0x01,0x00,0x00,0x00,
"8",0x00,0x00,0xB8,0x44,0x44,0x44,0xB8,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x03,0x00,
"9",0x00,0x00,0x38,0x44,0x44,0x44,0xF8,0x00,0x00,0x00,0x00,0x04,0x04,0x02,0x01,0x00,
"0",0x00,0x00,0xF8,0x04,0x04,0x04,0xF8,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x03,0x00,
".",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
",",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x04,0x00,0x00,0x00,
":",0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
";",0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x04,0x00,0x00,0x00,
"-",0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
"_",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
"A",0x00,0x00,0x80,0x64,0x1C,0x60,0x80,0x00,0x00,0x04,0x07,0x05,0x01,0x05,0x07,0x04,
"B",0x00,0x04,0xFC,0x44,0x44,0x44,0x44,0xB8,0x00,0x04,0x07,0x04,0x04,0x04,0x04,0x03,
"C",0x00,0xF0,0x08,0x04,0x04,0x04,0x04,0x08,0x00,0x01,0x02,0x04,0x04,0x04,0x04,0x02,
"D",0x00,0x04,0xFC,0x04,0x04,0x04,0x08,0xF0,0x00,0x04,0x07,0x04,0x04,0x04,0x02,0x01,
"E",0x00,0x04,0xFC,0x44,0x44,0xE4,0x04,0x0C,0x00,0x04,0x07,0x04,0x04,0x04,0x04,0x06,
"F",0x00,0x04,0xFC,0x44,0x44,0xE4,0x04,0x0C,0x00,0x04,0x07,0x04,0x04,0x00,0x00,0x00,
" ",0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
"=",0x00,0x00,0xA0,0xA0,0xA0,0xA0,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
"(",0x00,0x00,0x00,0xE0,0x18,0x04,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x10,0x00,0x00,
")",0x00,0x00,0x00,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x00,0x10,0x0C,0x03,0x00,0x00,
"V",0x00,0x04,0x3C,0xC4,0x00,0xC4,0x3C,0x04,0x00,0x00,0x00,0x01,0x06,0x01,0x00,0x00,
"m",0x00,0x20,0xE0,0x20,0xC0,0x20,0xC0,0x00,0x00,0x04,0x07,0x00,0x07,0x00,0x07,0x04,
"H",0x00,0x04,0xFC,0x44,0x40,0x44,0xFC,0x04,0x00,0x04,0x07,0x04,0x00,0x04,0x07,0x04,
"*",0x90,0x90,0x60,0xFC,0x60,0x90,0x90,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
};

#define ASC_HZ_WIDTH	12
//#define ASC_HZ_HEIGHT	12

typedef struct typFNT_GB16	/*12*16 漢字字模顯示數據結構 */
{
	char Index[2];
	char Msk[24];
};
const struct typFNT_GB16  GB_16[] = {	/* 宋體 9 顯示為12*16 */
"科",0x8A,0x6A,0xFE,0x29,0x49,0x80,0x92,0xA4,0x80,0xFF,0x40,0x00,0x01,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,
"技",0x44,0x44,0xFF,0x24,0x00,0x64,0xA4,0x3F,0xA4,0x64,0x04,0x00,0x04,0x04,0x07,0x00,0x04,0x04,0x02,0x01,0x02,0x04,0x04,0x00,
"有",0x42,0x22,0x12,0xFA,0x4E,0x4B,0x4A,0x4A,0xFA,0x02,0x02,0x00,0x00,0x00,0x00,0x07,0x01,0x01,0x01,0x05,0x07,0x00,0x00,0x00,
"限",0xFF,0x81,0x99,0xE7,0x00,0xFF,0x25,0xE5,0x25,0xBF,0x40,0x00,0x07,0x00,0x00,0x00,0x00,0x07,0x04,0x02,0x01,0x02,0x04,0x00,
"公",0x20,0x10,0x08,0x07,0xC0,0x30,0x83,0x0C,0x10,0x20,0x20,0x00,0x00,0x04,0x06,0x05,0x04,0x04,0x02,0x03,0x06,0x00,0x00,0x00,
"司",0x08,0x09,0xE9,0x29,0x29,0x29,0xED,0x09,0x01,0xFF,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x04,0x04,0x07,0x00,0x00,
"液",0x19,0xE2,0x14,0x42,0xF2,0x2E,0x72,0x8F,0xAA,0x7A,0x02,0x00,0x01,0x07,0x00,0x00,0x07,0x04,0x04,0x02,0x01,0x02,0x04,0x00,
"晶",0x00,0xC0,0x40,0x5F,0xD5,0x15,0xD5,0x55,0x5F,0x40,0xC0,0x00,0x00,0x07,0x05,0x05,0x07,0x00,0x07,0x05,0x05,0x05,0x07,0x00,
"顯",0x00,0x40,0x9F,0x15,0xD5,0x15,0xD5,0x15,0x1F,0xC0,0x00,0x00,0x04,0x04,0x05,0x04,0x07,0x04,0x07,0x06,0x05,0x04,0x04,0x00,
"示",0x10,0x12,0x92,0x52,0x12,0xF2,0x12,0x12,0x53,0x92,0x10,0x00,0x02,0x01,0x00,0x04,0x04,0x07,0x00,0x00,0x00,0x00,0x03,0x00,
"的",0xFC,0x44,0x46,0x45,0xFC,0x10,0x2C,0xC7,0x04,0x04,0xFC,0x00,0x07,0x02,0x02,0x02,0x07,0x00,0x00,0x04,0x04,0x04,0x03,0x00,
"第",0x04,0xEA,0xAB,0xAE,0xAA,0xFC,0xAA,0xAB,0xAE,0xBA,0x82,0x00,0x04,0x04,0x02,0x01,0x00,0x07,0x00,0x02,0x02,0x02,0x01,0x00,
"一",0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
"行",0x48,0x24,0xF3,0x08,0x09,0x09,0x09,0x09,0xF9,0x09,0x08,0x00,0x00,0x00,0x07,0x00,0x00,0x04,0x04,0x04,0x07,0x00,0x00,0x00,
"二",0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,
"三",0x00,0x02,0x22,0x22,0x22,0x22,0x22,0x22,0x23,0x02,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,
"四",0x00,0xFF,0x81,0x41,0x3F,0x01,0x01,0xFF,0x81,0x81,0xFF,0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x07,0x00,
"五",0x00,0x11,0x11,0x91,0x7F,0x11,0x11,0x11,0xF1,0x01,0x00,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x00,
};

unsigned char GetPage(void) /*得到當前頁*/
{
	return CurPage;
}

unsigned char GetCol(void) /*得到當前列*/
{
	return CurCol;
}

void SetPageCol(unsigned char upage, unsigned char ucol) /* 設置液晶的頁和列 */
{
	CurPage = upage;
	CurCol = ucol;
	if(ucol<64)
	{
		set_page_L(upage);
		set_col_addr_L(ucol);
	}
	else
	{
		set_page_R(upage);
		set_col_addr_R(ucol-64);
	}
}

/* 設置當前顯示的頁和列 */
void SetRowCol(unsigned char urow, unsigned char ucol) 
{
	unsigned char page;
	CurRow = urow;
	CurCol = ucol;
	
	switch(urow)
	{
		case 1:
			page=0;
			CurOffset=1;
			break;
		case 2:
			page=1;
			CurOffset=2;
			break;
		case 3:
			page=3;
			CurOffset=1;
			break;
		case 4:
			page=4;
			CurOffset=2;
			break;
		case 5:
			page=6;
			CurOffset=1;
			break;
	}
	SetPageCol(page,ucol);
}

void disp_ch(unsigned char c)
{
	unsigned char k,j,uPage,uCol,ch_r,ch_w;
	unsigned char width;
	unsigned char len;
	uPage = GetPage();
	uCol = GetCol();
	len=sizeof(ASC_16)/sizeof(ASC_16[0]);
	for(k=0;k<len;k++)
	{
		if(c == ASC_16[k].Index[0] ) break;
	}
	if(k<len)
	{
		
		if(c=='-'||c==':') 
			width=ASC_CHR_WIDTH-2;
		else if(c=='|')
			width=ASC_HZ_WIDTH-ASC_CHR_WIDTH;
		else 
			width=ASC_CHR_WIDTH;
		
		if(CurOffset==1) //下半部是寫半個字節
		{
			for(j=0;j<width;j++)
			{
				SetPageCol(uPage,uCol+j);
				ch_w=ASC_16[k].Msk[j];
				if(uCol+j<64)	write_LCD(LEFT,DATA,ch_w); 
				else write_LCD(RIGHT,DATA,ch_w);
			}
			SetPageCol(uPage+1,uCol);
			
			for(j=0;j<width;j++)
			{
				SetPageCol(uPage+1,uCol+j);
				if(uCol+j<64) ch_r=read_LCD(LEFT);
				else ch_r=read_LCD(RIGHT);
				ch_r&=0xf0;
				ch_w=ASC_16[k].Msk[ASC_CHR_WIDTH+j]&0x0f; 
				ch_w|=ch_r;
				SetPageCol(uPage+1,uCol+j);
				if(uCol+j<64)	write_LCD(LEFT,DATA,ch_w); 
				else write_LCD(RIGHT,DATA,ch_w); 
			}
		}
		else //上半部是寫半個字節
		{
			for(j=0;j<width;j++)
			{
				SetPageCol(uPage,uCol+j);
				if(uCol+j<64) ch_r=read_LCD(LEFT);
				else ch_r=read_LCD(RIGHT);
				ch_r&=0x0f;
				ch_w=ASC_16[k].Msk[j];
				ch_w=ch_w<<4;
				ch_w|=ch_r;
				SetPageCol(uPage,uCol+j);
				if(uCol+j<64)	write_LCD(LEFT,DATA,ch_w); 
				else write_LCD(RIGHT,DATA,ch_w); 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一不卡视频| 青青草视频一区| 国产女人18水真多18精品一级做 | 91丨九色丨蝌蚪富婆spa| 久久福利资源站| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲综合视频网| 日本女人一区二区三区| 丝袜亚洲另类欧美| 老司机一区二区| 国产美女在线精品| 99综合影院在线| 日本电影欧美片| 欧美精品 日韩| 精品入口麻豆88视频| 久久久精品蜜桃| 亚洲三级在线观看| 亚洲成av人影院在线观看网| 免费三级欧美电影| 国产 欧美在线| 欧美在线看片a免费观看| 欧美日韩日日骚| 久久久精品2019中文字幕之3| 国产精品日韩成人| 五月开心婷婷久久| 国产在线视频一区二区| eeuss鲁一区二区三区| 欧美视频中文字幕| wwwwww.欧美系列| 夜夜嗨av一区二区三区网页 | 欧美精选一区二区| 国产亚洲精久久久久久| 亚洲精品成人精品456| 人妖欧美一区二区| 成人app网站| 91精品国产综合久久蜜臀| 久久久久久久久久久久久久久99| 亚洲欧美另类久久久精品2019| 免费观看一级欧美片| 99精品欧美一区二区三区综合在线| 欧美精品在线视频| 亚洲欧洲日韩av| 国产在线精品一区二区三区不卡| 99这里只有精品| 日韩欧美国产精品| 亚洲精选视频免费看| 国产酒店精品激情| 538prom精品视频线放| 中文字幕一区在线观看| 六月丁香婷婷久久| 欧美视频精品在线观看| 中文字幕在线播放不卡一区| 全部av―极品视觉盛宴亚洲| 色综合中文字幕国产 | 青草av.久久免费一区| 99天天综合性| 亚洲国产成人午夜在线一区| 日韩av网站免费在线| 欧美中文字幕一区| 亚洲女同女同女同女同女同69| 国产一区二区三区蝌蚪| 日韩精品在线一区| 肉色丝袜一区二区| 欧美日韩一区二区欧美激情| 一区二区三区91| 91色九色蝌蚪| 亚洲女同一区二区| 一本大道久久a久久精二百| 国产亚洲欧美激情| 国产福利精品一区| 久久久精品中文字幕麻豆发布| 精品一区二区精品| 26uuu久久天堂性欧美| 麻豆成人综合网| 精品福利一二区| 国产尤物一区二区在线| 久久综合久久99| 国产精品一区免费视频| 久久久久久久综合日本| 国产福利不卡视频| 国产精品久久久久一区| 97精品国产97久久久久久久久久久久| 国产亚洲va综合人人澡精品 | 午夜精品一区二区三区电影天堂 | 久久这里只有精品视频网| 国内成人精品2018免费看| 日韩欧美视频在线| 国产最新精品免费| 国产喂奶挤奶一区二区三区| 成人av综合一区| 一区二区免费视频| 欧美放荡的少妇| 狠狠色狠狠色合久久伊人| 久久久综合九色合综国产精品| 成人福利视频网站| 一区二区三区不卡视频在线观看| 欧美人妖巨大在线| 国内精品不卡在线| 亚洲人成7777| 日韩三级免费观看| 国产成人自拍网| 一区二区三区国产| 欧美成人aa大片| 成人激情免费视频| 日韩综合一区二区| 亚洲国产成人一区二区三区| 欧美日韩一级二级| 国产精品一区在线观看乱码| 一区二区三区免费网站| 日韩精品一区二区三区视频在线观看 | 99久久精品国产毛片| 婷婷六月综合网| 中文字幕巨乱亚洲| 欧美日韩国产综合视频在线观看 | 亚洲欧美激情插| 制服视频三区第一页精品| 国产成人av自拍| 蜜桃视频免费观看一区| 中文字幕日韩一区| 久久免费国产精品| 欧美一卡二卡三卡| av在线这里只有精品| 久久国产精品72免费观看| 一区二区三区欧美日| 国产喷白浆一区二区三区| 91.麻豆视频| 91在线porny国产在线看| 国产精品一级片| 日韩精品一区第一页| 亚洲欧美偷拍另类a∨色屁股| 久久综合九色综合欧美98 | 精品亚洲国内自在自线福利| 一区二区三区四区中文字幕| 国产清纯美女被跳蛋高潮一区二区久久w | 91美女在线看| 高潮精品一区videoshd| 黑人巨大精品欧美黑白配亚洲| 午夜久久电影网| 亚洲午夜免费电影| ●精品国产综合乱码久久久久| 国产色91在线| 久久久噜噜噜久久中文字幕色伊伊| 欧美日韩国产高清一区| 在线亚洲+欧美+日本专区| 国产99精品国产| 成人精品视频一区二区三区尤物| 国产在线精品免费av| 久久成人羞羞网站| 麻豆精品一区二区| 老鸭窝一区二区久久精品| 日本午夜精品一区二区三区电影| 亚洲成人手机在线| 日韩精品一级中文字幕精品视频免费观看 | 亚洲va韩国va欧美va精品| 一区二区三区免费网站| 洋洋成人永久网站入口| 一区二区三区小说| 亚洲va欧美va人人爽午夜 | 国产高清一区日本| 国产成人精品综合在线观看| 狠狠色2019综合网| 国产一区二区三区免费在线观看 | 91丨国产丨九色丨pron| 成人avav影音| 在线亚洲一区二区| 欧美一区二区三区色| 欧美一区二区三区在线视频| 精品久久久久久久久久久久久久久 | 国产女主播视频一区二区| 国产精品乱码一区二区三区软件| 国产精品美女久久久久久| 中文字幕视频一区| 婷婷激情综合网| 国产一区在线精品| 99久久精品一区二区| 欧美男男青年gay1069videost| 欧美电视剧在线观看完整版| 国产欧美日韩另类一区| 日韩伦理免费电影| 奇米精品一区二区三区在线观看 | 日本中文在线一区| 成人av免费观看| 欧美日韩成人高清| 日本一区免费视频| 午夜视黄欧洲亚洲| 国产精品99久久久久久久女警 | 91麻豆精品国产91久久久| 欧美一区二区视频在线观看 | 国产一区二区三区在线观看精品 | 久久99蜜桃精品| 色婷婷亚洲综合| 久久男人中文字幕资源站| 亚洲乱码国产乱码精品精的特点| 免费成人你懂的| 在线亚洲一区二区| 国产农村妇女毛片精品久久麻豆| 亚洲成在线观看| av爱爱亚洲一区| 久久久久久久网| 日韩成人dvd|