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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

分享第一個成品STC12C5A60S2單片機+DS1302+DS18B20+LCD1602 附程序

  [復制鏈接]
跳轉到指定樓層
樓主
STC12C5A60S2+DS1302+DS18B20+LCD1602,晶振11.0592M
主要功能:時間溫度顯示,設置一個鬧表
溫度大于30度LED亮起,鬧表時間時分對應LED閃爍
4個按鍵分別對應設置、時間+、時間—、退出設置
鬧表時間保存于DS1302的RAM區。
開發中間遇到的主要問題:
一、STC12C5A60S2是1T的芯片,運行速度比89C52快,延時函數需要調整
二、DS1302模塊與STC12的連接線不能過長,調試過程開始線路過長,讀取模塊的結果會是0xff,各種找原因也不能解決,程序改得亂七八糟。各種百度各種改,最后看到一條有說線路過長可能是原因。最終對線路測量,兩段線電阻分別為0.4歐和0.5歐,長度分別為7cm和15cm,最終理論解決希望有大佬能夠幫忙解釋。

電路原理圖如下:


上圖是初始電路圖,圖中芯片為89C52,后改為STC12C5A60S2,個別細節


上圖為最終結果

上圖上面箭頭為原來DS1302用排線連接位置,下面是最終位置
顯示全是????

