色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在CGRAM中自定義字符呢?

GReq_mcu168 ? 來源:玩轉(zhuǎn)單片機(jī) ? 作者:玩轉(zhuǎn)單片機(jī) ? 2020-10-30 11:29 ? 次閱讀

一.接口

LCD1602是很多單片機(jī)愛好者較早接觸的字符型液晶顯示器,它的主控芯片是HD44780或者其它兼容芯片。與此相仿的是LCD12864液晶顯示器,它是一種圖形點(diǎn)陣顯示器,能顯示的內(nèi)容比LCD1602要豐富得多,除了普通字符外,還可以顯示點(diǎn)陣圖案,帶有漢字庫的還可以顯示漢字,它的并行驅(qū)動(dòng)方式與LCD1602相差無幾,所以,在這里花點(diǎn)時(shí)間是值得的。

一般來說,LCD1602有16條引腳,據(jù)說還有14條引腳的,與16腳的相比缺少了背光電源A(15腳)和地線K(16腳)。這塊LCD1602的型號(hào)是HJ1602A,是繪晶科技公司的產(chǎn)品,它有16條引腳。如圖1所示:

圖1

再來一張它的背面的,如圖2所示:



圖2

它的16條引腳定義如下:

引腳號(hào) 符號(hào) 引腳說明 引腳號(hào) 符號(hào) 引腳說明
1 VSS 電源 9 D2 數(shù)據(jù)端口
2 VDD 電源正極 10 D3 數(shù)據(jù)端口
3 VO 偏壓信號(hào) 11 D4 數(shù)據(jù)端口
4 RS 命令/數(shù)據(jù) 12 D5 數(shù)據(jù)端口
5 RW 讀/寫 13 D6 數(shù)據(jù)端口
6 E 使能 14 D7 數(shù)據(jù)端口
7 D0 數(shù)據(jù)端口 15 A 背光正極
8 D1 數(shù)據(jù)端口 16 K 背光負(fù)極

對(duì)這個(gè)表的說明:

1. VSS接電源地。

2. VDD接+5V。

3. VO是液晶顯示的偏壓信號(hào),可接10K的3296精密電位器。或同樣阻值的RM065/RM063藍(lán)白可調(diào)電阻。見圖3。


圖3

4. RS是命令/數(shù)據(jù)選擇引腳,接單片機(jī)的一個(gè)I/O,當(dāng)RS為低電平時(shí),選擇命令;當(dāng)RS為高電平時(shí),選擇數(shù)據(jù)。

5. RW是讀/寫選擇引腳,接單片機(jī)的一個(gè)I/O,當(dāng)RW為低電平時(shí),向LCD1602寫入命令或數(shù)據(jù);當(dāng)RW為高電平時(shí),從LCD1602讀取狀態(tài)或數(shù)據(jù)。如果不需要進(jìn)行讀取操作,可以直接將其接VSS。

6. E,執(zhí)行命令的使能引腳,接單片機(jī)的一個(gè)I/O。

7. D0—D7,并行數(shù)據(jù)輸入/輸出引腳,可接單片機(jī)的P0—P3任意的8個(gè)I/O口。如果接P0口,P0口應(yīng)該接4.7K—10K的上拉電阻。如果是4線并行驅(qū)動(dòng),只須接4個(gè)I/O口。

8. A背光正極,可接一個(gè)10—47歐的限流電阻到VDD。

9. K背光負(fù)極,接VSS。見圖4所示。


圖4

二.基本操作

LCD1602的基本操作分為四種:

1. 讀狀態(tài):輸入RS=0,RW=1,E=高脈沖。輸出:D0—D7為狀態(tài)字。

2. 讀數(shù)據(jù):輸入RS=1,RW=1,E=高脈沖。輸出:D0—D7為數(shù)據(jù)。

3. 寫命令:輸入RS=0,RW=0,E=高脈沖。輸出:無。

4. 寫數(shù)據(jù):輸入RS=1,RW=0,E=高脈沖。輸出:無。

讀操作時(shí)序圖(如圖5):


圖5

寫操作時(shí)序圖(如圖6):


圖6

時(shí)序時(shí)間參數(shù)(如圖7):


圖7

三.DDRAM、CGROM和CGRAM

