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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 18879|回復: 39
收起左側

STM8S USB電壓電流表制作 12864顯示附單片機源碼

  [復制鏈接]
ID:433101 發表于 2018-11-25 22:20 | 顯示全部樓層 |閱讀模式
附件是別的大神設計制作的   我只是做分享。
STM8S003F3P6(常用的ST7565驅動)12864USB電壓電流表

之前看到sabaka發的帖子“STM8S003F3表頭自校準版”,正好在 學習STM8S003F3P6,加上之前手頭有廢棄的U盾,已參考網上帖子成功點亮其中的ST7565 12864LCD屏,就 想著利用這12864屏來做這個USB電壓電流表。原帖采用1602顯示,經過一番摸索改寫ST7565驅動,略微調整源程序,終于完成了這個試驗品。

先上圖。正面:

背面:

點亮:

帶個USB小臺燈:

改變小臺燈亮度:

使用的U盾(中間長條型的)

拆開的樣子:排線印字FPC11289B-V0.3


試驗品考慮不周,PCB切割飛線,STM8調試接口也沒預留,帶來很多麻煩,LCD屏接口線也只好飛線連接。下面提供經修改改善的PCB工程和IAR源程序工程供大家參考。程序中電量統計只畫了界面,計算部分未加入。

電路圖:

PCB:打算12864LCD屏單獨一層PCB,2層疊放,有空再做一個。


附件:



另手頭還有2種U盾,屏幕都不一樣,其中一種背光與屏幕一體的,排線印字12864-898  A4-A, FPC-9的接口,只用到7根線,適合做個模塊使用。

根據原電路大致測出接口如下,也不知道對不對。

1、9空,2、3接背光LED,7接3.3V電源,8接GND,4、5、6接MCU,功能不明。LCD控制IC不明,猜測是否也是ST7565?三線SPI模式?              期待高手搞定