單片機源程序如下:
  1. #include  "STC12C5A60S2.H"
  2. #include  <intrins.h>
  3. #include "delay.h"
  4. #include "lcd1602.h"
  5. #include "ds18b20.h"
  6. #include "ds1302.h"

  7. sbit led= P3^7;//led燈,替代蜂鳴器
  8. uchar count=0;                                //計時器計數
  9. uint temperature=0;                //溫度,取實際溫度的10倍,輸出時最后一位前加小數點
  10. float ftempp;                                        //浮點型溫度

  11. uchar *p1,*p2,*p3,*p4;//定義指針,分別對應日期,時間,芯片格式數據,設置光標位置
  12. uchar mdate[16];//用于顯示日期"20xx-xx-xx Mon."
  13. uchar mtime[9],ntime[6];//用于顯示時間"xx:xx:xx"和鬧表時間"XX:XX"末位寫0用于結束字符串輸出
  14. uchar stime[2];//用于保存鬧鐘時間
  15. uchar ttime[7];//={0x48,0x48,0x22,0x028,0x05,0x06,0x18};//用于初始化DS1302,和讀取時間

  16. sbit key1=P2^7;//時間調整按鍵,1設置
  17. sbit key2=P2^6;//2加
  18. sbit key3=P2^5;//3減
  19. sbit key4=P2^4;//4退出
  20. uchar n,stat=0;//設置狀態標志,0為正常顯示狀態
  21.                                                                 //1-9為設置狀態1-年、2-月、3-日、4-周、5-時、6-分、7-秒、8-鬧表時、9-鬧表分
  22. uchar isryear(uchar year1)
  23. {
  24.         int year,isrun;

  25.         //判斷是否閏年,1為閏年,0為平年
  26.         year=2000+year1/16*10+year1%16;
  27.         if(year%4==0)
  28.         {
  29.                 if(year%100!=0)
  30.                 {
  31.                         isrun=1;
  32.                 }
  33.                 else if(year%400)
  34.                 {
  35.                         isrun=1;
  36.                 }
  37.                 else
  38.                 {
  39.                         isrun=0;
  40.                 }
  41.          }
  42.         else
  43.         {
  44.                  isrun=0;
  45.          }
  46.         return isrun;
  47. }
  48. void keyscan(uchar *tempt,uchar *stime)
  49. {
  50.         uchar isrun;
  51.         if(key1==0)//設置
  52.         {
  53.                 delayms(30);
  54.                 if(key1==0)
  55.                 {
  56.                         stat++;//設置標志在0--9之間變化,0為正常顯示狀態,1--7打開光標閃爍并在7個時間選項中移動,8、9鬧表時間
  57.                         if(stat>9)
  58.                                 stat=1;
  59.                 }
  60.                 while(!key1);
  61.         }
  62.         if(key2==0)//選中位置+1
  63.         {
  64.                 delayms(30);
  65.                 if(key2==0)
  66.                 {
  67.                         switch(stat)
  68.                         {
  69.                                 case 1://年
  70.                                 {
  71.                                         tempt[6]++;
  72.                                         if((tempt[6]&0x0f)==0x0a)//逢10進1
  73.                                         {
  74.                                                 tempt[6]+=0x10;
  75.                                                 tempt[6]=tempt[6]&0xf0;
  76.                                                 if(tempt[6]==0xa0)//逢100變0
  77.                                                         tempt[6]=0x00;
  78.                                         }
  79.                                         //判斷平年閏年2月是否溢出
  80.                                         isrun=isryear(tempt[6]);
  81.                                         if((tempt[4]==0x02)&&(tempt[3]>0x29)&&(isrun==1))
  82.                                                 tempt[3]=0x29;
  83.                                         else if((tempt[4]==0x02)&&(tempt[3]>0x28)&&(isrun==0))
  84.                                                 tempt[3]=0x28;
  85.                                         break;
  86.                                 }
  87.                                 case 2://月
  88.                                 {
  89.                                         tempt[4]+=0x01;
  90.                                         if((tempt[4]&0x0f)==0x0a)//逢10進1
  91.                                         {
  92.                                                 tempt[4]+=0x10;//前4位進位
  93.                                                 tempt[4]=tempt[4]&0xf0;//后4位置0
  94.                                         }
  95.                                         if(((tempt[4]&0x0f)==0x03)&((tempt[4]&0xf0)==0x10))//逢13變1
  96.                                                 tempt[4]=0x01;
  97.                                         //檢查調整月之后的日期有沒有溢出
  98.                                         isrun=isryear(tempt[6]);
  99.                                         if((tempt[4]==0x02)&&(tempt[3]>0x29)&&(isrun==1))//29天月
  100.                                                 tempt[3]=0x29;
  101.                                         else if((tempt[4]==0x02)&&(tempt[3]>0x28)&&(isrun==0))//28天月
  102.                                                 tempt[3]=0x28;
  103.                                         else if(((tempt[4]==0x01)||(tempt[4]==0x03)||(tempt[4]==0x05)//31天月
  104.                                                 ||(tempt[4]==0x07)||(tempt[4]==0x08)||(tempt[4]==0x10)
  105.                                                 ||(tempt[4]==0x12))&&(tempt[3]>0x31))
  106.                                                 tempt[3]=0x31;
  107.                                         else if(((tempt[4]==0x04)||(tempt[4]==0x06)||(tempt[4]==0x09)//30天月
  108.                                                 ||(tempt[4]==0x11))&&(tempt[3]>0x30))
  109.                                                 tempt[3]=0x30;
  110.                                         break;
  111.                                 }
  112.                                 case 3://日
  113.                                 {
  114.                                         tempt[3]+=0x01;
  115.                                         if((tempt[3]&0x0f)==0x0a)//逢10進1
  116.                                         {
  117.                                                 tempt[3]+=0x10;
  118.                                                 tempt[3]=tempt[3]&0xf0;
  119.                                         }
  120.                                         //檢查調整月之后的日期有沒有溢出
  121.                                         isrun=isryear(tempt[6]);
  122.                                         if((tempt[4]==0x02)&&(tempt[3]>0x29)&&(isrun==1))
  123.                                                 tempt[3]=0x01;
  124.                                         else if((tempt[4]==0x02)&&(tempt[3]>0x28)&&(isrun==0))
  125.                                                 tempt[3]=0x01;
  126.                                         if(((tempt[4]==0x01)||(tempt[4]==0x03)||(tempt[4]==0x05)
  127.                                                 ||(tempt[4]==0x07)||(tempt[4]==0x08)||(tempt[4]==0x10)
  128.                                                 ||(tempt[4]==0x12))&&(tempt[3]==0x32))
  129.                                                 tempt[3]=0x01;
  130.                                         if(((tempt[4]==0x04)||(tempt[4]==0x06)||(tempt[4]==0x09)
  131.                                                 ||(tempt[4]==0x11))&&(tempt[3]==0x31))
  132.                                                 tempt[3]=0x01;
  133.                                         break;
  134.                                 }
  135.                                 case 4://星期
  136.                                 {
  137.                                         tempt[5]+=0x01;
  138.                                         if(tempt[5]>0x07)
  139.                                                 tempt[5]=0x01;
  140.                                         break;
  141.                                 }
  142.                                 case 5://時
  143.                                 {
  144.                                         tempt[2]+=0x01;
  145.                                         if((tempt[2]&0x0f)==0x0a)
  146.                                         {
  147.                                                 tempt[2]+=0x10;
  148.                                                 tempt[2]=tempt[2]&0xf0;
  149.                                         }
  150.                                         if(((tempt[2]&0x0f)==0x04)&((tempt[2]&0xf0)==0x20))
  151.                                                 tempt[2]=0x00;
  152.                                         break;
  153.                                 }
  154.                                 case 6://分
  155.                                 {
  156.                                         tempt[1]+=0x01;
  157.                                         if((tempt[1]&0x0f)==0x0a)
  158.                                         {
  159.                                                 tempt[1]+=0x10;
  160.                                                 tempt[1]=tempt[1]&0xf0;
  161.                                         }
  162.                                         if(tempt[1]==0x60)
  163.                                                 tempt[1]=0x00;
  164.                                         break;
  165.                                 }
  166.                                 case 7://秒
  167.                                 {
  168.                                         tempt[0]+=0x01;
  169.                                         if((tempt[0]&0x0f)==0x0a)
  170.                                         {
  171.                                                 tempt[0]+=0x10;
  172.                                                 tempt[0]=tempt[0]&0xf0;
  173.                                         }
  174.                                         if(tempt[0]==0x60)
  175.                                                 tempt[0]=0x00;
  176.                                         break;
  177.                                 }
  178.                                 case 8://鬧表時
  179.                                 {
  180.                                         stime[1]+=0x01;
  181.                                         if((stime[1]&0x0f)==0x0a)
  182.                                         {
  183.                                                 stime[1]+=0x10;
  184.                                                 stime[1]=stime[1]&0xf0;
  185.                                         }
  186.                                         if(((stime[1]&0x0f)==0x04)&&((stime[1]&0xf0)==0x20))
  187.                                                 stime[1]=0x00;
  188.                 Ds1302Write(0x8e,0x00);//關閉寫保護
  189.                                         Ds1302Write(0xc0,stime[0]);
  190.                                         Ds1302Write(0xc2,stime[1]);
  191.                 Ds1302Write(0x8e,0x80);//打開寫保護

  192.                                         break;
  193.                                 }
  194.                                 case 9://鬧表分
  195.                                 {
  196.                                         stime[0]+=0x01;
  197.                                         if((stime[0]&0x0f)==0x0a)
  198.                                         {
  199.                                                 stime[0]+=0x10;
  200.                                                 stime[0]=stime[0]&0xf0;
  201.                                         }
  202.                                         if(((stime[0]&0x0f)==0x00)&&((stime[0]&0xf0)==0x60))
  203.                                                 stime[0]=0x00;
  204.                 Ds1302Write(0x8e,0x00);//關閉寫保護
  205.                                         Ds1302Write(0xc0,stime[0]);
  206.                                         Ds1302Write(0xc2,stime[1]);
  207.                 Ds1302Write(0x8e,0x80);//打開寫保護
  208.                                         break;
  209.                                 }

  210.                         }
  211.                 }
  212.                 while(!key2);
  213.         }
  214.         if(key3==0)//選中位置-1
  215.         {
  216.                 delayms(30);
  217.                 if(key3==0)
  218.                 {
  219.                         switch(stat)
  220.                         {
  221.                                 case 1://年
  222.                                 {
  223.                                         if(tempt[6]==0x00)//逢00變99
  224.                                                         tempt[6]=0x99;
  225.                                         else if((tempt[6]&0x0f)==0x00)//逢0進9
  226.                                         {
  227.                                                 tempt[6]-=0x10;
  228.                                                 tempt[6]=tempt[6]|0x09;
  229.                                         }
  230.                                         else tempt[6]--;
  231.                                         //檢查調整月之后的日期有沒有溢出
  232.                                         isrun=isryear(tempt[6]);
  233.                                         //判斷平年閏年2月是否溢出
  234.                                         if((tempt[4]==0x02)&&(tempt[3]>0x29)&&(isrun==1))
  235.                                                 tempt[3]=0x29;
  236.                                         else if((tempt[4]==0x02)&&(tempt[3]>0x28)&&(isrun==0))
  237.                                                 tempt[3]=0x28;
  238.                                         break;
  239.                                 }
  240.                                 case 2://月
  241.                                 {
  242.                                         if(((tempt[4]&0x0f)==0x01)&((tempt[4]&0xf0)==0x00))//逢1變12
  243.                                                 tempt[4]=0x12;
  244.                                         else if((tempt[4]&0x0f)==0x00)//10變9
  245.                                         {
  246.                                                 tempt[4]=0x09;
  247.                                         }
  248.                                         else tempt[4]-=0x01;
  249.                                         //檢查調整月之后的日期有沒有溢出
  250.                                         isrun=isryear(tempt[6]);
  251.                                         if((tempt[4]==0x02)&&(tempt[3]>0x29)&&(isrun==1))
  252.                                                 tempt[3]=0x29;
  253.                                         else if((tempt[4]==0x02)&&(tempt[3]>0x28)&&(isrun==0))
  254.                                                 tempt[3]=0x28;
  255.                                         else if(((tempt[4]==0x01)||(tempt[4]==0x03)||(tempt[4]==0x05)
  256.                                                 ||(tempt[4]==0x07)||(tempt[4]==0x08)||(tempt[4]==0x10)
  257.                                                 ||(tempt[4]==0x12))&&(tempt[3]>0x31))
  258.                                                 tempt[3]=0x31;
  259.                                         else if(((tempt[4]==0x04)||(tempt[4]==0x06)||(tempt[4]==0x09)
  260.                                                 ||(tempt[4]==0x11))&&(tempt[3]>0x30))
  261.                                                 tempt[3]=0x30;
  262.                                         break;
  263.                                 }
  264.                                 case 3://日
  265.                                 {
  266.                                         //檢查調整月之后的日期有沒有溢出
  267.                                         isrun=isryear(tempt[6]);
  268.                                         if((tempt[4]==0x02)&&(tempt[3]==0x01)&&(isrun==1))
  269.                                                 tempt[3]=0x29;
  270.                                         else if((tempt[4]==0x02)&&(tempt[3]==0x01)&&(isrun==0))
  271.                                                 tempt[3]=0x28;
  272.                                         else if(((tempt[4]==0x01)||(tempt[4]==0x03)||(tempt[4]==0x05)
  273.                                                 ||(tempt[4]==0x07)||(tempt[4]==0x08)||(tempt[4]==0x10)
  274.                                                 ||(tempt[4]==0x12))&&(tempt[3]==0x01))
  275.                                                 tempt[3]=0x31;
  276.                                         else if(((tempt[4]==0x04)||(tempt[4]==0x06)||(tempt[4]==0x09)
  277.                                                 ||(tempt[4]==0x11))&&(tempt[3]==0x01))
  278.                                                 tempt[3]=0x30;
  279.                                         else if((tempt[3]&0x0f)==0x00)//逢0借1變9
  280.                                         {
  281.                                                 tempt[3]-=0x10;
  282.                                                 tempt[3]=tempt[3]|0x09;
  283.                                         }
  284.                                         else         tempt[3]-=0x01;
  285.                                         break;
  286.                                 }
  287.                                 case 4://星期
  288.                                 {
  289.                                         tempt[5]-=0x01;
  290.                                         if(tempt[5]==0x00)
  291.                                                 tempt[5]=0x07;
  292.                                         break;
  293.                                 }
  294.                                 case 5://時
  295.                                 {
  296.                                         if(tempt[2]==0x00)
  297.                                                 tempt[2]=0x23;
  298.                                         else if((tempt[2]&0x0f)==0x00)
  299.                                         {
  300.                                                 tempt[2]-=0x10;
  301.                                                 tempt[2]=tempt[2]|0x09;
  302.                                         }
  303.                                         else tempt[2]-=0x01;
  304.                                         break;
  305.                                 }
  306.                                 case 6://分
  307.                                 {
  308.                                         if(tempt[1]==0x00)
  309.                                         {
  310.                                                 tempt[1]=0x59;
  311.                                         }
  312.                                         else if((tempt[1]&0x0f)==0x00)
  313.                                         {
  314.                                                 tempt[1]-=0x10;
  315.                                                 tempt[1]=tempt[1]|0x09;
  316.                                         }
  317.                                         else tempt[1]-=0x01;
  318.                                         break;
  319.                                 }
  320.                                 case 7://秒
  321.                                 {
  322.                                         if(tempt[0]==0x00)
  323.                                                 tempt[0]=0x59;
  324.                                         else if((tempt[0]&0x0f)==0x00)
  325.                                         {
  326.                                                 tempt[0]-=0x10;
  327.                                                 tempt[0]=tempt[0]|0x09;
  328.                                         }
  329.                                         else tempt[0]-=0x01;
  330.                                         break;
  331.                                 }
  332.                                 case 8://鬧表時
  333.                                 {
  334.                                         if(stime[1]==0x00)
  335.                                                 stime[1]=0x23;
  336.                                         else if((stime[1]&0x0f)==0x00)
  337.                                         {
  338.                                                 stime[1]-=0x10;
  339.                                                 stime[1]=stime[1]|0x09;
  340.                                         }
  341.                                         else stime[1]-=0x01;
  342.                 Ds1302Write(0x8e,0x00);//關閉寫保護
  343.                                         Ds1302Write(0xc0,stime[0]);
  344.                                         Ds1302Write(0xc2,stime[1]);
  345.                 Ds1302Write(0x8e,0x80);//打開寫保護
  346.                                         break;
  347.                                 }
  348.                                 case 9://鬧表分
  349.                                 {
  350.                                         if(stime[0]==0x00)
  351.                                                 stime[0]=0x59;
  352.                                         else if((stime[0]&0x0f)==0x00)
  353.                                         {
  354.                                                 stime[0]-=0x10;
  355.                                                 stime[0]=stime[0]|0x09;
  356.                                         }
  357.                                         else stime[0]-=0x01;
  358.                 Ds1302Write(0x8e,0x00);//關閉寫保護
  359.                                         Ds1302Write(0xc0,stime[0]);
  360.                                         Ds1302Write(0xc2,stime[1]);
  361.                 Ds1302Write(0x8e,0x80);//打開寫保護
  362.                                         break;
  363.                                 }

  364.                         }
  365.                 }
  366.                 while(!key3);
  367.         }
  368.         if(key4==0)//設置
  369.         {
  370.                 delayms(30);
  371.                 if(key4==0)
  372.                 {
  373.                                 stat=0;
  374.                 }
  375.                 while(!key4);
  376.                 //退出設置讀取鬧表時間
  377.                 stime[0]=Ds1302Read(0xc1);
  378.                 stime[1]=Ds1302Read(0xc3);
  379.         }
  380.         if(stat>0)
  381.         {
  382.                 Ds1302Write(0x8e,0x00);//關閉寫保護
  383.                 for(n=0;n<8;n++){
  384.                                  Ds1302Write(WRITE_RTC_ADDR[n],tempt[n]);
  385.                 }
  386.                 Ds1302Write(0x8e,0x80);//打開寫保護
  387.         }
  388. }
  389. void showtime()//顯示正常時間
  390. {
  391.         Ds1302readTime(p3);//讀取時間
  392.         dispros(p1,p2,p3);//轉換時間
  393.         Lcdwritedat(0x80,mdate);//顯示日期
  394.         Lcdwritedat(0x80+0x40,mtime);//顯示時間
  395. }
  396. void showntime()//顯示鬧表設置
  397. {
  398.                 stime[0]=Ds1302Read(0xc1);
  399.                 stime[1]=Ds1302Read(0xc3);
  400.                 ntime[0]=stime[1]/16+0x30;
  401.                 ntime[1]=stime[1]%16+0x30;
  402.                 ntime[2]=':';
  403.                 ntime[3]=stime[0]/16+0x30;
  404.                 ntime[4]=stime[0]%16+0x30;
  405.                 ntime[5]=0;

  406.                 Lcdwritedat(0x80,"Set Alarm Time: ");
  407.                 Lcdwritedat(0x80+0x40,ntime);//顯示時間
  408.                 Lcdwritedat(0x80+0x40+5,"   ");//顯示溫度之前空格
  409. }
  410. void Timer0Init()
  411. {
  412.         TMOD=0x01; //設置定時器0工作方式為1
  413.         TH0=(65536-45872)/256;
  414.         TL0=(65536-45872)%256;
  415.         ET0=1; //開啟定時器0中斷
  416.         TR0=1;        //開啟定時器        
  417.         EA=1;  //打開總中斷
  418. }
  419. ……………………

  420. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
