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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機四位數碼管計時器代碼有嚴重的重影?

  [復制鏈接]
跳轉到指定樓層
樓主
遇到的問題是:
  • 仿真結果運行異常,數碼管不能正常顯示。
  • 燒錄到單片機上之后,顯示結果與仿真也不一致。如圖:


其實昨天寫代碼,仿真結果是正常的,但是有個很嚴重的問題:燒錄到單片機之后:如果四位數碼管全部顯示,那么會有嚴重的重影,每一小段數碼管幾乎都在亮,我嘗試調高延時,結果就是有很嚴重的閃爍,人眼看著很不舒服。 如果只顯示兩位,即秒的部分,那么則不會出現上述問題,所以今天我嘗試重新修改代碼,但是卻連仿真都不正常了,希望各位大神不吝賜教,謝謝。

單片機源程序如下:
  1. #include "reg51.h"
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define DIGIT_O P0//設置P0位數碼管數據輸出端

  6. //定義時分秒變量
  7. uchar timer,seconds,minutes,hours;        
  8. uchar timer,seconds,minutes,hours = 0;

  9. //共陽極數字碼表
  10. uchar code segCode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

  11. //定時器中斷服務程序
  12. void timer0_ISR() interrupt 1 {
  13.     TH0 = 0xee;   // 設置定時初值,一次中斷為5ms
  14.     TL0 = 0x00;
  15.         timer++;
  16.         if(timer==20){                  //到達1s
  17.             seconds++;
  18.             if (seconds == 60) {
  19.                 seconds = 0;
  20.                 minutes++;
  21.         if (minutes == 60) {
  22.             minutes = 0;
  23.             hours++;
  24.         if (hours == 24) {
  25.                 hours = 0;
  26.                     }
  27.                 }
  28.             }
  29.         }        
  30. }
  31. void delay(uint x)   //延時xms
  32. {
  33.         uint i,j;
  34.         for(i=x;i>0;i--)
  35.                 for(j=114;j>0;j--);
  36. }

  37. //初始化硬件
  38. void init()
  39. {
  40.     TMOD = 0x01;  // 定時器0工作在模式1(16位定時器)
  41.     TH0 = 0xee;   // 設置定時初值
  42.     TL0 = 0x00;
  43.     ET0 = 1;      // 允許定時器0中斷
  44.     EA = 1;       // 允許總中斷
  45.     TR0 = 1;      // 啟動定時器0
  46.         seconds=0;
  47.         minutes=0;
  48.         hours=0;   
  49. }
  50. // 顯示時間
  51. void display_time()
  52. {
  53.         DIGIT_O=segCode[seconds/10];
  54.         P3 = 0x01;
  55.         delay(5);

  56.         DIGIT_O=segCode[seconds%10];
  57.         P3 = 0x02;
  58.         delay(5);


  59.         DIGIT_O=segCode[minutes/10];
  60.         P3 = 0x04;
  61.         delay(5);


  62.         DIGIT_O=segCode[minutes%10];
  63.         P3 = 0x08;
  64.         delay(5);

  65.         DIGIT_O=0XFF;

  66. }


  67. void main()
  68. {
  69.         init();
  70.         while(1)
  71.         {        
  72.         display_time();        
  73.    
  74.         }
  75. }
復制代碼

經過修改后的仿真正常: 但是燒錄后數碼管已然異常:


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

使用道具 舉報

來自 29#
ID:1100331 發表于 2023-11-20 18:44 | 只看該作者
經過兩天的努力,所有的問題終于都找出來了,再次感謝所有朋友的熱心幫助,你們分享的話語讓我受益匪淺,現將這次數字鐘實踐中遇到的所有問題羅列如下:
1.沒有消隱。應當遵循 消隱-段選-位選-延時的邏輯
2.位選端的正反邏輯搞錯了。之前使用proteus仿真過程中,數碼管位選為高電平有效,但是今天中午通過拔插位選線各種調試后,發現板子上的這塊數碼管是低電平有效....
3.最最最嚴重的問題:這塊板子的P3口完全是反著來的!我是怎么發現這個問題的,詳見23樓。這塊板子上標的是P3.0,而實際是P3.7;標的是P3.7,實際上是P3.0....因為這個問題,我之前“以為”的P3.0-3.3一直都是輸出高電平,也就是所有位選都生效....在這里痛斥學校的采購
我是因為這個問題才注冊的論壇,切身感受到了朋友們熱情和淵博,再次感謝

