久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9185|回復(fù): 28
打印 上一主題 下一主題
收起左側(cè)

分享一個(gè)設(shè)置STC系列單片機(jī)端口模式的頭文件

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
此頭文可以比較方便快捷的按位來設(shè)定每個(gè)端口的模式,可以給初學(xué)者帶來不少便利。

IO口模式設(shè)置時(shí),從左至右為從高到低 7~0 端口, “O”為大寫字母“O”,不是數(shù)字“0”,4位之間用下劃線“_”分割。
D 準(zhǔn)雙向
H 高阻狀態(tài)
P 強(qiáng)推挽
O 開漏模式

include 此頭文件以后,設(shè)置時(shí)可以直接用  PxMode 取代原來的  PxM0,以及 PxM1

設(shè)置示例:         
P5Mode = DDHO_DDDD;   即,設(shè)置P55 為高阻,P54 為開漏,其他IO為準(zhǔn)雙向。

P1Mode = DDDD_HHDP;    即,設(shè)置 P10 為推挽,P12,P13為高阻,其他IO為準(zhǔn)雙向。
以此類推。



下載: PortMode.rar (13.56 KB, 下載次數(shù): 147)
在Keil_C語言中輸入二進(jìn)制的頭文件:http://www.zg4o1577.cn/bbs/dpj-213110-1.html

評(píng)分

參與人數(shù) 2黑幣 +62 收起 理由
catlu + 12
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏25 分享淘帖 頂3 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:262 發(fā)表于 2021-9-3 23:11 | 只看該作者
有了這個(gè)真方便,這是官方出的嗎?
回復(fù)

使用道具 舉報(bào)

板凳
ID:624769 發(fā)表于 2021-9-3 23:21 | 只看該作者
heicad 發(fā)表于 2021-9-3 23:11
有了這個(gè)真方便,這是官方出的嗎?

不是,是以前有斷時(shí)間經(jīng)常改板子,換端口,改PxM0, PxM1不勝其煩,想要像用二進(jìn)制頭文件一樣,直觀改端口,就自己做了一個(gè)頭文件。今天逛論壇,正好看到一個(gè)分享端口設(shè)置XLS文件的帖子。覺得可能有人需要這樣的頭文件,就拿出來分享一下了。

評(píng)分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

地板
ID:277290 發(fā)表于 2021-9-4 08:15 | 只看該作者
有了這個(gè)方便多了,簡(jiǎn)單易記,謝謝分享!
回復(fù)

使用道具 舉報(bào)

5#
ID:64089 發(fā)表于 2021-9-4 08:36 | 只看該作者
這個(gè)還真是很實(shí)用,謝謝分享。
回復(fù)

使用道具 舉報(bào)

6#
ID:220936 發(fā)表于 2021-9-4 10:51 | 只看該作者
真不錯(cuò),實(shí)用
回復(fù)

使用道具 舉報(bào)

7#
ID:88606 發(fā)表于 2021-9-4 14:53 | 只看該作者
真的實(shí)用啊!
回復(fù)

使用道具 舉報(bào)

8#
ID:884042 發(fā)表于 2022-3-30 19:40 | 只看該作者
好家伙,里面那么多宏定義,編寫者肛了多久啊
回復(fù)

使用道具 舉報(bào)

9#
ID:333678 發(fā)表于 2022-3-31 07:22 來自手機(jī) | 只看該作者
感謝樓主分享,很實(shí)用。
回復(fù)

使用道具 舉報(bào)

10#
ID:468878 發(fā)表于 2022-3-31 08:35 | 只看該作者
這很方便的,懶得翻手冊(cè)了。
回復(fù)

使用道具 舉報(bào)

11#
ID:170318 發(fā)表于 2022-3-31 09:03 | 只看該作者
有這個(gè),確實(shí)是簡(jiǎn)單、實(shí)用、方便
回復(fù)

使用道具 舉報(bào)

12#
ID:383215 發(fā)表于 2022-3-31 15:36 | 只看該作者
非常佩服樓主的執(zhí)著,個(gè)人認(rèn)為沒有必要,每次配置端口都要看手冊(cè),的確很麻煩。

