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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7778|回復: 8
打印 上一主題 下一主題
收起左側

晶聯訊12864液晶屏測試單片機程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:227504 發表于 2017-11-20 22:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
JLX12864測試程序,如果玩會了,會再更新

單片機源程序如下:
  1. #include <reg51.H>
  2. #include <intrins.h>
  3. sbit lcd_sclk=P3^2; //接口定義:lcd_sclk 就是LCD 的sclk
  4. sbit lcd_sid=P3^1; //接口定義:lcd_sid 就是LCD 的sid
  5. sbit lcd_rs=P3^0; //接口定義:lcd_rs 就是LCD 的rs
  6. sbit lcd_reset=P1^0; //接口定義:lcd_reset 就是LCD 的reset
  7. sbit lcd_cs1=P1^1; //接口定義:lcd_cs1 就是LCD 的cs1
  8. sbit Rom_IN=P1^2; //字庫IC 接口定義:Rom_IN 就是字庫IC 的SI
  9. sbit Rom_OUT=P1^3; //字庫IC 接口定義:Rom_OUT 就是字庫IC 的SO
  10. sbit Rom_SCK=P1^4; //字庫IC 接口定義:Rom_SCK 就是字庫IC 的SCK
  11. sbit Rom_CS=P1^5; //字庫IC 接口定義Rom_CS 就是字庫IC 的CS#
  12. sbit key=P2^0; //定義一個按鍵
  13. #define uchar unsigned char
  14. #define uint unsigned int
  15. #define ulong unsigned long
  16. uchar code bmp1[];
  17. uchar code bmp2[];
  18. uchar code bmp3[];
  19. uchar code cheng1[];
  20. uchar code gong1[];
  21. uchar code zhuang1[];
  22. uchar code tai1[];
  23. uchar code shi1[];
  24. uchar code yong1[];
  25. void delay_us(int i);
  26. uchar code jiong1[]={/*-- 文字: 囧 --*/
  27. /*-- 宋體12; 此字體下對應的點陣為:寬x 高=16x16 --*/
  28. 0x00,0xFE,0x82,0x42,0xA2,0x9E,0x8A,0x82,0x86,0x8A,0xB2,0x62,0x02,0xFE,0x00,0x00,
  29. 0x00,0x7F,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x7F,0x00,0x00};
  30. uchar code lei1[]={/*-- 文字: 畾 --*/
  31. /*-- 宋體12; 此字體下對應的點陣為:寬x 高=16x16 --*/
  32. 0x80,0x80,0x80,0xBF,0xA5,0xA5,0xA5,0x3F,0xA5,0xA5,0xA5,0xBF,0x80,0x80,0x80,0x00,
  33. 0x7F,0x24,0x24,0x3F,0x24,0x24,0x7F,0x00,0x7F,0x24,0x24,0x3F,0x24,0x24,0x7F,0x00};
  34. /*寫指令到LCD 模塊*/
  35. void transfer_command_lcd(int data1)
  36. {
  37.         char i;
  38.         lcd_cs1=0;
  39.         lcd_rs=0;
  40.         for(i=0;i<8;i++)
  41.         {
  42.                 lcd_sclk=0;
  43.                 delay_us(1);
  44.         if(data1&0x80) lcd_sid=1;
  45.         else lcd_sid=0;
  46.         lcd_sclk=1;
  47.         delay_us(1);
  48.         data1=data1<<=1;
  49.         }
  50.         lcd_cs1=1;
  51. }
  52. /*寫數據到LCD 模塊*/
  53. void transfer_data_lcd(int data1)
  54. {
  55.         char i;
  56.         lcd_cs1=0;
  57.         lcd_rs=1;
  58.         for(i=0;i<8;i++)
  59.         {
  60.                 lcd_sclk=0;
  61.                 if(data1&0x80) lcd_sid=1;
  62.                 else lcd_sid=0;
  63.                 lcd_sclk=1;
  64.                 data1=data1<<=1;
  65.         }
  66.         lcd_cs1=1;
  67. }
  68. /*延時*/
  69. void delay(int i)
  70. {
  71.         int j,k;
  72.         for(j=0;j<i;j++)
  73.         for(k=0;k<500;k++);
  74. }
  75. /*短延時*/
  76. void delay_us(int i)
  77. {
  78.         int j,k;
  79.         for(j=0;j<i;j++)
  80.         for(k=0;k<2;k++);
  81. }
  82. /*等待一個按鍵,我的主板是用P2.0 與GND 之間接一個按鍵*/
  83. void waitkey()
  84. {
  85.         repeat:
  86.         if (P2&0x01) goto repeat;
  87.                 else delay(60);
  88.         if (P2&0x01) goto repeat;
  89.                 else
  90.                 delay(400);
  91. }
  92. /*LCD 模塊初始化*/
  93. void initial_lcd()
  94. {
  95.         lcd_reset=0; /*低電平復位*/
  96.                 delay(20);
  97.         lcd_reset=1; /*復位完畢*/
  98.                 delay(20);
  99.         transfer_command_lcd(0xe2); /*軟復位*/
  100.                 delay(5);
  101.         transfer_command_lcd(0x2c); /*升壓步聚1*/
  102.                 delay(5);
  103.         transfer_command_lcd(0x2e); /*升壓步聚2*/
  104.                 delay(5);
  105.         transfer_command_lcd(0x2f); /*升壓步聚3*/
  106.                 delay(5);
  107.         transfer_command_lcd(0x24); /*粗調對比度,可設置范圍0x20~0x27*/
  108.         transfer_command_lcd(0x81); /*微調對比度*/
  109.         transfer_command_lcd(0x15); /*0x1a,微調對比度的值,可設置范圍0x00~0x3f*/
  110.         transfer_command_lcd(0xa2); /*1/9 偏壓比(bias)*/
  111.         transfer_command_lcd(0xc8); /*行掃描順序:從上到下*/
  112.         transfer_command_lcd(0xa0); /*列掃描順序:從左到右*/
  113.         transfer_command_lcd(0x40); /*起始行:第一行開始*/
  114.         transfer_command_lcd(0xaf); /*開顯示*/
  115. }
  116. void lcd_address(uint page,uint column)
  117. {
  118.         column=column-1;
  119.         transfer_command_lcd(0xb0+page-1); /*設置頁地址*/
  120.         transfer_command_lcd(0x10+(column>>4&0x0f)); /*設置列地址的高4 位*/
  121.         transfer_command_lcd(column&0x0f); /*設置列地址的低4 位*/
  122. }
  123. /*全屏清屏*/
  124. void clear_screen()
  125. {
  126.         unsigned char i,j;
  127.         for(i=0;i<9;i++)
  128.         {
  129.                 lcd_address(1+i,1);
  130.         for(j=0;j<224;j++)
  131.         {
  132.                 transfer_data_lcd(0x00);
  133.         }
  134.         }
  135.         lcd_cs1=1;
  136. }
  137. //===顯示測試畫面:例如全顯示,隔行顯示,隔列顯示,雪花顯示=====
  138. void test_display(uchar data1,uchar data2)
  139. {
  140.         int i,j;
  141.         for(j=0;j<8;j++)
  142.         {
  143.                 lcd_address(j+1,1);
  144.         for(i=0;i<128;i++)
  145.         {
  146.                 transfer_data_lcd(data1);
  147.                 transfer_data_lcd(data2);
  148.         }
  149.         }
  150. }
  151. /*顯示128x64 點陣圖像*/
  152. void display_128x64(uchar *dp)
  153. {
  154.         uint i,j;
  155.         for(j=0;j<8;j++)
  156.         {
  157.         lcd_address(j+1,1);
  158.         for (i=0;i<128;i++)
  159.         {
  160.                 transfer_data_lcd(*dp); /*寫數據到LCD,每寫完一個8 位的數據后列地址自動加1*/
  161.                 dp++;
  162.         }
  163.         }
  164. }
  165. /*顯示32x32 點陣圖像、漢字、生僻字或32x32 點陣的其他圖標*/
  166. void display_graphic_32x32(uchar page,uchar column,uchar *dp)
  167. {
  168.         uchar i,j;
  169.         for(j=0;j<4;j++)
  170.         {
  171.                 lcd_address(page+j,column);
  172.         for (i=0;i<31;i++)
  173.         {
  174.                 transfer_data_lcd(*dp); /*寫數據到LCD,每寫完一個8 位的數據后列地址自動加1*/
  175.         dp++;
  176.         }
  177.         }
  178. }
  179. /*顯示16x16 點陣圖像、漢字、生僻字或16x16 點陣的其他圖標,reverse=1 反顯*/
  180. void display_graphic_16x16(uint page,uint column,uchar reverse,uchar *dp)
  181. {
  182.         uint i,j;
  183.         for(j=0;j<2;j++)
  184.         {
  185.                 lcd_address(page+j,column);
  186.         for (i=0;i<16;i++)
  187.         {
  188.                 if(reverse==1)
  189.                         transfer_data_lcd(~*dp); /*寫數據到LCD,每寫完一個8 位的數據后列地址自動加1*/
  190.                 else
  191.                         transfer_data_lcd(*dp); /*寫數據到LCD,每寫完一個8 位的數據后列地址自動加1*/
  192.                 dp++;
  193.         }
  194.         }
  195. }
  196. /*顯示8x16 點陣圖像、ASCII, 或8x16 點陣的自造字符、其他圖標,reverse=1 反顯*/
  197. void display_graphic_8x16(uint page,uchar column,uchar reverse,uchar *dp)
  198. {
  199.         uint i,j;
  200.         for(j=0;j<2;j++)
  201.         {
  202.                 lcd_address(page+j,column);
  203.         for (i=0;i<8;i++)
  204.         {
  205.                 if(reverse==1)
  206.                         transfer_data_lcd(~*dp); /*寫數據到LCD,每寫完一個8 位的數據后列地址自動加1*/
  207.                 else
  208.                         transfer_data_lcd(*dp); /*寫數據到LCD,每寫完一個8 位的數據后列地址自動加1*/
  209.         dp++;
  210.         }
  211.         }
  212. }
  213. /*顯示 5*7 點陣圖像、ASCII, 或5x7 點陣的自造字符、其他圖標*/
  214. void display_graphic_5x7(uint page,uchar column,uchar reverse,uchar *dp)
  215. {
  216.         uint col_cnt;
  217.         uchar page_address;
  218.         uchar column_address_L,column_address_H;
  219.         page_address = 0xb0+page-1;
  220.         column_address_L =(column&0x0f)-1;
  221.         column_address_H =((column>>4)&0x0f)+0x10;
  222.         transfer_command_lcd(page_address); /*Set Page Address*/
  223.         transfer_command_lcd(column_address_H); /*Set MSB of column Address*/
  224.         transfer_command_lcd(column_address_L); /*Set LSB of column Address*/
  225.         for (col_cnt=0;col_cnt<6;col_cnt++)
  226.         {
  227.                 if(reverse==1)
  228.                         transfer_data_lcd(~*dp); /*寫數據到LCD,每寫完一個8 位的數據后列地址自動加1*/
  229.                 else
  230.                         transfer_data_lcd(*dp); /*寫數據到LCD,每寫完一個8 位的數據后列地址自動加1*/
  231.                 dp++;
  232.         }
  233. }
  234. /****送指令到晶聯訊字庫IC***/
  235. void send_command_to_ROM( uchar datu )
  236. {
  237.         uchar i;
  238.         for(i=0;i<8;i++ )
  239.         {
  240.                 if(datu&0x80)
  241.                         Rom_IN = 1;
  242.                 else
  243.                         Rom_IN = 0;
  244.                         datu = datu<<1;
  245.                         Rom_SCK=0;
  246.                         Rom_SCK=1;
  247.         }
  248. }
  249. /****從晶聯訊字庫IC 中取漢字或字符數據(1 個字節)***/
  250. static uchar get_data_from_ROM( )
  251. {
  252.         uchar i;
  253.         uchar ret_data=0;
  254.         Rom_SCK=1;
  255.         for(i=0;i<8;i++)
  256.         {
  257.                 Rom_OUT=1;
  258.                 Rom_SCK=0;
  259.                 ret_data=ret_data<<1;
  260.         if( Rom_OUT )
  261.                 ret_data=ret_data+1;
  262.         else
  263.                 ret_data=ret_data+0;
  264.                 Rom_SCK=1;
  265.         }
  266.         return(ret_data);
  267. }
  268. /*從相關地址(addrHigh:地址高字節,addrMid:地址中字節,addrLow:地址低字節)中連續讀出DataLen 個字節的數據到 pBuff 的地址*/
  269. /*連續讀取*/
  270. void get_n_bytes_data_from_ROM(uchar addrHigh,uchar addrMid,uchar addrLow,uchar *pBuff,uchar DataLen )
  271. {
  272.         uchar i;
  273.         Rom_CS = 0;
  274.         lcd_cs1=1;
  275.         Rom_SCK=0;
  276.         send_command_to_ROM(0x03);
  277.         send_command_to_ROM(addrHigh);
  278.         send_command_to_ROM(addrMid);
  279.         send_command_to_ROM(addrLow);
  280.         for(i = 0; i < DataLen; i++ )
  281.         *(pBuff+i) =get_data_from_ROM();
  282.         Rom_CS = 1;
  283. }
  284. /******************************************************************/
  285.         ulong fontaddr=0;
  286. void display_GB2312_string(uchar y,uchar x,uchar reverse,uchar *text)
  287. {
  288.         uchar i= 0;
  289.         uchar addrHigh,addrMid,addrLow ;
  290.         uchar fontbuf[32];
  291.         while((text[i]>0x00))
  292.         {
  293.                 if(((text[i]>=0xb0) &&(text[i]<=0xf7))&&(text[i+1]>=0xa1))
  294.                 {
  295.                         /*國標簡體(GB2312)漢字在晶聯訊字庫IC 中的地址由以下公式來計算:*/
  296.                 /*Address = ((MSB - 0xB0) * 94 + (LSB - 0xA1)+ 846)*32+ BaseAdd;BaseAdd=0*/
  297.                 /*由于擔心8 位單片機有乘法溢出問題,所以分三部取地址*/
  298.                         fontaddr = (text[i]- 0xb0)*94;
  299.                         fontaddr += (text[i+1]-0xa1)+846;
  300.                         fontaddr = (ulong)(fontaddr*32);
  301.                         addrHigh = (fontaddr&0xff0000)>>16; /*地址的高8 位,共24 位*/
  302.                         addrMid = (fontaddr&0xff00)>>8; /*地址的中8 位,共24 位*/
  303.                         addrLow = fontaddr&0xff; /*地址的低8 位,共24 位*/
  304.                         get_n_bytes_data_from_ROM(addrHigh,addrMid,addrLow,fontbuf,32 );/*取32 個字節的數據,存到"fontbuf[32]"*/
  305.                         display_graphic_16x16(y,x,reverse,fontbuf);/*顯示漢字到LCD 上,y 為頁地址,x 為列地址,fontbuf[]為數據*/
  306.                         i+=2;
  307.                         x+=16;
  308.                 }
  309.                 else if(((text[i]>=0xa1) &&(text[i]<=0xa3))&&(text[i+1]>=0xa1))
  310.                 {
  311.                         /*國標簡體(GB2312)15x16 點的字符在晶聯訊字庫IC 中的地址由以下公式來計算:*/
  312.                         /*Address = ((MSB - 0xa1) * 94 + (LSB - 0xA1))*32+ BaseAdd;BaseAdd=0*/
  313.                         /*由于擔心8 位單片機有乘法溢出問題,所以分三部取地址*/
  314.                         fontaddr = (text[i]- 0xa1)*94;
  315.                         fontaddr += (text[i+1]-0xa1);
  316.                         fontaddr = (ulong)(fontaddr*32);
  317.                         addrHigh = (fontaddr&0xff0000)>>16; /*地址的高8 位,共24 位*/
  318.                         addrMid = (fontaddr&0xff00)>>8; /*地址的中8 位,共24 位*/
  319.                         addrLow = fontaddr&0xff; /*地址的低8 位,共24 位*/
  320.                         get_n_bytes_data_from_ROM(addrHigh,addrMid,addrLow,fontbuf,32 );/*取32 個字節的數據,存到"fontbuf[32]"*/
  321.                         display_graphic_16x16(y,x,reverse,fontbuf);/*顯示漢字到LCD 上,y 為頁地址,x 為列地址,fontbuf[]為數據*/
  322.                         i+=2;
  323.                         x+=16;
  324. }
  325. else if((text[i]>=0x20) &&(text[i]<=0x7e))
  326. {
  327. unsigned char fontbuf[16];
  328. fontaddr = (text[i]- 0x20);
  329. fontaddr = (unsigned long)(fontaddr*16);
  330. fontaddr = (unsigned long)(fontaddr+0x3cf80);
  331. addrHigh = (fontaddr&0xff0000)>>16;
  332. addrMid = (fontaddr&0xff00)>>8;
  333. addrLow = fontaddr&0xff;
  334. get_n_bytes_data_from_ROM(addrHigh,addrMid,addrLow,fontbuf,16 );/*取16 個字節的數據,存到"fontbuf[32]"*/
  335. display_graphic_8x16(y,x,reverse,fontbuf);/*顯示8x16的ASCII字到LCD 上,y 為頁地址,x 為列地址,fontbuf[]為數據*/
  336. i+=1;
  337. x+=8;
  338. }
  339. else
  340. i++;
  341. }
  342. }
  343. void display_string_5x7(uchar y,uchar x,uchar *text)
  344. {
  345. unsigned char i= 0;
  346. unsigned char addrHigh,addrMid,addrLow ;
  347. while((text[i]>0x00))
  348. {
  349. if((text[i]>=0x20) &&(text[i]<=0x7e))
  350. {
  351. unsigned char fontbuf[8];
  352. fontaddr = (text[i]- 0x20);
  353. fontaddr = (unsigned long)(fontaddr*8);
  354. fontaddr = (unsigned long)(fontaddr+0x3bfc0);
  355. addrHigh = (fontaddr&0xff0000)>>16;
  356. addrMid = (fontaddr&0xff00)>>8;
  357. addrLow = fontaddr&0xff;
  358. get_n_bytes_data_from_ROM(addrHigh,addrMid,addrLow,fontbuf,8);/*取8 個字節的數據,存到"fontbuf[32]"*/
  359. display_graphic_5x7(y,x,0,fontbuf);/*顯示5x7的ASCII字到LCD上,y為頁地址,x 為列地址,fontbuf[]為數據*/
  360. i+=1;
  361. x+=6;
  362. }
  363. else
  364. i++;
  365. }
  366. }
  367. //===============main program===================
  368. void main(void)
  369. {
  370. while(1)
  371. {
  372. Rom_CS=1;
  373. lcd_cs1=0;
  374. initial_lcd();
  375. clear_screen(); //clear all dots
  376. display_128x64(bmp1);
  377. waitkey();
  378. clear_screen(); //clear all dots
  379. display_128x64(bmp2);
  380. waitkey();
  381. clear_screen(); //clear all dots
  382. display_128x64(bmp3);
  383. waitkey();
  384. clear_screen();
  385. display_GB2312_string(1,1,0,"JLX12864G-132-PC"); /*在第1 頁,第1 列,顯示一串16x16 點陣漢字或8x16 的ASCII 字*/
  386. display_GB2312_string(3,1,1,"16X16 簡體漢字庫,");
  387. display_GB2312_string(5,1,0,"或8X16 點陣ASCII,"); /*顯示一串16x16 點陣漢字或8x16 的ASCII 字.以下雷同*/
  388. display_GB2312_string(7,1,0,"或5X7 點陣ASCII 碼");
  389. waitkey();
  390. clear_screen();
  391. display_GB2312_string(1,1,0,"abcdefghijklmnoprstuvwxyz"); /*在第1 頁,第1 列,顯示一串16x16 點陣漢字或8*16 的ASCII 字*/
  392. display_string_5x7(3,1,"abcdefghijklmnopqrstu");/*在第3 頁,第1 列,顯示一串5x7 點陣的ASCII 字*/
  393. display_string_5x7(4,1,"JLX electronics Co., ");/*顯示一串5x7 點陣的ASCII 字*/
  394. display_string_5x7(5,1,"Ltd. established at ");/*顯示一串5x7 點陣的ASCII 字*/
  395. display_string_5x7(6,1,"year 2004.Focus LCM. ");/*顯示一串5x7 點陣的ASCII 字*/
  396. display_string_5x7(7,1,"TEL:TEL:0755-29784961 ");/*顯示一串5x7 點陣的ASCII 字*/
  397. display_string_5x7(8,1,"FAX:0755-29784964 ");/*顯示一串5x7 點陣的ASCII 字*/
  398. waitkey();
  399. clear_screen();
  400. display_graphic_32x32(1,(1+32*1),cheng1); /*在第1 頁,第49 列顯示單個漢字"成"*/
  401. display_graphic_32x32(1,(1+32*2),gong1); /*在第1 頁,第49 列顯示單個漢字"功"*/
  402. display_graphic_16x16(6,1,1,zhuang1); /*在第5 頁,第1 列顯示單個漢字"狀"*/
  403. display_graphic_16x16(6,(1+16),1,tai1); /*在第5 頁,第17 列顯示單個漢字"態"*/
  404. display_GB2312_string(6,(1+16*2),0,":");
  405. display_graphic_16x16(6,(1+16*2+8),0,shi1); /*在第5 頁,第41 列顯示單個漢字"使"*/
  406. display_graphic_16x16(6,(1+16*3+8),0,yong1); /*在第5 頁,第49 列顯示單個漢字"用"*/
  407. display_GB2312_string(6,(1+16*4+8*2),0,"12:45");
  408. waitkey();
  409. clear_screen();
  410. ……………………

  411. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
JLX12864測試程序.docx (22.96 KB, 下載次數: 104)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:61140 發表于 2018-1-4 04:00 | 只看該作者
試過了,高低不顯示
回復

使用道具 舉報

板凳
ID:274607 發表于 2018-2-5 16:51 | 只看該作者
我的好像運行也是不對
回復

使用道具 舉報

地板
ID:92753 發表于 2018-3-8 22:50 | 只看該作者
樓主會使用這個液晶串行顯示一個浮點變量嗎?
回復

使用道具 舉報

5#
ID:97811 發表于 2018-5-18 22:01 | 只看該作者
進來學習的,謝謝分享
回復

使用道具 舉報

6#
ID:227504 發表于 2018-5-25 22:10 | 只看該作者
guxiaoxing 發表于 2018-2-5 16:51
我的好像運行也是不對

我的液晶jlx12864-g-086無字庫。我的顯示正常呀,是不是接線問題
回復

使用道具 舉報

7#
ID:581531 發表于 2019-7-13 16:51 | 只看該作者
有用
回復

使用道具 舉報

8#
ID:398219 發表于 2021-12-1 14:15 | 只看該作者
這人就是例程嘛,怎么顯示自已定義的變量呀
回復

使用道具 舉報

9#
ID:1067203 發表于 2023-4-4 21:03 | 只看該作者
能生成hex文件,但我沒點亮屏,用的是89c52芯片
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线观看国产91 | 国产精品成人一区二区三区夜夜夜 | 国产精品亚洲成在人线 | 国产福利在线看 | 在线第一页| 日本三级播放 | 亚洲一区 中文字幕 | 在线免费看黄 | 亚洲精品日韩在线 | 中文在线一区 | 国产一级免费视频 | 欧美一级二级三级视频 | 国产精品久久久爽爽爽麻豆色哟哟 | 欧美一级一区 | 亚洲狠狠爱一区二区三区 | 在线国产小视频 | 精品91久久 | 国产日韩久久 | 亚洲欧美视频一区 | 成年网站在线观看 | 日韩欧美视频在线 | 色久电影 | 国产免费拔擦拔擦8x高清 | 毛片免费观看 | 成人影音| 日韩电影中文字幕 | 欧美日韩在线一区二区 | 国产精品亚洲精品日韩已方 | 偷拍自拍在线观看 | 欧美精品一二区 | 女同videos另类 | 日韩看片 | 天天天天天操 | 涩在线 | 尤物在线 | 91视视频在线观看入口直接观看 | 99免费在线视频 | 香蕉视频1024| 男女黄网站 | 97精品超碰一区二区三区 | 久久一区二区三区四区 |