7bdc7fd7df47244d50c91aad23687754.jpg (2.98 MB, 下載次數: 73)

7bdc7fd7df47244d50c91aad23687754.jpg
回復

使用道具 舉報

35#
ID:332444 發表于 2023-11-21 10:46 | 只看該作者
借助這帖就說說阻塞與查詢延時的轉換,把代碼if(++sy==0)修改while(++sy)就是阻塞延時,阻塞延時放前后都可以.
回復

使用道具 舉報

34#
ID:1100331 發表于 2023-11-21 00:06 | 只看該作者
鵜鶘 發表于 2023-11-20 15:53
你這個程序實際上是兩個錯誤,第一個是我12樓說的那個,第二個我昨天晚上沒看出來。第一個錯誤會導致這個計 ...

謝謝你,目前所有的問題已經解決。確實有位選碼(顯示掩碼)邏輯顛倒的問題。詳情見我最新的置頂樓。
另外,我的中斷函數里除了”timer==20“這一句有錯誤,也忘了令timer=0;所以后來無論怎么改timer都不影響速度(因為都是從0到255再到0)(哭笑)
回復

使用道具 舉報

33#
ID:1100331 發表于 2023-11-20 18:54 | 只看該作者
yzwzfyz 發表于 2023-11-20 09:32
"掃屏顯示的切換應當用最少的指令完成,在不多于8個LED的情況下:三條指令即可完成,對于STC的單片機,10us ...

謝謝你的分享。你講的這個技巧看起來很驚艷,我會下來仔細琢磨并實踐的
回復

使用道具 舉報

32#
ID:1100331 發表于 2023-11-20 18:51 | 只看該作者
ydatou 發表于 2023-11-20 09:09
仿真結果和實驗結果應該相差不大。
這種現象表示仿真模型和實驗硬件不符。

問題已經解決了,您說得真對,確實是硬件有一些問題沒注意到或者是沒法注意到(哭笑)
回復

使用道具 舉報

31#
ID:1100331 發表于 2023-11-20 18:48 | 只看該作者
tyrl800 發表于 2023-11-20 08:31
你這個消隱程序錯了,改成P3=0xff,你應該把電路板原理圖發上來才能解決下載后的問題

謝謝你的回復,消隱程序正反邏輯顛倒確實是問題之一
回復

使用道具 舉報

30#
ID:1100331 發表于 2023-11-20 18:46 | 只看該作者
tyrl800 發表于 2023-11-19 19:49
板子與仿真原理圖肯定不一樣才這樣

謝謝你的回復,我已經解決了這個問題。板子與仿真原理圖不一致確實是問題之一
回復

使用道具 舉報

28#
ID:397054 發表于 2023-11-20 15:53 | 只看該作者
你這個程序實際上是兩個錯誤,第一個是我12樓說的那個,第二個我昨天晚上沒看出來。第一個錯誤會導致這個計時器快10倍,我以為你所說的“重影”實際是走的快引起來顯示8的原因,但早上起來我想想即使快10倍也不至于引起“重影”現象,即充其量秒的個位會因為變化快看起來像8,其他的就不會了,秒的10位肯定看得清楚因為快10倍也就是1秒一變,分鐘就更加不會了。中午吃完飯沒事就把你的程序復制下來稍加修改適合我的板子,上電一看果然4個8字,但憑經驗看明顯的不是因為跳變快引起的,這跟我前一段時間碰到的一個故障非常像,因為有這個經驗仔細看了一下你的有關顯示的代碼,看出了問題所在,跟我的那個故障的原因雖然不完全一樣,但現象確實會很像——是你把顯示掩碼(顯示掩碼,很多書上稱為“位碼”)的正負邏輯弄顛倒了,你的顯示掩碼電路肯定是負邏輯,一般的都是,而你把它當正邏輯來處理了,即display_time()函數中P3=,,,那4行右面是正邏輯01、02、04、08,這樣該亮的不亮不該亮的3個同時亮,這么個掃描循環當然就亂七八糟了,所以正確的數值應該是這4個數的反碼才對,或者你把他們的反碼替代他們比如FE替代01等或者懶得算的話就在每個數字前面加個非號“~”即可。