單片機源程序如下:

  1. <font style="font-size: 14px">#include <iostm8s103f2.h>
  2. #include "ST7565_12864.h"
  3. #include "ziku.h"
  4. #define uchar  unsigned char
  5. #define uint   unsigned int
  6. #define KEY PA_IDR_IDR3    //PA 的第3位做KEY

  7. void EEP_Init(void)  //EEPROM初始化        
  8. {
  9.   FLASH_CR1  = 0x00;
  10.   FLASH_CR2  = 0x00;
  11.   FLASH_NCR2 = 0xFF;
  12.   FLASH_DUKR = 0xae;          //寫入第一個秘鑰
  13.   FLASH_DUKR = 0x56;          //寫入第二個秘鑰
  14.   while(!(FLASH_IAPSR&0x08)); //等待就緒
  15. }
  16. void EEP_W(uchar addr,float data) //寫EEPROM
  17. {
  18.   float *p;
  19.   p=(float *)(0x4000+addr);
  20.   *p=data;
  21.   while(!(FLASH_IAPSR&0x04)); //等待完成
  22. }
  23. float EEP_R(uchar addr)  //讀EEPROM
  24. {
  25.   float *p;
  26.   p=(float *)(0x4000+addr);
  27.   return *p;
  28. }

  29. void Hellow(void)     //初始屏幕
  30. {
  31.     ClearScreen();    //清除屏幕
  32.     DisplayFont(2, 8+4, FONT_8X16,19);  //U
  33.     DisplayFont(2, 16+4, FONT_8X16,17); //S
  34.     DisplayFont(2, 24+4, FONT_8X16,14); //B
  35.     DisplayFont(2, 32+4, FONT_16X16,0);//電
  36.     DisplayFont(2, 48+4, FONT_16X16,1);//壓
  37.     DisplayFont(2, 64+4, FONT_16X16,0);//電
  38.     DisplayFont(2, 80+4, FONT_16X16,2);//流
  39.     DisplayFont(2, 96+4, FONT_16X16,3);//表
  40.     DisplayFont(5, 40+4, FONT_16X16,9);//丑
  41.     DisplayFont(5, 56+4, FONT_16X16,10);//孩
  42. }

  43. void ADC_Init(void)
  44. {
  45.     ADC_CR1  = 0x20;       //分頻系數為4 單次轉換模式 先不啟動ADC轉換      
  46.     ADC_CR2  = 0x00;       //非外部觸發  數據左對齊   禁止掃描模式   
  47.     ADC_CSR  = 0x03;       //禁止轉換結束中斷 設置轉換通道為AIN3
  48.     ADC_TDRL|= 0x60;      //禁止AIN5AIN6施密特觸發器功能  
  49. }


  50. uint Get_Adc(uchar ac)           //獲取adc值
  51. {
  52.         uint Value;
  53.         ADC_CSR  = ac;                 //選擇通道
  54.     ADC_CR1 |= 0x01;       //第一次寫1是從低功耗模式喚醒
  55.         ADC_CSR &= ~0x80;              //清除轉換標志
  56.         ADC_CR1 |= 0x01;               //開始轉換
  57.         while(!(0x80&ADC_CSR));        //等待轉換完成
  58.         Value  = (uint) ADC_DRH;       //取高8位
  59.         Value  = Value<<2;             //左移兩位
  60.         Value += ADC_DRL;              //取低兩位
  61.         return(Value);                 //返回adc值
  62. }
  63. float Ad_Av(uchar ac)       //采樣400次求平均
  64. {
  65.         float Val_Av=0;                     
  66.         uint num;                           
  67.         for(num=0;num<400;num++)  
  68.         {
  69.                 Val_Av += Get_Adc(ac);               
  70.         }
  71.         Val_Av = Val_Av/400;                    
  72.         return(Val_Av);                       
  73. }


  74. void Write_Lcd0(void)    //固定顯示底板發去LCD
  75. {
  76.     DisplayFont(0, 8+4, FONT_16X16,0);    //電
  77.     DisplayFont(0, 24+4, FONT_16X16,1);   //壓
  78.     DisplayFont(0, 40+4, FONT_8X16,12);   //:
  79.     DisplayFont(0, 112+4, FONT_8X16,20);  //V
  80.     DisplayFont(2, 8+4, FONT_16X16,0);    //電
  81.     DisplayFont(2, 24+4, FONT_16X16,2);   //流
  82.     DisplayFont(2, 40+4, FONT_8X16,12);   //:
  83.     DisplayFont(2, 112+4, FONT_8X16,13);  //A
  84.     DisplayFont(4, 8+4, FONT_16X16,4);    //功
  85.     DisplayFont(4, 24+4, FONT_16X16,5);   //率  
  86.     DisplayFont(4, 40+4, FONT_8X16,12);   //:
  87.     DisplayFont(4, 104+4, FONT_16X16,11);  //W
  88.     DisplayFont(6, 8+4, FONT_16X16,14);    //容
  89.     DisplayFont(6, 24+4, FONT_16X16,15);   //量
  90.     DisplayFont(6, 40+4, FONT_8X16,12);   //:
  91.     DisplayFont(6, 96+4, FONT_8X16,22);  //m
  92.     DisplayFont(6, 104+4, FONT_8X16,13);  //A
  93.     DisplayFont(6, 112+4, FONT_8X16,15);  //H
  94. //    DisplayFont(6, 104+4, FONT_16X16,12);  //Ω
  95. }
  96.    
  97. void Write_Lcd1(int ad,uchar xl,uchar yl)//把電壓電阻功率發去LCD,ad采集數值,xl yl顯示位置
  98. {
  99.         if(ad/1000>=1)                         //電壓如果不足10V,就把1位顯示為空
  100.         {
  101.         DisplayFont(xl,yl+4, FONT_8X16,ad/1000);      //十位
  102.     }
  103.     else  DisplayFont(xl,yl+4,FONT_8X16,10);         //空格
  104.         DisplayFont(xl,yl+8+4, FONT_8X16,(ad%1000)/100);  //個位
  105.         DisplayFont(xl,yl+16+4, FONT_8X16,11);           //"."小數點
  106.         DisplayFont(xl,yl+24+4, FONT_8X16,ad%100/10);    //十分位
  107.         DisplayFont(xl,yl+32+4, FONT_8X16,ad%10);        //百分位
  108. }

  109. void Write_Lcd2(int ad,uchar xl,uchar yl) //把電流值發去LCD
  110. {
  111.     DisplayFont(xl,yl+4, FONT_8X16,ad/1000);       //個位
  112.     DisplayFont(xl,yl+8+4, FONT_8X16,11);           //"."小數點
  113.     DisplayFont(xl,yl+16+4, FONT_8X16,ad%1000/100);  //十分位
  114.     DisplayFont(xl,yl+24+4, FONT_8X16,ad%100/10);    //百分位
  115.     DisplayFont(xl,yl+32+4, FONT_8X16,ad%10);          //千分位
  116. }

  117. void Write_Lcd3(int ad,uchar xl,uchar yl) //把容量值發去LCD
  118. {
  119.     DisplayFont(xl,yl+4, FONT_8X16,ad/10000);       //萬位
  120.     DisplayFont(xl,yl+8+4, FONT_8X16,ad%10000/1000); //千位
  121.     DisplayFont(xl,yl+16+4, FONT_8X16,ad%1000/100);  //百位
  122.     DisplayFont(xl,yl+24+4, FONT_8X16,ad%100/10);    //十位
  123.     DisplayFont(xl,yl+32+4, FONT_8X16,ad%10);          //個位
  124. }




  125. void Correct(void)         //校準
  126. {
  127.         float V2,Iov,I1,I2,I3,AIN7;
  128.         uchar a,flag;
  129.     ClearScreen();    //清除屏幕
  130.     DisplayFont(1, 48+4, FONT_16X16,7);    //校
  131.     DisplayFont(1, 64+4, FONT_16X16,8);   //準
  132.     DisplayFont(4, 8+4, FONT_8X16,16);   //I
  133.     DisplayFont(4, 16+4, FONT_8X16,23);  //n
  134.     DisplayFont(4, 24+4, FONT_8X16,24);   //p
  135.     DisplayFont(4, 32+4, FONT_8X16,26);  //u
  136.     DisplayFont(4, 40+4, FONT_8X16,25);  //t
  137.     DisplayFont(4, 48+4, FONT_8X16,12);   //:
  138.    
  139.     DisplayFont(4, 64+4, FONT_8X16,10);   //空格
  140.     DisplayFont(4, 72+4, FONT_8X16,10);   //空格
  141.     DisplayFont(4, 80+4, FONT_8X16,10);  //空格
  142.     DisplayFont(4, 88+4, FONT_8X16,5);  //5
  143.     DisplayFont(4, 96+4, FONT_8X16,10);   //空格
  144.     DisplayFont(4, 104+4, FONT_8X16,20);   //V

  145.     Delay(40);               
  146.         flag=1;
  147.         while(flag)
  148.   {
  149.                 if(!KEY)
  150.           {
  151.                         Delay1(20);
  152.                         if(KEY)
  153.                         {
  154.                           AIN7 = Ad_Av(7);     //取得基準的ADC數值
  155.                     V2   = Ad_Av(5);         //取得校準電壓的ADC數值
  156.                           V2   = V2*10/AIN7;   //????
  157. //                          V2   = V2/AIN7;   //????
  158.                           EEP_W(0x04,V2);
  159.               flag = 0;
  160.                         }
  161.           }
  162.         }
  163.   for(a=0;a<16;a++)
  164.         {
  165.         DisplayFont(4, 64+4, FONT_8X16,10);   //空格
  166.         DisplayFont(4, 72+4, FONT_8X16,10);   //空格
  167.         DisplayFont(4, 80+4, FONT_8X16,10);  //空格
  168.         DisplayFont(4, 88+4, FONT_8X16,0);  //0
  169.         DisplayFont(4, 96+4, FONT_8X16,22);   //m
  170.         DisplayFont(4, 104+4, FONT_8X16,13);   //A
  171.                 Delay(40);               
  172.         }
  173.         flag=1;
  174.         while(flag)
  175.   {
  176.                 if(!KEY)
  177.           {
  178.                         Delay1(20);
  179.                         if(KEY)
  180.                         {
  181.                     Iov  = Ad_Av(6);
  182.                                 EEP_W(0x10,Iov);
  183.               flag = 0;
  184.                         }
  185.           }
  186.         }
  187.   for(a=0;a<16;a++)
  188.         {
  189.         DisplayFont(4, 64+4, FONT_8X16,10);   //空格
  190.         DisplayFont(4, 72+4, FONT_8X16,1);   //1
  191.         DisplayFont(4, 80+4, FONT_8X16,0);  //0
  192.         DisplayFont(4, 88+4, FONT_8X16,0);  //0
  193.         DisplayFont(4, 96+4, FONT_8X16,22);   //m
  194.         DisplayFont(4, 104+4, FONT_8X16,13);   //A
  195.                 Delay(40);               
  196.         }
  197.         flag=1;
  198.         while(flag)
  199.   {
  200.                 if(!KEY)
  201.           {
  202.                         Delay1(20);
  203.                         if(KEY)
  204.                         {
  205.                           AIN7 = Ad_Av(7);
  206.                     I1   = Ad_Av(6);
  207.                           I1   = (I1-Iov)/AIN7;
  208.                           EEP_W(0x08,I1);
  209.               flag = 0;
  210.                         }
  211.           }
  212.         }
  213.   for(a=0;a<16;a++)
  214.         {
  215.         DisplayFont(4, 64+4, FONT_8X16,1);   //1
  216.         DisplayFont(4, 72+4, FONT_8X16,0);   //0
  217.         DisplayFont(4, 80+4, FONT_8X16,0);  //0
  218.         DisplayFont(4, 88+4, FONT_8X16,0);  //0
  219.         DisplayFont(4, 96+4, FONT_8X16,22);   //m
  220.         DisplayFont(4, 104+4, FONT_8X16,13);   //A
  221.                 Delay(40);               
  222.         }
  223.         flag=1;
  224.         while(flag)
  225.   {
  226.                 if(!KEY)
  227.           {
  228.                         Delay1(20);
  229.                         if(KEY)
  230.                         {
  231.                           AIN7 = Ad_Av(7);
  232.                     I2   = Ad_Av(6);
  233.                           I2   = (I2-Iov)/AIN7;
  234.                           EEP_W(0x0c,I2);
  235.               flag = 0;
  236.                         }
  237.           }
  238.         }
  239.   for(a=0;a<16;a++)
  240.         {
  241.         DisplayFont(4, 64+4, FONT_8X16,3);   //3
  242.         DisplayFont(4, 72+4, FONT_8X16,0);   //0
  243.         DisplayFont(4, 80+4, FONT_8X16,0);  //0
  244.         DisplayFont(4, 88+4, FONT_8X16,0);  //0
  245.         DisplayFont(4, 96+4, FONT_8X16,22);   //m
  246.         DisplayFont(4, 104+4, FONT_8X16,13);   //A
  247.                 Delay(40);               
  248.         }
  249.         flag=1;
  250.         while(flag)
  251.   {
  252.                 if(!KEY)
  253.           {
  254.                         Delay1(20);
  255.                         if(KEY)
  256.                         {
  257.                           AIN7 = Ad_Av(7);
  258.                     I3   = Ad_Av(6);
  259.                           I3   = (I3-Iov)/AIN7;
  260.                           EEP_W(0x14,I3);
  261.               flag = 0;
  262.                         }
  263.           }
  264.         }
  265. }
  266. void main() //主函數
  267. {
  268.         float V,V2,I,I1,I2,I3,Iov,AIN7,R,W;
  269.         CLK_CKDIVR=0x00;
  270.         //Delay(1000);
  271.         GPIO_Init();
  272.     ADC_Init();
  273.         EEP_Init();
  274.         Lcd_Init();
  275.         Hellow();
  276.         Delay1(800);
  277.         while(!KEY)
  278.         {
  279.                 Delay1(10);
  280.                 if(KEY)
  281.         Correct();
  282.     }
  283.         V2  = EEP_R(0x04);      //對應5V
  284.         I1  = EEP_R(0x08);      //對應100MA  電流校正值
  285.         I2  = EEP_R(0x0c);      //對應1000MA   電流校正值
  286.         Iov = EEP_R(0x10);      //對應0MA  電流校正值
  287.         I3  = EEP_R(0x14);      //對應3000MA   電流校正值
  288.     ClearScreen();    //清除屏幕
  289.         while(1)
  290.         {
  291.         Write_Lcd0();                 //顯示固定底版
  292.         AIN7 = Ad_Av(7);              //通道7為內部參考電壓
  293.                    I = Ad_Av(6);               //通道6電流采樣
  294.                    V = Ad_Av(5);                                 //通道5電壓采樣
  295.                 if(V>1)
  296.                 {
  297.             V = V/AIN7/V2*5069;          //5V校正時輸入5.069V
  298.                 }
  299.                 else
  300.                 {
  301.                         V = 0;
  302.                 }
  303.                 if((I-Iov)>0 & (I/AIN7)<=I1*2)        //計算電流
  304.             I = (I-Iov)/AIN7/I1*100;
  305.                 else if((I/AIN7)>I1*2 & (I/AIN7)<=I2*2)
  306.                     I = (I-Iov)/AIN7/I2*1000;
  307.                 else
  308.                     I = (I-Iov)/AIN7/I3*3000;
  309.                 R = V/I;                 //計算電阻
  310.                 W = V*I/1000;       //計算功率
  311.                 Delay1(5);
  312.                 Write_Lcd1((int)V,0,56);    //寫入電壓
  313.                 Write_Lcd2((int)I,2,64);    //電流
  314. /*
  315.                 if(I<1)
  316.                 {
  317.                         Write_Lcd1(0,4,64);      //寫入電阻
  318.                 }
  319.                 else
  320.                 {
  321.                         Write_Lcd1((int)R,4,64); //電阻。
  322.                 }
  323. */
  324.                 Write_Lcd1((int)W,4,56);    //功率
  325.                 Write_Lcd3(0,6,56);         //容量
  326.                 Delay1(400);
  327.     }
  328. }
  329. </font>
