產(chǎn)品動態(tài)
- 群創(chuàng)12.1寸 G121ICE-LM2 對比度1000:1 常
- G270QAN01.4 友達27寸 400 cd/m2 分辨率2
- G190ETT01.1 友達19寸 分辨率1280*1024
- 18.5寸G185HAT01.1 友達 對比度1000:1 分
- 友達G101EAT02.6 10.1寸 分辨率1280*800
- G156HAN02.303 友達15.6寸 對比度1000:1
- G057QAN01.1 友達5.7寸 常黑顯示 1000:1
- G238HAN04.0 友達23.8寸 常黑顯示 分辨
- 友達8.4寸 G084SAN01.0 常黑顯示 分辨
- G057QAN01.0 友達 5.7寸 500 cd/m2 常黑
全國統(tǒng)一服務(wù)熱線:
15382323032
客服QQ:3234659108
手機:15382323032
地址:浙江省杭州市余杭區(qū)五常街道西溪軟件園金牛座B2座4層4118-4119
如何詳細的去使用12864液晶模塊?
文章開頭備注:這一篇文章僅僅是對12864操作的一個具體介紹,僅限給剛剛接觸12864的新手,大神請拍磚,文章寫的比較散,建議新手先參考12864手冊以及控制驅(qū)動器ST7920英文手冊,在有個初步理解之后再次閱讀該篇文章,將會有更加深層的認識。強烈建議仔細的閱讀ST7920英文手冊!細節(jié)內(nèi)容里面有詳細的介紹,中文的12864也大多是從中譯過來的。
本文是分為三個步驟來介紹12864的內(nèi)部資源原理,指令集詳細講解,以及應(yīng)用的例子。
對于12864的所有操作概括起來就有4種:
1)、讀忙狀態(tài)(同時會讀出指針地址的內(nèi)容),在初始化之后每次對12864的讀寫均要進行忙檢測。
2)、寫命令:所有的命令可以去查看指令表,后續(xù)會講解指令的詳細用法。寫地址也就是寫指令。
3)、寫數(shù)據(jù):操作的對象有DDRAM、CGRAM、GDRAM。
4)、讀數(shù)據(jù):操作的對象也是DDRAM、CGRAM、GDRAM。

對于12864的學(xué)習(xí)首先要去了解其內(nèi)部資源,知道了它里面到底有哪些東西,你就可以更加方便的去使用它了。
先簡單介紹幾個英文的名字:
DDRAM:(Data Display Ram),數(shù)據(jù)顯示RAM,往這里面寫啥,屏幕它就會顯示啥。
CGROM:(Character Generation ROM),字符發(fā)生ROM。里面是存儲了中文漢字的字模,也稱之為中文字庫,編碼方式有GB2312(中文簡體)和BIG5(中文繁體)。筆者所使用的是育松電子的QC12864B,講解以此為例。
CGRAM:(Character Generation RAM),字符發(fā)生RAM,12864內(nèi)部是提供了64×2B的CGRAM,可以用于用戶自定義4個16×16字符,每一個字符占用了32個字節(jié)。
GDRAM:(Graphic Display RAM):圖形顯示RAM,這一塊區(qū)域是用于繪圖的,同理——往里面寫啥,屏幕也就會顯示啥,它與DDRAM的區(qū)別在于,往DDRAM中寫的數(shù)據(jù)是字符的編碼,字符的顯示先是在CGROM中找到字模,然后再映射到屏幕上的,而往GDRAM中寫數(shù)據(jù)時,圖形的點陣信息每個點都用1bit來保存其顯示與否。
HCGROM:(Half height Character Generation ROM):半寬字符發(fā)生器,是字母與數(shù)字,也就是ASCII碼。
至于ICON RAM(IRAM):貌似現(xiàn)在市場上的12864沒有該項功能,筆者也沒有去找到它的應(yīng)用資料,所以在這里不作介紹了。
下面我們就圍繞這上面列舉的這列資源來展開對12864的講解:
DDRAM:
筆者所使用的這塊12864內(nèi)部是有4行×32字節(jié)的DDRAM空間。但是在某一時刻,屏幕只能夠顯示2行×32字節(jié)的空間,那么剩余的這些空間呢?它們是可以用于緩存的,在實現(xiàn)卷屏顯示時這些空間就能夠派上用場了。
DDRAM結(jié)構(gòu)如下所示:
80H、81H、82H、83H、84H、85H、86H、87H、88H、89H、8AH、8BH、8CH、8DH、8EH、8FH
90H、91H、92H、93H、94H、95H、96H、97H、98H、99H、9AH、9BH、9CH、9DH、9EH、9FH
A0H、A1H、A2H、A3H、A4H、A5H、A6H、A7H、A8H、A9H、AAH、ABH、ACH、ADH、AEH、AFH
B0H、B1H、B2H、B3H、B4H、B5H、B6H、B7H、B8H、B9H、BAH、BBH、BCH、BDH、BEH、BFH
地址與屏幕顯示的對應(yīng)關(guān)系如下:
第一行:80H、81H、82H、83H、84H、85H、86H、87H
第二行:90H、91H、92H、93H、94H、95H、96H、97H
第三行:88H、89H、8AH、8BH、8CH、8DH、8EH、8FH
第四行:98H、99H、9AH、9BH、9CH、9DH、9EH、9FH
說明:紅色部分的數(shù)據(jù)是歸上半屏所顯示,綠色部分的數(shù)據(jù)是歸下半屏所顯示。一般我們在用于顯示字符使用的是上面兩行的空間,也就是80H~8FH,90H~9FH,每一個地址的空間是2個字節(jié),也就是1個字,所以它可以用于存儲字符編碼的空間總共就是128字節(jié)。因為每一個漢字的編碼是2個字節(jié),所以每一個地址就需要使用2個字節(jié)來存儲一個漢字。當(dāng)然如果將這2個字節(jié)拆開來使用也是可以的,那就是顯示出2個半寬字符了。
DDRAM內(nèi)部所存儲的數(shù)據(jù)都是字符的編碼,可以寫入的編碼有ASCII碼、GB2312碼、BIG5碼。筆者所使用的12864字庫貌似不太全,字符的“數(shù)”都無法顯示,而是顯示出其他字符。如果顯示長篇漢字文章就優(yōu)點不太適合了。
DDRAM數(shù)據(jù)的讀寫:
所有的數(shù)據(jù)讀寫都應(yīng)該是先送地址,然后再進行讀寫。對DDRAM寫數(shù)據(jù)時,確保在基本的指令集下(使用指令0x30開啟),然后寫入地址,之后再連續(xù)的寫入兩個字節(jié)的數(shù)據(jù)。在讀數(shù)據(jù)時,在基本指令集下先寫地址,然后再假讀一次,之后再連續(xù)讀出2個字節(jié)的數(shù)據(jù),讀完之后地址指針自動加一,跳到下一個字,若需要讀下一個字的內(nèi)容,只需再執(zhí)行連續(xù)讀2個字節(jié)的數(shù)據(jù)。這里的假讀需要注意,不光是讀CGRAM需要假讀,讀其他的GDRAM、DDRAM都需要先假讀一次,之后的讀才是真讀,假讀就是讀一次數(shù)據(jù),但是不會存儲該數(shù)據(jù),也就是說送地址之后第一次讀的數(shù)據(jù)時錯誤的,之后的數(shù)據(jù)才是正確的。(dummy為假讀)

關(guān)于編碼在DDRAM中的存儲需要說明的事項如下:
1)、每次對于DDRAM的操作單位都是一個字,也就是2個字節(jié),當(dāng)往DDRAM寫入數(shù)據(jù)時,首先要寫地址,然后連續(xù)送入2個字節(jié)的數(shù)據(jù),先送高字節(jié)的數(shù)據(jù),再送低字節(jié)的數(shù)據(jù)。讀數(shù)據(jù)時也是如此,先寫地址,然后再讀出高字節(jié)數(shù)據(jù),再讀出低字節(jié)的數(shù)據(jù)(讀數(shù)據(jù)時請注意要先假讀一次)。
2)、顯示ASCII碼半寬字符時,往每個地址送入2個字節(jié)的ASCII編碼,對應(yīng)屏幕上的位置就會顯示出2個半寬字符,左邊的為高字節(jié)字符,右邊的則為低字節(jié)字符。
3)、顯示漢字時,漢字編碼的2個字節(jié)必須要存儲在同一地址空間之中,不能夠分開放在2個地址存放,否則顯示的就不會是你想要的字符。每一個字中的2個字節(jié)自動結(jié)合查找字模并且顯示字符。所以,如果我們往一個地址中寫入的是一個漢字的2字節(jié)編碼就會正確顯示該字符,編碼高字節(jié)存放在前一地址低字節(jié),編碼低字節(jié)存放在后一地址高字節(jié),顯然他們就不會結(jié)合查找字模,而是與各地址相應(yīng)字節(jié)結(jié)合查找字模。

4)、因為控制器ST7920提供了4個自定義字符,所以這4個自定義字符也是可以完全顯示出來的,同樣這4個自定義字符也是采用了編碼的方式,但是這4個字符的編碼是固定的,分別是0000H,0002H,0004H,0006H。如下圖所示:

上圖只是把2個字符的CGRAM空間畫出來,后續(xù)還會有2個字符??梢钥吹矫恳粋€字符都有16行16列,每一行使用了2個字節(jié),因此一個字符所占用的空間是32字節(jié),地址是6位的,4個字符的地址分別是:00H~0FH、10H~1FH、20H~2FH、30H~3FH。編碼使用的是2個字節(jié),可以看到有2個位是任意的,說明其實這4個字符的編碼可以有多個,只是我們常用前面列舉的4個編碼。
CGRAM: (數(shù)據(jù)讀寫)
CGRAM的結(jié)構(gòu)就是上面所示的了,這里再次補充一些讀寫CGRAM的內(nèi)容,讀寫之前要先寫地址,寫CGRAM的指令為0x40+地址。但是我們在寫地址時只需要寫第一行的地址,例如第一個字符就是0x40+00H,然后連續(xù)寫入2個字節(jié)的數(shù)據(jù),之后地址指針就會自動加一,跳到下一行的地址,然后再寫入2個字節(jié)的數(shù)據(jù)。其實編程實現(xiàn)就是寫入地址,然后連續(xù)寫入32個字節(jié)的數(shù)據(jù)。讀數(shù)據(jù)也是先寫首地址,然后假讀一次,接著連續(xù)讀32個字節(jié)的數(shù)據(jù)。
GDRAM:(繪圖顯示RAM)
繪圖RAM的空間結(jié)構(gòu)如下圖所示:

這些都是點陣,繪圖RAM就是給這些點陣置1或者置0,可以看到其實它本來是32行×256列的,但是它分成了上下兩屏顯示,每一個點都對應(yīng)了屏幕上的一個點。要使用繪圖功能需要開啟擴展指令。然后寫地址,再讀寫出數(shù)據(jù)。
GDRAM的讀寫:
首先要說明對GDRAM的操作基本單位是一個字,也就是2個字節(jié),就是說讀寫GDRAM時一次最少要寫2個字節(jié),一次最少讀2個字節(jié)。
寫數(shù)據(jù):先開啟擴展的指令集(0x36),然后再送地址,這里的地址與DDRAM中的略有些不同,DDRAM中的地址就只有一個,那就是字的地址。而GDRAM中的地址就只有2個,分別是字地址(列地址/水平地址X)以及位地址(行地址/垂直地址Y),上圖之中的垂直地址就是00H~31H,水平地址就是00H~15H,在寫地址時要先寫垂直的地址(行地址)再寫水平地址(列地址),也就是說要連續(xù)寫入兩個地址之后,然后再連續(xù)寫入2個字節(jié)的數(shù)據(jù)。如圖中所示,左邊的為高字節(jié)右邊的為低字節(jié)。為1的點被描黑,為0的點則是顯示出空白。這里就列舉一個寫地址的例子:寫GDRAM地址指令的是0x80+地址。被加上的地址就是上面所列舉的X和Y,假設(shè)我們要寫第一行的2個字節(jié),那么寫入地址就是0x00H(寫行地址)然后寫0x80H(列地址),之后才連續(xù)的寫入2個字節(jié)的數(shù)據(jù)(先高字節(jié)后低字節(jié))。再如寫屏幕右下角的2個字節(jié),先寫行地址0x9F(0x80+32),再寫列地址0x8F(0x80+15),然后連續(xù)寫入2個字節(jié)的數(shù)據(jù)。編程中寫地址函數(shù)中直接用參數(shù)(0x+32),而就不必自己相加。
讀數(shù)據(jù):首先開啟擴展指令集,然后再寫行地址、寫列地址,假讀一次,再連續(xù)讀2字節(jié)的數(shù)據(jù)(先高字節(jié)后低字節(jié))。
讀寫時序:
讀寫時序圖如下:(上圖為寫,下圖為讀)