好記性不如爛筆頭,我把手冊(cè)里的端口配置表用制表符做進(jìn)程序里,編新程序的時(shí)候從老程序里復(fù)制一下,看著這個(gè)表配置端口也很方便,只要記清楚&=~是置0,|=是置1就可以了。
//        ───────────────────────────────
//        |  PnM1.x  |  PnM0.x  | Pn.x 口工作模式 |
//        ───────────────────────────────
//        |      0       |      0        |       準(zhǔn)雙向口      |
//        ───────────────────────────────
//        |      0       |      1        |       推挽輸出      |
//        ───────────────────────────────
//        |      1       |      0        |       高阻輸入      |
//        ───────────────────────────────
//        |      1       |      1        |       開漏輸出      |
//        ───────────────────────────────
//   80   40   20   10  |   08   04   02   01
//  X.7  X.6  X.5  X.4  |  X.3  X.2  X.1  X.0
P1M1 &= ~0x03 ;        P1M0 |= 0x03 ;          //        P1.0 P1.1 為推挽輸出
P1M1 &= ~0xfc ;        P1M0 &= ~0xfc ;       //        P1.2 - P1.7 為準(zhǔn)雙向口
P3M1 &= ~0x08 ;        P3M0 |= 0x08 ;         //        P3.3 為推挽輸出
P3M1 &= ~0x30 ;        P3M0 |= 0x30 ;         //        P3.4 P3.5 為推挽輸出
P5M1 &= ~0x10 ;        P5M0 |= 0x10 ;         //        P5.4 為推挽輸出
也把這段表格和程序復(fù)制在這里,看看能不能對(duì)齊?需要的可以直接復(fù)制。

回復(fù)

使用道具 舉報(bào)

13#
ID:65286 發(fā)表于 2022-4-6 14:25 | 只看該作者
這個(gè)確實(shí)非常方便,我之前用工具高手寫的工具計(jì)算,也算是很方便,現(xiàn)分享出來。

STCIOset_v10b9h.rar

1.81 MB, 下載次數(shù): 28, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

14#
ID:192294 發(fā)表于 2022-4-21 16:40 | 只看該作者
kmsj 發(fā)表于 2022-3-31 15:36
非常佩服樓主的執(zhí)著,個(gè)人認(rèn)為沒有必要,每次配置端口都要看手冊(cè),的確很麻煩。

好記性不如爛筆頭,我 ...

網(wǎng)上有一個(gè)宏處理的,很方便,代碼也不大,可以百度一下。
另外還可以使用STC的庫(kù)函數(shù)處理。

1309
回復(fù)

使用道具 舉報(bào)

15#
ID:624769 發(fā)表于 2022-4-29 00:37 | 只看該作者
hp34401a 發(fā)表于 2022-4-21 16:40
網(wǎng)上有一個(gè)宏處理的,很方便,代碼也不大,可以百度一下。
另外還可以使用STC的庫(kù)函數(shù)處理。

你也許對(duì) "代碼也不大" 有點(diǎn)誤解.

H 頭文件,無論多大都不會(huì)影響 “代碼” 大小,
大多時(shí)候,引用 宏處理 最終“代碼”反而會(huì)大,引用 宏定義 最終代碼反而小。

同時(shí)回復(fù) 12 樓: 有沒有必要看實(shí)際效果。  假定 P1.0 P1.1 為推挽輸出,  P1.2 - P1.5 為準(zhǔn)雙向口, P1.6 高阻, P1.7 開漏, 用你那個(gè)方法,或者 用宏處理大多需要 4 次設(shè)置,  總共需要 24個(gè)字節(jié),而直接設(shè)置值需要6個(gè)字節(jié),   如果 P0~P7 全盤設(shè)定一次, 用你的方式,總共:192個(gè)字節(jié)  直接設(shè)置 之需要48個(gè)字節(jié), 還沒有算運(yùn)行時(shí)間。

不想說哪個(gè)好,哪個(gè)不好, 只是想給,喜歡用 PxM0 = ??   PxM1 = ?? 的朋友,一個(gè)可以比較直觀快捷的,并且不增加“代碼尺寸” 的設(shè)置方法, 尤其是 STC15 系列 和STC12系列的頭文件里面 PxM0,和 PxM1 還是反的,一不小心還會(huì)中招,而這個(gè)頭文件的好處,就是能通吃。再也不用查手冊(cè)和核對(duì)頭文件來防止中招了。
回復(fù)

