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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC32G系列LQFP32驅動TM1621D顯示LCD例子搞了兩個月希望你們不要再搞這么

[復制鏈接]
跳轉到指定樓層
樓主
ID:1038987 發表于 2024-11-23 13:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*斷碼LCD屏顯示方法用法總節
為什么要用LCD顯示。   便宜   省電  0.5-2元左右
為什么選插腳      好焊好調試
為什么選TM1621D  qsop24  腳少個小 省電 省錢夠用。 專業芯片用于處理顯示LCD  某一個寶幾毛
為什么用STC32G做測試  因為簡單一個主文件搞定 分立模塊
最近是2024年11月用到不到兩個月把這個簡簡單單的東西看明白分享記錄一下。希望以后的人別用這么多的時間!
關于程序。這個程序用的是TM1621D的官方例子改的。用邏輯分析儀測試正常。用的是P2口做的驅通信口。
這個是可以用的程序。

最后看了太多的論壇還有CSDN上的文章,基本沒有人說出真正可以用的例子用51單片機驅動TM1621D顯示LCD。  為什么是這樣我也不懂。那就讓我來說一下吧。
關于單片機方面就不用說了就用STC32G   8K64  還是12K128都可以 用32腳是為了好手工焊接。開P2為準雙向口用于發送數據。用P3M0 |= 0x30; P3M1 &= ~0x30;   //34  35  用于給屏供電

關于TM1621D 這個的規格書在百度上一找就可以找到。
關于TM1621D SSOP24 的引腳排列可以在立創上看。
4個COM對應好屏上的COM口。

SEG9-SEG22  畫版的時候用了哪些寫代碼的時候就操作哪些。然后自己對應。

關于屏幕要選不帶LCD的經角少便宜的 1/3偏壓 4公共口  的做測試。

關于程序:用這樣的一組就用這個程序就可以了。主要用下面的代碼做測試

//        WriteOneData(0x09,0x04);         //意思是寫到seg09 上  COM寫0001   0010   0100  1000   對應0x 01  02  04   08正常會顯示一個筆畫。