全部代碼51hei下載地址:
萬年歷.zip (74.74 KB, 下載次數: 100)

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:889094 發表于 2021-3-24 19:17 | 只看該作者
感謝中間各路大神有幫助,基本算起步了,繼續努力

評分

參與人數 1黑幣 +15 收起 理由
wulin + 15 動手能力不錯,算入門了,再接再厲。

查看全部評分

回復

使用道具 舉報

板凳
ID:584814 發表于 2021-3-25 14:42 | 只看該作者
這里是提問區,建議移到應該去的地方
回復

使用道具 舉報

地板
ID:377210 發表于 2021-3-25 20:17 | 只看該作者
厲害了,晶振也在面包板上飛線
回復

使用道具 舉報

5#
ID:230742 發表于 2021-3-26 00:45 | 只看該作者
1302三根線要接3個上拉電阻。4.7K就行。要想時間準一點,1302的晶振也接兩個6P的電容到負極。試一下。
回復

使用道具 舉報

6#
ID:403593 發表于 2021-3-26 08:10 | 只看該作者
贊一個!恭喜順利入坑。。。
回復

使用道具 舉報

7#
ID:889094 發表于 2021-3-30 20:40 | 只看該作者
啤酒瓶子老大 發表于 2021-3-26 00:45
1302三根線要接3個上拉電阻。4.7K就行。要想時間準一點,1302的晶振也接兩個6P的電容到負極。試一下。

