www84811.com-国产区一区二区三区,亚洲第一中文字幕在线观看,91精品久久香蕉国产线看观看,国产精品欧美久久

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

單片機基于算盤碼的新型時鐘

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2013-1-12

現在將一個實際編制的、帶有調整時間功能的算盤碼新型時鐘程序發布。硬件電路由于只有一個三基色LED和一個按鍵開關,就不貼出了。所選MCU主要是利用其內置的RTCC。
單個按鍵開關有短按和長按兩種用法。在正常報時狀態,短按無作用,長按可以進入調時狀態。進入調時狀態后,按照十小時、小時、十分、分的順序依次調整。每次短按鍵循環進行增量步進,長按鍵進入下一檔位,4種都調完最后一次長按鍵就回到正常報時狀態。在調整狀態,調整“小時”和“分鐘”時用白色和藍色分別顯示,白色表示正在調整的檔位,藍色則表示不調整的檔位。例如,在調整到第三檔的時候,第一個拍發的數碼是白色,表示“十分”,第二個拍發的數碼是藍色,表示“分”,在這個檔位短按鍵只調整白色的“十分”,不調整藍色的“分”。

/*------------------------------------------------------------------- 
編譯器:MCC18 V3.40 
日期:2011 0924             
版本:V1.1 
功能:用過去在Pic16論壇上發布過的算盤碼編碼格式,在pic18f26j13的RTCC上實現可以 
用兩位碼和光色來表示小時與分鐘的新型時鐘。 
前一位碼的光色表示“十小時”,碼型表示“小時”。后一位碼的光色表示“十分鐘”,碼型表示“分鐘”。 
光色表示的數值依照“藍,綠,黃,紅,青,紫”依次表示“0,1,2,3,4,5”。 
碼型以長短發光表示,以“劃”表示發光時間略長,“點”表示發光時間很短。以下從0--9的碼型分別為 
劃劃,點,點點,點點點,點點點點,劃,劃點,劃點點,劃點點點,劃點點點點。 
用較短的停頓區分前后碼,用較長的停頓表示分組。 
例如,21點整,表示為“黃點,藍劃劃” 
修改時鐘,要長按唯一的按鍵,直到發出持續的白光(白里泛紫),松鍵就用白光點劃表示等待修改的位,用藍光點劃表示不修改的位。 
修改狀態連續發出的兩個碼型,前面一組表示十小時和小時,后面一組表示十分鐘和分鐘。每次修改時,先修改十小時位,再修改小時位。 
此時顯示的兩個碼前面是十小時,后面是小時。前碼白光后碼藍光時修改十小時,通過短按鍵循環改變該位的值,修改完畢長按鍵就轉入后位修改, 
這時是前碼藍光,后碼白光,同樣是循環改變,完成這組后長按就進入十分鐘和分鐘修改。后一組的修改過程和結束方式同前。 
長按鍵要看到一組兩個碼完整顯示再松手,才能保證進入下一步。 
修改完成后會自動保存到RTCC,繼續正常發光報時任務。 
硬件電路非常簡單,除去主振蕩器12m和實時鐘晶體32768Hz外,只有程序最前部鍵定義連接的一個按鍵和一個三基色led。其它均按MCU手冊要求配電容電阻即可。 
特別聲明,本算盤碼的編碼方式,修改時鐘方式和整個程序屬于本人原創,可基于個人研究目的進行引用和復制,但不得作為商業用途使用。 
-------------------------------------------------------------------*/
 
#include <P18f26j13.h> 

#define Key PORTCbits.RC2 
#define LEDR TRISBbits.TRISB2        //紅led 
#define LEDG TRISBbits.TRISB0        //綠led 
#define LEDB TRISBbits.TRISB3        //藍led 

void
 main (void); 
void
 InterruptHandlerHigh (void); 

unsigned char
 *ppptr; 
static const
 unsigned int morse_code[12]={0xee00,0x8000,0xa000,0xa800,0xaa00,0xe000,0xe800,0xea00, 
0xea80
,0xeaa0,0x0000,0x0000};        //算盤碼碼型 
static const unsigned char code_lenth[12]={0x0c,0x06,0x08,0x0a,0x0c,0x08,0x0a,0x0c,0x0f,0x11,0x0a,0x0a}; 
                                    //算盤碼碼長 