DDRAM(Display Data RAM)就是顯示數(shù)據(jù)RAM,用來寄存待顯示的字符代碼。共80個(gè)字節(jié),其地址和屏幕的對(duì)應(yīng)關(guān)系如下(如圖8):


圖8

DDRAM相當(dāng)于計(jì)算機(jī)的顯存,我們?yōu)榱嗽谄聊簧巷@示字符,就把字符代碼送入顯存,這樣該字符就可以顯示在屏幕上了。同樣LCD1602共有80個(gè)字節(jié)的顯存,即DDRAM。但LCD1602的顯示屏幕只有16×2大小,因此,并不是所有寫入DDRAM的字符代碼都能在屏幕上顯示出來,只有寫在上圖所示范圍內(nèi)的字符才可以顯示出來,寫在范圍外的字符不能顯示出來。這樣,我們?cè)诔绦蛑锌梢岳孟旅娴摹肮鈽?biāo)或顯示移動(dòng)指令”使字符慢慢移動(dòng)到可見的顯示范圍內(nèi),看到字符的移動(dòng)效果。

前面說了,為了在液晶屏幕上顯示字符,就把字符代碼送入DDRAM。例如,如果想在屏幕左上角顯示字符‘A’,那么就把字符‘A’的字符代碼41H寫入DDRAM的00H地址處即可。至于怎么寫入,后面會(huì)有說明。那么為什么把字符代碼寫入DDRAM,就可以在相應(yīng)位置顯示這個(gè)代碼的字符呢?我們知道,LCD1602是一種字符點(diǎn)陣顯示器,為了顯示一種字符的字形,必須要有這個(gè)字符的字模數(shù)據(jù),什么叫字符的字模數(shù)據(jù),看看下面的這個(gè)圖就明白了(如圖9)。


圖9

上圖的左邊就是字符‘A’的字模數(shù)據(jù),右邊就是將左邊數(shù)據(jù)用“○”代表0,用“■”代表1。從而顯示出‘A’這個(gè)字形。從下面的圖可以看出,字符‘A’的高4位是0100,低4位是0001,合在一起就是01000001b,即41H。它恰好與該字符的ASCII碼一致,這樣就給了我們很大的方便,我們可以在PC上使用P2=‘A’這樣的語法。編譯后,正好是這個(gè)字符的字符代碼。

在LCD1602模塊上固化了字模存儲(chǔ)器,就是CGROM和CGRAM,HD44780內(nèi)置了192個(gè)常用字符的字模,存于字符產(chǎn)生器CGROM(Character Generator ROM)中,另外還有8個(gè)允許用戶自定義的字符產(chǎn)生RAM,稱為CGRAM(Character Generator RAM)。下圖(如圖12)說明了CGROM和CGRAM與字符的對(duì)應(yīng)關(guān)系。從ROM和RAM的名字我們也可以知道,ROM是早已固化在LCD1602模塊中的,只能讀取;而RAM是可讀寫的。也就是說,如果只需要在屏幕上顯示已存在于CGROM中的字符,那么只須在DDRAM中寫入它的字符代碼就可以了;但如果要顯示CGROM中沒有的字符,比如攝氏溫標(biāo)的符號(hào),那么就只有先在CGRAM中定義,然后再在DDRAM中寫入這個(gè)自定義字符的字符代碼即可。和CGROM中固化的字符不同,CGRAM中本身沒有字符,所以要在DDRAM中寫入某個(gè)CGROM不存在的字符,必須在CGRAM中先定義后使用。程序退出后CGRAM中定義的字符也不復(fù)存在,下次使用時(shí),必須重新定義。


圖10

上面這個(gè)圖(如圖10)說明的是5×8點(diǎn)陣和5×10點(diǎn)陣字符的字形和光標(biāo)的位置。先來說5×8點(diǎn)陣,它有8行5列。那么定義這樣一個(gè)字符需要8個(gè)字節(jié),每個(gè)字節(jié)的前3個(gè)位沒有被使用。例如,定義攝氏溫標(biāo)的符號(hào){0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00}。


圖11