之所以兩個數碼管時正常,那是假象,是因為只有兩個數碼管,它仍然遵循該亮的不亮其它都亮的規則,但這時的“其它”只有1個了,所以看上去就正常了,但這時,兩位是顛倒的,即秒的10位顯示的是個位數值,而個位顯示的是十位。

第一個錯誤也要改否則的話根本就談不上準確,且錯誤還不止那一句,雖然都是同一個錯誤。
回復

使用道具 舉報

27#
ID:34149 發表于 2023-11-20 15:17 | 只看該作者
你的位驅動是I0口直接驅動嗎?
沒有原理圖,確實挺難幫你分析的
回復

使用道具 舉報

26#
ID:57657 發表于 2023-11-20 14:18 | 只看該作者
51單片機8位并行IO口一組,段碼和位碼不是并行發送的,所以需要消隱,16位以上不需要,新的位碼送出去了,段碼還是舊的,所以就出現影子了。
回復

使用道具 舉報

25#
ID:1073939 發表于 2023-11-20 14:00 | 只看該作者
小小小初學者 發表于 2023-11-20 13:26
謝謝各位的回復,學業繁忙,我等晚上或者明天再一一回復。不過目前我越來越感覺問題不是代碼,而是板子。因 ...

把板子的原理圖發出來。
回復

使用道具 舉報

24#
ID:1100331 發表于 2023-11-20 13:30 | 只看該作者
這個是老師發的原理圖,單片機型號是STC 89C51RC

DIY_MCU_51_REV1.0(2015.11.06)原理圖.pdf

1.08 MB, 下載次數: 3

回復

使用道具 舉報

23#
ID:1100331 發表于 2023-11-20 13:26 | 只看該作者
謝謝各位的回復,學業繁忙,我等晚上或者明天再一一回復。不過目前我越來越感覺問題不是代碼,而是板子。因為我只保留輸出秒個位的代碼后,在調試中,拔掉了四個位選線。接下來按道理,其中只有一個位選線能讓對應的數碼管閃亮,但實際情況是:每條位選線都能讓數碼管閃亮
這可能意味著位選線4個端總是0xff!!(即讓數碼管生效)
我換了我兩個舍友的板子重新燒,結果是一樣的,感覺同時焊錯的可能性比較小....

回復

使用道具 舉報

22#
ID:332444 發表于 2023-11-20 10:39 | 只看該作者
忘記打括號了,加的要括號,或者刪除+(ls==8||ls==32?SmZiFu[10]:0)加小數點,另外6位的話刪除最后2位即64和128,修改條件 if(ls==0||ls==32)
回復

使用道具 舉報

21#
ID:272119 發表于 2023-11-20 10:10 | 只看該作者
應該很好調試的,我沒有仔細看樓主的程序只看了圖片,如果不是消隱反向的話,建議樓主先不要忙那么多位顯示,首先調試最后一位顯示1->9正常后輻射4位就簡單的多,如果連一位都不能正常顯示那仔細磨驅動代碼吧.
回復

使用道具 舉報

20#
ID:332444 發表于 2023-11-20 09:39 | 只看該作者
數碼管動態驅動是最基本的,它的原則:消隱-送段值-送位值-延時,按這樣的順序執行和編寫代碼.
看仿真圖片數碼管應該是共陽,我這里有個簡單的荔枝,顯示固定的日期小數點分割,修改了一下,仿真和下載開發板試看.
  1. #include "reg52.h"
  2. unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,128,0};//共陰0-9.
  3. void main()
  4. {
  5.         unsigned char sy=0,my=0,ls=0;
  6.         while(1)
  7.         {
  8.                 if(++sy==0)
  9.                 {
  10.                         P0=255;P3=0;
  11.                         if(ls==0||ls==8)ls=1;else ls*=2;//控制4位數碼管顯示
  12.                         P0=255-(SmZiFu[ls==1?2
  13.                         :ls==2?0
  14.                         :ls==4?2
  15.                         :ls==8?3
  16.                         :ls==16?1
  17.                         :ls==32?1
  18.                         :ls==64?0
  19.                         :ls==128?7
  20.                         :11]+(ls==8||ls==32?SmZiFu[10]:0));
  21.                         P3=ls;
  22.                 }
  23.         }
  24. }