unsigned int *morse_ptr; 
unsigned char
 *code_lenth_ptr; 
static
 unsigned char morse_lenth; 
static
 unsigned int timing_code[4]={0x0000,0xaa00,0x0000,0x0000};        //輪流拍發的碼型存放位置 
static unsigned char timing_code_lenth[4]={0x05,0x05,0x00,0x05};            //輪流拍發的碼長存放位置 
unsigned char tens_or_ones; 
unsigned char
 colour,minus; 

unsigned char
 key_pules,key_count; 
static
 unsigned long key_status=0xffffffff;        //存儲按鍵歷史的變量,每次中斷存一位,為0表示長按鍵 
unsigned char key_down,key_up,last_key;            //表征按鍵按下、抬起的變量 
unsigned char t=0; 
unsigned char
 minut_colour,minut; 
unsigned char
 hour,hour_colour; 
unsigned char
 in_hour=1;            //區別小時和分鐘的變量 
unsigned int temp; 
unsigned int
 temperature;            //測試的變量名,沒有改正 

unsigned char
 Rtimehi[4]={0x0,0x09,0x1,0x54},Rtimelo[4]={0x11,0x11,0x15,0x30};        //保存RTCC日期時間的兩組變量 
//***************主函數***************** 
void main() 
{
 
    unsigned char
 i,j; 
    //**********RC2作為按鍵使用初始化********************** 
    ANCON1bits.PCFG11=1;    //RC2作為數字IO,不給ADC 
    TRISCbits.TRISC2=1;        //輸入,接Key 
    //*************************RTCC初始化******************* 
    T1GCON=0; 
    T1CON=0X8B;                //允許tmr1的振蕩器 
    RTCCFG=0X07; 
    RTCCAL=0X0;                //校準值 
    PADCFG1=0X02;            //輸出秒時鐘 
    _asm  movlw 0x55 _endasm 
    _asm movwf EECON2,0 _endasm 
    _asm movlw 0xAA _endasm 
    _asm  movwf EECON2,0 _endasm 
    _asm  bsf RTCCFG,5,1 _endasm    //開啟寫入 
    RTCCFGbits.RTCEN=1; 
    RTCCFG|=0x03;        //置指針為0b11 
    while (RTCCFGbits.RTCSYNC);    //等待不忙 
        for (i=0;i<4;i++)    //讀 
        { 
            Rtimelo[i]=RTCVALL; 
            Rtimehi[i]=RTCVALH; 
        }
 
        //****************TIMERS******************* 
        T0CON=0X84;                //定時器, 分頻 
        INTCONbits.T0IE=1; 
        T5CON=0X3F;                //1/4Fosc,1:8 prescale,T1OSC, 16 bits WR,enabled 
        T5GCON=0;                //no gate 
        PIE5bits.TMR5IE=1; 
        //*****************中斷開啟*************** 
        INTCONbits.PEIE=1; 
        INTCONbits.GIE=1; 
        //****************按鍵相關設置************* 
        morse_ptr=timing_code; 
        code_lenth_ptr=timing_code_lenth; 
        t=timing_code_lenth[1]; 
        temp=timing_code[1]; 
        key_up=0;                        //缺省為按鍵抬起狀態 
        key_down=0; 
        last_key=1; 
        //**************************主循環************************ 
        while(1) 
        {
 
            RTCCFG|=0x03;        //置指針為0b11 
            Rtimelo[0]=RTCVALL;        //讀年 
            Rtimehi[0]=RTCVALH;        //讀空 
            Rtimelo[1]=RTCVALL;        //讀日 
            Rtimehi[1]=RTCVALH;        //讀月 
            Rtimelo[2]=RTCVALL;        //讀小時 
            Rtimehi[2]=RTCVALH;        //讀星期 
            Rtimelo[3]=RTCVALL;        //讀秒 
            Rtimehi[3]=RTCVALH;        //讀分 
    
            hour_colour=Rtimelo[2]>>4;            //十小時顏色 
            hour=Rtimelo[2]&0x0f;                //小時 
            minut_colour=Rtimehi[3]>>4;            //十分顏色 
            minut=Rtimehi[3]&0x0f;                //分鐘 
            timing_code[1]=morse_code[hour];            //小時的碼型 
            timing_code_lenth[1]=code_lenth[hour];        //小時的碼長 
            timing_code[2]=morse_code[minut];            //分的碼型 
            timing_code_lenth[2]=code_lenth[minut];    //分的碼長 

            //以下為修改時鐘的鍵操作部分 
            if (key_status==0) 
            {
 
                hour_colour=6;                //白色光 
                minut_colour=0; 
                for
 (i=0;i<3;i++) 
                timing_code[i]=0xffff;            //全長劃,表示進入調整時鐘模式 
                while (key_status==0); 
                for
 (i=0;i<3;i++) 
                    timing_code[i]=0;    
                while
 (key_status)                //一次長按鍵之前,修改十小時值 
                { 
                    timing_code[1]=morse_code[Rtimelo[2]>>4];    //十小時 
                    timing_code_lenth[1]=code_lenth[Rtimelo[2]>>4]; 
                    timing_code[2]=morse_code[Rtimelo[2]&0x0f];    //小時 
                    timing_code_lenth[2]=code_lenth[Rtimelo[2]&0x0f]; 
                    if
 (key_up==1)                //如果發現短時間按鍵的抬鍵信號 
                    { 
                        Rtimelo[2]+=0x10;                //步進十小時 
                        key_up=0;                    //清除短時間按鍵標志 
                    } 
                    if
 (Rtimelo[2]>0x23) 
                        Rtimelo[2]=0; 
                    }
 
                    while
 (key_status==0) key_up=0;        //防止一次按鍵連續動作 
                        hour_colour=0;                //lan色光 
                    minut_colour=6;                //白色光 
                    while (key_status)                //一次長按鍵之前,修改小時值 
                    { 
                        timing_code[1]=morse_code[Rtimelo[2]>>4];    //十小時 
                        timing_code_lenth[1]=code_lenth[Rtimelo[2]>>4]; 
                        timing_code[2]=morse_code[Rtimelo[2]&0x0f];    //小時 
                        timing_code_lenth[2]=code_lenth[Rtimelo[2]&0x0f]; 
                        if
 (key_up==1)                //如果發現短時間按鍵的抬鍵信號 
                        { 
                            Rtimelo[2]++;                //步進小時 
                            key_up=0;                    //清除短時間按鍵標志 
                        } 
                        if
 (Rtimelo[2]>0x23)            //總小時數若大于23,則小時個位置0 
                        Rtimelo[2]=0x20; 
        
                        if
 ((Rtimelo[2]&0x0f)>9)        //小時值若大于9 
                        Rtimelo[2]&=0xf0;            //修改為0 
                    } 
                    while
 (key_status==0) key_up=0;        //防止一次按鍵連續動作 
                    //以下修改分鐘 
                    hour_colour=6;                //白色光 
                    minut_colour=0;                //藍色光 
                    while (key_status)                //一次長按鍵之前,修改十分鐘值 
                    { 
                        timing_code[1]=morse_code[Rtimehi[3]>>4];    //十分鐘 
                        timing_code_lenth[1]=code_lenth[Rtimehi[3]>>4]; 
                        timing_code[2]=morse_code[Rtimehi[3]&0x0f];    //分鐘 
                        timing_code_lenth[2]=code_lenth[Rtimehi[3]&0x0f]; 
                        if
 (key_up==1)                        //如果發現短時間按鍵的抬鍵信號 
                        { 
                            Rtimehi[3]+=0x10;                    //步進十分鐘 
                            key_up=0;                            //清除短時間按鍵標志 
                        } 
                        if
 (Rtimehi[3]>0x59)                //總fen數若大于59,則十分鐘位置0 
                        Rtimehi[3]&=0x0f; 
                    }
 
                    while
 (key_status==0) key_up=0;        //防止一次按鍵連續動作 
                    hour_colour=0;                        //藍色光 
                    minut_colour=6;                        //白色光 
                    bwhile (key_status)                    //一次長按鍵之前,修改分鐘值 
                    { 
                        timing_code[1]=morse_code[Rtimehi[3]>>4];    //十分鐘 
                        timing_code_lenth[1]=code_lenth[Rtimehi[3]>>4]; 
                        timing_code[2]=morse_code[Rtimehi[3]&0x0f];    //分鐘 
                        timing_code_lenth[2]=code_lenth[Rtimehi[3]&0x0f]; 
                        if
 (key_up==1)                        //如果發現短時間按鍵的抬鍵信號 
                        {    
                            Rtimehi[3]++;                        //步進分鐘 
                            key_up=0;                            //清除短時間按鍵標志 
                        } 
                        if
 ((Rtimehi[3]&0x0f)>9)            //fen數個位若大于9,則分鐘位置0 
                            Rtimehi[3]=Rtimehi[3]&0xf0; 
                    }
 
                    while
 (key_status==0) key_up=0;        //防止一次按鍵連續動作 
                    //寫入RTCC 
                    RTCCFG|=0x03;        //置指針為0b11 
                    while (RTCCFGbits.RTCSYNC);    //等待不忙 
                    for (i=0;i<4;i++)    //寫 
                    { 
                        RTCVALL=Rtimelo[i]; 
                        RTCVALH=Rtimehi[i]; 
                    } 
            }
 
            //到達MAIN最后部分 
        } 
}
 
