• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    嵌入式框架QP_nano的51單片機移植與應用

    2016-01-26 08:18:19張東杰王俊璞
    關鍵詞:狀態(tài)機

    張東杰,王俊璞

    (上海交通大學 儀器科學與工程系,上海 200240)

    ?

    嵌入式框架QP_nano的51單片機移植與應用

    張東杰,王俊璞

    (上海交通大學 儀器科學與工程系,上海 200240)

    摘要:本文旨在為單片機開發(fā)引入一套輕量級軟件框架QPnano。首先以簡易數(shù)字時鐘設計為例,展示了使用QPnano的開發(fā)過程,然后詳述了QPnano到Keil C51的移植,通過使用QPnano,將一些經(jīng)典的軟件思想和技術,如面向對象、事件驅動、狀態(tài)機等,很自然地引入到單片機的軟件開發(fā)中。

    關鍵詞:QPnano;事件驅動;狀態(tài)機;軟件框架;MCU

    引言

    在計算機軟件開發(fā)方面,面向對象設計、UML、測試驅動開發(fā)、基于框架開發(fā)等,是比較成熟的開發(fā)方式,但它們很少被引入到傳統(tǒng)的單片機開發(fā)領域。究其原因,除了嵌入式芯片廠家眾多、軟件開發(fā)與硬件耦合度過高、硬件資源有限等因素外,缺少相關領域的研究和推廣也是一個主要原因。傳統(tǒng)的中低端單片機,如8051、PIC、AVR等,因其價格低廉、結構簡單、已有大批用戶使用等因素,在工業(yè)、消費類電子等領域,仍占有很大的市場份額,因此提高這些單片機的開發(fā)效率和軟件質(zhì)量,對提高產(chǎn)業(yè)效率和產(chǎn)品質(zhì)量有重要意義。

    相對于傳統(tǒng)的單片機開發(fā)使用前后臺系統(tǒng)和多任務系統(tǒng),基于框架開發(fā)在代碼重用、設計簡易性等方面有很大優(yōu)勢。作為為數(shù)不多的嵌入式軟件框架,QP_nano基于UML狀態(tài)機和事件驅動[1],用C語言實現(xiàn),具備輕量級、便于移植等優(yōu)勢,特別適合嵌入式應用。

    本文首先通過使用QP_nano設計數(shù)字時鐘的全過程,展示QP_nano的面向對象、狀態(tài)設計等應用特征給設計帶來的簡易性,之后詳述QP_nano移植到Keil C51平臺需要做的配置、代碼調(diào)整以及平臺相關函數(shù)的實現(xiàn)。

    1基于QP_nano設計簡易數(shù)字時鐘

    1.1設計方案

    設計一個簡易數(shù)字時鐘,實現(xiàn)時鐘的運行和設置功能設計方案如下:

    ① 采用24小時制,用4個數(shù)碼管分別顯示小時和分鐘。

    ② 使用SET(設置鍵)、UP(加鍵)和DOWN(減鍵),調(diào)整時鐘。

    ③ 數(shù)字時鐘上電的時候,進入時鐘運行狀態(tài);從12:00開始計時,每隔1分鐘,分鐘數(shù)加1;分鐘數(shù)計滿60后,小時數(shù)加1,分鐘數(shù)清零并重新開始計時;小時數(shù)計到24時,小時數(shù)清零并重新開始計時。

    ④ 在時鐘運行狀態(tài),按SET,進入小時設置狀態(tài),小時顯示開始閃爍。

    ⑤ 在小時設置狀態(tài),按SET,小時數(shù)確認并進入分鐘設置狀態(tài),分鐘顯示開始閃爍。

    ⑥ 在分鐘設置狀態(tài),按SET,分鐘數(shù)確認,并進入時鐘運行狀態(tài)。

    ⑦ 在小時或分鐘設置狀態(tài),按UP或DOWN,對應的小時或分鐘加1或減1,小時變化范圍是0~23,分鐘變化范圍是0~59。

    1.2硬件設計

    ① 搭建一個51單片機的最小系統(tǒng),具體方案請參照所選芯片的數(shù)據(jù)手冊。

    ② 添加4個數(shù)碼管及相應的驅動電路到系統(tǒng),采用動態(tài)刷新方式,分配4個單片機I/O口連接到數(shù)碼管片選,分配8個I/O口連接到數(shù)碼管段碼。

    ③ 添加3個按鍵及相應的電路到系統(tǒng),分配單片機3個I/O口連接到按鍵輸入。

    1.3軟件設計

    使用QP_nano,最重要的是劃分活動對象[1],不同的活動對象負責不同的處理功能。每個活動對象都是一個狀態(tài)機[1],某一時刻只能處在一個狀態(tài)?;顒訉ο蠛突顒訉ο笾g通過事件[1]通信,活動對象可以發(fā)送或處理事件。處理事件包括改變狀態(tài)、調(diào)用一些硬件驅動函數(shù)等。使用QP_nano開發(fā)單片機應用的過程一般包括劃分活動對象、定義事件信號和編寫活動的狀態(tài)處理函數(shù)等。

    1.3.1劃分活動對象

    根據(jù)系統(tǒng)功能分解出3個活動對象:Display、Counter和Keyboard。其中,Display負責刷新數(shù)碼管顯示,Counter負責時鐘計時和設置,Keyboard負責掃描鍵盤。

    在動態(tài)刷新方式下,Display每隔一個Tick(系統(tǒng)嘀嗒)都要刷新一次,而Counter僅需要一個慢速時鐘驅動,且與Display有共享顯示緩沖區(qū)的需求,為簡化實現(xiàn),將Counter活動嵌套到Display內(nèi)部,構成層次嵌套關系。因此,定義Display和Keyboard兩個活動即可,代碼如下:

    typedef struct Display {

    QActive super;

    uint32_t counter;

    uint16_t refreshingCtr;

    uint16_t countingCtr;

    uint8_t buf[4];

    } Display;

    typedef struct Keyboard {

    QActive super;

    } Keyboard;

    其中,super表示活動,Display和Keyboard擴展(繼承)了活動,因此可以使用向下轉型(down_cast)的方式,擁有活動的響應事件等功能;counter為時鐘的秒計數(shù)變量;refreshingCtr對刷新次數(shù)進行計數(shù),每隔250個計數(shù)周期給Display活動發(fā)送計數(shù)信號;countingCtr用于對計數(shù)信號進行統(tǒng)計,計滿4個counter加1,表示時鐘前進1 s;buf表示時鐘顯示的緩沖區(qū)。

    1.3.2定義用戶信號

    用戶信號用來標記事件的類型,即確定事件的含義。數(shù)字時鐘共定義了4個信號,代碼如下:

    enum ClockSignals {

    CLOCK_COUNT_SIG = Q_USER_SIG, //計數(shù)信號

    CLOCK_SET_SIG, //設置信號

    CLOCK_UP_SIG, //加信號

    CLOCK_DOWN_SIG, //減信號

    };

    1.3.3活動順序圖

    QP_nano活動之間的通信關系,用UML順序圖描述。數(shù)字時鐘的順序圖如圖1所示,QP_nano每隔一個Tick(配置為1 ms)發(fā)送一個TIME_OUT事件(系統(tǒng)保留)給Keyboard和Display;Keyboard每計滿10個TIME_OUT,掃描一次鍵盤,連續(xù)兩次發(fā)現(xiàn)有鍵按下就發(fā)送對應的鍵盤事件給Display;Display每收到一個TIME_OUT就刷新一次數(shù)碼管,并同時對該事件計數(shù),計滿250個后給自身發(fā)送CLOCK_COUNT事件,并更新一次顯示緩沖區(qū),如果在計時狀態(tài),累加4次后,時鐘變量加1 s;如果在設置狀態(tài),則切換消隱(清空顯示緩沖區(qū))和正常顯示,實現(xiàn)閃爍功能(為簡便起見,信號末尾未加_SIG,下同)。

    圖1 活動順序圖

    1.3.4活動狀態(tài)圖

    活動和活動之間的通信關系由活動順序圖展現(xiàn),而活動內(nèi)部的狀態(tài)及運行情況則通過UML狀態(tài)圖描述。

    圖2 Keyboard狀態(tài)圖

    活動Keyboard的狀態(tài)圖如圖2所示,Scanning狀態(tài)用于掃描鍵盤,Keyboard由初始狀態(tài)轉換到該狀態(tài)后,一直運行于該狀態(tài)。

    圖3 Display狀態(tài)圖

    活動Display的狀態(tài)圖如圖3所示,Refreshing狀態(tài)用于刷新數(shù)碼管,Counting狀態(tài)用于時鐘計數(shù),Set_Hour狀態(tài)用于調(diào)整小時,Set_Min狀態(tài)用于調(diào)整分鐘;Display從初始狀態(tài)進入Refreshing狀態(tài),又繼續(xù)進入Counting狀態(tài);在Counting狀態(tài)、Set_Hour狀態(tài)和Set_Min狀態(tài)下,若收到TIME_OUT事件,則自動返回到Refreshing狀態(tài)處理。

    1.3.5編寫活動的狀態(tài)處理函數(shù)和硬件驅動函數(shù)

    活動狀態(tài)圖中的每一個狀態(tài)都對應一個狀態(tài)處理函數(shù)處理事件,如Keyboard的Scanning狀態(tài)響應TIME_OUT事件(計數(shù)滿10個,調(diào)用鍵盤掃描函數(shù)),Display的Counting狀態(tài)響應CLOCK_SET事件(轉換到Set_Hour狀態(tài))。

    硬件驅動函數(shù)用來初始化和控制外設,本測試中定義了bsp_init()、bsp_keyboard()和bsp_display()三個硬件相關函數(shù)。其中,bsp_init()用于初始化芯片時鐘、鍵盤和顯示I/O口狀態(tài),在啟動QP_nano運行前調(diào)用;bsp_keyboard()用于鍵盤掃描,即讀取鍵盤I/O口的狀態(tài),在Keyboard的Scanning狀態(tài)調(diào)用;bsp_display()用于刷新一位數(shù)碼管,在Display的Refreshing狀態(tài)調(diào)用。

    1.3.6主程序

    基于QP_nano的主程序簡單,只需調(diào)用活動的構造函數(shù)及硬件初始化函數(shù),然后啟動QP_nano內(nèi)核即可。數(shù)字時鐘的主程序如下:

    intmain(void) {

    Display_ctor();

    Keyboard_ctor();

    bsp_init();

    return QF_run();

    while(1);

    }

    1.3.7文件部署

    數(shù)字時鐘的文件部署如下(.表示項目路徑,main()函數(shù)在clock.c定義):

    ./boot/startup.a51

    ./bsp/bsp.c,bsp_display.c,bsp_keyboard.c,bsp.h,bsp_display.h,bsp_keyboard.h

    ./nano_51/qepn.c,qfn.c,qepn.h,qfn.h,qassert.h

    ./obj

    ./usr/clock.uvproj,qpn_port.h,clock.c,display.c,keyboard.c,clock.h,display.h,keyboard.h

    最后編譯結果顯示,ROM空間使用約11 KB,RAM空間使用約170 B。

    2移植QP_nano到Keil C51

    2.1獲取QP_nano的代碼文件

    訪問網(wǎng)站http://www.state-machine.com/psicc2/,點擊 QP_nano的資源鏈接,轉到sourceforge網(wǎng)站下載安裝文件或壓縮包(本文使用的是2014年發(fā)布的5.3.0版),安裝或解壓的默認路徑是c:qp。需要移植的文件包括:

    ① qpn_port.h:QP_nano和平臺相關的聲明,都要在此文件聲明(如QP_nano使用的數(shù)據(jù)類型,typedef int int16_t)或包含(如#include "qassert.h")。在安裝例程位置拷貝一個做模版,比如C:qpqpnexamplesmsp430iarlinky_eZ430qpn_port.h。

    ② qp_nano的實現(xiàn)頭文件:QP_nano的實現(xiàn)聲明,位于C:qpqpninclude目錄下,包括qassert.h、qepn.h、qfn.h、和qkn.h。

    ③ qp_nano的實現(xiàn)文件:QP_nano的實現(xiàn)代碼,位于C:qpqpnsource目錄下,包括qepn.c、qfn.c、qfn_init.c和qkn.c。

    2.2Keil配置

    2.2.1修改啟動文件STARTUP.A51

    本文測試使用外部RAM作為可重入堆棧,需對啟動文件做如下配置:

    ① XDATALEN:外部RAM的尺寸,與所選芯片匹配,如果是1 KB, 則為3FFH;

    ② XBPSTACK:設為1,標記外部RAM作為可重入堆棧;

    ③ XBPSTACKLEN:配置堆棧棧頂,與芯片匹配,如果是1 KB,則為3FFH+1;

    2.2.2菜單配置

    ① 在目標配置窗口目標選項卡(Flash->Configure-Target)選擇內(nèi)存模型為大模式。

    ② 在目標配置窗口C51選項卡,添加包含文件的路徑(根據(jù)文件部署添加)。

    2.3QP_nano文件調(diào)整

    由于部分函數(shù)傳遞參數(shù)較多,必須加reentrant關鍵字,告訴編譯器要使用堆棧傳遞參數(shù)。為了減輕工作量,本文測試中所有函數(shù)的聲明和定義都添加了reentrant關鍵字。

    2.4實現(xiàn)QP_nano平臺相關函數(shù)

    QP_nano只需要平臺提供幾個函數(shù)就可以工作了,本文測試創(chuàng)建了一個 bsp.c文件來實現(xiàn)這些函數(shù),內(nèi)容包括:

    ① 定時器中斷函數(shù):用來調(diào)用QP_nano的Tick函數(shù)QF_tickXISR(0),驅動QP_nano工作。

    ② 啟動QP_nano框架的函數(shù)void QF_onStartup(void):在該函數(shù)中啟動定時器。

    ③ 空閑函數(shù)void QF_onIdle(void):沒有事件發(fā)生時被框架調(diào)用。

    ④ QP_nano的斷言函數(shù) void Q_onAssert():打印出錯信息,并停止程序運行。

    2.5demo的文件部署

    本文仿照qpn提供的一個demo例程blinky(模擬發(fā)光二極管以1 Hz頻率閃爍),移植到Keil C51后的文件部署如下所示(.表示項目路徑,main()函數(shù)位于blinky.c):

    ./nano/qepn.c, qfn.c

    ./include/qassert.h,qepn.h,qfn.h,qkn.h

    ./user/blinky.uvproj, blinky.c,bsp.c,startup.a51, blinky.h, bsp.h, qpn_port.h

    ./obj

    2.6編譯結果

    blinky移植成功后,編譯結果顯示,ROM空間使用約9 KB,RAM約120 B。

    結語

    參考文獻

    [1] Miro Samek.Practical UML STATECHARTS in C/C++,Event-Driven Programming for Embedded Systems[M].Second Edition.Amstel dam:Elsevier Inc,2008.

    張東杰(工程碩士),研究方向為智能儀器;王俊璞(助理研究員),研究方向為導航制導與控制。

    Atmel攜手Intel 提升物聯(lián)網(wǎng)應用安全水平

    Atmel公司與英特爾公司合作,推出更加安全的物聯(lián)網(wǎng)(IoT)應用。通過此次合作,Atmel將在所有Atmel SmartConnect無線解決方案中支持英特爾增強隱私身份(Intel EPID)技術。隨著物聯(lián)網(wǎng)市場的迅猛發(fā)展,智能聯(lián)網(wǎng)設備數(shù)量不斷增加,在物聯(lián)網(wǎng)節(jié)點與云之間實現(xiàn)相互身份驗證,提升云部署的安全性變得日益重要。

    到2020年,全球聯(lián)網(wǎng)設備數(shù)量將達到數(shù)百億臺。為了在邊緣節(jié)點與云之間達成無縫連接,安全成為其中一項關鍵因素。為此,Atmel提供了完整的物聯(lián)網(wǎng)解決方案,整合了Atmel|SMART微控制器(MCU),支持Wi-Fi、802.15.4和藍牙的Atmel SmartConnect無線技術以及Atmel的安全產(chǎn)品。與英特爾的攜手合作,使得采用Atmel無線解決方案的開發(fā)者可以在自己的解決方案當中應用值得信任的英特爾EPID身份識別標準。Atmel公司副總裁兼無線解決方案部門總經(jīng)理Kaivan Karimi表示:“英特爾EPID技術的應用,為物聯(lián)網(wǎng)設計者提供了一個真正無縫的邊緣節(jié)點對云物聯(lián)網(wǎng)平臺。該平臺具有值得信賴的安全性能,并且擁有Atmel廣泛的物聯(lián)網(wǎng)產(chǎn)品組合。Atmel的SmartConnect無線和物聯(lián)網(wǎng)解決方案從現(xiàn)在起可以支持英特爾EPID技術,該技術的安全性已經(jīng)在過去5年得到了充分驗證?!?/p>

    英特爾EPID是一項用于身份驗證和隱私保護的ISO標準,該標準自2011年以來一直運用于英特爾平臺。這項技術能夠提供硬件可信根,并兼容公鑰基礎設施(PKI)。采用英特爾EPID技術,設備身份將可得到驗證,并在經(jīng)過驗證的設備之間建立安全的通信鏈路。并且,可在避免暴露具體平臺身份的條件下確定設備組成員身份,再添一層安全保護。同時,英特爾EPID技術還可以動態(tài)分配取消單個組成員身份,且符合內(nèi)容和數(shù)據(jù)保護協(xié)議對保護密鑰傳送的最新要求。

    Porting and Application of Embedded Frame QP_nano on 51 MCU

    Zhang Dongjie,Wang Junpu

    (Department of Instrument Science and Engineering,Shanghai Jiao Tong University,Shanghai 200240,China)

    Abstract:This article introduces QPnano to MCU,which is a light weight software framework.Firstly,taking a simple digital clock design as an example,the process of develement using QPnano is described,then the porting QPnano to Keil C51 is described in detail.So some classic software concepts and technologies such as object oriented programming,event driven and state machine are brought into the software development of MCU naturally.

    Key words:QPnano;event driven;state machine;software framework;MCU

    收稿日期:(責任編輯:薛士然2015-05-12)

    中圖分類號:TP368

    文獻標識碼:A

    猜你喜歡
    狀態(tài)機
    FPGA狀態(tài)機綜合可靠性探究 ①
    基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
    基于Spring StateMachine的有限狀態(tài)機應用研究
    三段式狀態(tài)機在單片機中的實現(xiàn)
    基于單片機運行的多線程任務狀態(tài)機
    基于狀態(tài)機比對的狀態(tài)機推斷方案
    江蘇通信(2015年5期)2015-03-16 01:16:51
    雙口RAM讀寫正確性自動測試的有限狀態(tài)機控制器設計方法
    FPGA設計中狀態(tài)機安全性研究
    黑龍江科學(2011年2期)2011-03-14 00:39:36
    基于反熔絲FPGA的有限狀態(tài)機加固設計
    μC/OS 的層次式狀態(tài)機在人機界面中的應用
    久久中文看片网| 久99久视频精品免费| 女同久久另类99精品国产91| 一区在线观看完整版| 99精国产麻豆久久婷婷| 国产精品爽爽va在线观看网站 | 亚洲激情在线av| 在线观看一区二区三区| 欧美日韩亚洲高清精品| 国产精品一区二区精品视频观看| 日韩国内少妇激情av| 真人做人爱边吃奶动态| 日日摸夜夜添夜夜添小说| 精品国产乱子伦一区二区三区| www.精华液| 午夜久久久在线观看| 麻豆国产av国片精品| 免费不卡黄色视频| 91麻豆av在线| 夫妻午夜视频| av网站在线播放免费| 国产精品永久免费网站| 少妇的丰满在线观看| 国产成人av教育| 麻豆国产av国片精品| 热99re8久久精品国产| 麻豆国产av国片精品| 亚洲精品在线观看二区| 999久久久国产精品视频| 成人av一区二区三区在线看| 国产精品影院久久| 黄网站色视频无遮挡免费观看| 欧美激情久久久久久爽电影 | aaaaa片日本免费| 免费在线观看黄色视频的| 国产区一区二久久| 日韩欧美在线二视频| 国产成人av激情在线播放| 91九色精品人成在线观看| 国产精品国产高清国产av| 国产精品综合久久久久久久免费 | 国产不卡一卡二| 中文亚洲av片在线观看爽| 色播在线永久视频| 91在线观看av| 午夜激情av网站| 精品一区二区三区视频在线观看免费 | 亚洲成国产人片在线观看| 高清毛片免费观看视频网站 | 精品国产一区二区久久| 国产色视频综合| 久久久精品国产亚洲av高清涩受| 成人亚洲精品av一区二区 | av在线播放免费不卡| 男女午夜视频在线观看| 精品人妻在线不人妻| 淫秽高清视频在线观看| 女人被狂操c到高潮| 国产熟女xx| 亚洲精品在线观看二区| 狠狠狠狠99中文字幕| 国产单亲对白刺激| 成年版毛片免费区| 精品乱码久久久久久99久播| 欧美日韩一级在线毛片| 窝窝影院91人妻| 亚洲成人久久性| 国产精品一区二区三区四区久久 | 深夜精品福利| 亚洲五月婷婷丁香| 亚洲欧美日韩高清在线视频| 日韩精品青青久久久久久| 国产免费现黄频在线看| 精品久久蜜臀av无| 曰老女人黄片| 午夜福利一区二区在线看| 国产精品久久视频播放| 夜夜躁狠狠躁天天躁| 999精品在线视频| 亚洲成av片中文字幕在线观看| 香蕉国产在线看| 国产在线精品亚洲第一网站| 纯流量卡能插随身wifi吗| 天堂√8在线中文| 99国产精品一区二区蜜桃av| 国产成人av教育| 国产精品野战在线观看 | 99热只有精品国产| 亚洲国产精品999在线| 男女下面进入的视频免费午夜 | cao死你这个sao货| 69精品国产乱码久久久| 欧美成人免费av一区二区三区| 精品一区二区三区av网在线观看| 国产aⅴ精品一区二区三区波| 亚洲第一欧美日韩一区二区三区| 久久午夜综合久久蜜桃| 99精国产麻豆久久婷婷| 老司机靠b影院| 女性被躁到高潮视频| 男男h啪啪无遮挡| 国产aⅴ精品一区二区三区波| 久久久久久亚洲精品国产蜜桃av| 久久久国产成人免费| 欧美丝袜亚洲另类 | 九色亚洲精品在线播放| 亚洲成人精品中文字幕电影 | 欧美丝袜亚洲另类 | 国产精品国产av在线观看| 夜夜爽天天搞| 久久性视频一级片| 欧美成人免费av一区二区三区| 精品福利观看| 久久精品影院6| 国产国语露脸激情在线看| 黑人操中国人逼视频| 久久人人精品亚洲av| 18禁美女被吸乳视频| 欧美中文综合在线视频| 国产亚洲精品久久久久久毛片| av视频免费观看在线观看| 另类亚洲欧美激情| 亚洲欧美日韩高清在线视频| 久久久久久久久中文| 国产无遮挡羞羞视频在线观看| 国产蜜桃级精品一区二区三区| 大型av网站在线播放| 一级作爱视频免费观看| 亚洲欧洲精品一区二区精品久久久| 九色亚洲精品在线播放| av在线播放免费不卡| 在线观看免费视频网站a站| 黄色视频不卡| av网站免费在线观看视频| av片东京热男人的天堂| 亚洲午夜理论影院| 18禁观看日本| 露出奶头的视频| 国产色视频综合| 日本wwww免费看| 亚洲成国产人片在线观看| 人人澡人人妻人| 777久久人妻少妇嫩草av网站| 男女午夜视频在线观看| 啦啦啦 在线观看视频| 1024视频免费在线观看| 精品欧美一区二区三区在线| 丝袜美足系列| 在线观看一区二区三区| 国产极品粉嫩免费观看在线| 欧美性长视频在线观看| 88av欧美| 在线av久久热| 亚洲三区欧美一区| 中文字幕另类日韩欧美亚洲嫩草| 亚洲情色 制服丝袜| 欧美一区二区精品小视频在线| 丝袜美腿诱惑在线| 级片在线观看| 国产精品影院久久| 一级片免费观看大全| 日本撒尿小便嘘嘘汇集6| 国产激情欧美一区二区| 身体一侧抽搐| 亚洲精品一二三| 日韩有码中文字幕| 国产精品98久久久久久宅男小说| 亚洲精品美女久久久久99蜜臀| 视频区图区小说| 久久精品亚洲熟妇少妇任你| 岛国视频午夜一区免费看| 人人妻人人澡人人看| 我的亚洲天堂| 午夜精品国产一区二区电影| 亚洲精品中文字幕一二三四区| www.熟女人妻精品国产| 波多野结衣高清无吗| 国产欧美日韩一区二区三| 亚洲人成77777在线视频| 夜夜爽天天搞| 亚洲精品国产一区二区精华液| 女同久久另类99精品国产91| 国产精品av久久久久免费| 成人亚洲精品av一区二区 | 亚洲av第一区精品v没综合| 夫妻午夜视频| 日韩精品青青久久久久久| а√天堂www在线а√下载| www.熟女人妻精品国产| 亚洲 国产 在线| 亚洲av熟女| 久久热在线av| 国产成人系列免费观看| 69精品国产乱码久久久| 黄色成人免费大全| 久久中文字幕一级| 国产精品电影一区二区三区| 精品人妻在线不人妻| 一级作爱视频免费观看| 又紧又爽又黄一区二区| 性色av乱码一区二区三区2| 国产日韩一区二区三区精品不卡| 在线视频色国产色| 麻豆国产av国片精品| 欧美 亚洲 国产 日韩一| 欧美黄色片欧美黄色片| 亚洲精品国产一区二区精华液| 老汉色∧v一级毛片| 国内毛片毛片毛片毛片毛片| 日日夜夜操网爽| 亚洲精品一区av在线观看| 国产亚洲欧美在线一区二区| 国产精品乱码一区二三区的特点 | 黑人欧美特级aaaaaa片| 热re99久久国产66热| 97碰自拍视频| 久久久久久久久中文| 亚洲国产欧美日韩在线播放| 亚洲熟妇中文字幕五十中出 | 国产亚洲精品久久久久久毛片| 午夜免费观看网址| 一边摸一边抽搐一进一小说| 成人18禁在线播放| 亚洲欧美精品综合一区二区三区| 免费av毛片视频| 午夜免费激情av| 久久久久久久久免费视频了| 少妇粗大呻吟视频| 女生性感内裤真人,穿戴方法视频| a级毛片在线看网站| 午夜久久久在线观看| 亚洲自偷自拍图片 自拍| 韩国精品一区二区三区| 大陆偷拍与自拍| 精品久久久久久电影网| 好看av亚洲va欧美ⅴa在| 成人国产一区最新在线观看| 久久中文看片网| 男人的好看免费观看在线视频 | 一本大道久久a久久精品| 亚洲成人免费av在线播放| 欧美日韩乱码在线| 久久草成人影院| 国产精品乱码一区二三区的特点 | 18禁国产床啪视频网站| 嫁个100分男人电影在线观看| 精品久久久久久久久久免费视频 | 亚洲国产欧美一区二区综合| 香蕉久久夜色| 色综合站精品国产| 亚洲精品久久午夜乱码| 成人国产一区最新在线观看| 国产欧美日韩精品亚洲av| 99香蕉大伊视频| 丝袜美足系列| 国产欧美日韩精品亚洲av| 校园春色视频在线观看| 波多野结衣av一区二区av| 视频在线观看一区二区三区| 黄色丝袜av网址大全| 三上悠亚av全集在线观看| 日韩人妻精品一区2区三区| 色综合婷婷激情| 欧美激情 高清一区二区三区| 国产成人欧美在线观看| 自线自在国产av| a在线观看视频网站| 无限看片的www在线观看| 亚洲精品美女久久av网站| 夫妻午夜视频| 久久狼人影院| 大码成人一级视频| 自线自在国产av| 亚洲人成电影观看| 欧美精品亚洲一区二区| 亚洲一码二码三码区别大吗| 亚洲一区二区三区不卡视频| 成人亚洲精品一区在线观看| 国产aⅴ精品一区二区三区波| 在线观看一区二区三区激情| aaaaa片日本免费| 亚洲精品国产区一区二| 亚洲五月婷婷丁香| 九色亚洲精品在线播放| 久久99一区二区三区| 午夜日韩欧美国产| 久久久久久久午夜电影 | 午夜福利免费观看在线| 亚洲 欧美一区二区三区| 国产蜜桃级精品一区二区三区| 欧美黄色淫秽网站| 女人高潮潮喷娇喘18禁视频| 久久久精品国产亚洲av高清涩受| 999久久久国产精品视频| 超色免费av| 亚洲av五月六月丁香网| 国产亚洲精品久久久久5区| 亚洲 欧美一区二区三区| 亚洲视频免费观看视频| 美女扒开内裤让男人捅视频| 一边摸一边做爽爽视频免费| 欧美日韩中文字幕国产精品一区二区三区 | 久久人妻福利社区极品人妻图片| 青草久久国产| 亚洲在线自拍视频| 999久久久精品免费观看国产| 黑丝袜美女国产一区| 麻豆国产av国片精品| 在线观看免费高清a一片| 精品国产一区二区三区四区第35| tocl精华| 不卡av一区二区三区| 91字幕亚洲| 黄频高清免费视频| 成人国语在线视频| 曰老女人黄片| 婷婷六月久久综合丁香| 午夜免费激情av| 中文字幕高清在线视频| 亚洲国产精品999在线| www.www免费av| 国产成人免费无遮挡视频| 日韩成人在线观看一区二区三区| 国产成人精品久久二区二区91| 久久久久精品国产欧美久久久| 亚洲午夜精品一区,二区,三区| 国产xxxxx性猛交| 超色免费av| 黄色毛片三级朝国网站| 久久久国产欧美日韩av| 桃红色精品国产亚洲av| 国产熟女xx| 男女做爰动态图高潮gif福利片 | 人人妻人人爽人人添夜夜欢视频| 性少妇av在线| 曰老女人黄片| 国产精品一区二区三区四区久久 | 午夜视频精品福利| 亚洲欧美一区二区三区黑人| 亚洲情色 制服丝袜| 村上凉子中文字幕在线| 69精品国产乱码久久久| 国产精品国产高清国产av| 99精品欧美一区二区三区四区| 可以免费在线观看a视频的电影网站| 天堂俺去俺来也www色官网| 亚洲精品一二三| 很黄的视频免费| 欧美日韩av久久| 久久香蕉国产精品| 欧美中文综合在线视频| 伊人久久大香线蕉亚洲五| 亚洲av日韩精品久久久久久密| 在线观看免费午夜福利视频| 一级片'在线观看视频| 亚洲午夜理论影院| 999久久久国产精品视频| 欧美一区二区精品小视频在线| 人人妻人人爽人人添夜夜欢视频| 国产精品爽爽va在线观看网站 | 欧美老熟妇乱子伦牲交| 日韩欧美免费精品| 精品久久久久久电影网| 中文字幕高清在线视频| 9热在线视频观看99| 午夜福利欧美成人| 精品国产乱码久久久久久男人| 亚洲七黄色美女视频| 麻豆国产av国片精品| 在线观看舔阴道视频| 1024香蕉在线观看| 久9热在线精品视频| 精品久久久精品久久久| 亚洲精品美女久久av网站| 亚洲精品国产一区二区精华液| 纯流量卡能插随身wifi吗| 成人亚洲精品一区在线观看| 免费久久久久久久精品成人欧美视频| 丰满饥渴人妻一区二区三| 国产一区二区激情短视频| 久久久国产一区二区| 男人舔女人的私密视频| 夜夜爽天天搞| 91在线观看av| 日本精品一区二区三区蜜桃| 久久久国产一区二区| 久久久久亚洲av毛片大全| 99riav亚洲国产免费| 欧美国产精品va在线观看不卡| 亚洲熟妇中文字幕五十中出 | 国产不卡一卡二| 国产成人一区二区三区免费视频网站| 变态另类成人亚洲欧美熟女 | 麻豆av在线久日| 国产熟女xx| 美女高潮到喷水免费观看| 在线播放国产精品三级| 巨乳人妻的诱惑在线观看| 精品国产一区二区久久| 99久久久亚洲精品蜜臀av| 18禁黄网站禁片午夜丰满| 老熟妇仑乱视频hdxx| 麻豆av在线久日| 亚洲专区字幕在线| 少妇裸体淫交视频免费看高清 | 宅男免费午夜| 黄片大片在线免费观看| 亚洲午夜理论影院| 亚洲熟妇中文字幕五十中出 | 国产欧美日韩一区二区三区在线| 夜夜爽天天搞| 91九色精品人成在线观看| 人人妻人人爽人人添夜夜欢视频| 高清av免费在线| 亚洲伊人色综图| 香蕉国产在线看| 水蜜桃什么品种好| 免费女性裸体啪啪无遮挡网站| 精品高清国产在线一区| 国产精品久久久人人做人人爽| 在线观看免费午夜福利视频| 国产乱人伦免费视频| 成年人免费黄色播放视频| av天堂久久9| 亚洲第一av免费看| 69精品国产乱码久久久| 国产精品久久久久成人av| 久久精品aⅴ一区二区三区四区| 国产精华一区二区三区| 亚洲午夜精品一区,二区,三区| 黄色视频,在线免费观看| 我的亚洲天堂| 亚洲男人天堂网一区| 日本三级黄在线观看| 亚洲国产精品sss在线观看 | 在线观看舔阴道视频| 美女高潮喷水抽搐中文字幕| 91大片在线观看| 久久精品aⅴ一区二区三区四区| 首页视频小说图片口味搜索| 人人妻,人人澡人人爽秒播| 国产欧美日韩一区二区精品| 一区二区三区激情视频| 日韩大码丰满熟妇| 变态另类成人亚洲欧美熟女 | 国产av又大| 国产精品一区二区精品视频观看| 久久99一区二区三区| 在线观看舔阴道视频| 国产一区二区在线av高清观看| 久久国产精品人妻蜜桃| 久久天堂一区二区三区四区| 国产精品 欧美亚洲| 一级a爱片免费观看的视频| 人人妻人人澡人人看| 国产一区二区三区视频了| 国产精品 国内视频| 黑人操中国人逼视频| 一a级毛片在线观看| 成年人免费黄色播放视频| xxx96com| 午夜福利在线免费观看网站| 久久精品亚洲精品国产色婷小说| 久久精品91无色码中文字幕| 欧美一区二区精品小视频在线| 女人精品久久久久毛片| 婷婷六月久久综合丁香| 亚洲精品久久午夜乱码| 日韩欧美免费精品| 国产亚洲av高清不卡| 在线观看免费午夜福利视频| 丁香欧美五月| 欧美大码av| 女生性感内裤真人,穿戴方法视频| 午夜91福利影院| 人成视频在线观看免费观看| 久久香蕉精品热| 一边摸一边抽搐一进一小说| 欧美日韩av久久| 日本免费一区二区三区高清不卡 | 午夜福利欧美成人| 一级作爱视频免费观看| 国产精品免费视频内射| 日韩av在线大香蕉| 色老头精品视频在线观看| 女人爽到高潮嗷嗷叫在线视频| 在线天堂中文资源库| 我的亚洲天堂| 国产蜜桃级精品一区二区三区| 成人亚洲精品av一区二区 | 亚洲一区高清亚洲精品| 欧美黑人精品巨大| 日日爽夜夜爽网站| 高清黄色对白视频在线免费看| 成人特级黄色片久久久久久久| 国产成人一区二区三区免费视频网站| 男人舔女人下体高潮全视频| 亚洲精品久久午夜乱码| 精品免费久久久久久久清纯| 精品国产超薄肉色丝袜足j| 极品人妻少妇av视频| 欧美黑人精品巨大| 免费一级毛片在线播放高清视频 | 欧美一级毛片孕妇| 亚洲av美国av| 女人爽到高潮嗷嗷叫在线视频| 久久天躁狠狠躁夜夜2o2o| 欧美一区二区精品小视频在线| 大码成人一级视频| 99国产精品免费福利视频| 91九色精品人成在线观看| 亚洲一区二区三区欧美精品| 日韩精品青青久久久久久| 欧美中文综合在线视频| 亚洲中文av在线| 激情在线观看视频在线高清| 99精品久久久久人妻精品| 天天躁狠狠躁夜夜躁狠狠躁| 久久久久久久久免费视频了| 亚洲九九香蕉| 亚洲 欧美 日韩 在线 免费| 女人被狂操c到高潮| 精品乱码久久久久久99久播| 日韩免费高清中文字幕av| 亚洲人成电影观看| 91成人精品电影| 久久国产精品人妻蜜桃| 欧美激情高清一区二区三区| 夜夜看夜夜爽夜夜摸 | 久久久久久免费高清国产稀缺| 青草久久国产| 黄网站色视频无遮挡免费观看| 国产欧美日韩一区二区精品| 欧美在线黄色| xxxhd国产人妻xxx| 男女下面插进去视频免费观看| 成人av一区二区三区在线看| 精品日产1卡2卡| 日韩三级视频一区二区三区| 国产熟女xx| 国产伦人伦偷精品视频| 亚洲一区中文字幕在线| 电影成人av| 久久香蕉精品热| 亚洲一卡2卡3卡4卡5卡精品中文| 自线自在国产av| www国产在线视频色| av欧美777| 国产在线精品亚洲第一网站| 国产一区二区三区综合在线观看| 免费一级毛片在线播放高清视频 | 黄片大片在线免费观看| 黄色 视频免费看| x7x7x7水蜜桃| 国产野战对白在线观看| 中出人妻视频一区二区| 国产又色又爽无遮挡免费看| 国产精品永久免费网站| 中文字幕人妻丝袜一区二区| 免费一级毛片在线播放高清视频 | 一进一出抽搐动态| 日本 av在线| 午夜日韩欧美国产| 桃红色精品国产亚洲av| 美女大奶头视频| 夫妻午夜视频| 91精品三级在线观看| 在线国产一区二区在线| 亚洲精品中文字幕一二三四区| 亚洲欧美精品综合一区二区三区| 香蕉国产在线看| 日韩精品青青久久久久久| 亚洲第一欧美日韩一区二区三区| 午夜福利一区二区在线看| 我的亚洲天堂| 免费高清在线观看日韩| 不卡av一区二区三区| 18美女黄网站色大片免费观看| 亚洲精品中文字幕在线视频| 精品无人区乱码1区二区| 国产真人三级小视频在线观看| 正在播放国产对白刺激| 欧美午夜高清在线| 狂野欧美激情性xxxx| 男女午夜视频在线观看| 免费在线观看黄色视频的| 侵犯人妻中文字幕一二三四区| 大型av网站在线播放| 又黄又粗又硬又大视频| 成人免费观看视频高清| 看免费av毛片| 人人妻人人爽人人添夜夜欢视频| 精品第一国产精品| 国产成人精品在线电影| 激情在线观看视频在线高清| 午夜精品在线福利| 国产野战对白在线观看| 亚洲情色 制服丝袜| 成人免费观看视频高清| 高清欧美精品videossex| 一级片免费观看大全| 不卡一级毛片| 97超级碰碰碰精品色视频在线观看| 18禁国产床啪视频网站| 欧美精品啪啪一区二区三区| bbb黄色大片| 亚洲精品久久成人aⅴ小说| 黄色怎么调成土黄色| 叶爱在线成人免费视频播放| 黄色成人免费大全| 亚洲人成电影免费在线| 天天躁狠狠躁夜夜躁狠狠躁| 伦理电影免费视频| 国产一区二区三区在线臀色熟女 | 精品无人区乱码1区二区|