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

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

?? monitor.c

?? 51單片機C語言常用模塊與綜合系統設計實例精講
?? C
字號:
/****************************************/
/* Copyright (c) 2004, 通信工程學院     */
/* All rights reserved.                 */                   
/****************************************/

#include <at898252.h>
#include "vehicle.h"

#define LIMIT 60
#define uint unsigned int
#define uchar unsigned char

#define CSA P2_1
#define CSB P2_0
#define DI P2_6
#define RW P2_5

sbit uip_bit=ACC^7;//ds12c887 register a bit 7
sbit busy_bit=ACC^7;//lcd state byte bit 7
sbit run_bit=P3^3; 

uchar timer0_flag=0;
uchar int0_flag=0;
uchar active_buffer=1;

uint page_counter=0;
uint buffer_counter=0;
//uchar active_buffer=1;
uchar circle=0;
uchar time_counter=0;
uchar year,month,day,hour,min,sec;
unsigned long ttcy=0;

//delay 100ms,should be adjusted for frequency and compile
void dl_100ms(void)
{
	unsigned char i,j;
	for (i=10;i>0;i--) for (j=0;j<250;j++) ; 
}

/*下面是對液晶屏gxm12864d操作的函數,其內置的控制器是hd61202,
  128x64點陣,漢字顯示,CSA,CSB用來進行左右顯示區的選擇。
  R/W,D/I兩個信號我沒有接在地址線上,而是用單獨的端口控制,
  數據訪問通過對外部數據區的0xffff訪問實現。E信號由地址譯碼產生
*/

/*  發命令i到主窗口*/
void lcd_mwc(uchar i)
{
     CSA=1;
     CSB=0;
     RW=1;
     DI=0;
     do {ACC=LCD;} 
	 while (busy_bit) ;//wait for lcd not busy
     RW=0;
     LCD=i;
}

/*  寫數據i到主窗口*/
void lcd_mwd(uchar i)
{
     CSA=1;
     CSB=0;
     RW=1;
     DI=0;
     do {ACC=LCD;} while (busy_bit);//wait for lcd not busy
     RW=0;
     DI=1;
     LCD=i;
}

/*   清屏                                */
void lcd_clear(void)
{
     uchar i;
     uchar page;
     for (page=0xb8;page<0xc0;page++)
         {
             lcd_mwc(page);       /*設置顯示頁面*/

             lcd_mwc(0x40);          /*設置列地址*/
 
             for (i=0;i<64;i++)
             {
   
                 lcd_mwd(0);
             }
         }
}

//初始化lcd
void lcd_init(void)
{
	lcd_mwc(0xc0);

	lcd_mwc(0x3f);

}

//dispm_hz_up() display up half of a hanzi in left area
void dispm_hz_up(uchar code * hz)
{
	uchar i;
	for (i=0;i<16;i++) lcd_mwd(*(hz+i));
}

//dispm_hz_down() display down half of a hanzi in left area
void dispm_hz_down(uchar code * hz)
{
	uchar i;
	for (i=16;i<32;i++) lcd_mwd(*(hz+i));
}

void disp_num(uchar i)
{
	uchar j;
	for (j=0;j<8;j++) lcd_mwd(ARAB[j+i*8]);
}


/*set mcu counter0 as 5s timer,clk is 500ms*/

void set_5s_counter(void)
{
	TMOD=0x16;//counter0 mode 2 
	TH0=-10;
	TL0=-10;
	IP=0x01;//int0 high,counter0 low
	IT0=1;
	EA=1;//enable interrupt
	ET0=1;
	EX0=1;
	TR0=1;
}

/*下面是對flash存儲卡at45d041的操作,數據接口為spi接口,
  卡共2048頁,每頁264字節
*/

void write_spi(uchar dat)
{
       SPDR = dat;
       while (!(SPSR & 0x80)) ;             // wait for data transfer to be completed
}

uchar df_busy(void)
{
    P1 &= ~DF_CHIP_SELECT;               // enable DataFlash
    
   write_spi(STAT_REG_READ);
   write_spi(0x00);                       // don't cares
   
   P1 |= DF_CHIP_SELECT;                // disable DataFlash 
   return SPDR;
}