使用道具 舉報(bào)

16#
ID:99525 發(fā)表于 2022-4-29 19:59 | 只看該作者
這個(gè)很實(shí)用,方便很多了!
回復(fù)

使用道具 舉報(bào)

17#
ID:1001475 發(fā)表于 2022-4-30 23:59 來自手機(jī) | 只看該作者
這個(gè)很實(shí)用,方便很多了!
回復(fù)

使用道具 舉報(bào)

18#
ID:383215 發(fā)表于 2022-5-1 15:29 | 只看該作者
樓主所言:“同時(shí)回復(fù) 12 樓: 有沒有必要看實(shí)際效果”我認(rèn)為樓主并沒有把“實(shí)際效果” 看清楚,任何單片機(jī)程序就是一個(gè)大循環(huán),端口配置的代碼在主函數(shù)到大循環(huán)之間,并沒有在大循環(huán)內(nèi)部,所以,端口配置的代碼再?gòu)?fù)雜,影響單片機(jī)的實(shí)際運(yùn)行時(shí)間很小很小,我寧愿一個(gè)端口一個(gè)端口的配置,哪怕默認(rèn)的設(shè)置我也設(shè)置一遍,就算明知是無用的代碼也無所謂,是為了讓我的程序更容易理解,時(shí)間長(zhǎng)了我自己還能看懂。就算我浪費(fèi)1000個(gè)字節(jié)的代碼用來設(shè)置端口,最多就是單片機(jī)通電之后到主程序的大循環(huán)延長(zhǎng)了0.001秒,也就是開機(jī)時(shí)間延長(zhǎng)了0.001秒,這0.001秒能影響什么?我用的單片機(jī)是8K的ROM,我的程序5K左右就能編完,我節(jié)約幾百個(gè)字節(jié)的ROM有何意義?除非我的單片機(jī)只有4K的ROM,我會(huì)節(jié)約每一個(gè)語句,甚至用匯編來編,那是另當(dāng)別論。
樓主所言:“用你的方式,總共:192個(gè)字節(jié)  直接設(shè)置 之需要48個(gè)字節(jié), 還沒有算運(yùn)行時(shí)間”,每個(gè)人的編程重點(diǎn)是不一樣的,我的編程重點(diǎn)放在CPU應(yīng)用率,我的每一段程序都是用CPU應(yīng)用率約束出來的,最重要的就是,不是代碼越短占用CPU運(yùn)行時(shí)間越短,我主程序大循環(huán)里軟件延時(shí)的時(shí)間最多只有幾十微秒,包括按鍵去抖動(dòng),18B20之類的程序,沒有用長(zhǎng)延時(shí)的辦法都解決了,比如我用10步讀出2個(gè)18B20的溫度值,一共花了0.1秒讀出溫度值,溫度是漸變,不是突變,我花一秒鐘讀出溫度值都不會(huì)影響我的程序,看下來我的18B20的程序非常復(fù)雜,然而實(shí)際運(yùn)行效果是十幾個(gè)循環(huán)周期我才運(yùn)行一步18B20的程序,和那些在一個(gè)循環(huán)周期完成18B20的程序,我的18B20程序CPU運(yùn)行效率要高出10倍都不止。
樓主所言:“一不小心還會(huì)中招,而這個(gè)頭文件的好處,就是能通吃。再也不用查手冊(cè)和核對(duì)頭文件來防止中招了”,我編單片機(jī)還有一個(gè)重點(diǎn)是仿真,編程中招,那是家常便飯,靠查手冊(cè)和核對(duì)頭文件來防止中招,我認(rèn)為不是主要的,仿真才是解決中招的最好辦法,我中過的招,任何手冊(cè)和書本以及各種資料上都沒有,只有靠仿真解決。由于AVR單片機(jī)漲價(jià),被迫使用STC單片機(jī),主要用STC1K08H替代AVR的ATMEGA8,由于STC的仿真并不好用,我就用89C51的老式仿真器仿真,所以我的程序就在89C51、STC、AVR之間移植過來移植過去。
綜上所述,每個(gè)人編單片機(jī)的重點(diǎn)不是一模一樣的,AVR單片機(jī)的端口操作比STC單片機(jī)還要復(fù)雜,STM32的端口操作更是復(fù)雜,STC單片機(jī)的端口操作對(duì)我而言算是比較簡(jiǎn)單的了。樓主把自己辛辛苦苦編寫的關(guān)于STC單片機(jī)端口操作的頭文件奉獻(xiàn)出來,需要的網(wǎng)友一定是非常感激,但不是所有人都需要,所以樓主沒有必要讓所有人接受你的觀點(diǎn),就像我也不可能讓所有人接受我注重CPU應(yīng)用率和注重仿真的觀點(diǎn)。
回復(fù)