//---------------------------------------------------------------------------- 
// High priority interrupt vector 
#pragma code InterruptVectorHigh = 0x08 
void InterruptVectorHigh (void) 
{
 
  _asm 
    goto
 InterruptHandlerHigh         //jump to interrupt routine 
  _endasm 
}
 
//---------------------------------------------------------------------------- 
// High priority interrupt routine 
#pragma code 
#pragma interrupt InterruptHandlerHigh 

void
 
InterruptHandlerHigh () 
{
 
    if
 (INTCONbits.TMR0IF) 
    {
                                 //check for TMR0 overflow 
        INTCONbits.TMR0IF = 0;        //clear interrupt flag 
        TMR0H=0X20;                            //略加快點劃速率 
        TMR0L=0; 
        if
 ((t<=0)|t>25) 
        {
 
            if
 (morse_ptr>&timing_code[2]) 
            {
 
                morse_ptr=timing_code; 
                code_lenth_ptr=timing_code_lenth; 
            }
 
            else
 
            {
 
                morse_ptr++; 
                code_lenth_ptr++; 
            }
 
            if
 (morse_ptr>(&timing_code[1]))        //小時在1,分在2,據此決定in_hour 
                in_hour=0; 
            else
 
                in_hour=1; 
            if
 (in_hour==0)                    //十分鐘顏色 
            { 
                if
 (minut_colour==0)                                //藍 
                { 
                    LEDG=1; 
                    LEDR=1; 
                    LEDB=0; 
                }
 
                else if
 (minut_colour==1)                            //綠 
                { 
                    LEDG=0; 
                    LEDR=1; 
                    LEDB=1; 
                }
 
                else if
 (minut_colour==2)                            //黃 
                { 
                    LEDG=0; 
                    LEDR=0; 
                    LEDB=1; 
                }
 
                else if
 (minut_colour==3)                            //紅 
                { 
                    LEDG=1; 
                    LEDR=0; 
                    LEDB=1; 
                }
 
                else if
 (minut_colour==4)                            //青 
                { 
                    LEDG=0; 
                    LEDR=1; 
                    LEDB=0; 
                }
 
                else if
 (minut_colour==5)                            //紫 
                { 
                    LEDG=1; 
                    LEDR=0; 
                    LEDB=0; 
                }
 
                else
                                                //白 
                { 
                    LEDG=0; 
                    LEDR=0; 
                    LEDB=0; 
                } 
            }
 
            else
                                //十小時顏色 
            { 
                if
 (hour_colour==0)                                //藍 
                { 
                    LEDG=1; 
                    LEDR=1; 
                    LEDB=0; 
                }
 
                else if
 (hour_colour==1)                            //綠 
                { 
                    LEDG=0; 
                    LEDR=1; 
                    LEDB=1; 
                }
 
                else if
 (hour_colour==2)                            //黃 
                { 
                    LEDG=0; 
                    LEDR=0; 
                    LEDB=1; 
                }
 
                else if
 (hour_colour==3)                            //紅 
                { 
                    LEDG=1; 
                    LEDR=0; 
                    LEDB=1; 
                }
     
                else if
 (hour_colour==4)                            //青 
                { 
                    LEDG=0; 
                    LEDR=1; 
                    LEDB=0; 
                }
 
                else if
 (hour_colour==5)                            //紫 
                { 
                    LEDG=1; 
                    LEDR=0; 
                    LEDB=0; 
                }
 
                else
                                                //白 
                { 
                    LEDG=0; 
                    LEDR=0; 
                    LEDB=0; 
                } 
            }
 
            temp=*morse_ptr;                    //取得指針位置的值 
            t=*code_lenth_ptr;                    //同上 
        } 
        else
 
        {
 
            t--; 
        }
 
        if
 ((temp&0x8000)==0)                //這段是拍發算盤碼的執行部分 
            LATB = LATB|0b00001101; 
        else
 
            LATB = LATB&0b1110010; 
        temp=temp<<1; 
    }
 
    else if
 (PIR5bits.TMR5IF)            //該定時器用來識別按鍵動作 
    { 
        PIR5bits.TMR5IF = 0;            //clear interrupt flag 
        if (key_down==1&last_key==1)    //只有下鍵后才進入判斷 
        { 
            if
 (key_status)                //在沒有全0序列情況下 
            if (Key==1)                    //確認抬鍵 
            { 
                key_up=1; 
                key_down=0; 
            } 
        }
 
        else if
 (last_key==0) 
        {
 
            if
 (Key==0) 
            {
 
                key_down=1;                        //確認下鍵 
                key_up=0; 
            } 
        }
 
        last_key=Key;                    //當前鍵值賦予舊鍵值 
        key_status=key_status<<1;        //鍵狀態左移1位 
        key_status|=Key;                //末位置Key的值 
    } 
}