關于我踩過的坑
1 屏沒拿到廠家的對的真值表
2 屏的COM認錯
3 通信腳沒有改
4 通信腳沒做IO設置
5 問專業的人不給錢人家也沒法給你找到錯的地方。
6 屏的尺寸看錯PCB孔距畫錯
7 沒認真看TM1621D的規格書。直到到了20多次以后
8 問不懂的銷售沒什么用。
9 TM1621D的2013年的例子沒有詳細的注釋
10 買屏一定要要到規格書要到對的規格書。
11 如果顯示亂碼大概率就是COM搞錯了。
12 VCC和VLCD之間看規格書說需要接個可調電阻這個不要省。最少加個10K多的電阻
13 實踐出真知
14 之前顯示不到用了很久才又買了邏輯分析儀之前的找不到了。
15 驗證發送數據是對的之后才可以確定程序對不對。本程序已經修改了少量代碼使通信波形更穩定
16 為了以后別人和我都可以看懂下面的代碼。主機對這個做上有用的注釋方便移槙。
17 為什么沒寫出顯示0123456789的代碼  因為畫的板不一樣寫法不一樣。
*/
  1. /* 如果要在程序中使用此代碼,請在程序中注明使用了STC的資料及程序            */
  2. /*************  功能說明    **************
  3. 本例程基于STC32G為主控芯片的實驗箱進行編寫測試。
  4. 使用Keil C251編譯器,Memory Model推薦設置XSmall模式,默認定義變量在edata,單時鐘存取訪問速度快。
  5. edata建議保留1K給堆棧使用,空間不夠時可將大數組、不常用變量加xdata關鍵字定義到xdata空間。
  6. 下載時, 選擇時鐘 11.0592MHz ******************************************/


  7. #include "comm\STC32G.h" //STC官方文件沒做修改用的是STC32GLQFP32 32腳的芯片

  8. #include "stdio.h"
  9. #include "intrins.h"




  10. #define uchar unsigned char                                 //數據類型宏定義
  11. #define uint unsigned int                                 //數據類型宏定義

  12. /*斷碼LCD屏顯示方法用法總節
  13. 為什么要用LCD顯示。   便宜   省電  0.5-2元左右
  14. 為什么選插腳      好焊好調試
  15. 為什么選TM1621D  qsop24  腳少個小 省電 省錢夠用。 專業芯片用于處理顯示LCD  某一個寶幾毛
  16. 為什么用STC32G做測試  因為簡單一個主文件搞定 分立模塊
  17. 最近是2024年11月用到不到兩個月把這個簡簡單單的東西看明白分享記錄一下。希望以后的人別用這么多的時間!
  18. 關于程序。這個程序用的是TM1621D的官方例子改的。用邏輯分析儀測試正常。用的是P2口做的驅通信口。
  19. 這個是可以用的程序。

  20. 最后看了太多的論壇還有CSDN上的文章,基本沒有人說出真正可以用的例子用51單片機驅動TM1621D顯示LCD。  為什么是這樣我也不懂。那就讓我來說一下吧。
  21. 關于單片機方面就不用說了就用STC32G   8K64  還是12K128都可以 用32腳是為了好手工焊接。開P2為準雙向口用于發送數據。用P3M0 |= 0x30; P3M1 &= ~0x30;   //34  35  用于給屏供電

  22. 關于TM1621D 這個的規格書在百度上一找就可以找到。
  23. 關于TM1621D SSOP24 的引腳排列可以在立創上看。
  24. 4個COM對應好屏上的COM口。

  25. SEG9-SEG22  畫版的時候用了哪些寫代碼的時候就操作哪些。然后自己對應。

  26. 關于屏幕要選不帶LCD的經角少便宜的 1/3偏壓 4公共口  的做測試。

  27. 關于程序:用這樣的一組就用這個程序就可以了。主要用下面的代碼做測試

  28. //        WriteOneData(0x09,0x04);         //意思是寫到seg09 上  COM寫0001   0010   0100  1000   對應0x 01  02  04   08正常會顯示一個筆畫。


  29. 關于我踩過的坑
  30. 1 屏沒拿到廠家的對的真值表
  31. 2 屏的COM認錯
  32. 3 通信腳沒有改
  33. 4 通信腳沒做IO設置
  34. 5 問專業的人不給錢人家也沒法給你找到錯的地方。
  35. 6 屏的尺寸看錯PCB孔距畫錯
  36. 7 沒認真看TM1621D的規格書。直到到了20多次以后
  37. 8 問不懂的銷售沒什么用。
  38. 9 TM1621D的2013年的例子沒有詳細的注釋
  39. 10 買屏一定要要到規格書要到對的規格書。
  40. 11 如果顯示亂碼大概率就是COM搞錯了。
  41. 12 VCC和VLCD之間看規格書說需要接個可調電阻這個不要省。最少加個10K多的電阻
  42. 13 實踐出真知
  43. 14 之前顯示不到用了很久才又買了邏輯分析儀之前的找不到了。
  44. 15 驗證發送數據是對的之后才可以確定程序對不對。本程序已經修改了少量代碼使通信波形更穩定
  45. 16 為了以后別人和我都可以看懂下面的代碼。主機對這個做上有用的注釋方便移槙。
  46. 17 為什么沒寫出顯示0123456789的代碼  因為畫的板不一樣寫法不一樣。
  47. */



  48. /*斷碼LCD屏顯示方法-定義和其它功能無關的LCD顯示功能的引腳還有操作程序用P20 21 22  P34 35 用于給TM1621D和屏供電 1621D驅動*/
  49. #define nop _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //宏定義
  50. /******************TM1621D模塊命令定義*********************/
  51. #define SYSDIS   0x00    //關系統振蕩器和LCD偏壓發生器        
  52. #define SYSEN    0x02    //打開系統振蕩器      
  53. #define LCDOFF   0x04    //關LCD偏壓
  54. #define LCDON    0x06    //開LCD偏壓                                                         
  55. #define RC       0x30    //內部RC振蕩      
  56. #define BIAS     0x52    //1/3偏壓 4公共口      
  57. #define WDTDIS   0x0a    //禁止看門狗
  58. #define WDTEN    0x0e    //開啟看門狗
  59. /*根據屏設置用內部LCD偏壓也就是顯示不顯示到LCD 關看門狗 適合//1/3偏壓 4公共口  需求屏*/

  60. /********************定義控制端口這里要根據實際情況接線**********************/
  61. sbit CS=P2^0;
  62. sbit WRITE=P2^1;
  63. sbit DATA=P2^2;

  64. /********************定義數據這里可以說是沒有用的TM1621D官方代碼*************************/
  65. uchar code Smg[16]={0x05,0xff,0xc7,0xE5,0x6C,0xAD,0xaf,0xE0,0xef,0xed,0xee,0x2f,0x8b,0x67,0x8f,0x8e};  //0~F字型碼
  66. uchar code Tab0[16]={0x08,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //清屏
  67. /********************延時函數*************************/
  68. void delay_nms(uint n)
  69. {
  70.    uint i;
  71.    while(n--)
  72.      for(i=0;i<500;i++);
  73. }
  74. /********************從高位寫入數據*************************/
  75. void Write_Data_H(uchar Data, uchar Cnt)           //Data的高cnt位寫入TM1621D,高位在前
  76. {
  77. uchar i;
  78. for(i=0;i<Cnt;i++)
  79. {
  80.   WRITE=0;
  81.         
  82.   if(Data&0x80)                                   //從最高位發送
  83.     DATA=1;               
  84.   else
  85.     DATA=0;
  86.   nop;

  87.   WRITE=1;
  88.   nop;
  89.   Data<<=1;
  90. }
  91. WRITE=0;
  92. DATA=0;
  93. }
  94. /********************從低位寫入數據*************************/
  95. void Write_Data_L(uchar Data,uchar Cnt) //Data 的低cnt位寫入TM1621D,低位在前
  96. {
  97. unsigned char i;
  98. for(i=0;i<Cnt;i++)
  99. {
  100.    WRITE=0;
  101.                 nop;
  102.    if(Data&0x01)                                 //從低位發送
  103.      DATA=1;  
  104.    else
  105.      DATA=0;
  106.         nop;

  107.         WRITE=1;
  108.                  nop;
  109.         Data>>=1;
  110. }
  111.   WRITE=0;
  112.   DATA=0;  
  113. }

  114. /********************寫入控制命令*************************/
  115. void WriteCmd(uchar Cmd)
  116. {
  117. CS=0;
  118. nop;
  119. Write_Data_H(0x80,4);     //寫入命令標志100
  120. Write_Data_H(Cmd,8);      //寫入命令數據
  121. CS=1;
  122. nop;
  123. }

  124. /*********指定地址寫入數據,實際寫入后4位************/
  125. void WriteOneData(uchar Addr, uchar Data)
  126. {
  127.         
  128. Addr=Addr<<2;
  129. CS=0;
  130. nop;
  131. Write_Data_H(0xa0,3);     //寫入數據標志101
  132.         
  133. Write_Data_H(Addr,6);  //寫入地址數據
  134. Write_Data_L(Data,4);     //寫入數據
  135. nop;        
  136. CS=1;
  137. nop;
  138. }

  139. /*********連續寫入方式,每次數據為8位,寫入數據(基本不用可以去掉)************/
  140. void WriteAllData(uchar Addr,uchar *p,uchar cnt)
  141. {
  142. uchar i;
  143. CS=0;
  144. Write_Data_H(0xa0,3);          //寫入數據標志101
  145. Write_Data_H(Addr<<2,6);        //寫入地址數據
  146. for(i=0;i<cnt;i++)                //寫入數據
  147. {
  148.    Write_Data_L(*p,8);            
  149.    p++;
  150. }
  151. CS=1;
  152. nop;
  153. }

  154. /*******************TM1621D初始化**********************/
  155. void TM1621D_init()
  156. {
  157. CS=1;
  158. WRITE=1;
  159. DATA=1;
  160. nop;
  161. delay_nms(1);                        
  162. WriteCmd(BIAS);                 //1/3偏壓 4公共口
  163. WriteCmd(RC);                         //內部RC振蕩        
  164. WriteCmd(SYSDIS);                 //關系統振蕩器和LCD偏壓發生器
  165. WriteCmd(WDTDIS);                                                                 //禁止看門狗
  166. WriteCmd(SYSEN);                 //打開系統振蕩器
  167. WriteCmd(LCDON);                 //開LCD偏壓
  168. }

  169. /*************TM1621清屏函數用了這個對1621D應該是全屏清空才是對的*****************/
  170. void Clear1621()
  171. {
  172. uchar i;
  173. for(i=0;i<32;i++) //9-21可以清屏
  174. {
  175. WriteOneData(i, 0x00);
  176. }
  177. }
  178. /*************TM1621全屏函數 如果用了沒有全顯示則有不對的地方,主要是屏焊接的問題*****************/
  179. void quanping1621()
  180. {
  181. uchar i;
  182. for(i=9;i<22;i++) //9-21可以清屏
  183. {
  184. WriteOneData(i, 0x0f);
  185. }
  186. }
  187. /*斷碼LCD屏顯示方法-定義和其它功能無關的LCD顯示功能的引腳還有操作程序用P20 21 22  P34 35 用于給TM1621D和屏供電 1621D驅動*/



  188. void main()
  189. {        
  190. /*斷碼LCD屏顯示方法-定義和其它功能無關的LCD顯示功能的引腳還有操作程序用P20 21 22  P34 35 用于給TM1621D和屏供電 1621D驅動*/
  191.         P3M0 |= 0x30; P3M1 &= ~0x30;   //34  35
  192.   P2M0 &= ~0x07; P2M1 &= ~0x07;
  193.   P34=0;
  194.         P35=1;
  195. /*斷碼LCD屏顯示方法-定義和其它功能無關的LCD顯示功能的引腳還有操作程序用P20 21 22  P34 35 用于給TM1621D和屏供電 1621D驅動*/
  196. TM1621D_init();                //開機初始化(可以重復初使化主到主循環如果有需要的話)
  197. delay_nms(1);
  198. //WriteAllData(0,Tab0,16);         //LCD清顯存
  199.         
  200.         //WriteOneData(0x0e, 0x06);               
  201.         
  202.         
  203.         Clear1621();//LCD清顯存
  204.         
  205. //quanping1621();  //應該可以全顯示才對
  206.         
  207. while(1)
  208. {        
  209.         
  210. }
  211. }

  212.         
  213. /*
  214.         WriteOneData(0x01,0x00);           
  215.         WriteOneData(0x02,0x00);           
  216.         WriteOneData(0x03,0x00);           
  217.         WriteOneData(0x04,0x00);           
  218.         WriteOneData(0x05,0x00);           
  219.         WriteOneData(0x06,0x00);           
  220.         WriteOneData(0x07,0x00);           
  221.         WriteOneData(0x08,0x00);           
  222.         WriteOneData(0x09,0x00);
  223. */
  224.         //第一位顯示8
  225. //        WriteOneData(0x09,0x0f);
  226. //        WriteOneData(0x0e,0x0e);
  227.         //第二位顯示5
  228.         
  229. //        WriteOneData(0x0c,0x0A);
  230. //        WriteOneData(0x0d,0x0d);
  231.         
  232.         
  233.         
  234.                 //第三位顯示2
  235.         
  236. //        WriteOneData(0x10,0x04);        
  237. /*

  238. 09 01  3b
  239. 09 02  3c
  240. 09 04  3d
  241. 09 08  空

  242. 0a 01  3a
  243. 0a 02  3g
  244. 0a 04  3e
  245. 0a 08  空


  246. 0b 01  電池1
  247. 0b 02  2f
  248. 0b 04  1p
  249. 0b 08  空

  250. 0c 01  2b
  251. 0c 02  2c
  252. 0c 04  2d
  253. 0c 08  空


  254. 0d 01  2a
  255. 0d 02  2g
  256. 0d 04  2e
  257. 0d 08  空

  258. 0e 01  電池空
  259. 0e 02  1f
  260. 0e 04  電池3
  261. 0e 08  空



  262. 0f 01  1b
  263. 0f 02  1c
  264. 0f 04  1d
  265. 0f 08  空


  266. 10 01  1a
  267. 10 02  1g
  268. 10 04  1e
  269. 10 08  空


  270. */
  271.         
  272.         
  273.         
  274.         
  275.         //WriteOneData(0x0a,0x0f);
  276.         //WriteOneData(0x0b,0x0f);
  277.         
  278.         //WriteOneData(0x0B,0x07);
  279.         
  280.         //WriteOneData(0x15,0x0f);
  281.         
  282.         
  283.         
  284.         //WriteOneData(0x12,0x0f);   //G2   9  3
  285.                  
  286.         
  287.         
  288.         //WriteOneData(0x0b,0x01);   //G3   7  1
  289.                  
  290.         //WriteOneData(0x0b,0x02);   //c2   8  2
  291.         
  292.         //WriteOneData(0x0b,0x04);   //D2   9  1  
  293.         
  294.         
  295.         //WriteOneData(0x0b,0x08);   //c1   10  2

  296. //WriteOneData(0x0b,0x01);   //D2   7  1   


  297. /*
  298. WriteOneData(0x0c,0x01);   //E3   7  2   
  299. WriteOneData(0x0c,0x02);   //G2   9  3
  300. WriteOneData(0x0c,0x04);   //G2   9  3
  301. WriteOneData(0x0c,0x08);   //G3   7  3



  302. WriteOneData(0x0d,0x01);   //f3   7  4
  303. WriteOneData(0x0d,0x02);   //b2   8  3
  304. WriteOneData(0x0d,0x04);   //f2   9  4
  305. WriteOneData(0x0d,0x08);   //b1   10  3



  306. */







  307.         
  308.         //第二位基本可以顯示
  309.         /*
  310. WriteOneData(0x0e,0x03);
  311. WriteOneData(0x0f,0x07);
  312. WriteOneData(0x10,0x03);   
  313. */

  314.         
  315.         /*
  316.         
  317.         WriteOneData(0x01,0x00);           
  318.         WriteOneData(0x02,0x00);           
  319.         WriteOneData(0x03,0x00);           
  320.         WriteOneData(0x04,0x00);           
  321.         WriteOneData(0x05,0x00);           
  322.         WriteOneData(0x06,0x00);           
  323.         WriteOneData(0x07,0x00);           
  324.         WriteOneData(0x08,0x00);           
  325.         WriteOneData(0x09,0x00);           
  326.         WriteOneData(0x0a,0x00);
  327.         
  328.         
  329.         
  330.         
  331.         
  332.         

  333.         WriteOneData(0x11,0x00);           
  334.         WriteOneData(0x12,0x00);           
  335.         WriteOneData(0x13,0x00);           
  336.         WriteOneData(0x14,0x00);           
  337.         WriteOneData(0x15,0x00);           
  338.         WriteOneData(0x16,0x00);           
  339.         WriteOneData(0x17,0x00);           
  340.         WriteOneData(0x18,0x00);           
  341.         WriteOneData(0x19,0x00);           
  342.         WriteOneData(0x1a,0x00);           
  343.         WriteOneData(0x1b,0x00);           
  344.         WriteOneData(0x1c,0x00);           
  345.         WriteOneData(0x1d,0x00);           
  346.         WriteOneData(0x1e,0x00);           
  347.         WriteOneData(0x1f,0x00);           
  348.         WriteOneData(0x20,0x00);           
  349.         WriteOneData(0x21,0x00);           
  350.         WriteOneData(0x22,0x00);           
  351.         WriteOneData(0x23,0x00);           
  352.         WriteOneData(0x24,0x00);           
  353.         WriteOneData(0x25,0x00);           
  354.         WriteOneData(0x26,0x00);           
  355.         
  356.         
  357.         */




  358. /*


  359.         //101  001110   0001 1100
  360.          //WriteOneData(0x0a,0x0d);
  361.         
  362.         //WriteOneData(0x0d,0x0f);
  363.         

  364. //        WriteOneData(0x10,0x02);          //LCD SEG10到SEG21顯示0~5
  365.         
  366.         
  367.         // WriteOneData(0x0b,0x00);
  368.         // WriteOneData(0x0c,0x08);
  369.         
  370.         
  371. //         WriteOneData(0x0d,0x00);
  372. //         WriteOneData(0x0e,0x0a);
  373.         

  374.         //WriteOneData(0x0b, 0x00);
  375.         //WriteOneData(0x0A, 0x05);
  376.         //WriteOneData(0x0b, 0x0b);
  377.                         //WriteOneData(0x0f, 0x04);
  378.         //WriteOneData(0x09, 0x01);
  379.         //        WriteOneData(0x09, 0x0b);                                                                                                               
  380.                                                                                                 
  381.         //        WriteOneData(0x0b, 0x0b);                                                                                                               
  382.         //        WriteOneData(0x0c, 0x0b);                                                                                                               

  383. //WriteOneData(0x09, 0x0d);               
  384.         //WriteOneData(0x0f, 0x02);        
  385.         
  386.         //ping1621();
  387.          //

  388.         
  389.         
  390.         
  391.         
  392.         
  393.         
  394. //WriteOneData(0x0e, 0x02);               
  395. //WriteOneData(0x0e, 0x04);               
  396. //WriteOneData(0x09, 0x0d);               


  397. //WriteAllData(0x09,Smg,1);         //LCD清顯存

  398.         
  399.         //Clear1621();
  400.         
  401.                         //WriteOneData(0x0f,0x08);
  402. //        WriteOneData(0x09, 0x05);
  403.         
  404. */





復制代碼


LCD驅動芯片TM1621D『官方最新規格書』.pdf (1.98 MB, 下載次數: 0) 規格書



lCdstc32GGGGGGGGGGGG.rar (63.12 KB, 下載次數: 0) 絕對通過的源碼

評分

參與人數 2黑幣 +85 收起 理由
STC莊偉 + 5 很給力!
admin + 80 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:1038987 發表于 2024-11-24 15:25 | 只看該作者
謝謝老大認可
回復

使用道具 舉報

板凳
ID:468878 發表于 2024-11-25 10:35 | 只看該作者
資料挺好的。認真看了一下。給樓主提個小建議,要提高一下文字表述的水平。很多語句寫得不通順,語義表達也不是很到位,有點影響閱讀。
很多工程師不注重文字表達,結果在項目溝通、個人知識產權保護、推廣方面都會吃虧。好東西不能光靠嘴說,需要形成規范的文件材料,才能更好地把技術交流出去。
回復

使用道具 舉報

地板
ID:1038987 發表于 2024-12-26 12:57 | 只看該作者
rsx9583 發表于 2024-11-25 10:35
資料挺好的。認真看了一下。給樓主提個小建議,要提高一下文字表述的水平。很多語句寫得不通順,語義表達也 ...

非常感謝。的確很多時候表達不好。平時基本不說話的。把精力多用到了研究東西上了。這個研究了小兩個月。真是太感慨了。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本午夜免费福利视频 | 久久久久久国模大尺度人体 | 欧美一区视频 | 91精品国产91久久久久福利 | 久久免费视频网 | 久久看片| 中文字幕1区| 国产精品久久久久久久久久久久久 | 九热在线 | 欧美午夜精品 | 日韩一区二区在线观看视频 | 久久久涩 | 色香蕉在线 | 欧美精品一区二区蜜桃 | 国产中文 | 99精品热视频| 成人av一区二区三区 | 国内精品久久影院 | 国产色在线| 欧美黄色小视频 | 日本福利视频免费观看 | 男女视频91 | 日韩成人高清 | 亚洲一区二区三区在线免费 | 视频三区| 日本黄色高清视频 | 精品一区二区三区免费毛片 | 欧美一区免费在线观看 | www国产成人免费观看视频 | 成人av资源在线 | 久久精品国产免费高清 | 亚洲欧美日本在线 | 国产aⅴ爽av久久久久久久 | 欧美性成人| 久久久久久国产 | 精品在线一区 | 久久久69 | 日韩久久综合网 | 久色网| 狠狠的干狠狠的操 | 成人免费视频网站 |