復制代碼



回復

使用道具 舉報

19#
ID:123289 發表于 2023-11-20 09:32 | 只看該作者
"掃屏顯示的切換應當用最少的指令完成,在不多于8個LED的情況下:三條指令即可完成,對于STC的單片機,10us不到就完成了,例:8個LED哪個亮(位選)受P1控制,顯示什么內容(段碼)由P0決定。
要點:技巧如下!!!
先將哪個LED需要亮的參數事先準備好,放在:P1_OUT變量中,同樣將這個LED需要顯示的段碼放在P0_OUT中。【這個做法最關鍵,不要直接切換操作P0、P1口,而是通過這兩個變量來操作。原因是,無論你用多長時間對P1_OUT、P0_OUT進行操作,操作期間,顯示不受影響。】
切換:
第一條指令:關斷所有顯示:P1=FFH              ;關閉所有顯示
第二條指令:切換LED段碼:P0=P0_OUT         ;這時顯示已關,切換不會有殘留,重影,閃爍了。
第三條指令:更新顯示的LED管:P1=P1_OUT  ;點亮需要顯示的LED,例如:11101111B
【這個做法是最優秀的掃描顯示切換方法,用時最短,最合理,沒有之二!!!】
重復一下關鍵點:事先處理準備好變量P1_OUT、P0_OUT的值。"
回復

使用道具 舉報

18#
ID:1073939 發表于 2023-11-20 09:09 | 只看該作者
仿真結果和實驗結果應該相差不大。
這種現象表示仿真模型和實驗硬件不符。
回復

使用道具 舉報

17#
ID:275826 發表于 2023-11-20 08:31 | 只看該作者
小小小初學者 發表于 2023-11-19 21:41
你好,謝謝你的回復,首先我很抱歉我的敘述可能有些混亂,因為這東西搞得我有些焦頭爛額。接下來我來回復 ...

你這個消隱程序錯了,改成P3=0xff,你應該把電路板原理圖發上來才能解決下載后的問題
回復

使用道具 舉報

16#
ID:1100331 發表于 2023-11-19 21:41 | 只看該作者
鵜鶘 發表于 2023-11-19 20:30
我根本就沒法理解你的敘述,牛頭不對馬嘴的,數碼管如何重影呢,它要么亮要么就不亮,總是清晰的,它就是個 ...

你好,謝謝你的回復,首先我很抱歉我的敘述可能有些混亂,因為這東西搞得我有些焦頭爛額。接下來我來回復你的質疑:
1.重影或者說殘影,這個是我最原本代碼確實存在的問題,因為沒有消影。這個問題在大家的幫助下解決了。現在在仿真上是一切正常的。
2.我在1樓說的現象是真實的,只不過造成那個現象的代碼和我在9樓說的現象所使用的代碼相比,做了很多修改,兩者代碼不一樣,現象也不一樣,不是一回事。
現在的問題是,即時添加了消影,數碼管仍然不能正確顯示(大部分時間是8,9這種多個段接通的數字)。
我嘗試在代碼中刪除顯示分鐘的,保留顯示秒鐘的,那么燒錄到機子后,將有這樣的現象:顯示秒鐘的兩位正常顯示,分鐘位也顯示(代碼中已經刪去顯示分鐘了),并且顯示的是秒鐘兩位個位和十位的疊加
  1. void display_time()
  2. {

  3.         P3=0X00;
  4.         DIGIT_O=segCode[seconds/10];
  5.         P3 = 0x04;
  6.         delay(5);

  7.         P3=0X00;
  8.         DIGIT_O=segCode[seconds%10];
  9.         P3 = 0x08;
  10.         delay(5);
  11. }
復制代碼
回復

使用道具 舉報

15#
ID:213173 發表于 2023-11-19 21:12 | 只看該作者
小小小初學者 發表于 2023-11-19 19:12
為了深究原因,我嘗試把秒的位選代碼刪去,只保留分鐘。發現一個奇怪的現象:在仿真里正常,高兩位數碼管顯 ...