使用道具 舉報(bào)

19#
ID:624769 發(fā)表于 2022-7-28 23:11 | 只看該作者
kmsj 發(fā)表于 2022-5-1 15:29
樓主所言:“同時(shí)回復(fù) 12 樓: 有沒有必要看實(shí)際效果”我認(rèn)為樓主并沒有把“實(shí)際效果” 看清楚,任何單片機(jī) ...

你說了一大堆, 實(shí)在是…… 除了把問題描述的 模糊不清,完全不明白你要表達(dá)什么意思。

我說了,我分享出來,是讓有需要的人可以下載使用,不需要任何感激。沒有需要的也可以 直接繞道。
你覺得你有更完美的方案,你也可以另發(fā)一貼給 有需要的人,我也不會(huì)去你的帖子說好還是不好。

但是,你在我的帖子里說,這個(gè)方法,不如怎么怎么樣,那么,我自然要告訴你,你所說的“不如怎么怎么樣” 缺點(diǎn)在哪里。
然后,你再回復(fù),就直接扯到18B20去了。我也不知道你扯這么遠(yuǎn)是為了什么,你說不在乎開機(jī)初始化那點(diǎn)時(shí)間,為了讓程序更容易解讀,那么,事實(shí)上,針對(duì)端口設(shè)置,你所謂的 還不如怎么怎么樣 的方案,更容易解讀了么?
然后,你又說你不是代碼越短 占用CPU運(yùn)行之間越短,那么,你提出的方案,代碼長(zhǎng)度拉長(zhǎng),然后占用CPU運(yùn)行時(shí)間更短了么?
你在18提出的各種論調(diào),都不足以支撐你之前12樓的提出的主張, 真的不知道你這洋洋灑灑寫這么一大篇,想說明什么?想要體現(xiàn) 你會(huì)STM32 ?  我只是提供給大家一個(gè) STC的端口模式設(shè)置方案,你要在這帖子里 討論 STM端口的設(shè)置方案?還是說你要我再出一個(gè) STM的端口設(shè)置方案? 好歹你也是搞技術(shù)的,討論問題直來直去不行?? 非要那么多彎彎繞繞?
回復(fù)

使用道具 舉報(bào)

20#
ID:383215 發(fā)表于 2022-7-29 13:51 | 只看該作者
188610329 發(fā)表于 2022-7-28 23:11
你說了一大堆, 實(shí)在是…… 除了把問題描述的 模糊不清,完全不明白你要表達(dá)什么意思。

我說了,我分 ...

要直來直去,簡(jiǎn)單的很啊,直截了當(dāng)說,單片機(jī)編程是有級(jí)別劃分的,一是流水燈、二是多任務(wù)、三是CPU應(yīng)用率、四是任意移植程序,你也已經(jīng)說的清清楚楚“此頭文可以比較方便快捷的按位來設(shè)定每個(gè)端口的模式,可以給初學(xué)者帶來不少便利。”既然你這個(gè)頭文件是為了方便初學(xué)者,有人提出不同看法也很正常,我也說的清清楚楚,樓主把自己辛辛苦苦編寫的關(guān)于STC單片機(jī)端口操作的頭文件奉獻(xiàn)出來,需要的網(wǎng)友一定是非常感激,每個(gè)人對(duì)單片機(jī)編程的側(cè)重點(diǎn)是不一樣的,我也不可能要求所有人接受我注重CPU應(yīng)用率和注重仿真的觀點(diǎn),我的這種編程方法太累人了,我說STM32端口設(shè)置更復(fù)雜,并不是證明我懂STM32,這個(gè)論壇懂STM32的多了是了,我僅僅學(xué)會(huì)STM32的端口操作和流水燈,STM32就漲價(jià)了,我是個(gè)窮光蛋,用不起STM32,單片機(jī)編程只是我的一個(gè)業(yè)余愛好,我的水平太一般了。
回復(fù)