//write_to_flash write data to buffer,if buffer is full write buffer to memory page
void write_to_flash(uchar flash_data)
{ 
    //  checking if flash is busy
    while (!(df_busy()&0x80)) ;
    P1 &= ~DF_CHIP_SELECT;               // enable DataFlash
     
    if (active_buffer==1) write_spi(BUFFER_1_WRITE);
    else write_spi(BUFFER_2_WRITE);
    write_spi(0x00);                       // don't cares
    write_spi((uchar)(buffer_counter>>8)); // don't cares plus first bit of buffer address
    write_spi((uchar)buffer_counter);      // buffer address 
    write_spi(flash_data);                   // write data into SPI Data Register
        
    P1 |= DF_CHIP_SELECT;                // disable DataFlash 
    
    buffer_counter++; 
        
    if (buffer_counter > 263)               // if buffer full write buffer into memory page
    {
        buffer_counter = 0;
        if (page_counter < 2047)            // if memory is not full   
        { 
            P1 &= ~DF_CHIP_SELECT;       // enable DataFlash

            if (active_buffer==1) write_spi(B1_TO_MM_PAGE_PROG_WITHOUT_ERASE);// write data from buffer1 to page 
            else write_spi(B2_TO_MM_PAGE_PROG_WITHOUT_ERASE);//write data from buffer2 to page
            write_spi((uchar)(page_counter>>7));
            write_spi((uchar)(page_counter<<1));
            write_spi(0x00);                    // don't cares
        
            P1 |= DF_CHIP_SELECT;        // disable DataFlash
            page_counter++;              //page_counter 指向下一可用頁
        }
        if (active_buffer==1) active_buffer=0;
        else active_buffer=1;
    }  
}

uchar cardin(void)
{
	SPCR=0x5d;//interrupt disabled,spi enabled,master,msb first,spi mode 3,Fosc/16
	
	P1 &= ~DF_CHIP_SELECT;               // enable DataFlash
	
	write_spi(MAIN_MEMORY_PAGE_READ) ;
	write_spi(0x00) ;
	write_spi(0x00) ;
	write_spi(0x00) ;
	write_spi(0x00) ;
	write_spi(0x00) ;
	write_spi(0x00) ;
	write_spi(0x00) ;
	write_spi(0xff) ;//write dummy value to start register shift
	
	P1 |= DF_CHIP_SELECT ;//disable flash card
	return SPDR;
}

/*下面是對日歷時鐘芯片ds12c887的部分操作,芯片初始化的操作在settime.c中實現*/

//getlstpage()從DS12C887中讀取最近可用頁地址
uint getcurpage(void)
{
	uchar i=0;
	uint j=0;
	i=TIME_LSTPGH;
	j=i+j;//maybe wrong
	i=TIME_LSTPGL;
	j=j<<8;
	j=j+i;
	return j;
}

//getfrnpg()從DS12C887中讀取最近可用的存放終止頁地址的頁地址
uint getfrnpg(void)
{
	uchar i=0;
	uint j=0;
	i=TIME_FRNPGH;
	j+=i;
	i=TIME_FRNPGL;
	j=j<<8;
	j+=i;
	return j;
}

//storetime() read time from ds12887 then store in flash card
void storetime(void)
{
//	uchar year,month,day,hour,min,sec;
	do {ACC=TIME_A;} while (uip_bit) ;//wait for UIP bit turn 0
	sec=TIME_SEC;
	min=TIME_MIN;
	hour=TIME_HOUR;
	day=TIME_DAY;
	month=TIME_MONTH;
	year=TIME_YEAR;
	write_to_flash(year);
	write_to_flash(month);
	write_to_flash(day);
	write_to_flash(hour);
	write_to_flash(min);
	write_to_flash(sec);
}

/*下面是鍵盤掃描和給鍵賦值的操作*/

//keyscan() scan keyboard and return key code
uchar keyscan(void)	
{
	uchar sccode,recode;
	P2=0x78;
	if ((P2&0x78)!=0x78)
	{
		dl_100ms();
		if ((P2&0x78)!=0x78)
		{
			sccode=0xfe;
			while ((sccode&0x08)!=0)
			{
				P2=sccode;
				if((P2&0x78)!=0x78)
				{
					recode=(P2&0x78)|0x87;
					return ((~sccode)+(~recode));
				}
				else sccode=(sccode<<1)|0x01;
			}
		}
	}
	return (0);
}