復制代碼
0.png



所有資料51hei提供下載:

STM8S USB電壓電流表.zip (3.26 MB, 下載次數: 457)

評分

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

查看全部評分

回復

使用道具 舉報

ID:433219 發表于 2018-11-26 10:03 | 顯示全部樓層
膜拜大神,stm8玩出花來了,,不過就是mcu貴了點
回復

使用道具 舉報

ID:426296 發表于 2018-11-26 21:20 | 顯示全部樓層
不錯,很好,謝謝分享
回復

使用道具 舉報

ID:437372 發表于 2018-12-1 21:29 | 顯示全部樓層
膜拜大神,stm8玩出花來了,,
回復

使用道具 舉報

ID:437372 發表于 2018-12-1 21:38 | 顯示全部樓層
不錯,很好,謝謝分享
回復

使用道具 舉報

ID:251455 發表于 2018-12-5 10:47 | 顯示全部樓層
我家里好像也扔著這樣一個U盾,這下有事做了
回復

使用道具 舉報

ID:72181 發表于 2019-2-8 21:18 | 顯示全部樓層
下載研究一下。。。。。
回復

使用道具 舉報

ID:404240 發表于 2019-2-10 22:31 | 顯示全部樓層
好厲害
回復

使用道具 舉報

ID:18591 發表于 2019-4-20 14:43 | 顯示全部樓層
看看~~~~~~~~~~~~~
回復