嗯,謝謝指導,也沒做成板子,只是練習熟悉一下模塊
回復

使用道具 舉報

8#
ID:914561 發表于 2021-4-30 18:29 | 只看該作者
手繪原理圖,功底可以
回復

使用道具 舉報

9#
ID:59830 發表于 2021-5-1 10:59 | 只看該作者
現在很少用  筆畫 原理圖 , 想起以前 我也是這樣.  
現在大家對電腦依賴太大了.
多多向這位學習.
回復

使用道具 舉報

10#
ID:889094 發表于 2021-5-3 15:39 | 只看該作者
yygdzjs 發表于 2021-5-1 10:59
現在很少用  筆畫 原理圖 , 想起以前 我也是這樣.  
現在大家對電腦依賴太大了.
多多向這位學習.

不是想手繪,新手,開始不會用軟件畫,后面學了點,現在勉強能用軟件畫點簡單的了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩精品在线一区 | 综合精品久久久 | 国产在线精品免费 | 欧美激情一区二区 | 男人的天堂中文字幕 | 国产精品一区二区av | 99久久免费精品 | 337p日本欧洲亚洲大胆 | 国产精品一区二区三区在线 | 日本一区高清 | 成人h动漫亚洲一区二区 | 国产xxxx在线 | 欧美在线天堂 | 亚洲成人免费视频 | av片免费观看 | 成人中文字幕在线观看 | 最新国产在线 | 特级特黄特色的免费大片 | 日韩欧美在线视频 | 国产亚洲精品久久久优势 | 天天操伊人 | 国产精品揄拍一区二区 | 国产在线观看一区二区 | 黄视频网站免费观看 | 日韩在线中文字幕 | 久久久噜噜噜久久中文字幕色伊伊 | 久热久 | 99精品99久久久久久宅男 | 全免费a级毛片免费看视频免 | 亚洲二区在线 | 日本成人免费网站 | 欧美日韩视频 | 亚洲小视频在线播放 | 91成人精品| 免费精品久久久久久中文字幕 | 午夜激情在线视频 | 日日噜噜夜夜爽爽狠狠 | 亚洲天堂中文字幕 | 成人在线观看免费视频 | 日韩精品一区二区三区 | 精品久久精品 |