//getkey() translate key code to number ,return keyboard input number
uint getkey(void)
{
	uchar num1=0;
	uint num2=0;
	while (num1!=0x44)
	{
		num1=keyscan();
		switch(num1)
		{
			case 0x09:
				num1=0;
				num2=num2*10;
				disp_num(num1);
				break;
			case 0x11:
				num1=1;
				num2=num2*10+num1;
				disp_num(num1);
				break;
			case 0x21:
				num1=2;
				num2=num2*10+num1;
				disp_num(num1);
				break;
			case 0x41:
				num1=3;
				num2=num2*10+num1;
				disp_num(num1);
				break;
			case 0x0a:
				num1=4;
				num2=num2*10+num1;
				disp_num(num1);
				break;
			case 0x12:
				num1=5;
				num2=num2*10+num1;
				disp_num(num1);
				break;
			case 0x22:
				num1=6;
				num2=num2*10+num1;
				disp_num(num1);
				break;
			case 0x42:
				num1=7;
				num2=num2*10+num1;
				disp_num(num1);
				break;
			case 0x0c:
				num1=8;
				num2=num2*10+num1;
				disp_num(num1);
				break;
			case 0x14:
				num1=9;
				num2=num2*10+num1;
				disp_num(num1);
				break;
			case 0x24:
				num1=0;
				num2=0;
				lcd_mwc(0xba);
				lcd_mwc(0x40);
				for (num1=0;num1<8;num1++) disp_num(10);
				lcd_mwc(0xba);
				lcd_mwc(0x40);
				break;
			case 0x44:
				lcd_mwc(0xba);
				lcd_mwc(0x40);
				for (num1=0;num1<8;num1++) disp_num(10);
				lcd_mwc(0xba);
				lcd_mwc(0x40);
				break;
		}
	}
	return(num2);
}

/*兩個中斷處理函數*/

void timer0(void) interrupt 1 using 1
{
	EA=0;//diable interrupt
	time_counter++;
	P3_5=0;//enable cpld
	circle=P0;
	P3_5=1;
	ttcy+=circle;
	timer0_flag=1;
	EA=1;
}


void int0(void) interrupt 0 using 2
{
	EA=0;
	WMCON=WMCON&0xfe;
	int0_flag=1;
}