使用道具 舉報

ID:56665 發表于 2019-4-23 18:24 | 顯示全部樓層
不錯,很好,謝謝分享
回復

使用道具 舉報

ID:87000 發表于 2019-4-23 21:38 | 顯示全部樓層
這個可以做著玩玩
回復

使用道具 舉報

ID:60026 發表于 2019-4-28 13:35 | 顯示全部樓層
下載學習一下!謝謝!
回復

使用道具 舉報

ID:56665 發表于 2019-5-21 10:19 | 顯示全部樓層
下載了,謝謝分享!
回復

使用道具 舉報

ID:219544 發表于 2019-6-4 15:10 | 顯示全部樓層
真會玩,學習學習了
回復

使用道具 舉報

ID:308180 發表于 2019-7-8 15:58 | 顯示全部樓層
很棒的設計,正準備做一個太陽能充電流量監測模塊
回復

使用道具 舉報

ID:231727 發表于 2019-10-9 14:44 | 顯示全部樓層
想做一個OLED 12864的
回復

使用道具 舉報

ID:644508 發表于 2019-11-18 19:07 | 顯示全部樓層
想要學習
回復

使用道具 舉報

ID:67041 發表于 2019-12-6 10:32 | 顯示全部樓層
感謝分享。厲害,羨慕呀!向大神靠攏!
回復