上面這個(gè)圖(如圖11)說明的是設(shè)置CGRAM地址指令。從這個(gè)指令的格式中我們可以看出,它共有aaaaaa這6位,一共可以表示64個(gè)地址,即64個(gè)字節(jié)。一個(gè)5×8點(diǎn)陣字符共占用8個(gè)字節(jié),那么這64個(gè)字節(jié)一共可以自定義8個(gè)字符。也就是說,上面這個(gè)圖的6位地址中的DB5DB4DB3用來表示8個(gè)自定義的字符,DB2DB1DB0用來表示每個(gè)字符的8個(gè)字節(jié)。這DB5DB4DB3所表示的8個(gè)自定義字符(0--7)就是要寫入DDRAM中的字符代碼。我們知道,在CGRAM中只能定義8個(gè)自定義字符,也就是只有0—7這8個(gè)字符代碼,但在下面的這個(gè)表(如圖12)中一共有16個(gè)字符代碼(××××0000b--××××1111b)。實(shí)際上,如圖所示,它只能表示8個(gè)自定義字符 (××××0000b=××××1000b, ××××0001b=××××1001b……依次類推)。也就是說,寫入DDRAM中的字符代碼0和字符代碼8是同一個(gè)自定義字符。5×10點(diǎn)陣每個(gè)字符共占用16個(gè)字節(jié)的空間,所以CGRAM中只能定義4個(gè)這樣的自定義字符。

那么如何在CGRAM中自定義字符呢?在上面的介紹中,我們知道有一個(gè)設(shè)置CGRAM地址指令,同寫DDRAM指令相似,只須設(shè)置好某個(gè)自定義字符的字模數(shù)據(jù),然后按照上面介紹的方法,設(shè)置好CGRAM地址,依次寫入這個(gè)字模數(shù)據(jù)即可。我們?cè)诤竺娴睦又性龠M(jìn)行說明。


圖12

四.LCD1602指令

1.工作方式設(shè)置指令(如圖13)


圖13

×:不關(guān)心,也就是說這個(gè)位是0或1都可以,一般取0。

DL:設(shè)置數(shù)據(jù)接口位數(shù)。

DL=1:8位數(shù)據(jù)接口(D7—D0)。

DL=0:4位數(shù)據(jù)接口(D7—D4)。

N=0:一行顯示。

N=1:兩行顯示。

F=0:5×8點(diǎn)陣字符。

F=1:5×10點(diǎn)陣字符。

說明:因?yàn)槭菍懼噶钭郑訰S和RW都是0。LCD1602只能用并行方式驅(qū)動(dòng),不能用串行方式驅(qū)動(dòng)。而并行方式又可以選擇8位數(shù)據(jù)接口或4位數(shù)據(jù)接口。這里我們選擇8位數(shù)據(jù)接口(D7—D0)。我們的設(shè)置是8位數(shù)據(jù)接口,兩行顯示,5×8點(diǎn)陣,即0b00111000也就是0x38。(注意:NF是10或11的效果是一樣的,都是兩行5×8點(diǎn)陣。因?yàn)樗荒芤詢尚?×10點(diǎn)陣方式進(jìn)行顯示,換句話說,這里用0x38或0x3c是一樣的)。

2.顯示開關(guān)控制指令(如圖14)


圖14

D=1:顯示開,D=0:顯示關(guān)。

C=1:光標(biāo)顯示,C=0:光標(biāo)不顯示。

B=1:光標(biāo)閃爍,B=0:光標(biāo)不閃爍。

說明:這里的設(shè)置是顯示開,不顯示光標(biāo),光標(biāo)不閃爍,設(shè)置字為0x0c。

3.進(jìn)入模式設(shè)置指令(如圖15、16)


圖15

I/D=1:寫入新數(shù)據(jù)后光標(biāo)右移。

I/D=0:寫入新數(shù)據(jù)后光標(biāo)左移。

S=1:顯示移動(dòng)。

S=0:顯示不移動(dòng)。


圖16

說明:這里的設(shè)置是0x06。

4.光標(biāo)或顯示移動(dòng)指令(如圖17、18)


圖17


圖18

說明:在需要進(jìn)行整屏移動(dòng)時(shí),這個(gè)指令非常有用,可以實(shí)現(xiàn)屏幕的滾動(dòng)顯示效果。初始化時(shí)不使用這個(gè)指令。

5.清屏指令(如圖19)


圖19