Tags:單片機,pic18,時鐘,程序  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
www84811.com-国产区一区二区三区,亚洲第一中文字幕在线观看,91精品久久香蕉国产线看观看,国产精品欧美久久
国产黄色成人av| 色哟哟精品一区| 中文av字幕一区| 99国产精品久久久久久久久久久| 亚洲日本一区二区| 欧美色视频一区| 看电视剧不卡顿的网站| 国产日韩综合av| 色8久久人人97超碰香蕉987| 日韩激情一二三区| www久久精品| 99国产精品久久久久久久久久| 亚洲小说春色综合另类电影| 日韩一卡二卡三卡四卡| 国产不卡视频一区| 亚洲一级二级在线| 精品国产乱码久久久久久夜甘婷婷| 成人一级片在线观看| 亚洲图片欧美一区| 久久午夜国产精品| 色欧美日韩亚洲| 精品伊人久久久久7777人| 国产精品国产三级国产普通话蜜臀 | 国产一区二区免费视频| 亚洲色图第一区| 日韩午夜小视频| 成人美女视频在线看| 亚洲a一区二区| 国产婷婷色一区二区三区四区| 欧美在线观看视频一区二区| 精品亚洲成a人| 一区二区三区中文字幕精品精品| 日韩视频免费直播| 91在线视频在线| 久久av中文字幕片| 亚洲免费在线看| 日韩精品中文字幕一区二区三区 | 国产精品免费免费| 91精品国产综合久久香蕉麻豆| 国产91精品露脸国语对白| 午夜久久福利影院| 国产精品久久综合| 日韩欧美国产电影| 91成人免费电影| 国产xxx精品视频大全| 亚洲成人一区二区在线观看| 中文一区二区完整视频在线观看| 在线成人小视频| 色综合天天综合网国产成人综合天| 久久成人免费日本黄色| 亚洲一区二区三区四区在线免费观看| 久久精品男人的天堂| 91精品午夜视频| 色综合久久88色综合天天| 国产毛片一区二区| 日韩高清不卡在线| 一区二区三区国产豹纹内裤在线 | 亚洲精品视频一区| 国产欧美一区二区精品久导航| 91.麻豆视频| 在线亚洲高清视频| 成人app软件下载大全免费| 久久超级碰视频| 婷婷综合久久一区二区三区| 亚洲色图视频网| 中文字幕高清一区| 26uuu精品一区二区| 在线成人小视频| 欧美在线播放高清精品| 成人h精品动漫一区二区三区| 精品影视av免费| 麻豆国产欧美日韩综合精品二区 | 成人av在线资源网站| 精品一区二区三区在线视频| 日韩黄色片在线观看| 亚洲综合丝袜美腿| 亚洲视频 欧洲视频| 中文字幕欧美激情| 国产日韩欧美在线一区| 亚洲精品一线二线三线无人区| 在线电影院国产精品| 欧美日韩国产电影| 欧美无砖专区一中文字| 一本久久综合亚洲鲁鲁五月天 | 欧美精品久久一区二区三区| 色欧美片视频在线观看| av亚洲精华国产精华精华| 岛国精品在线播放| 国产成人久久精品77777最新版本| 极品销魂美女一区二区三区| 蜜臀av国产精品久久久久| 青青草精品视频| 蜜桃精品视频在线| 男人操女人的视频在线观看欧美| 午夜精品福利在线| 日韩专区中文字幕一区二区| 亚洲一区二区三区四区不卡| 亚洲一区二区三区视频在线 | 青草av.久久免费一区| 视频一区中文字幕| 日本伊人色综合网| 免费成人小视频| 久久国产精品99精品国产| 精久久久久久久久久久| 激情综合色综合久久| 国产一区三区三区| 国产成人免费视频网站高清观看视频 | 久久电影网站中文字幕| 久久99日本精品| 国产一区二区免费看| 成人中文字幕电影| k8久久久一区二区三区| 91麻豆国产福利精品| 色狠狠av一区二区三区| 欧美午夜理伦三级在线观看| 欧美美女bb生活片| 日韩欧美高清dvd碟片| www国产成人免费观看视频 深夜成人网| 久久精品亚洲乱码伦伦中文| 中文字幕中文字幕一区| 一区二区三区四区在线| 丝袜亚洲精品中文字幕一区| 免费成人在线观看视频| 国产成人8x视频一区二区| 92国产精品观看| 精品视频一区二区三区免费| 91精品国产aⅴ一区二区| 精品国产乱码久久久久久久久| 国产偷国产偷精品高清尤物 | 亚洲免费电影在线| 亚洲成av人综合在线观看| 奇米亚洲午夜久久精品| 国产一区二区网址| 99热这里都是精品| 欧美亚洲综合久久| 日韩免费一区二区三区在线播放| 久久久精品蜜桃| 亚洲欧美日韩国产综合| 日韩黄色片在线观看| 国产成人在线观看免费网站| 91麻豆123| 欧美一级理论片| 中文欧美字幕免费| 亚洲超碰精品一区二区| 国产在线视频一区二区三区| 91玉足脚交白嫩脚丫在线播放| 欧美日韩高清在线| 久久久国产午夜精品| 一区二区三区91| 久久99精品久久久久婷婷| 99久久精品情趣| 777久久久精品| 国产精品美女一区二区| 日日夜夜精品视频天天综合网| 国产精品一区二区不卡| 欧美性猛交一区二区三区精品| 精品国产髙清在线看国产毛片| 综合久久给合久久狠狠狠97色| 日本不卡一区二区| a美女胸又www黄视频久久| 91麻豆精品91久久久久同性| 国产精品三级av在线播放| 午夜久久久影院| 99在线视频精品| 日韩精品中文字幕一区二区三区 | 国产一区 二区 三区一级| 色老汉一区二区三区| 久久久影视传媒| 午夜欧美在线一二页| 成人黄色免费短视频| 欧美一区二区三区在线视频| 成人欧美一区二区三区视频网页| 蜜桃久久久久久| 在线欧美小视频| 日本一区二区三区在线观看| 日韩高清欧美激情| 一本色道久久综合亚洲aⅴ蜜桃| 欧美精品一区二区三| 亚洲成av人片www| 99精品一区二区三区| 精品对白一区国产伦| 性做久久久久久免费观看欧美| 成人午夜激情影院| 日韩精品一区二区三区在线| 亚洲一区二区四区蜜桃| 成人免费毛片app| 欧美videos中文字幕| 香蕉加勒比综合久久| av亚洲精华国产精华精| 久久久精品综合| 久久国产精品免费| 欧美顶级少妇做爰| 亚洲综合男人的天堂| 波多野结衣91| 国产亚洲午夜高清国产拍精品| 免费观看成人av| 制服丝袜av成人在线看| 夜色激情一区二区| 99国产精品一区| 国产精品美女久久久久高潮|