使用道具 舉報

ID:283207 發表于 2020-1-11 21:42 | 顯示全部樓層
下載學習,謝謝分享。
回復

使用道具 舉報

ID:681297 發表于 2020-1-11 22:01 | 顯示全部樓層
好東西。
回復

使用道具 舉報

ID:71262 發表于 2020-1-15 14:08 | 顯示全部樓層
很好,謝謝分享!向大神靠攏!
回復

使用道具 舉報

ID:687144 發表于 2020-1-18 14:35 | 顯示全部樓層
學習了,謝謝分享!
回復

使用道具 舉報

ID:662060 發表于 2020-3-16 15:52 | 顯示全部樓層
謝謝提供,學習了!
回復

使用道具 舉報

ID:377382 發表于 2020-4-5 12:22 | 顯示全部樓層
  膜拜大神
回復

使用道具 舉報

ID:523221 發表于 2020-4-10 08:51 | 顯示全部樓層
雙向的嗎?
回復

使用道具 舉報

ID:723157 發表于 2020-4-23 21:23 | 顯示全部樓層

謝謝提供,學習了!
回復

使用道具 舉報

ID:797821 發表于 2020-7-5 16:12 | 顯示全部樓層
謝謝分享!最近在收集這方面的資料自已也是弄個。先學習一下!
回復