使用道具 舉報(bào)

21#
ID:624769 發(fā)表于 2022-7-29 23:44 | 只看該作者
你說直接了當(dāng)說,然后說了:“單片機(jī)編程是有級(jí)別劃分的,一是流水燈、二是多任務(wù)、三是CPU應(yīng)用率、四是任意移植程序”  下文呢?后續(xù)你把這4點(diǎn),和你主張的端口模式 對(duì)應(yīng)起來呀!!,我讀了通篇都沒有看你對(duì)應(yīng)。好吧,略過這一句,我們?cè)偻旅婵础?br />
我說給提供給有需要的人,顯然,你屬于不需要的人,那你不要下載就可以了,我也沒求你用對(duì)不對(duì)? 這個(gè)頭文件,我做做也就是2分鐘的事情,并不辛苦,所以不需要用的的人感激,要說辛苦,為了讓有需要,想用的人明白怎么用,寫注釋用了5分鐘,這勉強(qiáng)算辛苦吧,然后,回復(fù)你的錯(cuò)誤論調(diào),告訴你,你以為的“更優(yōu)” 其中的缺陷,花了半小時(shí),這才算真正的辛苦。當(dāng)然,也不需要你理解,不需要你感激。

然后,你有不同的觀點(diǎn),可以啊,但是,至少要是:正確的,并且是你的觀點(diǎn)。 對(duì)不對(duì)?結(jié)果呢? 你給的例子,是STC官方就有的,壓根不是你自己的,然后,你覺得更好~~,實(shí)際呢?你測(cè)試過么?我告訴你效率低,占空間大,你扯去應(yīng)用率。這罷了,我們?cè)偻驴础?br />
你說: 每個(gè)人對(duì)單片機(jī)編程的側(cè)重點(diǎn)是不一樣的,我也不可能要求所有人接受我注重CPU應(yīng)用率和注重仿真的觀點(diǎn),
所以請(qǐng)問:針對(duì)這點(diǎn)來說,你主張的端口的設(shè)置的方式,相較于我提供端口設(shè)置方式,在CPU應(yīng)用率 上有什么提高呢?


所以,你說了簡(jiǎn)單來說,又說直來直去的說,說到最后,你還是兜了個(gè)圈子之后,說了一堆 “地球是圓的”,關(guān)于你覺得我提供的方案不如你推薦的方案的理由,事實(shí)根據(jù),一樣都沒有說……




回復(fù)

使用道具 舉報(bào)

22#
ID:130230 發(fā)表于 2022-8-1 14:55 | 只看該作者
開源精神值得肯定,但確實(shí)沒啥必要。
回復(fù)

使用道具 舉報(bào)

23#
ID:69115 發(fā)表于 2022-8-1 18:02 | 只看該作者
都是高手,都把觀點(diǎn)擺出來討論是好事,感謝樓主供獻(xiàn)那么實(shí)用的 IO模式設(shè)置 頭文件.
對(duì)于初學(xué)者可以帶來很大的幫助.
到了高手階段,可有自己更好的辦法,或者是直接就可以二進(jìn) 十六進(jìn)制 心算了.
回復(fù)

使用道具 舉報(bào)

24#
ID:160197 發(fā)表于 2022-8-3 16:34 | 只看該作者
我用函數(shù) 也寫了一個(gè) 。 作者的 想法是好的 。