時序圖之中的信號引腳就是12864最主要的引腳,分別是:
RS:命令/數(shù)據(jù)寄存器選擇端
WR:讀寫的控制端
E:使能端
DB7~DB0:數(shù)據(jù)端
所有對于12864的操作基本都是圍繞著幾根引腳所展開的。包括寫命令、寫數(shù)據(jù)、讀數(shù)據(jù)、讀狀態(tài)就是通過這一些引腳的高低電平搭配來實現(xiàn)的。
根據(jù)時序圖可以編寫出相應(yīng)的寫命令函數(shù)、寫數(shù)據(jù)函數(shù)、讀數(shù)據(jù)函數(shù)、讀狀態(tài)函數(shù)。需要的注意的是有效數(shù)據(jù)出現(xiàn)的那段時間Tc必須合適,不能太短,否則就會造成讀寫失敗。
給出幾個函數(shù)示例:
//忙檢測,若忙則等待,最長等待時間為60ms
void busychk_12864(void){
unsigned int timeout = 0;
E_12864 = 0;
RS_12864 = 0;
RW_12864 = 1;
E_12864 = 1;
while((IO_12864 & 0x80) && ++timeout != 0); //忙狀態(tài)檢測,等待超時時間為60ms
E_12864 = 0;
}
//寫命令子程序
void wrtcom_12864(unsigned char com){
busychk_12864();
E_12864 = 0;
RS_12864 = 0;
RW_12864 = 0;
IO_12864 = com;
E_12864 = 1;
delay_12864(50); //50us使能延時!!!注意這里,如果是較快的CPU應(yīng)該延時久一些
E_12864 = 0;
}
//讀數(shù)據(jù)子程序
unsigned char reddat_12864(void){
unsigned char temp;
busychk_12864();
E_12864 = 0;
IO_12864 = 0xff; //IO口置高電平,讀引腳
RS_12864 = 1;
RW_12864 = 1;
E_12864 = 1;
delay_12864(50); //使能延時!!!注意這里,如果是較快的CPU應(yīng)該延時久一些
temp = IO_12864;
return temp;
}
//寫數(shù)據(jù)子程序
void wrtdat_12864(unsigned char dat){
busychk_12864();
E_12864 = 0;
RS_12864 = 1;
RW_12864 = 0;
E_12864 = 1;
IO_12864 = dat;
delay_12864(50); //使能延時!!!注意這里,如果是較快的CPU應(yīng)該延時久一些
E_12864 = 0;
}
其中,忙檢測是必要的,當(dāng)BF=1時,表示內(nèi)部正在進行相關(guān)的操作,即:處于忙狀態(tài)。在BF變回0之前ST7920不會接受任何指令。MCU必須要檢測BF以確定ST7920內(nèi)部操作是否已完成,然后才能夠再發(fā)送指令。也可以使用延時來替代忙檢測,但是需要延時足夠的時間。盲檢測實際就是讀內(nèi)部的狀態(tài)寄存器,該寄存器最高位(D7)為忙標(biāo)志BF,剩余的7位為地址指針的內(nèi)容,所以在進行盲檢測實際上也把地址指針中的地址讀出來了。
指令集:
指令集是分為基本指令集以及擴展指令集,使用相應(yīng)的指令集必須要先寫相應(yīng)指令表明后續(xù)指令均為該類指令。如使用基本指令集時,寫指令(0x30),需要使用擴展指令集時寫指令(0x34)切換到擴展指令集。
一)基本的指令集(RE=0):(在使用擴展指令集時先寫指令0x30,這使得RE=0)
清屏指令(0x01):往DDRAM寫滿0x20,指針的地址寫0x00。表現(xiàn)在屏幕上的就是顯示空白。
回車指令(0x02/0x03):地址指針內(nèi)容寫上0x00.
進入模式:0 0 0 0 0 1 I/D S:設(shè)置讀寫數(shù)據(jù)之后光標(biāo)、顯示移位的方向。內(nèi)部有2個可編程位,I/D表示讀寫一個字符后數(shù)據(jù)指針是加一還是減一。I/D=1指針加一,I/D=0指針減一。S=1開啟整屏移動。
S I/D= H H,屏幕每次左移一個字符。
S I/D= H L ,屏幕每次右移一個字符。
但是平時若不開啟屏幕移動,這里說明一個概念,那就是屏幕移動,實際試驗中若開啟了屏幕移動你會發(fā)生顯示是非常怪異的,說明如下:由于DDRAM的結(jié)構(gòu)是下方表所示:
上半屏 下半屏
80H、81H、82H、83H、84H、85H、86H、87H、88H、89H、8AH、8BH、8CH、8DH、8EH、8FH
90H、91H、92H、93H、94H、95H、96H、97H、98H、99H、9AH、9BH、9CH、9DH、9EH、9FH
A0H、A1H、A2H、A3H、A4H、A5H、A6H、A7H、A8H、A9H、AAH、ABH、ACH、ADH、AEH、AFH
B0H、B1H、B2H、B3H、B4H、B5H、B6H、B7H、B8H、B9H、BAH、BBH、BCH、BDH、BEH、BFH
在沒有開啟屏移時,屏幕是以表格第一來列作為參考起點的,然后前8列歸為上半屏顯示,后8列歸為下半屏顯示。如果此時向左屏移動一個字符,那么DDRAM內(nèi)容與顯示映射關(guān)系應(yīng)變?yōu)椋?br />
80H、81H、82H、83H、84H、85H、86H、87H、88H、89H、8AH、8BH、8CH、8DH、8EH、8FH
90H、91H、92H、93H、94H、95H、96H、97H、98H、99H、9AH、9BH、9CH、9DH、9EH、9FH
A0H、A1H、A2H、A3H、A4H、A5H、A6H、A7H、A8H、A9H、AAH、ABH、ACH、ADH、AEH、AFH
B0H、B1H、B2H、B3H、B4H、B5H、B6H、B7H、B8H、B9H、BAH、BBH、BCH、BDH、BEH、BFH
可以看出實際上原來第三第四行開始的字符跑到了第一行第二行的末尾,一整個DDRAM的結(jié)構(gòu)就是一種循環(huán)的結(jié)構(gòu),發(fā)生屏移時DDRAM與顯示映射關(guān)系不斷的在改變。但是這不太符合我們的閱讀習(xí)慣,所以如果需要使用到該項功能還需編程校正之。
顯示、光標(biāo)、閃爍開關(guān):0 0 0 0 0 0 1 D C B:
D=1: 顯示開(Display) C=1: 光標(biāo)開(Cursor) B=1: 光標(biāo)位置閃爍開(Blink)。為0則就為關(guān)。
光標(biāo)顯示移位控制:0 0 0 1 S/C R/L X X

說明:
LL:這時僅僅是將地址指針AC的值減1。在屏幕上表現(xiàn)出來的是光標(biāo)左移一個字符。
LH:這時僅僅是將地址指針AC的值加1。在屏幕上表現(xiàn)出來的是光標(biāo)右移一個字符。
HL:AC的指針不變,向左屏移動一個字符。這是DDRAM結(jié)構(gòu)循環(huán)左移,80H接在8FH后面,90H接在9FH的后面。這與上面講的屏移是一樣的。
HH:AC指針不變,向右屏移動一個字符。這是DDRAM結(jié)構(gòu)循環(huán)右移,80H接在8FH后面,90H接在9FH后面。
功能設(shè)置:0 0 1 DL X RE X X:(切換基本的指令集與擴展指令集)
DL=1表示8為接口,DL=0表示4為接口。
RE=1表示開啟擴展指令,RE=0表示使用基本指令。
開啟基本指令則設(shè)置為0x30,開啟擴展指令則設(shè)置為0x34。
CGRAM地址設(shè)置:0x40+地址。地址范圍是00H~3FH。前提是SR=0,即允許設(shè)置IRAM和CGRAM地址?。?!
DDRAM地址設(shè)置:只會有字地址。如下表所示。(注意DDRAM地址有4行×16字)如下所示:
80H、81H、82H、83H、84H、85H、86H、87H、88H、89H、8AH、8BH、8CH、8DH、8EH、8FH
90H、91H、92H、93H、94H、95H、96H、97H、98H、99H、9AH、9BH、9CH、9DH、9EH、9FH
A0H、A1H、A2H、A3H、A4H、A5H、A6H、A7H、A8H、A9H、AAH、ABH、ACH、ADH、AEH、AFH
B0H、B1H、B2H、B3H、B4H、B5H、B6H、B7H、B8H、B9H、BAH、BBH、BCH、BDH、BEH、BFH
所以在某一個時刻只能夠顯示出其中的2行。只有卷動顯示才能夠?qū)⒘韮尚械臄?shù)據(jù)顯示出來。
讀忙標(biāo)志(地址):同時忙標(biāo)志和地址讀出來。忙狀態(tài)時,ST7920不會接受任何指令。按照時序圖將RS置0,RW置1,然后讀取狀態(tài)寄存器。
寫RAM(DDRAM/CGRAM/GDRAM):寫了控制邏輯(函數(shù)wrtcom_12864(地址);)之后,直接送數(shù)據(jù)(wrtdat_12864)。寫完后地址指針根據(jù)進入模式中的設(shè)置加一或減一。寫數(shù)據(jù)前先寫地址,而寫地址本身是一個寫地址命令,然后再寫數(shù)據(jù)。
讀RAM(DDRAM/CGRAM/GDRAM):記得先假讀一次,后面的才是真讀,假讀之后不需要再假讀了,除非重設(shè)了地址。
二)擴展指令集(RE=1):(使用擴展指令集先寫指令0x34,這使得RE=1)
待機模式:0x01,不影響DDRAM,所以跟清屏指令不同,任何指令可以結(jié)束待機模式。
卷動地址/IRAM地址允許設(shè)置:0 0 0 0 0 0 1 SR:
SR=1:允許設(shè)置垂直卷動地址。SR=0:允許設(shè)置IRAM和CGRAM地址。
設(shè)置卷動/IRAM地址:0x40+地址。(卷動地址為行地址,即縱向地址).
這里講解卷動,卷動就是上下滾屏,實現(xiàn)屏幕的垂直滾動。
卷動地址:地址范圍為0x00~0x63,共64行卷動地址其實就是垂直地址。每一個地址代表著DDRAM中的一行的像素點。卷動一次就是把該行所有點移到上半屏和下半屏幕最上方。
80H、81H、82H、83H、84H、85H、86H、87H、88H、89H、8AH、8BH、8CH、8DH、8EH、8FH
90H、91H、92H、93H、94H、95H、96H、97H、98H、99H、9AH、9BH、9CH、9DH、9EH、9FH
A0H、A1H、A2H、A3H、A4H、A5H、A6H、A7H、A8H、A9H、AAH、ABH、ACH、ADH、AEH、AFH
B0H、B1H、B2H、B3H、B4H、B5H、B6H、B7H、B8H、B9H、BAH、BBH、BCH、BDH、BEH、BFH
還是DDRAM的結(jié)構(gòu)圖,需要注意的是卷屏是分上半屏卷動和下半屏卷動,兩屏之間沒有關(guān)系,也就是DDRAM中左邊紅色部分在上半屏滾動,右邊綠色部分在下半屏滾動。
B0H、B1H、B2H、B3H、B4H、B5H、B6H、B7H 的下一行是
80H、81H、82H、83H、84H、85H、86H、87H
也就是說左邊是一個上下相接的循環(huán)結(jié)構(gòu)。同理右邊也是上下相接的循環(huán)結(jié)構(gòu)。左邊內(nèi)存中的字符上下滾動。右邊內(nèi)存中的字符上下滾動,兩者木有關(guān)系。
要開啟卷動,首先開啟擴展指令集,然后允許卷動地址設(shè)置,再設(shè)置卷動地址。
wrtcom_12864(0x34); //打開擴展指令
wrtcom_12864(0x03); //允許輸入卷動地址
wrtcom_12864(0x40 + 地址 //設(shè)置卷動地址
wrtcom_12864(0x30); //回到基本指令
要實現(xiàn)全屏滾動,就必須使用循環(huán)不斷地修改卷動地址。從00~63如此循環(huán),但遺憾的是這也不符合我們的閱讀習(xí)慣,后續(xù)的應(yīng)用的中將講解全屏滾動的實現(xiàn)方法。這里只是把卷動原理講清楚。
反白顯示:0 0 0 0 0 1 R1 R0:
R1、R0初始化的值為00。選擇1~4任一行反白顯示并可決定是否反白。
如何開啟反白顯示:首先開啟擴展指令(0x34),然后設(shè)置選中某一行設(shè)置反白顯示(0x04+R1R0)。00為第一行,01為第二行,10為第三行,11為第四行。需要說明的是,這里的行是指DDRAM所有內(nèi)存的行,而不是顯示的行,屏幕只顯示2行。
所以如果我們開啟第3第4行的反白顯示,不卷動我們是看不到效果的。
同時,如果我們開啟第1行反白顯示,那么在屏幕中第1行第3行都會反白顯示,第2行則對應(yīng)屏幕第2第4行,這一點需要注意。
如何關(guān)閉反白顯示:只需在此寫一次地址即可關(guān)閉,也就說,第一次寫第一開啟反白,第二次寫相同的地址關(guān)閉反白顯示。
wrtcom_12864(0x34); //反白顯示試驗
wrtcom_12864(0x04); //開啟反白顯示
delay_12864(60000); //延時
delay_12864(60000); //延時
wrtcom_12864(0x04); //關(guān)閉反白顯示
wrtcom_12864(0x30); //開啟基本指令集
擴展功能設(shè)置:0x36設(shè)置繪圖顯示開。
當(dāng)GDRAM寫完了之后,寫0x36則屏幕顯示你所繪制的圖形。
0 0 0 0 1 DL x RE G x (RE=1擴展指令,G=1開繪圖顯示,DL=1表示8為接口)
設(shè)置GDRAM地址:繪圖時,需要將GDRAM的地址寫入地址指針中,然后才能寫入數(shù)據(jù)。連續(xù)寫入兩個字節(jié),第一個為行地址(Y),第二個為列地址(X)。
需要注意的是:寫了數(shù)據(jù)之后,地址指針會自動加一(以字為單位),當(dāng)?shù)竭_該行的行尾時,指針下一次加一會使得地址指針跳回該行行首,也就說如果地址值為8FH時,下一次它就是80H(以第一行為例)。指針地址在本行之間循環(huán)。
指令介紹完
再講下初始化過程,根據(jù)ST7920的手冊提供的初始化步驟就可以了。