回復

使用道具 舉報

14#
ID:397054 發表于 2023-11-19 20:30 | 只看該作者
我根本就沒法理解你的敘述,牛頭不對馬嘴的,數碼管如何重影呢,它要么亮要么就不亮,總是清晰的,它就是個普通物體怎么個重影法,,,,但根據你的程序看,我知道你說的“重影”是什么意思,只是用這個詞實在是太詞不達意了;而且另一個現象更加不可能,【如果只顯示兩位,即秒的部分,那么則不會出現上述問題,】——這根本不可能,4位都都顯示時,決不會4位都“重影”,左面兩位不“重影”,右面的兩位才“重影”,右面的是秒,而你偏偏說秒正常,這完全不可能 。。。。。
回復

使用道具 舉報

13#
ID:397054 發表于 2023-11-19 19:58 | 只看該作者
消隱并不重要,display_time函數中沒有最后一行也不致引起很大的影響,幾乎看不出來。
回復

使用道具 舉報

12#
ID:397054 發表于 2023-11-19 19:54 | 只看該作者
把這行語句多看幾遍,直到看出問題來:

if(timer==20){                  //到達1s
回復

使用道具 舉報

11#
ID:275826 發表于 2023-11-19 19:49 | 只看該作者
板子與仿真原理圖肯定不一樣才這樣
回復

使用道具 舉報

10#
ID:36322 發表于 2023-11-19 19:26 | 只看該作者

P3 = 0x00;
DIGIT_O=segCode[seconds/10];
P3 = 0x01;
delay(5);

延時可適當加長
回復

使用道具 舉報

9#
ID:1100331 發表于 2023-11-19 19:12 | 只看該作者
為了深究原因,我嘗試把秒的位選代碼刪去,只保留分鐘。發現一個奇怪的現象:在仿真里正常,高兩位數碼管顯示分鐘,低兩位不顯示。但是燒錄到板子后:高兩位顯示分鐘,低兩位卻也有顯示,并且顯示的是高兩位的重疊。啊啊啊頭大

{16BD196F-7A3B-41e3-9680-5BD1BEDF8D9C}.png (61.45 KB, 下載次數: 40)

{16BD196F-7A3B-41e3-9680-5BD1BEDF8D9C}.png

IMG_20231119_190852.jpg (2.32 MB, 下載次數: 85)

IMG_20231119_190852.jpg

IMG_20231119_191117.jpg (2.72 MB, 下載次數: 85)

IMG_20231119_191117.jpg
回復

使用道具 舉報

8#
ID:1100331 發表于 2023-11-19 18:44 | 只看該作者
謝謝大家的回復,我重新在每個數碼管顯示前都添加了消隱(禁用位選,輸出空段碼兩種方式都嘗試了)
仿真結果均正常,但是燒錄到機子里仍然有重影
回復

使用道具 舉報

7#
ID:1100331 發表于 2023-11-19 18:28 | 只看該作者
Hephaestus 發表于 2023-11-19 16:37
在每條
        DIGIT_O=   ;
前面加上

謝謝,我這樣試了。仿真恢復正常,但是板子仍然有重影好無奈啊
回復

使用道具 舉報

6#
ID:1100331 發表于 2023-11-19 18:26 | 只看該作者
xianfajushi 發表于 2023-11-19 16:09
每個數碼管顯示前都要消隱,是每個。

謝謝,我試了試后仿真沒有問題,但是燒到板子上仍然有重影,不知道是哪的問題了現在(苦),頭大
回復

使用道具 舉報

5#
ID:213173 發表于 2023-11-19 17:57 | 只看該作者
核心問題是動態掃描數碼管沒有消隱。
  1. #include "reg51.h"
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define DIGIT_O P0//設置P0位數碼管數據輸出端

  6. //定義時分秒變量
  7. uchar timer,seconds,minutes,hours;        
  8. uchar timer,seconds,minutes,hours = 0;

  9. //共陽極數字碼表
  10. uchar code segCode[]={
  11.                 0xc0,0xf9,0xa4,0xb0,
  12.                 0x99,0x92,0x82,0xf8,
  13.                 0x80,0x90,0x88,0x83,
  14.                 0xc6,0xa1,0x86,0x8e};
  15. //定時器中斷服務程序
  16. void timer0_ISR() interrupt 1
  17. {
  18.         TH0 = 0xee;   // 設置定時初值,一次中斷為5ms
  19.         TL0 = 0x00;
  20.         timer++;
  21.         if(timer==200) //到達1s
  22.         {            
  23.                 timer=0;
  24.                 seconds++;
  25.                 if (seconds == 60)
  26.                 {
  27.                         seconds = 0;
  28.                         minutes++;
  29.                         if (minutes == 60)
  30.                         {
  31.                                 minutes = 0;
  32.                                 hours++;
  33.                                 if (hours == 24)
  34.                                 {
  35.                                         hours = 0;
  36.                                 }
  37.                         }
  38.                 }
  39.         }        
  40. }
  41. void delay(uint x)   //延時xms
  42. {
  43.         uint i,j;
  44.         for(i=x;i>0;i--)
  45.                 for(j=114;j>0;j--);
  46. }

  47. //初始化硬件
  48. void init()
  49. {
  50.         TMOD = 0x01;  // 定時器0工作在模式1(16位定時器)
  51.         TH0 = 0xee;   // 設置定時初值
  52.         TL0 = 0x00;
  53.         ET0 = 1;      // 允許定時器0中斷
  54.         EA = 1;       // 允許總中斷
  55.         TR0 = 1;      // 啟動定時器0
  56.         seconds=0;
  57.         minutes=0;
  58.         hours=0;   
  59. }
  60. // 顯示時間
  61. void display_time()
  62. {
  63.         static uchar data i;
  64.         P3&=0xf0;//消隱
  65.         switch(i)
  66.         {
  67.                 case 0: DIGIT_O=segCode[minutes/10]; break;
  68.                 case 1: DIGIT_O=segCode[minutes%10]&0x7f; break;//加點
  69.                 case 2: DIGIT_O=segCode[seconds/10]; break;
  70.                 case 3: DIGIT_O=segCode[seconds%10]; break;
  71.         }
  72.         P3|=0x01<<i;
  73.         i=++i%4;
  74. }


  75. void main()
  76. {
  77.         init();
  78.         while(1)
  79.         {        
  80.                 display_time();        
  81.                 delay(1);
  82.         }
  83. }
復制代碼
回復

使用道具 舉報

地板
ID:1064915 發表于 2023-11-19 17:22 | 只看該作者
DIGIT_O=0XFF;
再復制3個
回復

使用道具 舉報

板凳
ID:883242 發表于 2023-11-19 16:37 | 只看該作者
在每條
        DIGIT_O=   ;
前面加上
        P3 = 0x0;
試試。
回復

使用道具 舉報

沙發
ID:332444 發表于 2023-11-19 16:09 | 只看該作者
每個數碼管顯示前都要消隱,是每個。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人国产精品久久 | 久久精品国产亚洲一区二区 | 中文字幕国产一区 | 日韩精品在线看 | 国产一区高清 | 美女艹b | 色视频www在线播放国产人成 | 国产aⅴ爽av久久久久久久 | 日本高清不卡视频 | 免费高清成人 | 视频1区2区 | 国产一级毛片视频 | 波多野结衣精品在线 | 久久久xx | 国产日韩一区二区三区 | 成人性视频在线 | 精品国产一区二区国模嫣然 | 依人成人| 国产精品久久久久久久久久久久午夜片 | 欧美黄视频| 亚洲一区免费 | 久操伊人 | 欧美一区永久视频免费观看 | 午夜在线小视频 | 日韩一区二区在线视频 | 国产成人小视频 | 日韩一区二区不卡 | 欧美在线综合 | 一区二区在线视频 | 国产高清在线精品一区二区三区 | 国产精品影视在线观看 | 国产精品99久久久久久动医院 | 欧美日韩一区二区视频在线观看 | 国产精品久久久久久久白浊 | 国产9 9在线 | 中文 | 成人毛片网站 | 日韩一三区| 中国一级毛片免费 | h片免费在线观看 | 国产伊人精品 | 日韩一区二区在线看 |