wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

標題: 單片機DS1302多功能電子時鐘萬年歷LCD1602顯示 [打印本頁]

作者: xuezn    時間: 2017-11-14 13:54
標題: 單片機DS1302多功能電子時鐘萬年歷LCD1602顯示
制作的萬年歷,用LCD1206顯示,可調整時間,陰歷和陽歷可調,有溫度顯示,很好的學習資料,分享給大家。

單片機源程序如下:
  1. #include <reg52.h>                 //調用單片機頭文件
  2. #define uchar unsigned char  //無符號字符型 宏定義        變量范圍0~255
  3. #define uint  unsigned int         //無符號整型 宏定義        變量范圍0~65535
  4. #include "nongli.h"

  5. bit flag_200ms ;
  6. bit flag_100ms ;
  7. sbit beep = P3^7;          //蜂鳴器定義
  8. bit flag_beep_en;
  9. uint clock_value;     //用作鬧鐘用的

  10. sbit dq   = P3^1;          //18b20 IO口的定義

  11. uint temperature ;    //溫度變量
  12. uchar flag_nl;        //農歷 陽歷顯示標志位


  13. uchar menu_1,menu_2;

  14. uchar key_time,flag_value;      //用做連加的中間變量
  15. bit key_500ms  ;
  16. uchar n_nian,n_yue,n_ri;                //農歷顯示的函數



  17. #include "ds1302.h"
  18. #include "lcd1602.h"


  19. /***********************18b20初始化函數*****************************/
  20. void init_18b20()
  21. {
  22.         bit q;
  23.         dq = 1;                                //把總線拿高
  24.         delay_uint(1);            //15us
  25.         dq = 0;                                //給復位脈沖
  26.         delay_uint(80);                //750us
  27.         dq = 1;                                //把總線拿高 等待
  28.         delay_uint(10);                //110us
  29.         q = dq;                                //讀取18b20初始化信號
  30.         delay_uint(20);                //200us
  31.         dq = 1;                                //把總線拿高 釋放總線
  32. }

  33. /*************寫18b20內的數據***************/
  34. void write_18b20(uchar dat)
  35. {
  36.         uchar i;
  37.         for(i=0;i<8;i++)
  38.         {                                         //寫數據是低位開始
  39.                 dq = 0;                         //把總線拿低寫時間隙開始
  40.                 dq = dat & 0x01; //向18b20總線寫數據了
  41.                 delay_uint(5);         // 60us
  42.                 dq = 1;                         //釋放總線
  43.                 dat >>= 1;
  44.         }        
  45. }

  46. /*************讀取18b20內的數據***************/
  47. uchar read_18b20()
  48. {
  49.         uchar i,value;
  50.         for(i=0;i<8;i++)
  51.         {
  52.                 dq = 0;                         //把總線拿低讀時間隙開始
  53.                 value >>= 1;         //讀數據是低位開始
  54.                 dq = 1;                         //釋放總線
  55.                 if(dq == 1)                 //開始讀寫數據
  56.                         value |= 0x80;
  57.                 delay_uint(5);         //60us        讀一個時間隙最少要保持60us的時間
  58.         }
  59.         return value;                 //返回數據
  60. }

  61. /*************讀取溫度的值 讀出來的是小數***************/
  62. uint read_temp()
  63. {
  64.         uint value;
  65.         uchar low;                           //在讀取溫度的時候如果中斷的太頻繁了,就應該把中斷給關了,否則會影響到18b20的時序
  66.         init_18b20();                   //初始化18b20
  67.         write_18b20(0xcc);           //跳過64位ROM
  68.         write_18b20(0x44);           //啟動一次溫度轉換命令
  69.         delay_uint(50);                   //500us

  70.         init_18b20();                   //初始化18b20
  71.         
  72.         write_18b20(0xcc);           //跳過64位ROM
  73.         write_18b20(0xbe);           //發出讀取暫存器命令
  74.         
  75.         EA = 0;
  76.         low = read_18b20();           //讀溫度低字節
  77.         value = read_18b20();  //讀溫度高字節
  78.         EA = 1;
  79.         value <<= 8;                   //把溫度的高位左移8位
  80.         value |= low;                   //把讀出的溫度低位放到value的低八位中
  81.         value *= 0.625;               //轉換到溫度值 小數
  82.         return value;                   //返回讀出的溫度 帶小數
  83. }



  84. /******************1ms 延時函數*******************/
  85. void delay_1ms(uint q)
  86. {
  87.         uint i,j;
  88.         for(i=0;i<q;i++)
  89.                 for(j=0;j<120;j++);
  90. }

  91. /******************寫星期函數*******************/
  92. void write_week(uchar hang,uchar add,uchar week)//寫星期函數
  93. {
  94.         if(hang==1)   
  95.                 write_com(0x80+add);
  96.         else
  97.                 write_com(0x80+0x40+add);         
  98.         switch(week)
  99.         {
  100.                 case 1:write_data('M');//星期數為1時,顯示
  101.                            write_data('O');
  102.                            write_data('N');
  103.                            break;
  104.            
  105.                 case 2:write_data('T');//星期數據為2時顯示
  106.                            write_data('U');
  107.                            write_data('E');
  108.                            break;
  109.                
  110.                 case 3:write_data('W');//星期數據為3時顯示
  111.                            write_data('E');
  112.                            write_data('D');
  113.                            break;
  114.                
  115.                 case 4:write_data('T');//星期數據為4是顯示
  116.                            write_data('H');
  117.                            write_data('U');
  118.                            break;
  119.                
  120.                 case 5:write_data('F');//星期數據為5時顯示
  121.                            write_data('R');
  122.                            write_data('I');
  123.                            break;
  124.                
  125.                 case 6:write_data('S');//星期數據為6時顯示
  126.                            write_data('T');
  127.                            write_data('A');
  128.                            break;
  129.                
  130.                 case 7:write_data('S');//星期數據為7時顯示
  131.                            write_data('U');
  132.                            write_data('N');
  133.                            break;
  134.         }
  135. }

  136. /*************時鐘顯示***************/
  137. void init_1602_ds1302()
  138. {
  139.         write_sfm2_ds1302(1,1,shi);                   //顯示時
  140.         write_sfm2_ds1302(1,4,fen);                   //顯示分
  141.         write_sfm2_ds1302(1,7,miao);           //顯示秒
  142.         write_week(2,12,week);
  143. //        write_sfm1(1,14,week);                           //顯示星期
  144.         write_sfm3_18B20(1,11,temperature);           //顯示溫度
  145.         if(flag_nl == 0)  //顯示陽歷
  146.         {
  147.                 write_sfm2_ds1302(2,2,nian);   //顯示年
  148.                 write_sfm2_ds1302(2,5,yue);           //顯示月        
  149.                 write_sfm2_ds1302(2,8,ri);           //顯示日         
  150.         }
  151.         else                          //顯示農歷
  152.         {
  153.                 write_sfm2_ds1302(2,2,n_nian);        //顯示年
  154.                 write_sfm2_ds1302(2,5,n_yue);        //顯示月        
  155.                 write_sfm2_ds1302(2,8,n_ri);        //顯示日                 
  156.         }                        
  157. }                                                                           

  158. /*************定時器0初始化程序***************/
  159. void init_time0()         
  160. {
  161.         EA   = 1;                   //開總中斷
  162.         TMOD = 0X01;          //定時器0、工作方式1
  163.         ET0  = 1;                  //開定時器0中斷
  164.         TR0  = 1;                  //允許定時器0定時
  165. }

  166. /*************鬧鐘報警函數***************/
  167. void menu_dis()
  168. {
  169.         static uchar mm,value;
  170.         if(flag_100ms == 1)                  //100ms執行一次
  171.         {
  172.                 flag_100ms = 0;
  173.                 if(open1 == 1)        //如果鬧鐘打開
  174.                 {
  175.                         if((miao == 0) && (fen == fen1) && (shi == shi1))
  176.                         {               
  177.                                 flag_beep_en = 1;        //有報警 打開蜂鳴器響的標志位                                
  178.                         }               
  179.                         if(flag_beep_en == 1)        //鬧鐘以被打開
  180.                         {
  181.                                 clock_value++;
  182.                                 if(clock_value <= 30)         
  183.                                         beep = ~beep;           //蜂鳴器叫3秒
  184.                                 else if(clock_value > 30)
  185.                                 {
  186.                                         beep = 1;                    //蜂鳴器停1秒
  187.                                         if(clock_value > 40)
  188.                                         {
  189.                                                 clock_value = 0;

  190.                                         }
  191.                                 }
  192.                                 //  1 分鐘后自動關閉鬧鐘
  193.                                 value ++;
  194.                                 if(value >= 10)
  195.                                 {
  196.                                         value = 0;
  197.                                         mm++;
  198.                                         if(mm >= 60)
  199.                                         {
  200.                                                 mm = 0;
  201.                                                 flag_beep_en = 0;
  202.                                                 beep = 1;        
  203.                                         }
  204.                                 }                                       
  205.                         }
  206.                 }        
  207.         }
  208. }


  209. /********************獨立按鍵程序*****************/
  210. uchar key_can;         //按鍵值

  211. void key()         //獨立按鍵程序
  212. {
  213.         static uchar key_new;
  214.         key_can = 20;                   //按鍵值還原
  215.         P3 |= 0x78;                     //對應的按鍵IO口輸出為1
  216.         if((P3 & 0x78) != 0x78)                //按鍵按下
  217.         {
  218.                 delay_1ms(1);                     //按鍵消抖動
  219.                 if(((P3 & 0x78) != 0x78) && (key_new == 1))
  220.                 {                                                //確認是按鍵按下
  221.                         key_new = 0;
  222.                         switch(P3 & 0x78)
  223.                         {
  224.                                 case 0x70:  key_can = 4;  break;         //得到按鍵值
  225.                                 case 0x68:  key_can = 3;  break;         //得到按鍵值
  226.                                 case 0x58:  key_can = 2;  break;         //得到按鍵值
  227.                                 case 0x38:  key_can = 1;  break;         //得到按鍵值
  228.                         }
  229. //                        write_sfm2(1,0,key_can);                                 //顯示按鍵值
  230.                 }                        
  231.         }
  232.         else
  233.                 key_new = 1;        
  234. }


  235. /**********************設置函數************************/
  236. void key_with()
  237. {
  238.         if(key_can == 1)        //設置鍵
  239.         {
  240.                 menu_1++;
  241.                 if(menu_1 == 1)          //設置時間
  242.                 {
  243.                         menu_2 = 1;
  244.                         write_string(1,0,"    :  :    W:  ");                        
  245.                         write_string(2,0," 20  -  -       ");        
  246.                 }
  247.                 if(menu_1 == 2)          //設置鬧鐘
  248.                 {
  249.                         menu_2 = 1;
  250.                         write_string(1,0,"   set clock    ");                        
  251.                         write_string(2,0,"    Y  00:00      ");        
  252.                 }
  253.                 if(menu_1 > 2)    //回到正常顯示
  254.                 {
  255.                         menu_1 = 0;
  256.                         write_guanbiao(1,2,0);         //關閉光標
  257.                         init_1602_dis_csf();      //初始化液晶顯示               
  258.                 }
  259.         }
  260.         if(key_can == 2)        //選擇鍵
  261.         {
  262.                 flag_200ms = 1;
  263.                 if(menu_1 == 1)                  //設置時間
  264.                 {
  265.                         menu_2 ++;
  266.                         if(menu_2 > 7)
  267.                                 menu_2 = 1;
  268.                 }
  269.                 if(menu_1 == 2)                 //設置鬧鐘
  270.                 {
  271.                         menu_2 ++;
  272.                         if(menu_2 > 3)
  273.                                 menu_2 = 1;                                
  274.                 }
  275.         }
  276.         if(menu_1 == 1)
  277.         {
  278.                 if(menu_2 == 1)                  //設置時
  279.                 {
  280.                         if(key_can == 3)        //加
  281.                         {
  282.                                 shi+=0x01;
  283.                                 if((shi & 0x0f) >= 0x0a)
  284.                                         shi = (shi & 0xf0) + 0x10;
  285.                                 if(shi >= 0x24)
  286.                                         shi = 0;
  287.                         }               
  288.                         if(key_can == 4)        //減
  289.                         {
  290.                                 if(shi == 0x00)
  291.                                         shi = 0x24;
  292.                                 if((shi & 0x0f) == 0x00)
  293.                                         shi = (shi | 0x0a) - 0x10;
  294.                                 shi -- ;
  295.                         }                                          
  296.                 }
  297.                 if(menu_2 == 2)                  //設置分
  298.                 {
  299.                         if(key_can == 3)        //加
  300.                         {
  301.                                 fen+=0x01;
  302.                                 if((fen & 0x0f) >= 0x0a)
  303.                                         fen = (fen & 0xf0) + 0x10;
  304.                                 if(fen >= 0x60)
  305.                                         fen = 0;
  306.                         }               
  307.                         if(key_can == 4)        //減         
  308.                         {
  309.                                 if(fen == 0x00)
  310.                                         fen = 0x5a;
  311.                                 if((fen & 0x0f) == 0x00)
  312.                                         fen = (fen | 0x0a) - 0x10;
  313.                                 fen -- ;
  314.                         }        
  315.                 }
  316.                 if(menu_2 == 3)                  //設置秒
  317.                 {
  318.                         if(key_can == 3)        //加
  319.                         {
  320.                                 miao+=0x01;
  321.                                 if((miao & 0x0f) >= 0x0a)
  322.                                         miao = (miao & 0xf0) + 0x10;
  323.                                 if(miao >= 0x60)
  324.                                         miao = 0;
  325.                         }        
  326.                         if(key_can == 4)        //減         
  327.                         {
  328.                                 if(miao == 0x00)
  329.                                         miao = 0x5a;
  330.                                 if((miao & 0x0f) == 0x00)
  331.                                         miao = (miao | 0x0a) - 0x10;
  332.                                 miao -- ;                        
  333.                         }
  334.                 }
  335.                 if(menu_2 == 4)                  //設置星期
  336.                 {
  337.                         if(key_can == 3)        //加
  338.                         {
  339.                             week+=0x01;
  340.                                 if((week & 0x0f) >= 0x0a)
  341.                                         week = (week & 0xf0) + 0x10;
  342.                                 if(week >= 0x08)
  343.                                         week = 1;
  344.                         }               
  345.                         if(key_can == 4)        //減         
  346.                         {
  347.                                 if(week == 0x01)
  348.                                         week = 0x08;
  349.                                 if((week & 0x0f) == 0x00)
  350.                                         week = (week | 0x0a) - 0x10;
  351.                                 week -- ;
  352.                         }        
  353.                 }
  354.                 if(menu_2 == 5)                  //設置年
  355.                 {
  356.                         if(key_can == 3)        //加
  357.                         {
  358.                             nian+=0x01;
  359.                                 if((nian & 0x0f) >= 0x0a)
  360.                                         nian = (nian & 0xf0) + 0x10;
  361.                                 if(nian >= 0x9a)
  362.                                         nian = 1;
  363.                         }               
  364.                         if(key_can == 4)        //減         
  365.                         {
  366.                                 if(nian == 0x01)
  367.                                         nian = 0x9a;
  368.                                 if((nian & 0x0f) == 0x00)
  369.                                         nian = (nian | 0x0a) - 0x10;
  370.                                 nian -- ;               
  371.                         }        
  372.                 }
  373.                 if(menu_2 == 6)                  //設置月
  374.                 {
  375.                         if(key_can == 3)        //加
  376.                         {
  377.                             yue+=0x01;
  378.                                 if((yue & 0x0f) >= 0x0a)
  379.                                         yue = (yue & 0xf0) + 0x10;
  380.                                 if(yue >= 0x13)
  381.                                         yue = 1;
  382.                         }               
  383.                         if(key_can == 4)        //減         
  384.                         {
  385.                                 if(yue == 0x01)
  386.                                         yue = 0x13;
  387.                                 if((yue & 0x0f) == 0x00)
  388.                                         yue = (yue | 0x0a) - 0x10;
  389.                                 yue -- ;                                       
  390.                         }        
  391.                 }
  392.                 if(menu_2 == 7)                  //設置日
  393.                 {
  394.                         if(key_can == 3)        //加
  395.                         {
  396.                     ri+=0x01;
  397.                         if((ri & 0x0f) >= 0x0a)
  398.                                 ri = (ri & 0xf0) + 0x10;
  399.                         if(ri >= 0x32)
  400.                                 ri = 0;                        
  401.                         }               
  402.                         if(key_can == 4)        //減         
  403.                         {
  404.                                 if(ri == 0x01)
  405.                                         ri = 0x32;
  406.                                 if((ri & 0x0f) == 0x00)
  407.                                         ri = (ri | 0x0a) - 0x10;
  408.                                 ri -- ;                        
  409.                         }        
  410.                 }
  411.                 write_sfm2_ds1302(1,2,shi);           //顯示時
  412.                 write_sfm2_ds1302(1,5,fen);           //顯示分
  413.                 write_sfm2_ds1302(1,8,miao);           //顯示秒
  414.                 write_sfm1(1,14,week);           //顯示星期                                       
  415.                 write_sfm2_ds1302(2,3,nian);           //顯示年
  416.                 write_sfm2_ds1302(2,6,yue);           //顯示月
  417.                 write_sfm2_ds1302(2,9,ri);           //顯示日
  418.                 switch(menu_2)           // 光標顯示
  419.                 {
  420.                         case 1:  write_guanbiao(1,2,1);  break;
  421.                         case 2:  write_guanbiao(1,5,1);  break;
  422.                         case 3:  write_guanbiao(1,8,1);  break;
  423.                         case 4:  write_guanbiao(1,14,1);  break;
  424.                         case 5:  write_guanbiao(2,3,1);  break;
  425.                         case 6:  write_guanbiao(2,6,1);  break;
  426.                         case 7:  write_guanbiao(2,9,1);  break;
  427.                 }
  428.                 write_time();           //把時間寫進去
  429.         }        
  430. /***************設置鬧鐘*********************/
  431.         if(menu_1 == 2)
  432.         {
  433.                 if(menu_2 == 1)                  //設置鬧鐘開關
  434.                 {
  435.                         if(key_can == 3)        
  436.                         {
  437.                                 open1 = 1;          //鬧鐘開
  438.                         }               
  439.                         if(key_can == 4)        
  440.                         {
  441.                                 open1 = 0;          //鬧鐘關
  442.                         }                                          
  443.                 }
  444.                 if(menu_2 == 2)                  //設置鬧鐘時
  445.                 {
  446.                         if(key_can == 3)        //加
  447.                         {
  448.                             shi1+=0x01;
  449.                                 if((shi1 & 0x0f) >= 0x0a)
  450.                                         shi1 = (shi1 & 0xf0) + 0x10;
  451.                                 if(shi1 >= 0x24)
  452.                                         shi1 = 0;
  453.                         }               
  454.                         if(key_can == 4)        //減         
  455.                         {
  456.                                 if(shi1 == 0x00)
  457.                                         shi1 = 0x5a;
  458.                                 if((shi1 & 0x0f) == 0x00)
  459.                                         shi1 = (shi1 | 0x0a) - 0x10;
  460.                                 shi1 -- ;
  461.                         }        
  462.                 }
  463.                 if(menu_2 == 3)                  //設置秒
  464.                 {
  465.                         if(key_can == 3)        //加
  466.                         {
  467.                             fen1+=0x01;
  468.                                 if((fen1 & 0x0f) >= 0x0a)
  469.                                         fen1 = (fen1 & 0xf0) + 0x10;
  470.                                 if(fen1 >= 0x60)
  471.                                         fen1 = 0;
  472.                         }        
  473.                         if(key_can == 4)        //減         
  474.                         {
  475.                                 if(fen1 == 0x00)
  476.                                         fen1 = 0x5a;
  477.                                 if((fen1 & 0x0f) == 0x00)
  478.                                         fen1 = (fen1 | 0x0a) - 0x10;
  479.                                 fen1 -- ;                        
  480.                         }
  481.                 }
  482.                 if(open1 == 1)
  483.                         write_string(2,4,"Y");        
  484.                 else
  485.                         write_string(2,4,"N");        
  486.                 write_sfm2_ds1302(2,7,shi1);           //顯示鬧鐘時
  487.                 write_sfm2_ds1302(2,10,fen1);           //顯示鬧鐘分
  488.                 switch(menu_2)           // 光標顯示
  489.                 {
  490.                         case 1:  write_guanbiao(2,4,1);  break;
  491.                         case 2:  write_guanbiao(2,7,1);  break;
  492.                         case 3:  write_guanbiao(2,10,1);  break;
  493.                 }        
  494.         }                        
  495. }

  496. /*****************主函數********************/
  497. void main()
  498. {        
  499.         beep = 0;                                //開機叫一聲   
  500.         delay_1ms(150);
  501.         P0 = P1 = P2 = P3 = 0xff;                //單片機IO口初始化為1
  502.         init_time0();                 //初始化定時器
  503.         init_1602();                 //lcd1602初始化
  504.         init_1602_dis_csf(); //lcd1602初始化顯示
  505. ……………………

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

所有代碼51hei提供下載:
萬年歷 1602 程序.rar (70.23 KB, 下載次數: 507)


作者: 橫街66    時間: 2017-12-29 09:42
贊一個,好資料,51黑有你更精彩!!! 可惜沒有仿真 要自己畫

作者: 大哥111    時間: 2018-6-7 10:28
挺好的

作者: mengsiu    時間: 2018-6-7 13:36
有做出來的實物嗎?
作者: 1370767234    時間: 2018-11-26 17:15
大哥111 發表于 2018-6-7 10:28
挺好的

為什么我按照程序把電路圖搭建好,燒入程序后是lcd顯示亂碼
作者: 末離    時間: 2018-12-11 15:07
厲害了
作者: 龍與少年游    時間: 2019-1-7 15:51
顯示初值是在哪改的?

作者: shuzhen    時間: 2019-3-27 14:43
周幾顯示不正確
作者: hdivy    時間: 2019-3-28 12:23
不錯,贊一個。。。
作者: wangshengs    時間: 2019-4-4 14:07
你們都用仿真的嗎?有人做出實物嗎
作者: yy19    時間: 2019-4-10 16:40
為什么我按仿真圖搭好后lcd1602沒有顯示呀

作者: 18317589803    時間: 2019-11-25 21:52
給力 樓主很強  學習中
作者: 黃劉哲    時間: 2019-11-28 14:05
做得很到位
作者: 黃劉哲    時間: 2019-11-29 10:06
有pcb圖么
作者: yanxiangyang    時間: 2020-5-15 12:58
1602只亮但不顯示
作者: yanxiangyang    時間: 2020-5-15 12:59
yy19 發表于 2019-4-10 16:40
為什么我按仿真圖搭好后lcd1602沒有顯示呀

你解決了嗎,我的也是這樣
作者: chang199101    時間: 2020-5-16 14:58
沒有顯示,電路跟連線不對啊

作者: yanxiangyang    時間: 2020-5-17 17:05
程序和電路根本不對
作者: 樹先生37    時間: 2020-6-8 11:32
yanxiangyang 發表于 2020-5-15 12:59
你解決了嗎,我的也是這樣

你解決了沒有,我的也是這樣
作者: q1053797435    時間: 2020-6-11 09:22
為什么我的1602仿真不出來啊

作者: 神藥科技    時間: 2021-2-24 18:09
這個程序基本沒啥大問題,目前試了一下,目前就鬧鈴沒工作,不影響使用,后面我看看程序。
作者: LILYXTY    時間: 2021-3-11 16:17
很好哦
作者: wang122684    時間: 2021-3-28 13:32
啥玩意不能用





歡迎光臨 (http://m.izizhuan.cn/bbs/) Powered by Discuz! X3.1
国产资源在线视频| 丰满人妻一区二区三区四区53 | 中文字幕在线观看网址| 日本不卡二区高清三区| 一区三区二区视频| 午夜激情久久久| 国产成人高清视频| 999久久久国产精品| 亚洲电影有码| 99视频在线观看地址| 午夜羞羞视频| 丰满少妇一级片| 国产一级特黄a高潮片| 国产亚洲精品一区二555| 亚洲免费在线观看视频| 精品一区二区三区在线观看国产 | 欧美精品性生活| 欧美一区少妇| 日韩av手机在线看| 日韩福利视频网| 国产成人tv| av在线网页| 亚洲精品视频在线免费| 日本午夜大片| 手机av在线看| 欧美午夜精品理论片| 致1999电视剧免费观看策驰影院| 一本色道久久综合亚洲精品小说 | 熟女熟妇伦久久影院毛片一区二区| 国产精品免费观看在线| 欧洲一区在线观看| 中文字幕国产一区二区| 国产在线一区二区| 99视频精品免费观看| 欧美精美视频| 成人动漫视频在线观看| 在线免费三级电影网站| 免费网站成人| 欧美日韩伦理片| 高清hd写真福利在线播放| 成人亚洲国产| 四虎海外影库www4hu| 丰满人妻妇伦又伦精品国产| 伊人久久一区二区| 尤物视频在线观看国产| 国语对白在线播放| 六月婷婷七月丁香| 潘金莲一级淫片aaaaa| 成人在线播放av| 欧美大片免费观看| 欧美在线短视频| 亚洲一区二区三区视频在线播放| 久久久精品综合| 国产成人av资源| 寂寞少妇一区二区三区| 男男gay无套免费视频欧美| 精品久久久网| 澳门av一区二区三区| 亚洲精品久久久久久久久久久久久久 | 久久亚洲精品一区二区| 精品丝袜一区二区三区| 日韩欧美激情四射| 国产精品美女久久久久aⅴ | 久久精品国产大片免费观看| 免费看av成人| 国产精品欧美日韩一区| 奇米色欧美一区二区三区| 久久国产精品免费精品3p| 免费的黄网站在线观看| 欧美大片aaa| 国产三级在线免费观看| chinese偷拍一区二区三区| 国产激情视频一区二区三区| 午夜精品久久久久久久蜜桃| 久久久免费高清视频| 天天综合网入口| 国产又大又黄又粗| 日韩av免费播放| 国产精品久久久国产盗摄| 亚洲天堂av中文字幕| 亚洲一区视频在线播放| 国产毛片欧美毛片久久久| 91在线无精精品白丝| 国产jizz18女人高潮| 2021亚洲天堂| 五月婷婷六月婷婷| 精品人妻少妇AV无码专区| 天堂中文在线观看视频| 亚洲国产图片| 免费黄网在线看| 激情六月婷婷| 九一国产在线| 欧美xxxx做受欧美88bbw| 日韩电影免费观| 日韩第二十一页| 你懂的在线观看一区二区| 精品国产一区二区三区av片| 午夜亚洲福利| 日本vs亚洲vs韩国一区三区二区| 欧美激情电影| 精品成人在线| 美女在线观看视频一区二区| 国产精品亚洲第一| 国产调教视频一区| 亚洲五月六月丁香激情| 欧美日韩一级二级三级| 亚洲国产小视频| 在线综合视频播放| 亚洲国内精品在线| 久久夜精品va视频免费观看| 热久久这里只有| 欧美老女人在线视频| 综合网中文字幕| 午夜精品美女自拍福到在线| 久久这里只有精品99| 欧美一级黄色网| 1区1区3区4区产品乱码芒果精品| 久久久久无码国产精品一区| www.日本在线播放| av磁力番号网| 国内自拍视频一区| 中文字幕狠狠干| 日韩无码精品一区二区三区| 欧美在线 | 亚洲| 日本黄色小网站| 欧美日韩影视| 95精品视频| 欧美1区视频| 国产宾馆实践打屁股91| 亚洲一区二区黄色| 亚洲国产精品电影在线观看| 97精品视频在线播放| 久久本道综合色狠狠五月| 成年人免费在线播放| 国产深夜男女无套内射| 亚洲视频 中文字幕| 日韩精品视频免费播放| 亚洲日本色图| 欧美行性性性o00x| 美乳中文字幕| 天堂а√在线最新版中文在线| 加勒比色老久久爱综合网| 久久久久综合| 亚洲精品欧美专区| 亚洲精品午夜精品| 亚洲a成v人在线观看| 国产美女在线一区| 免费在线观看a视频| 99视频在线观看免费| 黄色的毛片免费| 黄色网在线看| 美女久久久久| 粉嫩13p一区二区三区| 在线观看不卡视频| 欧美黄色免费网站| 亚洲成人一区二区三区| 日韩视频在线观看国产| 制服丝袜中文字幕第一页| 中日韩黄色大片| 欧美极度另类videos高清| 欧美日韩国产中文字幕在线| 亚洲网一区二区三区| 日韩二区三区四区| 激情av一区二区| 欧美巨猛xxxx猛交黑人97人| 亚洲蜜桃在线| 婷婷丁香综合网| 先锋影音av中文资源| 日韩精品视频在线观看一区二区三区| av在线播放一区二区| 日欧美一区二区| 欧美午夜美女看片| 51精品国产黑色丝袜高跟鞋| 欧洲精品一区二区三区久久| 免费一级片视频| 国产日韩在线观看一区| 2021av天天| 日韩黄色三级在线观看| 日韩avvvv在线播放| 91国偷自产一区二区使用方法| 欧美大片网站在线观看| av电影一区二区三区| 国产日产精品一区二区三区的介绍| 天堂中文在线观看| h片在线免费| 欧美日韩亚洲三区| 亚洲国产精品精华液网站| 国产成人精品免费一区二区| 欧美大黄免费观看| 精品国产综合久久| 30一40一50老女人毛片| 美女把尿口扒开给男人桶视频| 黄色在线视频网站| 激情成人综合| 日本精品视频一区二区| 成人免费视频a| 野战少妇38p| 亚洲欧美日韩综合精品网| h片精品在线观看| 久久综合中文| 欧美一区二区三区视频在线观看| 国产超碰91| 久久久久亚洲av无码a片| 国产大学生粉嫩无套流白浆| 亚洲成av在线| 国产成人av电影在线| 亚洲男人天堂视频| 9191国产视频| 丰满少妇xoxoxo视频| 91精品国产一区二区三密臀| 亚洲另类av| 一区二区三区不卡视频| 国产精品久久久久久久久久| 制服丝袜在线第一页| 欧美第一页草草影院浮力| 免费观看成人性生生活片| 成人黄色综合网站| 久久精品在线播放| 成人在线免费观看av| 91香蕉视频网| www.av99| 麻豆视频在线看| 国产自产2019最新不卡| 亚洲视频777| 男人添女荫道口图片| 国产情侣在线播放| 中文字幕资源网在线观看| 日韩影院精彩在线| 日韩精品免费观看| 国产美女无遮挡网站| www.色视频| 免费看男女www网站入口在线| 国产一区二区看久久| xvideos国产精品| 亚洲精品综合在线观看| 国产浪潮av性色av小说| 日本精品一区二区三区在线观看视频| 国产欧美日韩精品a在线观看| 7m第一福利500精品视频| 超碰caoprom| 黄色大片在线观看| 国产精品三级| 欧美日韩免费在线视频| 久久国产天堂福利天堂| 日本不卡一区在线| 91caopron| 亚洲最大成人| 2021中文字幕一区亚洲| 国产mv免费观看入口亚洲| 夫妇露脸对白88av| 在线视频资源站| 噜噜噜在线观看免费视频日韩| 精品亚洲aⅴ在线观看| 国产日韩成人内射视频 | 神马久久久久久久久久久| 特级全黄一级毛片| 亚洲三级毛片| 亚洲欧美激情视频| 中文字幕免费高清在线| 天堂www在线а√天堂| 亚洲品质自拍| 欧美日韩一级片在线观看| 国产情侣第一页| 中文字幕人成高视频| 国产精品巨作av| 7878成人国产在线观看| 欧美亚洲另类色图| 国产精品白浆视频免费观看| 欧美日韩播放| 亚洲成人精品久久久| 天堂av在线网站| 天天噜夜夜操| 久久久久国产精品一区二区| 欧美老女人在线视频| 少妇愉情理伦三级| 理论片午午伦夜理片在线播放| 91碰在线视频| 国产欧美日韩视频一区二区三区| 亚洲天堂久久久久| a成人v在线| 岛国精品视频在线播放| 成人在线免费观看网址| 午夜国产福利| 91精品国产调教在线观看| 欧美性感美女h网站在线观看免费| 日韩动漫在线观看| 午夜小视频免费| 果冻天美麻豆一区二区国产| 91精品国模一区二区三区| 密臀av一区二区三区| 116极品美女视频在线观看| 久久一综合视频| 69av视频在线播放| av大片免费观看| 日韩成人综合网站| 91精品久久久久久蜜臀| 午夜不卡福利视频| 少妇影院在线观看| www欧美xxxx| 亚洲国产人成综合网站| 成年人视频大全| 十大黄色软件免费看| 国产精品最新自拍| 日韩美女av在线免费观看| 黄色大全在线观看| 成人av综合网| 亚洲免费高清视频| 91视频免费看片| 黄色激情在线播放| 欧美性欧美巨大黑白大战| 超碰成人在线播放| 美女毛片在线看| 国产精品久线观看视频| 91成人在线视频观看| 九色porn蝌蚪| 黄页网站大全一区二区| 国产91亚洲精品一区二区三区| 亚洲综合激情另类专区老铁性| 91精品国产视频| 欧美在线视频网站| 91成年人视频| 不卡一区综合视频| 欧美激情精品久久久久久大尺度| 国产成人无码精品久在线观看| 国产欧美视频在线| 亚洲少妇激情视频| 久草视频中文在线| 天堂va在线高清一区| 亚洲欧美国内爽妇网| 黄视频网站免费看| 97精品国产综合久久久动漫日韩| 日韩三级免费观看| 色欲狠狠躁天天躁无码中文字幕| 国产h片在线观看| 欧美精品777| 白嫩少妇丰满一区二区| 一个色在线视频| 久久精品国产亚洲aⅴ| 国语精品免费视频| 7799国产精品久久久久99| 久草热8精品视频在线观看| 黑人中文字幕一区二区三区| 96精品视频| 福利一区福利二区| 日本一区二区免费高清视频| 成人免费淫片免费观看| 久久久久久久性| 男人天堂1024| youjizz在线播放| 91久久国产最好的精华液| 可以直接看的无码av| www.一区| 日韩一区在线视频| 91av国产精品| 一本久久综合| 欧美一区视久久| 嫩草影院永久入口| 亚洲国产成人av网| 一级国产黄色片| 亚洲男男av| 精品激情国产视频| 国产一区二区在线不卡| 在线看片一区| 欧美精品成人一区二区在线观看| chinese叫床对白videos| 国产精品乱子久久久久| 亚洲午夜精品一区| 中文字幕色婷婷在线视频| 亚洲精品国产美女| 香蕉污视频在线观看| 亚洲一区二区免费在线观看| 国产日韩欧美亚洲| 波多野结衣之无限发射| 日本欧美在线视频免费观看| 91精品国产一区二区| 国产无遮挡免费视频| 五月激情综合| 国内精品久久国产| 污视频网站免费看| 疯狂欧美牲乱大交777| 精品人体无码一区二区三区| 香蕉人人精品| 国产欧美一区二区白浆黑人| 无人日本免费视频| 亚洲精品第一国产综合野| 无码熟妇人妻av在线电影| 在线播放毛片| 日韩精品视频在线观看网址| 亚洲一级特黄毛片| 美女脱光内衣内裤视频久久网站| 亚洲国产精品女人| 麻豆网站在线观看| 亚洲人永久免费| 日本高清视频在线| 成人丝袜视频网| 午夜视频在线网站| 电影一区二区三区久久免费观看| 91av在线播放| 成年人网站免费观看| 日韩欧美国产激情|