初始化函數(shù)如下:
//延時子程序
void delay_12864(unsigned int del){
unsigned int i;
for(i = 0; i < del; i++){; }
}
//初始化12864子函數(shù)
void initial_12864(void){
delay_12864(40000);
RST_12864 = 1;
RST_12864 = 0; //復(fù)位
delay_12864(500);
RST_12864 = 1;
wrtcom_12864(0x30); //設(shè)置為基本指令集動作
delay_12864(100);
wrtcom_12864(0x30); //設(shè)置為基本指令集動作
delay_12864(37);
wrtcom_12864(0x08); //設(shè)置顯示、光標(biāo)、閃爍全關(guān)。
delay_12864(100);
wrtcom_12864(0x01); //清屏,并且DDRAM數(shù)據(jù)指針清零
delay_12864(100000);
wrtcom_12864(0x06); //進入模式設(shè)置
}
應(yīng)用部分:
這里講解12864的幾個典型應(yīng)用:
1)、自編字符創(chuàng)建以及顯示
2)、GDRAM的繪制及顯示
3)、全屏卷動的實現(xiàn)方法
1)、自編字符創(chuàng)建以及顯示
先明確的要點,12864具有4個自編字符,每個字符的編碼為0000H、0002H、0004H、0006H,4個自定義字符的CGRAM地址分別為00H~0FH、10H~1FH、20H~2FH、30H~3FH。
我們以第3個字符為例:
在這里先把整個源文件的宏定義以及各子函數(shù)貼出:
#include <reg52.h>
#define IO_12864 P0
sbit RS_12864 = P2^5;
sbit RW_12864 = P2^6;
sbit E_12864 = P2^7;
sbit RST_12864 = P2^2;
//忙檢測,若忙則等待,最長等待時間為60ms
void busychk_12864(void){
unsigned int timeout = 0;
E_12864 = 0;
RS_12864 = 0;
RW_12864 = 1;
E_12864 = 1;
while((IO_12864 & 0x80) && ++timeout != 0); //忙狀態(tài)檢測,等待超時時間為60ms
E_12864 = 0;
}
//寫命令子程序
void wrtcom_12864(unsigned char com){
busychk_12864();
E_12864 = 0;
RS_12864 = 0;
RW_12864 = 0;
IO_12864 = com;
E_12864 = 1;
delay_12864(50); //使能延時!!!注意這里,如果是較快的CPU應(yīng)該延時久一些
E_12864 = 0;
}
//讀數(shù)據(jù)子程序
unsigned char reddat_12864(void){
unsigned char temp;
busychk_12864();
E_12864 = 0;
IO_12864 = 0xff; //IO口置高電平,讀引腳
RS_12864 = 1;
RW_12864 = 1;
E_12864 = 1;
delay_12864(50); //使能延時!!!注意這里,如果是較快的CPU應(yīng)該延時久一些
temp = IO_12864;
return temp;
}
//寫數(shù)據(jù)子程序
void wrtdat_12864(unsigned char dat){
busychk_12864();
E_12864 = 0;
RS_12864 = 1;
RW_12864 = 0;
E_12864 = 1;
IO_12864 = dat;
delay_12864(50); //使能延時!!!注意這里,如果是較快的CPU應(yīng)該延時久一些
E_12864 = 0;
}
//初始化12864子函數(shù)
void initial_12864(void){
delay_12864(40000);
RST_12864 = 1;
RST_12864 = 0; //復(fù)位
delay_12864(500);
RST_12864 = 1;
wrtcom_12864(0x30); //設(shè)置為基本指令集動作
delay_12864(100);
wrtcom_12864(0x30); //設(shè)置為基本指令集動作
delay_12864(37);
wrtcom_12864(0x08); //設(shè)置顯示、光標(biāo)、閃爍全關(guān)。
delay_12864(100);
wrtcom_12864(0x01); //清屏,并且DDRAM數(shù)據(jù)指針清零
delay_12864(100000);
wrtcom_12864(0x06); //進入模式設(shè)置
wrtcom_12864(0x0c); //開顯示
}
以上函數(shù)定義在main()函數(shù)之前,我們在主函數(shù)中編寫程序:
void main(){
unsigned char i,*addr;
unsigned char defchar[] = {0x08,0x10,0x08,0x10,0x08,0x10,0x7F,0xFE,0x20,0x04,0x12,0x48,0x08,0x10,0x05,0xA0,0x02,0x40,0x01,0x80,0x01,0x80,0x07,0xE0,0x09,0x90,0x11,0x88,0x11,0x88,0x11,0x88}; //自定義字符,這里是筆者畫的一個小機器人。
delay_12864(100); //啟動延時
initial_12864(); //初始化12864
addr = defchar;
wrtcom_12864(0x40+0x20); //寫CGRAM首行地址
for(i = 0; i < 32; i++){
wrtdat_12864(*addr++);
}
wrtcom_12864(0x80); //在第一行第一個字符出顯示自定義字符
wrtdat_12864(0x00); //寫第三個自定義字符編碼的高字節(jié)
wrtdat_12864(0x04); //寫第三個自定義字符編碼的低字節(jié)
while(1);
}
運行程序就可以看到第一個字符處出現(xiàn)一個小機器人了。
2)、GDRAM的繪制及顯示
先明確的要點,GDRAM是32行×16字。寫數(shù)據(jù)之前必須先送行地址,然后送列地址。讀寫的基本操作單元是字(2個字節(jié))。讀寫完一個字后地址指針在本行自動加一,到達行末則返回行首地址(地址循環(huán))。
我們這里先以一個畫點函數(shù)函數(shù)為例,然后再根據(jù)畫點函數(shù)寫一個繪制矩形的函數(shù):
先建一個坐標(biāo)左上角為(0,0),右下角為(63,127)。
畫點原理:由于GDRAM的讀寫基本操作單元是字,那么我們需要畫一個點但是又不改變其他點的內(nèi)容,那么需要把該點所處的字中的2個字節(jié)均讀出,然后再單獨修改我們需要畫的那個點(其他位保持不變),最后把該字再寫回去。
因此,涉及的操作有先讀GDRAM,再寫GDRAM,再顯示GDRAM。
在寫主函數(shù)之前先寫幾個子函數(shù),說明其作用:
void clnGDR_12864(void) //清空GDRAM
void drawdot_12864(unsigned char y,unsigned char x,unsigned char type) //畫點子函數(shù)
為什么要清空GDRAM呢,因為指令集中沒有GDRAM清空指令,而我們往里寫了什么它就會一直保存著,所以我們畫點之前先清空GDRAM,其實清空GDRAM就是不斷往里寫0x00。
//清空GDRAM,總共就是寫1KB的0x00。
void clnGDR_12864(void){
unsigned char j,k;
wrtcom_12864(0x34); //在寫GDRAM的地址之前一定要打開擴充指令集
//否則地址寫不進去!!
for( j = 0 ; j < 32 ; j++ )
{
wrtcom_12864(0x80 + j) ; //寫Y 坐標(biāo)
wrtcom_12864(0x80) ; //寫X 坐標(biāo)
for( k = 0 ; k < 32 ; k++ ) //寫一整行數(shù)據(jù)
{
wrtdat_12864( 0x00 );
}
}
}
//畫點函數(shù),左上角為參考點(0,0)
//右下角為(63,127),點坐標(biāo)形式為(行坐標(biāo),列坐標(biāo))
//參數(shù)type用于設(shè)置畫黑點、白點或取反(黑變白,白變黑)
//type = 0為白色,1 為黑色,2為取反
void drawdot_12864(unsigned char y,unsigned char x,unsigned char type){
unsigned char X,Y,k; //X存儲行地址,Y存儲列地址
//k存儲點在字中的位置從左至右為0~15
unsigned char DH,DL; //存放讀出數(shù)據(jù)的高字節(jié)和低字節(jié)
if(y >= 0 && y <= 63 && x >= 0 && x <= 127) {
if(y < 32){ //算法:確定所畫點的地址行與列地址
X = 0x80 + (x >> 4);
Y = 0x80 + y;
}else{
X = 0x88 + (x >> 4);
Y = 0x80 + (y - 32);
}
wrtcom_12864(0x34); //開啟擴展指令,關(guān)閉繪圖顯示
wrtcom_12864(Y); //寫入所確定的點的行位地址
wrtcom_12864(X); //寫入所確定的點的列字地址
DH = reddat_12864(); //假讀
DH = reddat_12864(); //讀高字節(jié)
DL = reddat_12864(); //讀低字節(jié)
k = x % 16; //余數(shù)為點在字中的位置
//畫點
switch(type){ //畫點類型,1黑或0白或2取反
case 0:
if(k < 8){ //點在高字節(jié)
DH &= ~(0x01 << (7 - k)); //修改該點同時保持其他位不變
}else{ //點在低字節(jié)
DL &= ~(0x01 << (7 - (k % 8))); //修改該點同時保持其他位不變
}
break;
case 1:
if(k < 8){
DH |= (0x01 << (7 - k)); //修改該點同時保持其他位不變
}else{
DL |= (0x01 << (7 - (k % 8))); //修改該點同時保持其他位不變
}
break;
case 2:
if(k < 8){
DH ^= (0x01 << (7 - k)); //修改該點同時保持其他位不變
}else{
DL ^= (0x01 << (7 - (k % 8))); //修改該點同時保持其他位不變
}
break;
default:
break;
}
wrtcom_12864(Y); //寫行位地址
wrtcom_12864(X); //寫列字地址
wrtdat_12864(DH); //將高字節(jié)數(shù)據(jù)寫回
wrtdat_12864(DL); //將低字節(jié)數(shù)據(jù)寫回
wrtcom_12864(0x30); //轉(zhuǎn)回普通指令
}
}
下面編寫主函數(shù),這就簡單了,如下:
void main(void){
delay_12864(1000);
initial_12864();
clnGDR_12864(); //清空GDRAM
drawdot_12864(20,50,1); //畫點
wrtcom_12864(0x36); //開繪圖顯示
while(1);
}
程序運行后相應(yīng)位置出現(xiàn)了一個黑點,壞了,拍不了照,不然就貼下照片。
然后根據(jù)畫點函數(shù),擴展一個畫矩形的函數(shù)吧:
//畫矩形子函數(shù),參數(shù)為(點1行坐標(biāo),點1列坐標(biāo),
//點2行坐標(biāo),點2列坐標(biāo),線條顏色(0為白,1為黑,2對原色取反))
void drawrec_12864(unsigned char y1,unsigned char x1,unsigned char y2,unsigned char x2,unsigned char type){
unsigned char largex,largey,smallx,smally; //將兩點橫縱坐標(biāo)按大小存儲
unsigned char i;
if(x1 > x2){
largex = x1;
smallx = x2;
}else{
largex = x2;
smallx = x1;
}
if(y1 > y2){
largey = y1;
smally = y2;
}else{
largey = y2;
smally = y1;
}
//以下繪制4條矩形邊框
for(i = smallx; i < largex; i++){
drawdot_12864(largey,i,type);
}
for(i = largey; i > smally; i--){
drawdot_12864(i,largex,type);
}
for(i = largex; i > smallx; i--){
drawdot_12864(smally,i,type);
}
for(i = smally; i < largey; i++){
drawdot_12864(i,smallx,type);
}
wrtcom_12864(0x30); //返回普通指令
}
主函數(shù)為:
void main(void){
delay_12864(1000);
initial_12864();
clnGDR_12864(); //清空GDRAM
drawrec_12864(20,50,30,120,1); //畫矩形
wrtcom_12864(0x36); //開繪圖顯示
while(1);
}
關(guān)于GDRAM的操作就到這吧,下面講解下12864全屏卷動的實現(xiàn)方法。
3)、12864全屏卷動的實現(xiàn)方法
首先需要明確的要點:
DDRAM的結(jié)構(gòu)如下:
80H、81H、82H、83H、84H、85H、86H、87H、88H、89H、8AH、8BH、8CH、8DH、8EH、8FH
90H、91H、92H、93H、94H、95H、96H、97H、98H、99H、9AH、9BH、9CH、9DH、9EH、9FH
A0H、A1H、A2H、A3H、A4H、A5H、A6H、A7H、A8H、A9H、AAH、ABH、ACH、ADH、AEH、AFH
B0H、B1H、B2H、B3H、B4H、B5H、B6H、B7H、B8H、B9H、BAH、BBH、BCH、BDH、BEH、BFH
卷屏是分上下屏個各自卷動的,上半屏卷動左邊紅色區(qū)域的內(nèi)容,下半屏卷動右邊綠色區(qū)域的內(nèi)容。
為了實現(xiàn)全屏卷動顯示,必須使用拼接的方法實現(xiàn)。
筆者花了幾個小時研究了下算法,然后第二天實現(xiàn)了?,F(xiàn)講述如下:
細心觀察DDRAM的結(jié)構(gòu)發(fā)現(xiàn),如果在卷動過程中,在同一時刻屏幕顯示的內(nèi)容最多涉及3行DDRAM的內(nèi)容,而另一行是沒有顯示的,那么這一行就是用來緩存的數(shù)據(jù)的。
當(dāng)屏幕顯示如下2行時開始卷動(一):
80H、81H、82H、83H、84H、85H、86H、87H、88H、89H、8AH、8BH、8CH、8DH、8EH、8FH
90H、91H、92H、93H、94H、95H、96H、97H、98H、99H、9AH、9BH、9CH、9DH、9EH、9FH
則屏幕同時出現(xiàn)以下3行DDRAM內(nèi)容(二):
80H、81H、82H、83H、84H、85H、86H、87H、88H、89H、8AH、8BH、8CH、8DH、8EH、8FH
90H、91H、92H、93H、94H、95H、96H、97H、98H、99H、9AH、9BH、9CH、9DH、9EH、9FH
A0H、A1H、A2H、A3H、A4H、A5H、A6H、A7H、A8H、A9H、AAH、ABH、ACH、ADH、AEH、AFH
需要注意的是,左邊是上半屏顯示,右邊是下半屏顯示。
在程序的開始處往DDRAM對應(yīng)區(qū)域填寫如下內(nèi)容:
第一行字符 第三行字符--> 開始顯示
第二行字符 第四行字符
第三行字符 第五行字符--> 即將顯示
第四行字符 第六行字符
這樣在開始卷動之后,就可以實現(xiàn)拼接的效果了。當(dāng)卷動了16次之后,也就是第一行字符已經(jīng)移出屏幕,屏幕顯示的DDRAM如下:
第一行字符 第三行字符
第二行字符 第四行字符
第三行字符 第五行字符
第四行字符 第六行字符
此時,屏幕接著滾動,顯示內(nèi)容涉及3行的DDRAM,如下:
第一行字符 第三行字符--> 已顯示完畢
第二行字符 第四行字符
第三行字符 第五行字符
第四行字符 第六行字符--> 即將顯示
第一行DDRAM是空余的,下次就該往第一行寫數(shù)據(jù),寫完后DDRAM內(nèi)容如下:
第五行字符 第七行字符
第二行字符 第四行字符
第三行字符 第五行字符
第四行字符 第六行字符
經(jīng)過又一次的16次卷屏之后屏幕顯示內(nèi)容如下:
第五行字符 第七行字符--> 即將顯示
第二行字符 第四行字符--> 顯示完畢
第三行字符 第五行字符
第四行字符 第六行字符
然后接下來又卷動16次,筆者的算法是,在每一次卷動后寫一個字到顯示完畢的那一行中,卷完16次,顯示完畢的那一行也就寫完了。然后接下來的16次卷動又寫剛剛顯示完畢的那一行,而剛被寫完的那一行將在后面16次卷動中顯示。
原理就是如此,然后從中提取出規(guī)律,設(shè)計出算法,并編程實現(xiàn):
下面是程序?qū)崿F(xiàn):
void main(void){
unsigned char code ser[] = {"一一一一一一一一二二二二二二二二叁叁叁叁叁叁叁叁四四四四四四四四中國中國中國中國"}; //這是要顯示的字符串
//沒有檢測換行符功能,只能顯示一長串的漢字或一串ASCII碼字符。
unsigned char i,addr,flag,hang,over,*ptdat;
//addr用于存儲寫入地址
//flag存儲卷動地址,名字沒取好!
//hang存儲下一行要寫入數(shù)據(jù)的行號(1~4)
//over記錄寫入的空字符數(shù)
//ptdat存儲字符串的指針
delay_12864(1000);
initial_12864();
ptdat = ser;
over = 0; //寫入空字符數(shù)
//這里先把前面DDRAM中的前3行的字符數(shù)據(jù)寫入
//如果字符不足<=4行,那么不卷動,之后字符>4行才卷動
//一直到末行顯示完畢則停止卷動
wrtcom_12864(0x80); //寫屏幕第一行字符
for(i = 0; i < 16; i++){
if(*ptdat != '
日本女人啪啪视频|
国产片久久久久久久久久|
国产精品久久久久久久久久辛辛|
国产精品久久久久久最猛|
东京热av在线播放|
高清欧美性黑人猛交|
免费在线观看av日韩|
欧美一级特黄aaaa色|
国产精品,亚洲视频|
久久夜色国产精品亚洲|
激情小视频欧美国产|
av天堂,亚洲天堂|
97超级碰碰碰碰精品久久|
一二三区欧美在线观看|
视频一区二区三区在线播放|
日本免费高清激情视频|
jizzjizz全亚洲免费视频|
日韩欧美亚洲中出在线|
丰满熟女一区二区三区三州|
中文字幕一区三区久久女搜查官|
欧美高清视频一二区|
99re在线精品视频99|
漂亮的人妻中文字幕|
国产成A人亚洲精V品无码性色|
2021精品久久久久精品免费网|
欧美一级特黄aaaa色|
亚洲欧美成视频在线|
欧美久久老太婆逼逼|
国产在线精品免费观看|
91久久夜色精品国产九色|
色噜噜久久综合伊人超|
一级精品久久久无数码高清av|
亚洲视频欧美视频网|
久久伊人精品一区二区三区|
精品视频一卡二卡三卡|
欧美丝袜熟女性感诱惑|
人妻在线国产一区|
中文字幕,亚洲情色|
一区二区少妇xxx|
大香蕉av综合在线|
日本极品少妇videossex|
www.久久久久久99|
日韩亚洲欧美中文字幕一|
国产又大又猛又粗又黄的视频|
麻豆高清在线观看视频|
日韩av一级不卡|
国产成人精品视频小说|
精品一区二区三区视|
久久香蕉国产线看观看亚洲片|
最近中文字幕的在线91|
人妻午夜激情中文网|
久久精品国产亚洲av四叶草|
精品久久久一区二区三区不卡视频|
男人的天堂一级黄色片|
蜜臀久久99精品久久久酒店|
在线观看高清不卡日韩av|
国产欧美日韩在线视频免费播放|
亚洲少妇精品久久|
2019中文字幕视频在线观看|
国产五月婷婷综合视频|
欧美va亚洲va日韩va综合|
涩涩久久涩涩综合天堂|
亚洲高清中文字幕不卡av大全|
人妻日韩精品中文字幕|
国产一区二区伊人久久|
久久精品国产亚洲av成人看光了|
亚洲最大4438x麻豆|
日韩无毛黄色片亚洲|
婷婷精品视频在线观看|
国产二区视频免费在线观看|
美女被人操视频在线观看
|
欧美日韩国产综合中文|
www.久久久久久99|
日韩欧美黄色小视频|
中文字幕色区一区二区|
亚州av综合在线|
亚洲精品mv免费看|
国产黄色精品久久久|
日本女人啪啪视频|
91精品国久久久久久|
99久久免费看少妇高潮
|
精品成人一区二区三区四区影视|
国产成人黄片免费在线观看
|
国产精品久久久久77777|
欧美黑人巨大xxxxx高潮|
公侵人妻一区二区三区|
欧美成人版在线中文字幕|
国产69精品久久app精简版|
日韩狼窝日韩狼日韩在线观看视频|
久久99精品久久久久久|
日本亚洲三级在线观看|
国产69精品久久久久999天美|
99免费在线观看精品|
日韩激情极品视频|
明日花绮罗中文字幕在线|
污的视频在线观看8|
久久久精品一区二区蜜av|
最新日韩在线一区二区|
亚洲最大4438x麻豆|
亚洲中字性色av|
久久精品国产亚洲av成人看光了|
中文字幕日韩日本|
国产人妻av一区二区三区色|
亚洲欧美成视频在线|
中 日 韩特级黄片|
日产免费的一级黄片|
中日韩一区二区三区av在线|
亚洲熟女av电影|
日韩欧美精品久久五十路|
伊人久久大杳蕉综合牛牛|
久久久久国产精品不卡|
欧美一级特黄aaaa色|
露脸熟女一区二区三区|
亚洲精品乱码久久久久66国产成|
亚洲精品无码久久蜜桃网站|
欧美日韩一级免费电影|
一区二区三区视频推荐|
亚洲男人天堂网久久|
亚洲精品中文字幕下载|
8天堂二区三区四区五区六区|
手机视频国产精品|
久久久国产精品人妻aⅴ免费看|
日夜狠狠搞 蜜桃视频|
中文字幕色区一区二区|
超碰91在线中文字幕|
欧美末成年视频在线观看|
香港三级日韩三级亚洲三级|
黑人中文字幕日本人妻|
国产精品色哟哟入口|
欧美人妻中文字幕在线视频|
中文人妻av在线|
亚洲最大的成人一区二区|
黑人久久久免费观看|
操美女完整版中文字幕|
免费日韩高清成人av|
96视频精品全部免费品
|
人妻少妇中字av|
精品麻豆av影视在线观看|
av五月天在线免费观看|
免费中文字幕一区二区三区精华液
|
国产二区视频免费在线观看|
麻豆高清在线观看视频|
福利视频一区二区在线|
日韩成人在线毛片|
日韩在线免费观看av网站|
日本不卡一区二区三区四区五区
|
av在线中文字幕强|
色就色欧美综合在线影院|
麻豆精品一区二区视频|
中文字幕久久人妻饥渴|
蜜臂女同久久另类精品|
偷拍自拍 国产精品|
jul—388中文字幕在线|
久久久久七久久久久|
中文字幕在线av观看|
99国产精品视频免费的|
国产精品欧美日韩亚洲综合|
亚洲视频欧美视频网|
国产一区二区三区在线视频|
久久一区二区欧美精品|
色www亚洲阿娇|
色在线播放国产一区|
91久久久久久最新网址|
熟女高潮精品一区二区|
超碰97在线观看中文字幕|
国内精品99在线免费观看|
www,青青操,c0m|
中文字幕你懂的在线|
96视频精品全部免费品|
99久久久久免费精品国产国产|
欧美日韩免费精品视频|
91中文字幕一区二区|
av中文字幕在线观看免费观看|
久久九九精彩美女视频|
国产1000部av|
国产成人自拍精品在线|
亚洲二区视频在线|
欧美国产成人精品一区二区三区|
人妻久久在线视频|
日韩国产午夜在线|
成人av在线观看久久久|
亚洲,超碰,av|
janpense人妻中文字幕|
久久久久精品人妻al黑|
在线播放中文字幕人妻被中出|
国产成人黄片免费在线观看
|
97超碰香蕉在线观看|
新激情五月天综合久久|
日本精品久久久中文字幕8|
黄色一级片视频播放人妻少妇|
中文字幕 日韩 在线 91|
午夜诱惑国产大胸美女精品内射|
中文字幕人妻一二三区|
日韩精品在线观看网页|
国产乱子伦一区二区三区四区五区|
人妻ⅴa中文字幕|
黄色一级片视频播放人妻少妇|
福利免费一区二区三区|
国产精品一区二区三区熟女av|
五月激情婷婷久久伊人|
91精品国产人妻蜜桃|
91人人妻人人澡人人草精品|
亚洲国产综合久久灌醉|
午夜精品久久99蜜桃的|
国产精品自拍中文字幕|
久久久久精品人妻al黑|
日韩欧美不卡视频|
9999精品在线视频|
六月丁香久久激情综合|
97超级碰碰碰碰精品久久|
欧美日韩一级免费电影|
国产精品爽妇一区二区|
日韩欧美精品久久五十路|
91久久婷婷国产一区二区|
人妻av中文字幕在线播放|
国产91一区二区三区在线播放|
91av在线观看地址一|
99人人妻人人澡人人|
亚洲a级视频在线免费观看|
欧美一区二区三区在线播放视频|
av天堂,亚洲天堂|
av五月天在线免费观看|
久久夜色精品国产密桃亚洲av|
亚洲男人天堂九九九|
久久久久久久二区三区|
国产自拍 亚洲视频|
日韩高清无码美利坚合众国|
久久av一区二区三区四区五区|
国产不卡av一区二区三区|
欧美一区二区三区电影院|
国产精品一区二区免费不卡|
国产二区视频免费在线观看|
99久久免费看少妇高潮
|
国产1000部av|
久久久久sm久久久久久|
精品麻豆av影视在线观看|
在线视频中文字幕日韩一级|
日本色片亚洲综合|
国产又大又黄又粗又猛在线观看|
不卡的日韩视频在线观看|
久久亚洲中文字幕丝袜|
av天堂,亚洲天堂|
国产91一区二区三区在线播放|
激情五月婷婷中文视频|
日本100禁中文字幕|
91av在线观看地址一|
明日花绮罗中文字幕在线|
欧美在线播放一区二区|
中文字幕av综合在线|
伊人久久亚洲综合精品网|
伊人之综合视频在线观看|
国产影片大全免费看|
中文字幕av综合在线|
成人性福利免费电影|
日本久久精品高清|
久久亚洲中文字幕丝袜|
juy320友田真希中文字幕|
精品久久久久18禁免费|
少妇精品一区二区三区久久久|
欧美一级特黄aaaa色|
国产欧美日韩免费成人|
国产69精品久久久久人妻|
中文字幕人妻一区二区免费网站|
久久av一区二区三区小说|
天天操天天射天天干天天操
|
婷婷九九在线视频|
在线中文字幕字幕888|
久久久久久精品人妻大豆网|
一本色道久久hezy|
日韩丝袜欧美人妻制服网站|
久久九九精彩美女视频|
日韩美女在线观看视频99|
中文字幕乱码一区二|
国产69精品久久久久人妻|
日本极品少妇videossex|
日本在线一区二区三区不卡|
香蕉久久国产av一区|
欧美一级特黄aaaa色|
久久久精品日本人妻|
日本wwww久久|
91麻豆欧美久久九色|
91老熟女在线观看|
337q日本亚洲欧洲大胆色噜噜
|
欧美日韩国产高清在线|
99er视频在线观看|
亚洲欧洲综合图片区|
国产精品自拍中文字幕|
尹人大香蕉五月天久久|
亚洲一级黄片av|
色噜噜久久综合伊人超|
国产亚洲av日韩在线|
麻豆乱淫一区二区三区在线看|
欧美女性女同志在线观看|
五月婷婷在线大香蕉|
人妻熟女一区二区三区在线观看
|
av免费观看亚洲一区二区|
亚洲欧美日韩内射|
日韩动作片在线免费观看|
欧美国产成人精品一区二区三区|
91久久国产综合久久91雪峰|
自拍偷拍 亚洲 中文|
天天色,天天操.|
国产一二区久久久久久|
色婷婷久久综合五月激情网|
日韩午夜精品人妻|
eeuss一区二区三区在线观看|
国产伦精品一区二区三区女|
久夜色精品国产噜噜亚洲av|
qvod av电影|
精品99国产精品99|
日韩女优 在线观看|
熟女人妻3p视频|
福利免费一区二区三区|
国产中文字幕国产中文|
av在线一级免费看|
欧美日韩一级免费电影|
精品人妻伦一二二区久久懂色|
国产伦精品一区二区三区女|
一区二区少妇xxx|
国产av天堂亚洲国产av草莓|
久久在精品线影院精品国产|
中文字幕好看有码|
97色在色在线视频|
一级少妇精品久久久久久久|
国产视频中文字幕成人|
亚洲av口爆深喉|
成人在线免费视频网站|
欧美日韩国产极品一区二区|
人妻av中文字幕在线播放|
熟女高潮精品一区二区|
97 在线免费看视频|
亚洲激情免费在线观看|
日韩丝袜欧美人妻制服网站|
日本熟女三级电影|
日韩女优 在线观看|
熟女av在线视频|
久久久久久国产日韩|
精品无人区麻豆乱码1区2区|
大香蕉五月开心六月婷婷|
激情小说 另类小说 亚洲欧美|
午夜在线福利观看|
成人福利中文字幕在线|
中文字幕人妻一区二区一|
91久久国产综合久久91雪峰|
在线观看高清不卡日韩av|
不卡一区二区在线视频观看|
中文字幕在线av观看|
国产精品高潮呻吟久久综合av|
国内精品99在线免费观看|
国产伦一区二区三区免费视频|
五月激激激综合网色播|
日韩五月中文字幕|
天天操天天操天天操|
91麻豆蜜桃在线观看|
成人午夜电影在线免费|
天天操天天插天天爽|
jul—388中文字幕在线|
欧美激情亚洲另类在线一区|
久久精品国产亚洲夜色av|
国产又大又黄又粗又猛在线观看|
美女被人操视频在线观看
|
日韩一区二区三区免费视频播放|
91九色视频在线看|
丰满人妻一区二区三区四季|
sm视频在线观看91|
亚洲av日韩aⅴ综合在线观看|
亚洲精品白浆久久久久|
丰满少妇欧美久久久久久|
色欲AV蜜臀AV水蜜桃AV|
久久99国产精品一区二区|
十八禁国产精品久久久久久久|
秋霞午夜电影久久久|
8天堂二区三区四区五区六区|
五月激情婷婷久久伊人|
丰满人妻一区二区三区四区54|
综合激情五月天亚洲五月|
午夜精品久久久久久久99热|
国产日韩一区二区免费|
观看在线免费av|
国产一区二区三区精品小说|
国产熟女大全一区二区三区
|
懂色av粉嫩av绯色|
人妻sm一区二区|
亚洲国产精品99久久午夜|
欧美日韩国产综合中文|
日本女人操比视频|
亚洲精品无码久久蜜桃网站|
天天操天天操天天操|
伊人精品视频在线播放|
亚洲人成看片网址|
亚洲国产精品成人久久蜜臀超碰
|
国内精品99在线免费观看|
亚洲av本道一区二区三|
成人乱性视频自拍在线|
亚洲av天堂综合网|
99 久久 这里只有精品|
av网站永久在线观看|
日韩视频国产视频|
精品九九热视频这里只有精品|
日本亚洲中文字幕不卡|
午夜啪啪av网站|
国产天堂男人av一区二区三区|
97色在色在线视频|
亚洲麻豆精品av|
一区二区三区精品自拍视频|
99国产精品视频免费的|
久久免费观看少妇高潮|
91国自产在线在线看完整|
vod成人免费视频|
欧美熟妇狂野性猛交在线播放|
超碰97在线观看中文字幕|
77人人妻人人澡人人爽欧美一区|
亚洲国产一区久久久|
日本大香蕉伊在线|
国产av有码一区二区三区四区|
欧美 亚洲 丝袜 制服|
国产av精品中文字幕|
麻豆αv片在线观看|
熟女高潮一区二区麻豆av|
五月激情婷婷网站|
人妻日韩精品中文字幕|
久夜色精品国产噜噜亚洲av|
www,青青操,c0m|
色综合久久综合久久|
久热精品视频在线看|
久久免费观看少妇高潮|
福利免费一区二区三区|
少妇久久久中出中文字幕|
91思思久久精品视频|
中文字幕人妻一区二区免费网站|
国产色综合一区二区|
久久综合福利导航视频|
97日日碰人人模人人澡分享吧|
人妻a在线免费视频|
成人国产av精品在线观看|
日韩高跟丝袜诱惑美腿黄片|
欧洲精品欧洲一区欧洲二区|
日日夜夜天天久久久久久|
久夜色精品国产噜噜亚洲av|
亚洲少妇精品自拍av|
999av中文字幕|
91国产久久久久久久|
av色在线观看网站|
亚洲欧美一区二区日韩另类|
日韩欧美高清内射|
中国麻豆xxxx精品|
欧美一卡二卡三卡四卡五卡|
sss视频在线亚洲|
色婷婷久久综合五月激情网|
超碰97免费青青热|
av在线一级免费看|
99re在线精品视频99|
黄色一级片视频播放人妻少妇|
亚洲男人天堂九九九|
亚洲av大粗黑在线|
深爱激情四射婷婷网|
中文字幕在线av观看|
免费日韩高清成人av|
久久久精品视频中文字幕|
精品国产乱码久久久…|
人人妻人人澡人人爽人人av|
亚洲精品污污污18禁网站|
91全国免费视频精品|
av2024男人天堂|
亚洲精品中文字幕下载|
欧美国产成人精品一区二区三区|
亚洲国产精品久久久蜜桃|
国产欧美日韩精品小视频|
好看的中文字幕一区二区三区|
97人妻精品二三区|
日本不卡在线视频播放|
日韩精品一区二区蜜桃|
漂亮的人妻中文字幕|
下载黄页视频在线观看|
人妻夜夜爽天天爽一区三级|
国产国语av毛片在线看|
日本在线一区二区三区不卡|
99re06这里只有精品|
日本久久久免费看|
日本欧美内射少妇|
中文字幕人妻一区二区免费网站|
亚洲激情免费在线观看|
国产精品内射一片天|
精品成人一区二区三区四区影视
|
美女图片视频久久99|
日本不卡的在线播放|
91成人免费看片下载|
欧美国产日韩成人自拍|
亚洲中文字幕无码免费|
日本老熟妇bbwwbbww|
国产山东老熟女48嗷嗷叫91|
r18视频一区二区三区|
久久国产精品99久久口爆|
亚洲精品乱码久久久久66国产成|
91综合久久婷婷久久|
亚洲乱熟女一区二区三区0|
91久久香蕉国产孰女线看|
天天摸天天舔天天玩天天谢|
在线免费观看麻豆黄片久久久|
91人妻成人精品一区二区|
人妻ⅴa中文字幕|
污的视频免费在线观看|
av中文字幕一区在线|
精品国产一区二区三区啪啪|
成人福利中文字幕在线|
亚洲精品婷婷91|
97久久久嫩草影院|
欧美+亚洲+精品+三区|
麻豆视频神马在线观看|
欧美 亚洲 丝袜 制服|
激情五月婷婷中文视频|
日夜狠狠搞 蜜桃视频|
久久久欧美日韩一区二区三区|
成人一区二区电影网|
人妻中文字幕小视频在线播放|
久久久国产精品人妻aⅴ免费看|
超碰在线97公开免费|
中文字幕乱码伊人三级
|
蜜臀av成人精品在线|
91精品国产三级在线观看|
欧美色一区二区三区四区五区|
日韩成人在线毛片|
99人人妻人人澡人人|
玖玖玖精品中文字幕|
天天干天天日天天射天天拍天天操|
qvod av电影|
精品成人一区二区三区四区影视|
亚洲人成看片网址|
日夜狠狠搞 蜜桃视频|
唯美清纯欧美激情|
麻豆精品一区二区视频|
肉色欧美久久久久久久蜜桃|
人妻互换中文字幕一区二区|
中国夫妻生出黑人宝宝|
亚洲欧美日韩高清在线中文字幕|
狠狠亚洲婷婷综合色|
成人激情视频在线观看视频|
久久综合国产一区二区三区|
深夜宅男小视频在线|
美女被人操视频在线观看
|
蜜桃色婷婷久久久福利在线|
色综合久久综合久久|
日本一区欧美高清国产久久|
亚洲最大4438x麻豆|
超碰在线精品免费观看|
日本久久国产精品视频|
少妇熟女天堂网av|
肉色欧美久久久久久久蜜桃|
久久久久久免费视频久久久看
|
91国产在线精品99|
日本极品少妇videossex|
久久久欧美日韩一区二区三区|
久久99精品久久在线观看|
五月婷婷在线大香蕉|
97超级碰碰碰碰精品久久|
99re06这里只有精品|
国产精品色哟哟入口|
久久免费观看少妇高潮|
国产综合精品久久久久久久|
国内精品视频免费在线播放|
一本色道久久hezy|
日韩五月中文字幕|
欧美,日韩,免费中文a级|
欧美熟妇在线视频播放|
亚洲狠狠婷婷综合久久久久久|
久久久久久久美女内射|
亚洲天堂激情四射|
五月天丁香久久一区二区|
91国自产在线在线看完整|
91久久久久久最新网址|
人妻少妇中文888久久|
大香蕉五月开心六月|
成人麻豆av电影网站|
激情五月婷婷中文视频|
一本色道久久hezy|
精品久久中文字幕人妻系列蜜臀|
99免费在线观看精品|
懂色av粉嫩av绯色|
91xxxx在线观看视频|
亚洲av天堂综合网久久|
久久精品免费观看国产导航|
国产精品久久久久久婷婷|
福利视频一区二区在线|
色www亚洲阿娇|
国产精品久久久久av福利浪潮|
最近中文字幕的在线91|
在线免费观看中文字幕av|
青青草99久久精品国产综合|
日韩成人三级黄色|
久久久久久影视观看|
蜜桃视频av在线观看|
色婷婷1024导航|
欧美一区二区三区中文电影
|
亚洲国产一区久久久|
av天堂,亚洲天堂|
69堂成人免费视频精品|
国语自产偷拍精品视频偷
|
sm视频在线观看91|
日韩精品在线第8页|
日韩av二区三区一区|
激动网国产手机在线|
亚洲综合av色婷婷|
亚洲国产aⅴ精品视觉盛宴|
www.一级黄色片.com|
亚洲中字性色av|
国产精品成人免费观看|
久久久久久久久免费精品蜜臀|
中文字幕有码第二页|
亚洲av日韩精品久久久久久小说
|
久久在精品线影院精品国产|
日韩成人av电影免费|
91嫩草一区二区三区|
亚洲中文字幕97久久精品少妇|
91av在线观看地址一|
亚洲成人有码在线|
亚洲国产精品乱码久久久久久久|
国产最粗最爽最黄最狠的视频|
亚洲av区一区二区三区色婷婷|
久久久久麻豆v国产精品|
粉嫩虎白妞流白浆无遮挡久久久|
日韩一区二区三区三级电影|
在线激情高潮视频|
vod成人免费视频|
国产一区二区伊人久久|
国产又大又猛又粗又长|
亚洲成人精品女人久久久|
av天堂,亚洲天堂|
亚洲欧美日韩在线色图|
国产91轻吻在线看|
亚洲av成在线播放|
天天操天天日天天日干|
日日日操操操日韩欧美|
熟女 中出 在线|
欧美激情亚洲另类在线一区|
国产亚洲精品a在线|
精品久久久久中文字幕加勒比|
亚洲欧美日韩另类春色|
给我搜一个一级黄色片|
午夜亚洲av天堂影视在线|
欧美,日韩,免费中文a级|
91精品国产三级在线观看|
亚洲最大4438x麻豆|
亚洲精品乱码久久久v|
久夜色精品国产噜噜亚洲av|
www.韩国黄色.com|
久99久热爱视频精品免费37|
国产一区二区三区 中文字幕|
久久久亚洲熟妇熟女ⅹxxxav|
精品国产一区二区99|
黄色大片网站在线看|
成人在线免费视频网站|
日韩精品视频在线中文|
久久激情五月天专区视频|
熟妇人妻无乱码中文字幕熟|
人妻ⅴa中文字幕|
扒开让我蜜桃视频在线观看|
中国a精久久久久|
国产熟女人妻一区二′区久久|
99精品在线观看视频66|
日本中文字幕在线岛国片|
欧美成人版在线中文字幕|
久久夜色精品国产密桃亚洲av|
人妻a在线免费视频|
亚洲中文字幕无码免费|
人妻激情自拍中文字幕|
精品成人av在线观|
久久6在线观看视频|
精品久久久久中文字幕加勒比|
丰满人妻一区二区三区四区54|
亚洲视频欧美视频网|
亚洲欧美日韩高清在线中文字幕|
中文字幕日韩欧美人妻|
手机视频国产精品|
中文字幕你懂的在线|
人人草人人舔人人射|
国产欧美高清一区二区三区
|
日韩在线视频最新|
国产69精品久久久久人妻|
成人av在线观看久久久|
操美女完整版中文字幕|
午夜精品久久久久久久99热|
男人操女人的逼视频|
juy320友田真希中文字幕|
国产色综合一区二区|
在线免费观看日韩欧美国产片
|
www.久久久久久99|
亚洲少妇精品久久|
色噜噜久久综合伊人超|
久久久久少妇xxxbbb|
久久久久久久久九九九人妻|
91久久夜色精品国产九色|
亚洲中文字幕亚洲中文字幕|
91麻豆蜜桃在线观看|
日韩一区二区三区免费视频播放|
女人天堂国产精品资源麻豆
|
日本大香蕉伊在线|
亚洲视频欧美视频网|
久久亚洲AV成人无码精品|
亚洲av口爆深喉|
日本女人操比视频|
欧美亚洲国产日韩精品在线观看|
亚洲国产一区久久久|
欧美日本综合一区二区三区
|
av网站永久在线观看|
天天上天天操天天舔|
亚洲国产aⅴ精品一区二|
日韩五月中文字幕|
在线不卡日本v二区三区18|
亚洲av天堂综合网久久|
超碰97免费青青热|
久久久西西影视久久久|
人妻久久在线视频|
jul—388中文字幕在线|
五月激激激综合网色播|
日本久久精品高清|
97人妻人人揉人人澡|
大香蕉 一条大香蕉|
91精品久久久久久久99|
亚洲最新偷拍视频|
亚洲国产精品99久久午夜|
亚洲国产精品乱码久久久久久久|
人妻久久在线视频|
天堂av最新地址|
久久亚洲AV成人无码精品|
久久夜色国产精品亚洲|
999久久a精品合区久久久|
久久免费观看少妇高潮|
人妻日韩内射黄片一区二区|
精品国产乱码久久久…|
中文成人在线视频|
日韩欧美高清内射|
亚洲av天堂综合网久久|
成人av午夜高清在线|
www.一级黄色片.com|
亚洲av口爆深喉|
亚洲av天堂综合网久久|
欧美亚洲av一区二区|
国产91精彩天天久久久|
久久久欧美日韩一区二区三区|
99国产精品久久久久久久成人热
|
国产亚洲av日韩在线|
碰超碰超碰超碰超碰超|
久久久久久久被弄高潮|
不卡的日韩视频在线观看|
最新亚洲中文字幕av|
久久精品国产99亚洲|
一区二区三区熟女|
日韩精品在线观看网页|
99人妻碰碰碰久久|
97久久久嫩草影院|
日韩美女在线观看视频99|
亚洲av噜噜噜久久久|
久久久久久久婷婷激情五月天|
亚洲黄色av图片天堂|
国产又大又硬又粗又黄视频
|
成人性福利免费电影|
国产精品九九九久久久久|
少妇久久久中出中文字幕|
97超碰超碰超碰超碰在线|
日本熟女三级电影|
精久久久久久久久久|
精品国产一区二区三区啪啪|
久久精品国产亚洲av成人看光了|
91嫩草一区二区三区|
99精品影视在线区h|
五月天色中文在线视频网站|
久久久亚洲熟妇熟女ⅹxxxav|
亚洲激情免费在线观看|
天天干天天操狠狠干|
亚洲激情免费在线观看|
亚洲精品婷婷91|
久久躁狠狠躁天天躁日日躁|
99国产精品视频免费的|
久久精品日产第一区二区三|
久久国产精品99久久口爆|
99视频在线观看成人|
每天爱看日本男女操来操去|
国产又大又猛又粗又长又爽|
日韩无毛黄色片亚洲|
免费国产日产高潮色网站|
99久久免费看少妇高潮|
精品久久久久久久久久久国语|
久久在精品线影院精品国产|
91久久香蕉国产孰女线看|
日韩精品视频在线观看免费看看|
少女日本电视高清观看|
白木优子人妻一区二区三区|
国产69精品久久久久人妻|
99久久免费看少妇高潮|
精品视频一卡二卡三卡|
久久久久久久被弄高潮|
亚洲视频在线不卡|
国产精品免费区二区三区观看|
久久精品国产亚洲av成人看光了|
久久热这里只有精品18|
激情综合网激情五月在线|
男人的天堂成a在线|
亚洲最大4438x麻豆|
国产精品原创久久久久久|
91成人在线观看视频|
在线播放中文字幕人妻被中出|
精品一区二区三区视|
日韩字幕在线一区二区三区|
天堂av国产av在线观看|
日韩国产一区二区视频|
亚洲精品污污污18禁网站|
久久久久亚洲av专属首夜区|
久久久久七久久久久|
国产成_人_综合_亚洲18|
麻豆精品一区二区三区|
亚洲精品白浆久久久久|
99re99这里只有精品|
久久国产这里只有精品视频|
日本道vs高清一区二区三区|
懂色av熟妇一区二区三区|
大香蕉来了去了丁香|
日韩人妻精品视频免费|
丰满熟女一区二区三区三州|
亚洲欧美日韩内射|
白木优子人妻一区二区三区|
69人妻一区二区三区|
在线授课成人高考|
av2024男人天堂|
国产一区二区日韩av|
欧美精品乱码视频在线|
欧美美女激情一区二区三区|
日韩精品国产中文字幕欧美|
日韩在线视频最新|
欧洲精品欧洲一区欧洲二区|
日韩欧美精品第二页|
久久久久国产精品不卡|
日韩素人视频在线观看|
大香蕉五月开心六月婷婷|
9999精品在线视频|
国产成人自拍精品在线|
久久伊人精品一区二区三区|
日韩丰满熟妇熟女|
国产麻豆色精品免费……|
午夜精品久久99蜜桃的|
五十路熟女在线视频|
日韩在线免费观看av网站|
唯美清纯欧美激情|
中文成人在线视频|
亚洲中文字幕18p|
51精品视频在线免费观看|
精品国产乱码久久久久久老虎|
成人午夜美女主播在线视频|
av午夜人妻一区二区|
91精品国产三级在线观看|
天堂在线伦理影院|
熟女高潮精品一区二区|
日本久久国产精品视频|
久久夜色精品国产密桃亚洲av|
日韩精品在线观看网页|
欧美日韩一区二区不卡视频在线|
成人一区二区电影网|
约会人妻视频露脸|
www.国产黄片在线免费观看
|
成人 短视频 在线|
亚洲成人午夜在线|
婷婷香蕉五月综合|
日本高清av一区二区三区|
麻豆精品视频免费看|
国产片久久久久久久久久|
亚洲精品无码久久蜜桃网站|
日本老太老熟妇bbb|
亚洲精品人妻在线视频|
日韩人妻熟女av中字|
蜜臀av成人精品在线|
成人乱人乱一区二区三区
|
久久久久久影视观看|
亚洲天堂性天堂网站|
第二十四色男人天堂|
天天爱天天色天天综合|
日本高清av一区二区三区|
五月婷婷丁香婷婷色|
亚洲成人精品女人久久久|
在线视频国产av|
亚洲少妇精品久久|
99久久免费看少妇高潮|
高清亚洲成在人天堂网|
国产日韩成人av电影在线观看|
精品自拍小视频在线|
99国产精品久久久久久久成人热|
91丨九色丨国产熟女|
日本人妻诱惑网址|
亚洲欧美日韩另类春色|
国产原创中文字幕国产av|
黑人系列番号一览表|
人妻系列久久久噜噜吧噜噜|
91人人妻人人澡人人草精品|
欧美日韩精品成人一区二区|
日韩在线成人字幕|
香蕉久久国产av一区|
av小说免费在线看|
天天操天天日天天日干|
下载黄页视频在线观看|
久久爱爱视频在线播放|
999热久久国内精熟女|
粉嫩av一区二区在线|
色www亚洲阿娇|
久久av一区二区三区四区五区|
精品一区,精品二区|
人妻天天爽夜夜爽麻豆av|
www中文av天堂|
97超碰资源在线免费看|
国产a亚洲精品久久久久|
日韩五月中文字幕|
日韩欧美三级在线播放|
久久成人精品国产亚洲av蝌蚪|
午夜精品久久久99蜜桃最新|
亚洲av日韩aⅴ综合在线观看|
国产精品色哟哟入口|
日韩在线视频最新|
国产精品爽妇一区二区|
国产乱淫av一区二区三区|
国产在线精品免费观看|
国产小视频在线观看不卡|
日本在线不卡αv免费视频|
国产亚洲综合久久系列抖音|
亚洲av天堂综合网久久|
精品久久97观看在线视频|
亚洲天堂激情四射|
蜜桃一区二区人妻熟女|
国产精品久久久久77777|
久久99久久精品国产|
亚洲中文字幕永久在线不卡|
亚洲天堂添日本逼视频|
亚洲第一成人黄色片|
免费人妻av一区二区|
999热久久国内精熟女|
在线中文字幕字幕888|
亚洲,超碰,av|
av毛片一区二区三区|
日韩丝袜欧美人妻制服网站|
成人麻豆av电影网站|
中国a精久久久久|
久久久久久久av麻豆|
国产又大又黄又粗又猛在线观看|
99久久精品一品区免视观看|
久久这里只有精品二十五|
国产精品自拍偷拍k8|
91久久香蕉国产孰女线看|
日韩狼窝日韩狼日韩在线观看视频|
999热精品免费视频|
日韩s片在线观看|
中文字幕日韩无敌亚洲精品|
91全国探花精品播放地址|
999热精品免费视频|
色丁香婷婷综合久久在线观看|
亚洲黄色分享大全探花|
免费国产日产高潮色网站
|
日韩a不卡av在线|
色婷婷1024导航|
五月天丁香伊人网站|
日韩中文字幕性感人妻|
国产又大又猛又粗又长又爽|
国产亚洲av综合人人澡精品小说|
亚洲成人精品女人久久久|
久99久热这里有精品视频15|
中文字幕人妻一区二区一|
中国a精久久久久|
av五月天在线免费观看|
99久久久久免费精品国产国产|
8天堂二区三区四区五区六区
|
肥臀熟女一区二区三区蜜臀|
中文字幕av男人天堂|
国内精品视频免费在线播放|
激情视频在线看不卡|
亚洲国产精品99久久午夜|
色欲狠狠躁天天无码中文字幕|
91人人妻人人澡人人草精品|
视频在线观看二区一区|
天天日天天操天天干天|
国产一级做a爱片久久久片|
人妻日韩亚洲中文字幕av|
日韩欧美亚洲中出在线|
色婷婷综合激情五月天|
国产精品久久久久77777|
91国自产在线在线看完整|
一区二区三区中文人妻|
日韩av一区二区免费|
日韩欧美精品久久五十路|
国产亚洲综合久久系列抖音|
国产区视频一区二区三区|
www.麻豆在线观看|
97超碰超碰超碰超碰在线|
亚洲欧美一区二区日韩另类|
国产日韩一区二区免费|
一区二区三区熟女|
国产欧美高清一区二区三区|
日韩激情视频高清|
老地方影院官网免费下载|
日韩高清久久久久久久|
一本一本久久aa精品综合|
国产精品久久无遮挡影片|
婷婷免费播放视频|
Av无码专区亚洲Av波多野吉衣|
亚洲av天堂综合网久久|
漂亮的人妻中文字幕|
欧美综合激情婷婷色|
91国自产在线在线看完整|
337q日本亚洲欧洲大胆色噜噜|
欧美日韩一区二区不卡视频在线|
亚洲免费av资源网站|
蜜桃视频18禁一区二区|
福利免费一区二区三区|
国产影片大全免费看|
亚洲一级黄片av|
99九九热只有国产精品|
国产精品女女女女女女av爽|
成人激情视频在线观看视频|
久久人人爽人人爽人人片av剧情|
亚洲欧美一区在线播放|
av毛片一区二区三区|
日本aa 1级片|
91污污污视频网站|
久久夜色精品国产密桃亚洲av|
亚洲av日韩不卡一区|
久久操视频免费在线播放|
男人天堂2022中文字幕|
亚洲二区视频在线|
成熟妇女毛耸耸视频做性性色av|
亚洲国产精品乱码久久久久久久|
亚洲综合婷婷大香蕉|
天天操天天啪天天干|
碰超碰超碰超碰超碰超|
日韩在线视频最新|
五月天丁香伊人网站|
天堂av最新地址|
天天日熟女少妇av|
一区二区三区中文人妻|
日韩欧美二区中文字幕|
91久久夜色精品国产九色|
亚洲av日产av|
国产真实自摸91久久|
亚洲欧美一区在线播放|
亚洲中文字幕无码免费|
国产av精品中文字幕|
伊人色综合久久久久久|
国产激情久久一区二区|
日韩欧美精品资源|
国产视频中文字幕成人|
加勒比日本一区二区三区|
国产人妻av一区二区三区色|
欧美人妻中文字幕在线视频|
中 日 韩特级黄片|
欧美日韩免费精品视频|
国产午夜毛片v区一区二区三区|
亚洲欧美一区在线播放|
国产精品欧美日韩亚洲综合
|
久夜色精品国产噜噜亚洲av|
午夜美女诱惑福利视频|
在线视频中文字幕日韩一级|
亚洲1区2区高清|
黑人系列番号一览表|
久久久久久影视观看|
国产精品久久久久久男贼秘图|
www.麻豆在线观看|
噜噜久久精品夜色亚洲|
久久夜色精品国产亚洲av卜不卡|
99re在线精品视频99|
日韩人妻在线视频免费|
欧美日韩一级免费电影|
亚洲男人天堂九九九|
日韩三级四级电影|
蜜桃视频久久一区免费观看入口
|
国产一区二区三区无码精品久久|
午夜精品久久99蜜桃的|
噜噜久久精品夜色亚洲|
日韩欧美av网址|
亚洲中文字幕亚洲中文字幕|
51精品视频在线免费观看|
91国产在线精品99|
99精品在线观看视频66|
亚洲欧美一区二区日韩另类|
国产免费超碰在线观看|
人妻aⅴ中文字幕|
久久久一区二区三区免费观看av|
亚洲av大粗黑在线|
欧美亚洲av一区二区|
成人国产av精品视频观看麻豆|
91精品久久久久久久蜜臀|
国产v片在线免费看|
亚洲欧洲av性色在线观看|
日韩精品中文字幕有码|
在线播放中文字幕人妻被中出|
六月丁香久久激情综合|
久久老熟女av一区三区福利|
99re热精品在线观看|
亚洲二区视频在线|
久久久精品一区二区蜜av|
综合中文字幕成人免费视频|
91大神康先生在线|
欧洲精品久久久久69精品|
伊人之综合视频在线观看|
99久久精品国产专区|
日本人妻久久在线|
日韩精品视频av|
亚洲 日韩 另类 制服 无码|
日韩精品在线第8页|
久久这里只有精品18岁|
欧美日韩国产高清在线|
91精品高清在线观看|
欧美精品黄页在线视频免费|
国产一级做a爱片久久久片|
日韩最新最近中文字幕在线|
性感熟女人妻久久久|
日韩精品在线观看网页|
亚洲少妇20p久久久|
日韩,国产,欧美一级|
97人妻人人揉人人澡|
超碰在线97公开免费|
国产色综合一区二区|
一区二区三区视频推荐|
一区二区三区视频推荐|
av破解版在线观看|
日韩精品一区二区蜜桃|
黄色一级av特黄片|
精品人妻中出一区二区|
日本激情床震视频|
日本久久精品高清|
91精品国久久久久久|
在线播放中文字幕人妻被中出|
国产欧精精久久久久久久|
天天干天天操天天日天天爽|
约会人妻视频露脸|
日韩欧美高清内射|
国产伦一区二区三区免费视频|
久久久久久国产精品免费播放|
久久夜色精品国产亚洲av卜不卡|
国产理论av在线第一页|
国产suv一区二区三区97|
五月激激激综合网色播|
91全国免费视频精品|
天天干天天操天天透天天射|
日产免费的一级黄片|
欧美片w蜜桃臀熟5|
中文字幕日韩日本|
麻豆精品一区二区视频|
日产免费的一级黄片|
免费在线观看av日韩|
美日韩高清在线观看|
激情五月天丁香在线|
日韩国产午夜在线|
日韩在线免费小视频|
亚洲国产精品99久久午夜|
午夜免费激情福利|
欧美久久老太婆逼逼|
999久久久999精品视频|
97日日碰人人模人人澡分享吧|
精品成人一区二区三区四区影视|
日韩丝袜在线中文字幕|
国产日韩欧美亚欧在线|
亚洲综合av色婷婷|
一区二区三区国产视频在线|
国产又粗又猛又黄的网站|
日韩一区二区三区免费视频播放
|
五月婷婷开心中文|
国产97视频在线精品|
超碰在线97公开免费|
亚洲一区自拍视频在线观看|
麻豆精品视频免费看|
九九在线免费视频精品|
一区二区三区视频推荐|
janpense人妻中文字幕|
91麻豆欧美久久九色|
99久在线精品99re8蜜桃|
美女图片视频久久99|
激情欧美一区二区三区免费看|
国产色片免费在线观看|
久久av一区二区三区小说|
羞羞色院91蜜桃久久久久|
99国产精品久久久久久久成人热|
亚洲a久久悠天堂|
成人福利中文字幕在线|
亚洲三级黄色生活片|
一区二区三区视频推荐|
欧美日韩每日更新在线|
日韩视频国产视频|
91精品久久久久久久99|
少妇熟女天堂网av|
人妻天天爽夜夜爽麻豆av|
91精品久久久久久久蜜臀|
肥臀熟女一区二区三区蜜臀|
国产精品久久久久久男贼秘图|
亚洲中文字幕18p|
999久久久999精品视频|
日韩欧美二区中文字幕|
欧美日韩久久久九九|
国产亚洲精品a在线|
日韩高跟丝袜诱惑美腿黄片|
国产亚洲av综合人人澡精品小说|
日韩黄色免费电影|
蜜臂女同久久另类精品|
亚洲av噜噜噜久久久|
好看的中文字幕一区二区三区|
一区二区三区国产在线|
国产黄色精品久久久|
国产精品久久久亚洲一区|
免费69av福利视频网站|
欧美丰满熟妇乱淫在线观看|
国产人妻av一区二区三区色|
亚洲av本道一区二区三|
在线播放中文字幕人妻被中出|
熟女人妻大屁股呻吟gif|
成人av在线观看久久久|
亚洲精品mv免费看|
日韩视频国产视频|
99久久在线观看6免费视频|
日韩人妻在线视频免费|
久久久免费观看完整版视频|
国产69精品久久久久人妻|
999热精品免费视频|
国产精品久久久久久久久久辛辛|
日韩视频国产视频|
国产又粗又猛又黄的网站|
视频免费看久久久久久|
a阿v天堂亚洲阿∨天堂在线|
国产亚洲av日韩在线|
亚洲国产精品成人免费久久久|
免费日韩高清成人av|
欧美高清视频一二区|
人妻少妇视频一区|
欧洲精品欧洲一区欧洲二区|
亚洲成人动漫av|
欧美日韩久久久九九|
欧美日韩亚洲国产校园|
日韩av男人的天堂在线|
国产又大又猛又粗又长|
国产理论av在线第一页|
久久久久夜夜夜综合国产|
成人日韩电影免费观看|
一区二区三区欧美影片|
久久久久久久久九九九人妻|
2019中文字幕视频在线观看|
久热精品视频在线看|
天天干天天日天天射天天拍天天操
|
日韩欧美精品第二页|
精品国产一区二区99|
国产熟女熟妇11p|
青青青青青久在线视频|
精品国产乱码久久久久久老虎|
亚洲欧美日韩高清在线中文字幕|
日韩国产欧美成人综合另类|
久久久西西影视久久久|
久久在线精品一区二区|
亚洲精品先锋资源|
黄色一级片视频播放人妻少妇|
日韩一区二区三区在线播放|
香港三级日韩三级亚洲三级|
第一区二区三区免费观看视频
|
99人人妻人人澡人人|
日本欧美内射少妇|
日本在线不卡αv免费视频|
国产午夜毛片v区一区二区三区|
亚洲国产高清不卡一区二区|
日韩一区二区三区在线播放|
国产人妻人伦精品9|
日韩欧美av网址|
亚洲av综合av自拍自拍|
久久久日韩中文字幕|
亚洲精品中文字幕下载|
起碰97视频在线观看|
日韩av激情另类|
亚洲中文字幕亚洲中文字幕|
日韩高跟丝袜诱惑美腿黄片|
午夜激情小视频在线观看|
99re在线视频精品视频|
中文字幕日韩乱码在线|
久久久精品日本人妻|
Av无码专区亚洲Av波多野吉衣|
久久激情五月天专区视频|
日韩老熟妇黄色一级片|
视频天天操天天干天天插|
天天爱天天色天天综合|
在线播放中文字幕人妻被中出|
日韩欧美亚洲电影在线观看|
久久国产精品99久久久久久牛牛|
欧美国产成人精品一区二区三区|
91久久夜色精品国产九色|
亚洲av区一区二区三区色婷婷|
精品国产乱码久久久久软件|
久久久人妻国产精品|
91精品久久久久久久蜜臀|
手机在线播放日韩av|
日韩女优 在线观看|
2012中文免费字幕中字|
青青青青青久在线视频|
国产又粗又猛又黄的网站|
欧美在线播放一区二区|
69堂成人免费视频精品|
久久人妻中出中文字幕|
av在线一级免费看|
91综合久久婷婷久久|
99re久久热在线视频|
国产精品女女女女女女av爽|
久久久精品国产亚洲中文av|
www.久久久久久99|
国产精品一区二区三区熟女av|
69精品久久久久久精品|
77人人妻人人澡人人爽欧美一区|
1024香蕉在线观看|
日本男人操日本女人|
日韩成人三级黄色|
亚洲国产精品99久久午夜|
久久热这里只有精品18|
日韩丝袜欧美人妻制服网站|
日韩成人三级黄色|
日韩激情极品视频|
久久久久久免费视频久久久看|
成人免费视频成人免费视频
|
人妻熟女一区二区三区在线观看|
天天爱天天色天天综合|
日本久久久免费看|
日韩欧美一级毛卡片|
在线播放中文字幕人妻被中出|
婷婷午夜国产精品久久久久|
久久久综合久久久大香蕉|
日本不卡一区二区三区四区五区|
欧美亚洲另类视频在线观看|
国产av有码一区二区三区四区|
99国产精品视频免费的|
久久久久久人妻区二区三区|
亚州av综合在线|
日本不卡的在线播放|
粉嫩av一区二区在线|
亚洲中字性色av|
偷拍自拍 国产精品|
精品自拍小视频在线|
欧美一区二区三区电影院|
欧美专区一区二区 三区|
国产亚洲欧美日一区二区三区|
福利久久久久久久久久久久久|
亚洲天堂中文字幕精品在线观看|
91精品亚洲视频在线观看|
日韩伦理一区二区手机在线|
日韩国产午夜在线|
亚洲女同性恋电影|
久久久久久久久高清精品
|
天天色综合天天网|
色综合久久综合久久|
欧美日韩性生活视频免费观看|
国产片久久久久久久久久|
久久久免费观看完整版视频|
久久久精品日本人妻|
久久久久七久久久久|
www.久久精品草|
中文字幕色区一区二区|
东京热久久这里全是精品|
国产乱淫av一区二区三区|
99亚洲视频在线观看|
色婷婷久久综合五月激情网|
国产成人精品视频小说|
日韩啪视频免费看亚洲|
精品一区,精品二区|
亚洲高清一线av|
亚洲精品人妻在线视频|
日本女人啪啪视频|
国产欧美日韩免费成人|
日韩国产午夜在线|
成人 短视频 在线|
熟女人妻人妻av|
中文字幕在线看日本|
精品99国产精品99|
视频天天操天天干天天插|
亚洲人妻中文av|
熟女高潮一区二区麻豆av|
国产人妻av一区二区三区色|
不卡的日韩视频在线观看|
在线免费观看日韩欧美国产片|
久久操视频免费在线播放|
欧美精品日韩国产一区原创色|
婷婷精品视频在线观看|
视频 一区二区三区|
亚洲中文黄色av|
欧美日韩一区二区不卡视频在线|
2019中文字幕视频在线观看|
欧美日韩午夜影视精品|
午夜在线福利观看|
懂色av粉嫩av绯色|
国语自产精品视频二区在线|
91久久这里都是精品|
999久久久999精品视频|
91久久这里都是精品|
最新国产激情视频|
日韩丰满熟妇熟女|
一区二区三区乱子伦|
人人妻人人爽人人……|
日韩av一区二区免费|
日韩国产一区二区视频|
日韩精品后入视频|
在线观看日本亚洲一区二区三区
|
亚洲av激情文学综合|
中 日 韩特级黄片|
黄色一级片视频播放人妻少妇|
日韩成人在线毛片|
97超碰香蕉在线观看|
天天操天天日天天日干|
日韩欧美一区二区三区在|
天天干天天操狠狠干|
亚洲综合婷婷大香蕉|
亚洲av日韩aⅴ综合在线观看|
午夜美女诱惑福利视频|
亚洲人妻中文字幕日韩|
深夜宅男小视频在线|
av在线一级免费看|
五月婷婷精品亚洲|
久久一亚色院精品全部免费|
日韩素人视频在线观看|
精品九九热视频这里只有精品|
国产精品久久久久77777|
2023国产精品自拍视频|
天天操天天啪天天干|
激情小说 另类小说 亚洲欧美
|
欧美激情,国产精品|
中文字幕日韩三级片av|
日韩午夜在线看片网址|
久久久久久久久九九九人妻|
日韩一区二区三区免费视频播放
|
日韩精品人妻久久久久久|
黄色一级片视频播放人妻少妇|
国产二区视频免费在线观看|
国产精品国产三级国产专不|
国产97视频在线精品|
国产精品久久久久av福利浪潮|
亚州av综合在线|
av青木玲在线播放|
香蕉久久国产av一区|
国产高潮呻吟久久av|
五月婷婷丁香婷婷色|
国产一二区久久久久久|
蒂亚田中被黑人裸操xxx片|
中文字幕日韩高清乱码|
涩涩久久涩涩综合天堂|
99精品一区二区三区四区视频|
久久精品国产亚洲av高清|
天天色,天天操.|