說明:清除屏幕顯示內(nèi)容。光標(biāo)返回屏幕左上角。執(zhí)行這個(gè)指令時(shí)需要一定時(shí)間。

6.光標(biāo)歸位指令(如圖20)

圖20

說明:光標(biāo)返回屏幕左上角,它不改變屏幕顯示內(nèi)容。

7.設(shè)置CGRAM地址指令(如圖21)


圖21

說明:這個(gè)指令在上面已經(jīng)介紹過。用法在后面例子中說明。

8.設(shè)置DDRAM地址指令(如圖22)


圖22

說明:這個(gè)指令用于設(shè)置DDRAM地址。在對(duì)DDRAM進(jìn)行讀寫之前,首先要設(shè)置DDRAM地址,然后才能進(jìn)行讀寫。前面我們說過,DDRAM就是LCD1602的顯示存儲(chǔ)器。我們要在它上面進(jìn)行顯示,就要把要顯示的字符寫入DDRAM。同樣,我們想知道DDRAM某個(gè)地址上有什么字符,也要先設(shè)置DDRAM地址,然后將它讀出到單片機(jī)。

9.讀忙信號(hào)和地址計(jì)數(shù)器AC(如圖23)


圖23

說明:這個(gè)指令用來讀取LCD1602狀態(tài)。對(duì)于單片機(jī)來說,LCD1602屬于慢速設(shè)備。當(dāng)單片機(jī)向其發(fā)送一個(gè)指令后,它將去執(zhí)行這個(gè)指令。這時(shí)如果單片機(jī)再次發(fā)送下一條指令,由于LCD1602速度較慢,前一條指令還未執(zhí)行完畢,它將不接受這新的指令,導(dǎo)致新的指令丟失。因此這條讀忙指令可以用來判斷LCD1602是否忙,能否接收單片機(jī)發(fā)來的指令。當(dāng)BF=1,表示LCD1602正忙,不能接受單片機(jī)的指令;當(dāng)BF=0,表示LCD1602空閑,可以接收單片機(jī)的指令。RS=0,表示是指令;RW=1,表示是讀取。這條指令還有一個(gè)副產(chǎn)品:即可以得到地址記數(shù)器AC的值(address counter)。LCD1602維護(hù)了一個(gè)地址計(jì)數(shù)器AC,用來記錄下一次讀寫CGRAM或DDRAM的位置。需要強(qiáng)調(diào)的是:這條指令我一次也沒有執(zhí)行成功。很多網(wǎng)友似乎也是這樣。好在我們有另外的辦法,也就是延時(shí)。通過查看每條指令的執(zhí)行時(shí)間,再經(jīng)過一些試驗(yàn),可以確定指令的延時(shí)。這樣就可以在上一條指令執(zhí)行完畢后再執(zhí)行下一條指令了。

10.寫數(shù)據(jù)到CGRAM或DDRAM指令(如圖24)


圖24

說明:RS=1,數(shù)據(jù);RW=0,寫。指令執(zhí)行時(shí),要在DB7—DB0上先設(shè)置好要寫入的數(shù)據(jù),然后執(zhí)行寫命令。

11.從CGRAM或DDRAM讀數(shù)據(jù)指令(如圖25)


圖25

說明:RS=1,數(shù)據(jù);RW=1,讀。先設(shè)置好CGRAM或DDRAM的地址,然后執(zhí)行讀取命令。數(shù)據(jù)就被讀入后DB7—DB0。

五.實(shí)例

下面我們就以一個(gè)實(shí)例來結(jié)束這篇文章。先介紹一下背景:單片機(jī)最小系統(tǒng)(擴(kuò)充了外部RAM 62256)。采用STC89C52RC,晶振22.1184MHZ。以5×8點(diǎn)陣,16×2行,8位數(shù)據(jù)端口。首先在第一行顯示“I love MCU!”,第二行顯示“LCD1602 Test!”。延時(shí)一段時(shí)間,清屏。然后在第一行顯示自定義字符:攝氏溫標(biāo)標(biāo)志。第二行顯示圓周率(pai)標(biāo)志。再延時(shí)一段時(shí)間,清屏。最后在第一行顯示“Welcome to my blog!”,顯示方式是從屏幕右面移入,左面移出。周而復(fù)始(如圖26)。