使用道具 舉報

ID:233182 發表于 2020-7-7 08:40 | 顯示全部樓層
老弟,做的不錯呀,
回復

使用道具 舉報

ID:662060 發表于 2020-7-10 00:29 | 顯示全部樓層
請教樓主,能否修改為2000V 1mA顯示?
回復

使用道具 舉報

ID:136337 發表于 2020-7-24 19:11 | 顯示全部樓層
用LM358的線性度好嗎
回復

使用道具 舉報

ID:517951 發表于 2020-11-15 17:24 | 顯示全部樓層
不錯,值得學習。51hei有你更精彩。
回復

使用道具 舉報

ID:81138 發表于 2021-1-11 15:33 | 顯示全部樓層
樓主不是一般的
回復

使用道具 舉報

ID:138956 發表于 2021-3-29 18:57 | 顯示全部樓層
做的不錯呀!
回復

使用道具 舉報

ID:991481 發表于 2021-12-13 02:47 | 顯示全部樓層
看看能不能改成 INA219零漂移
回復

使用道具 舉報

ID:797821 發表于 2022-5-7 11:35 | 顯示全部樓層
感謝分享。收下學習,最近剛好在研究
回復

使用道具 舉報

ID:1020703 發表于 2022-5-28 10:40 | 顯示全部樓層
外掛個高位AD做個高精度電壓電流表豈不是很爽
回復

使用道具 舉報

ID:294854 發表于 2023-12-4 22:53 | 顯示全部樓層
謝謝提供,學習了!
回復

使用道具 舉報

ID:1030595 發表于 2023-12-26 14:04 | 顯示全部樓層
U上有lm358,可以在U內,加入mcu制作!
回復

使用道具 舉報

ID:1064915 發表于 2023-12-26 14:50 | 顯示全部樓層
    給個例程,一起玩
回復

使用道具 舉報

ID:43600 發表于 2023-12-28 19:41 | 顯示全部樓層
有意思,謝謝分享。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产人久久人人人人爽 | 久久男人 | 亚洲精品久久久蜜桃网站 | 在线成人免费视频 | 婷婷色国产偷v国产偷v小说 | 日一区二区 | 久久久久资源 | 国产精品视频网 | 欧美性久久| 亚洲电影第三页 | 日本午夜在线视频 | 亚洲精品在 | 免费看黄色国产 | av大片在线观看 | 亚洲精品视频导航 | 日韩a视频 | 日本公妇乱淫xxxⅹ 国产在线不卡 | 福利视频日韩 | 中文在线播放 | 成人欧美在线 | 九九精品在线 | 玖玖精品 | 天天影视网天天综合色在线播放 | 91视频中文 | 成人国产精品 | 在线免费观看成年人视频 | 欧美日韩三区 | 国产精品不卡 | 一区二区三区欧美在线 | 一区二区精品在线 | 91国产视频在线 | 欧美乱码精品一区二区三区 | 综合五月| 涩涩视频网 | 国产精品成人一区二区三区吃奶 | 91视频一88av| 日韩欧美一区在线 | 午夜精品一区二区三区三上悠亚 | 日本欧美国产在线观看 | 黄视频网址 | 久久久久久久久久久国产 |