/***************************************************************************
函數(shù)名稱:
功能描述:stc8a8k64d4 GPIO 配置   D 為雙向口  ,P為 推挽 ,H為高阻 ,O 為開漏
參    數(shù): 無
返    回:無
備    注:舉例 set_gpio_mode(0 , "DDDD HOPD")
****************************************************************************/
void set_gpio_mode( unsigned char gpio , char n[] )
{
        unsigned char M1 , M0 , i ;
       
        for( i= 0 ; i < 9 ; i ++ )
        {
                        if( i == 4 )
                                continue ;
                       
                        M1 <<= 1 ;
                        M0 <<= 1 ;
                       
                        switch( n[i] )
                        {
                                case 'D' :     // 00
                                {
                                        M1 &= ~0x01 ;
                                        M0 &= ~0x01 ;
                                }
                                break ;
                               
                                case 'P' :   // 01
                                {
                                        M1 &= ~0x01 ;
                                        M0 |= 0x01 ;
                                }
                                break ;               

                                case 'H' :   // 10
                                {
                                        M1 |= 0x01 ;
                                        M0 &= ~0x01 ;
                                }
                                break ;               

                                case 'O' :  // 11
                                {
                                        M1 |= 0x01 ;
                                        M0 |= 0x01 ;
                                }
                                break ;                       
                        }
  }
       
        switch( gpio )
        {
                        case 0 :        //P0
                        {
                                P0M1 = M1 , P0M0 = M0 ;
                        }
                        break ;
                       
                        case 1 :        //P1
                        {
                                P1M1 = M1 , P1M0 = M0 ;
                        }
                        break ;
                       
                        case 2 :        //P2
                        {
                                P2M1 = M1 , P2M0 = M0 ;
                        }
                        break ;

                        case 3 :        //P3
                        {
                                P3M1 = M1 , P3M0 = M0 ;
                        }
                        break ;

                        case 4 :        //P4
                        {
                                P4M1 = M1 , P4M0 = M0 ;
                        }
                        break ;

                        case 5 :        //P5
                        {
                                P5M1 = M1 , P5M0 = M0 ;
                        }
                        break ;

                        case 6 :        //P6
                        {
                                P6M1 = M1 , P6M0 = M0 ;
                        }
                        break ;               
       
                        case 7 :        //P7
                        {
                                P7M1 = M1 , P7M0 = M0 ;
                        }
                        break ;                                       
        }
}
回復(fù)

使用道具 舉報(bào)

25#
ID:1056645 發(fā)表于 2022-12-9 12:41 | 只看該作者
謝謝樓主分享,對(duì)我很有用
回復(fù)

使用道具 舉報(bào)

26#
ID:1042619 發(fā)表于 2022-12-10 10:38 | 只看該作者
     感謝樓主分享!51因您而精彩! 可以試試STC官方最新的 STC-ISP V6.91及以上版本的 ISP燒錄/輔助開發(fā)工具包一體化軟件的  工具 有 I/O配置工具


回復(fù)

使用道具 舉報(bào)

27#
ID:1108581 發(fā)表于 2024-1-8 23:32 | 只看該作者
這個(gè)厲害啊,使用的話太方便了
回復(fù)

使用道具 舉報(bào)

28#
ID:1064915 發(fā)表于 2024-1-10 16:32 | 只看該作者
都是大師級(jí)
回復(fù)

使用道具 舉報(bào)

29#
ID:1110477 發(fā)表于 2025-3-1 07:01 | 只看該作者
heicad 發(fā)表于 2021-9-3 23:11
有了這個(gè)真方便,這是官方出的嗎?

C的魅力在于比較基礎(chǔ),程序員可以自由使用資源,比較靈活
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人精品毛片国产亚洲av十九禁 | 日本福利视频 | 美女久久 | 久久高清亚洲 | 日本免费一区二区三区四区 | 欧美性影院 | 欧美a在线| 精品一区二区免费视频 | 成人免费视频网址 | 欧美三级在线 | 国产成人精品久久 | 日韩欧美一区二区三区 | 男插女下体视频 | 国产精品欧美一区二区 | 日韩在线观看网站 | 亚洲综合热 | 成人免费淫片aa视频免费 | 久久男人天堂 | 男女久久久 | 久久一区二区免费视频 | 99精品国产一区二区青青牛奶 | 亚洲欧美一区二区三区国产精品 | 自拍偷拍中文字幕 | 91精品久久久久久久 | 91偷拍精品一区二区三区 | 国产精品久久二区 | 日本不卡一区 | 日韩在线中文 | 99re视频在线免费观看 | 日韩图区 | av大片在线观看 | 亚洲欧美一区二区在线观看 | 久久精品中文字幕 | 蜜桃免费一区二区三区 | 久久躁日日躁aaaaxxxx | www.国产精 | 成人欧美一区二区三区黑人孕妇 | 国产乱码精品一区二区三区五月婷 | 九九在线视频 | 黄色一级视频 | 国产精品av久久久久久毛片 |