圖26

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6050

    文章

    44707

    瀏覽量

    641333
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8778

    瀏覽量

    152428
  • LCD1602
    +關(guān)注

    關(guān)注

    14

    文章

    607

    瀏覽量

    52907

原文標(biāo)題:單片機(jī)顯示原理

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何添加自定義單板

    在開發(fā)過程,用戶有時(shí)需要?jiǎng)?chuàng)建自定義板配置。本節(jié)將通過一個(gè)實(shí)例講解用戶如何創(chuàng)建屬于自己的machine,下面以g2l-test.conf為例進(jìn)行說明。
    的頭像 發(fā)表于 03-12 14:43 ?196次閱讀

    如何快速創(chuàng)建用戶自定義Board和App工程

    可將該文件夾復(fù)制到用戶自定義的工作目錄(workspace),基于此模板進(jìn)行開發(fā)。本模板主要牽涉到的用戶自定義的文件有:用戶板級(jí)文件Board用戶應(yīng)用程序App用
    的頭像 發(fā)表于 02-08 13:38 ?163次閱讀
    如何快速創(chuàng)建用戶<b class='flag-5'>自定義</b>Board和App工程

    Altium Designer 15.0自定義元件設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《Altium Designer 15.0自定義元件設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 01-21 15:04 ?0次下載
    Altium Designer 15.0<b class='flag-5'>自定義</b>元件設(shè)計(jì)

    think-cell:自定義think-cell(四)

    C.5 設(shè)置默認(rèn)議程幻燈片布局 think-cell 議程可以在演示文稿中使用特定的自定義布局來定義議程、位置和議程幻燈片上的其他形狀,例如標(biāo)題或圖片。通過將此自定義布局添加到模板,您可以為整個(gè)組織
    的頭像 發(fā)表于 01-13 10:37 ?195次閱讀
    think-cell:<b class='flag-5'>自定義</b>think-cell(四)

    think-cell;自定義think-cell(一)

    本章介紹如何自定義 think-cell,即如何更改默認(rèn)顏色和其他默認(rèn)屬性;這是通過 think-cell 的樣式文件完成的,這些文件將在前四個(gè)部分中進(jìn)行討論。 第五部分 C.5 設(shè)置默認(rèn)議程幻燈片
    的頭像 發(fā)表于 01-08 11:31 ?317次閱讀
    think-cell;<b class='flag-5'>自定義</b>think-cell(一)

    創(chuàng)建自定義的基于閃存的引導(dǎo)加載程序(BSL)

    電子發(fā)燒友網(wǎng)站提供《創(chuàng)建自定義的基于閃存的引導(dǎo)加載程序(BSL).pdf》資料免費(fèi)下載
    發(fā)表于 09-19 10:50 ?0次下載
    創(chuàng)建<b class='flag-5'>自定義</b>的基于閃存的引導(dǎo)加載程序(BSL)

    請(qǐng)問multisim怎么自定義元器件?

    為什么我在multisim自定義元器件始終出不了想要的波形效果?同一個(gè)pspice模型我同學(xué)之前都定義正確了,現(xiàn)在我想再來試一下結(jié)果一直失敗
    發(fā)表于 09-10 06:16

    NVIDIA NeMo加速并簡化自定義模型開發(fā)

    如果企業(yè)希望充分發(fā)揮出 AI 的力量,就需要根據(jù)其行業(yè)需求量身定制的自定義模型。
    的頭像 發(fā)表于 07-26 11:17 ?921次閱讀
    NVIDIA NeMo加速并簡化<b class='flag-5'>自定義</b>模型開發(fā)

    何在IDF框架中使用自定義的靜態(tài)庫和動(dòng)態(tài)庫?

    基于商業(yè)需要,我們需要在 ESP-IDF v4.0-rc 這個(gè)版本的IDF開發(fā)與使用自定義庫,有如下問題請(qǐng)協(xié)助: 1如何利用IDF框架編寫自定義靜態(tài)庫和動(dòng)態(tài)庫? 2如何在IDF框架中
    發(fā)表于 06-25 07:57

    stm32cubemx如何自定義lwip平臺(tái)?

    有人知道stm32cubemx,如何自定義lwip平臺(tái)。(默認(rèn)只
    發(fā)表于 05-22 07:50

    HarmonyOS開發(fā)案例:【 自定義彈窗】

    基于ArkTS的聲明式開發(fā)范式實(shí)現(xiàn)了三種不同的彈窗,第一種直接使用公共組件,后兩種使用CustomDialogController實(shí)現(xiàn)自定義彈窗
    的頭像 發(fā)表于 05-16 18:18 ?1582次閱讀
    HarmonyOS開發(fā)案例:【 <b class='flag-5'>自定義</b>彈窗】

    TSMaster 自定義 LIN 調(diào)度表編程指導(dǎo)

    LIN(LocalInterconnectNetwork)協(xié)議調(diào)度表是用于LIN總線通信中的消息調(diào)度的一種機(jī)制,我們收到越來越多來自不同用戶希望能夠通過接口實(shí)現(xiàn)自定義LIN調(diào)度表的需求。所以在
    的頭像 發(fā)表于 05-11 08:21 ?839次閱讀
    TSMaster <b class='flag-5'>自定義</b> LIN 調(diào)度表編程指導(dǎo)

    HarmonyOS開發(fā)案例:【UIAbility和自定義組件生命周期】

    本文檔主要描述了應(yīng)用運(yùn)行過程UIAbility和自定義組件的生命周期。對(duì)于UIAbility,描述了Create、Foreground、Background、Destroy四種生命周期。對(duì)于頁面
    的頭像 發(fā)表于 05-10 15:31 ?1504次閱讀
    HarmonyOS開發(fā)案例:【UIAbility和<b class='flag-5'>自定義</b>組件生命周期】

    HarmonyOS開發(fā)實(shí)例:【自定義Emitter】

    使用[Emitter]實(shí)現(xiàn)事件的訂閱和發(fā)布,使用[自定義彈窗]設(shè)置廣告信息。
    的頭像 發(fā)表于 04-14 11:37 ?1132次閱讀
    HarmonyOS開發(fā)實(shí)例:【<b class='flag-5'>自定義</b>Emitter】

    鴻蒙ArkUI實(shí)例:【自定義組件】

    組件是 OpenHarmony 頁面最小顯示單元,一個(gè)頁面可由多個(gè)組件組合而成,也可只由一個(gè)組件組合而成,這些組件可以是ArkUI開發(fā)框架自帶系統(tǒng)組件,比如?`Text`?、?`Button`?等,也可以是自定義組件,本節(jié)筆者簡單介紹一下自定義組件的語法規(guī)范。
    的頭像 發(fā)表于 04-08 10:17 ?775次閱讀
    主站蜘蛛池模板: gay台湾无套男同志xnxⅹ | 午夜性色一区二区三区不卡视频 | 国产精品美女久久久久浪潮AV | 亚洲成年人免费网站 | 毛片免费在线播放 | 欧美亚洲国内日韩自拍视频 | 亚洲欧美精品无码大片在线观看 | 日本久久精品视频 | 桥本有菜护士 | 99香蕉精品视频在线观看 | 一个人日本的视频免费完整版 | 国产中文在线观看 | 最美女人体内射精一区二区 | 中文字幕乱码在线人视频 | 一线高清视频在线播放 | 国产高清国内精品福利色噜噜 | 午夜国产精品免费观看 | 国产在线观看91精品 | 亚洲国产精品日本无码网站 | 午夜福利视频极品国产83 | 亚洲欧美日韩精品久久奇米色影视 | 亚洲色图激情文学 | 18video性欧美19sex高清 | 日韩内射美女人妻一区二区三区 | 国产精品亚洲精品久久品 | 国产成人免费a在线视频app | 红桃传媒少妇人妻网站无码抽插 | 66美女人体| 久久99这里只有精品 | 国产精品青草久久福利不卡 | 91伊人久久大香线蕉 | 人人碰在线视频 | 免费国产综合视频在线看 | 国产精品美女久久久网站动漫 | 国产精品久久久久久久久齐齐 | 久久99蜜桃精品麻豆 | 短篇合集纯肉高H深陷骚 | 99精品中文字幕在线观看 | 野花香HD免费高清版6高清版 | 国产日韩欧美三级 | 打扑克床上视频不用下载免费观看 |