void main(void)
{
	uint a;
	uchar m,n,l;
	for (m=0;m<200;m++) for (n=0;n<250;n++) ; //delay 200ms,should be adjusted to be not less then 200ms
				//in order to wait peripheral to be ready

	P3_0=0;//turn alarm off
	P3_5=1;//diable cpld output
	P3_2=1;//ready for int0
	buffer_counter=6;
	
	lcd_clear();
	lcd_init();

	lcd_mwc(0xb8);
	lcd_mwc(0x40);
	dispm_hz_up(&QING);
	dispm_hz_up(&CHA);
	dispm_hz_up(&KA);
	lcd_mwc(0xb9);
	lcd_mwc(0x40);
	dispm_hz_down(&QING);
	dispm_hz_down(&CHA);
	dispm_hz_down(&KA);//display "請插卡"
	
	P1=0xff;
	while (cardin()&0xa0) ;//這個地方,用什么來表示已經插卡需要商量。
	
	page_counter=getcurpage();
	
	lcd_mwc(0xb8);
	lcd_mwc(0x50);
//	dispm_hz_up(&QING);
	dispm_hz_up(&SHU);
	dispm_hz_up(&CHE);
	dispm_hz_up(&HAO);
	lcd_mwc(0xb9);
	lcd_mwc(0x50);
//	dispm_hz_down(&QING);
	dispm_hz_down(&SHU);
	dispm_hz_down(&CHE);
	dispm_hz_down(&HAO);//display "請輸車號"
	
	lcd_mwc(0xba);
	lcd_mwc(0x40);
	a=getkey();
	write_to_flash((uchar)(a>>8));
	write_to_flash((uchar)a);//store 車號
	
	lcd_mwc(0xb8);
	lcd_mwc(0x60);
//	dispm_hz_up(&QING);
//	dispm_hz_up(&SHU);
	dispm_hz_up(&ZHAN);
//	dispm_hz_up(&HAO);
	lcd_mwc(0xb9);
	lcd_mwc(0x60);
//	dispm_hz_down(&QING);
//	dispm_hz_down(&SHU);
	dispm_hz_down(&ZHAN);
//	dispm_hz_down(&HAO);//display "請輸站號"
	
	lcd_mwc(0xba);
	lcd_mwc(0x40);
	a=getkey();
	write_to_flash((uchar)(a>>8));
	write_to_flash((uchar)a);//store 站號
	
//	buffer_counter=0;
	
	set_5s_counter();
	
	lcd_mwc(0xb8);
	lcd_mwc(0x40);
	dispm_hz_up(&SU);
	dispm_hz_up(&DU);
	lcd_mwc(0xb9);
	lcd_mwc(0x40);
	dispm_hz_down(&SU);
	dispm_hz_down(&DU);//display "速度"
	
	lcd_mwc(0xbc);
	lcd_mwc(0x40);
	dispm_hz_up(&LI);
	dispm_hz_up(&CHENG);
	lcd_mwc(0xbd);
	lcd_mwc(0x40);
	dispm_hz_down(&LI);
	dispm_hz_down(&CHENG);//display "里程"
	
	
	
	while (!run_bit) ;//wait for vehicle move
	storetime();
	buffer_counter=10;
	
	WMCON=0xe0;//2.048s watchdog timer
	WMCON=WMCON|0x01;//enable watchdog
	
	while (1)//sycling wait
	{
		for (m=0;m<250;m++) for (n=0;n<250;n++) ;
		for (m=0;m<250;m++) for (n=0;n<250;n++) ;//should be adjusted for 500ms delay
		WMCON=WMCON|0x02;//reset watchdog
		
		if (circle>LIMIT) P3_0=1;
		else P3_0=0;//if overspeed then alarm
		
		if (timer0_flag==1) 
		{
			write_to_flash(circle);
			timer0_flag=0;
		}

		WMCON=WMCON|0x02;//reset watchdog		
		if (time_counter>=120)//if 10 min,show speed and distance
		{
			time_counter=0;
			m=36*circle/35;
			n=m/100;
			
			lcd_mwc(0xba);
			lcd_mwc(0x40);
			disp_num(n);
			
			l=(m-n*100)/10;
			disp_num(l);
			
			disp_num(m-n*100-l*10);
			disp_num(11);
			
			n=(36*circle-35*m)*10/35;
			disp_num(n);//以上計算速度并顯示
			
			a=ttcy/700;
			m=a/100;
			
			lcd_mwc(0xbd);
			lcd_mwc(0x40);
			disp_num(m);
			n=(a-m*100)/10;
			disp_num(n);
			disp_num(a-m*100-n*10);
			disp_num(11);
			m=(ttcy-700*a)*10/700;
			disp_num(m);//以上計算并顯示里程
		}

		WMCON=WMCON|0x02;//reset watchdog

		if (int0_flag==1) 
		{
			write_to_flash(0xf0);
			write_to_flash(0xf1);
			storetime();
			
			lcd_clear();
			lcd_init();
			lcd_mwc(0xb8);
			lcd_mwc(0x40);
			dispm_hz_up(&QING);
			dispm_hz_up(&SHU);
			dispm_hz_up(&ZHAN);
			dispm_hz_up(&HAO);
			lcd_mwc(0xb9);
			lcd_mwc(0x40);
			dispm_hz_down(&QING);
			dispm_hz_down(&SHU);
			dispm_hz_down(&ZHAN);
			dispm_hz_down(&HAO);//display "請輸站號"
			
			lcd_mwc(0xba);
			lcd_mwc(0x40);
			a=getkey();
			write_to_flash((uchar)(a>>8));
			write_to_flash((uchar)a);//store 站號
			
			if (buffer_counter!=0)
			{
				while (!(df_busy()&0x80)) ;
				P1 &= ~DF_CHIP_SELECT;               // enable DataFlash
     
				if (active_buffer==1) write_spi(B1_TO_MM_PAGE_PROG_WITHOUT_ERASE);
				else write_spi(B2_TO_MM_PAGE_PROG_WITHOUT_ERASE);
				write_spi(0x00);                       // don't cares
				write_spi((uchar)(page_counter>>7)); // don't cares plus first 4 bits of page address
				write_spi((uchar)(page_counter<<1));      // page address 
				write_spi(0x00);                   // don't cares
				       
				P1 |= DF_CHIP_SELECT;                // disable DataFlash
				if (active_buffer==1) active_buffer=0;
				else active_buffer=1;
				buffer_counter=0;
			}
			
			
			a=getfrnpg();
			write_to_flash((uchar)(page_counter>>8));
			write_to_flash((uchar)page_counter);
			while (!(df_busy()&0x80)) ;
			P1 &= ~DF_CHIP_SELECT;               // enable DataFlash
     
			if (active_buffer==1) write_spi(B1_TO_MM_PAGE_PROG_WITHOUT_ERASE);
			else write_spi(B2_TO_MM_PAGE_PROG_WITHOUT_ERASE);
			write_spi(0x00);                       // don't cares
			write_spi((uchar)(a>>7)); // don't cares plus first 4 bits of page address
			write_spi((uchar)(a<<1));      // page address 
			write_spi(0x00);                   // don't cares
			   
			P1 |= DF_CHIP_SELECT;                // disable DataFlash				

            		page_counter++;
            		TIME_LSTPGH=(uchar)(page_counter>>8);
            		TIME_LSTPGL=(uchar)(page_counter);
            		a--;            		
            		TIME_FRNPGH=(uchar)(a>>8);
            		TIME_FRNPGL=(uchar)a;			
		}	
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲伊人色欲综合网| 99久久综合99久久综合网站| 精品久久久三级丝袜| 国产乱码精品一区二区三区五月婷| 2020国产精品| 成人福利视频在线看| 亚洲欧洲综合另类| 欧美日韩亚洲综合| 久久精品国产999大香线蕉| 久久精品夜色噜噜亚洲a∨| 成人精品一区二区三区中文字幕| 亚洲丝袜美腿综合| 在线不卡中文字幕| 国产精一区二区三区| 亚洲欧洲在线观看av| 欧美日韩在线播放三区| 久久99精品国产| 国产精品国产三级国产aⅴ无密码| 色噜噜偷拍精品综合在线| 日韩美一区二区三区| 国产成人啪午夜精品网站男同| 最新不卡av在线| 9191久久久久久久久久久| 国产一区二区日韩精品| 亚洲美女屁股眼交3| 欧美一区二区女人| 国产99一区视频免费| 亚洲国产视频在线| 久久婷婷国产综合精品青草| 99久久精品久久久久久清纯| 日本欧美肥老太交大片| 国产精品女主播av| 日韩三区在线观看| 99精品国产热久久91蜜凸| 日日摸夜夜添夜夜添亚洲女人| 欧美国产日韩亚洲一区| 欧美日韩国产综合一区二区| 国产99久久久国产精品| 性感美女久久精品| 欧美激情综合五月色丁香小说| 欧美日韩和欧美的一区二区| 国产69精品一区二区亚洲孕妇| 亚洲成人激情综合网| 久久久久久久久久久久久女国产乱 | 337p亚洲精品色噜噜狠狠| 国产成人免费视频网站| 午夜激情综合网| 成人av第一页| 久久精品国产亚洲5555| 亚洲男同性视频| 久久久国产一区二区三区四区小说 | 久久免费电影网| 欧美日韩中文一区| 成人激情小说网站| 另类中文字幕网| 一区二区三区精品| 亚洲国产精品高清| 日韩欧美一二三| 色婷婷国产精品综合在线观看| 国产精品性做久久久久久| 日韩国产在线观看一区| 中文字幕日韩精品一区| 久久夜色精品一区| 91精品国产色综合久久不卡电影| 色香蕉成人二区免费| 国产aⅴ综合色| 国内精品视频一区二区三区八戒| 亚洲国产va精品久久久不卡综合| 国产精品网站一区| 久久综合狠狠综合久久激情 | 日日骚欧美日韩| 一区二区三区四区激情| 中文子幕无线码一区tr| 精品国产91久久久久久久妲己 | 一本大道久久a久久综合婷婷| 国产福利精品导航| 黄页网站大全一区二区| 秋霞午夜鲁丝一区二区老狼| 亚洲国产精品人人做人人爽| 1区2区3区欧美| 中文字幕高清不卡| 久久久亚洲午夜电影| 日韩视频在线观看一区二区| 欧美日韩精品系列| 欧美在线播放高清精品| 91免费国产在线| av电影一区二区| 丁香啪啪综合成人亚洲小说| 国产裸体歌舞团一区二区| 久久精品国产精品亚洲红杏| 日韩电影在线观看电影| 偷窥少妇高潮呻吟av久久免费| 一区二区三区国产精品| 亚洲精品欧美综合四区| 亚洲人成网站影音先锋播放| 国产欧美精品在线观看| 国产性色一区二区| 久久精品一区二区三区四区| 26uuu精品一区二区| 26uuu精品一区二区三区四区在线| 日韩一区二区三区免费看 | 成人av在线资源网| av一区二区不卡| 成人av在线一区二区三区| 成人国产在线观看| 成人avav影音| 91麻豆福利精品推荐| 91在线播放网址| 色综合视频在线观看| 色香蕉久久蜜桃| 欧美在线啊v一区| 欧美日韩第一区日日骚| 欧美日韩高清一区二区三区| 91精品国产综合久久久久| 91精品婷婷国产综合久久性色| 91精品国产一区二区人妖| 欧美电影免费观看高清完整版在线观看| 欧美一区二区人人喊爽| 精品久久人人做人人爰| 久久综合av免费| 欧美国产禁国产网站cc| 国产精品国产自产拍高清av| 亚洲日本电影在线| 亚洲一区二区三区爽爽爽爽爽| 五月婷婷另类国产| 麻豆91在线观看| 国产一区在线观看视频| 成人午夜看片网址| 91香蕉视频mp4| 欧美日韩视频在线观看一区二区三区 | 免费欧美高清视频| 国产专区综合网| 成人av资源站| 在线观看日韩电影| 日韩午夜激情av| 国产亚洲精品精华液| 亚洲欧洲日韩在线| 亚洲动漫第一页| 精品一区二区三区的国产在线播放| 国产老妇另类xxxxx| 91浏览器入口在线观看| 欧美片网站yy| 久久精品日产第一区二区三区高清版| 国产精品人妖ts系列视频| 亚洲一二三区视频在线观看| 麻豆精品新av中文字幕| 成人黄色a**站在线观看| 欧美视频一区二区在线观看| 欧美成人女星排名| 中文字幕中文在线不卡住| 亚洲电影激情视频网站| 久久99久国产精品黄毛片色诱| 成人午夜精品在线| 欧美精品在线视频| 久久久久国产精品麻豆ai换脸 | 精品乱人伦一区二区三区| 国产精品久久久久桃色tv| 午夜免费欧美电影| 国产美女一区二区| 在线视频一区二区三| 欧美r级在线观看| 亚洲欧洲三级电影| 麻豆久久久久久久| 91麻豆国产在线观看| 日韩手机在线导航| 1000精品久久久久久久久| 日韩va亚洲va欧美va久久| 成人午夜在线免费| 欧美一区二区观看视频| 国产精品久久久一本精品| 日韩精品亚洲专区| 成人一区在线看| 欧美高清视频一二三区 | 国产精品成人在线观看| 轻轻草成人在线| 91免费视频大全| 久久免费视频色| 天天综合网 天天综合色| 成人av综合一区| 精品少妇一区二区三区视频免付费 | 2023国产精品视频| 亚洲电影激情视频网站| 北条麻妃国产九九精品视频| 日韩一级视频免费观看在线| 亚洲乱码国产乱码精品精可以看 | 欧美一区二区久久| 亚洲欧美日韩成人高清在线一区| 美女网站视频久久| 欧美综合一区二区| 欧美极品少妇xxxxⅹ高跟鞋 | 国产一区二区电影| 欧美日韩精品系列| 亚洲婷婷综合色高清在线| 狠狠色综合日日| 欧美一区二区三区四区久久| 亚洲精品一二三| 粉嫩aⅴ一区二区三区四区| 日韩一二三区不卡| 亚洲午夜在线电影| 91在线视频18|