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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8112|回復: 14
收起左側

帶兩個鬧鐘的LCD1602屏小型單片機萬年歷制作

  [復制鏈接]
ID:88481 發表于 2018-7-27 20:03 | 顯示全部樓層 |閱讀模式
本設計中,在按鍵處理方面,下了不少功夫,雖然只有三個按鍵,不同狀態下,實現不同的功能.
為了節省用電,設計背景燈有按鍵銨下才亮,延時5秒后滅.長按K1進入設置狀態,按K2移位,K3數字加.依次設置年月日,星期,時分秒,鬧鐘1,鬧鐘2.
在走時狀態下,按K2顯示鬧鐘1,按K3顯示鬧鐘2,延時5秒后返回走時.在顯示鬧鐘狀態下,按K1,開關鬧鐘,顯示"*"為開.走時狀態下顯示"%"為只有一個鬧鐘開,顯示"@"為兩個鬧鐘開.在鬧鐘響鈴時,按任意鍵關閉聲音.

制作出來的原理圖如下:
1532689260920.jpg IMG_20180725_214417.jpg IMG_20180724_101645.jpg

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
IMG_20180727_191855.jpg

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
IMG_20180727_191906.jpg

單片機源程序如下:
  1. #include "Lcd1602.h"
  2. #include "KEY.h"
  3. #include "DS18B20.h"
  4. #include "DS1302.h"

  5. uchar T0RH,T0RL;
  6. bit flag1s = 1;                         //1秒標志
  7. bit flag200ms = 1;                 //200毫秒標志
  8. bit beeonoff1=0,beeonoff2=0;         //鬧鐘1,2開關標志
  9. bit beeon = 0;                                         //峰鳴開關
  10. uchar keybee = 0;                //按鍵鬧鐘1,2切換
  11. uchar hourbee1=0x08,minbee1=0x00,hourbee2=0x13,minbee2=0x30;          //鬧鐘1,2存放值
  12. uchar flag = 0;                //鬧鐘顯示時間
  13. uchar pos = 0;                 //設置時間引索
  14. sint buftemp;                //溫度暫存

  15. struct  sTime {
  16.         uchar year;
  17.         uchar mon;
  18.         uchar day;
  19.         uchar hour;
  20.         uchar min;
  21.         uchar sec;
  22.         uchar week;
  23.   };
  24. struct sTime buftime;

  25. void ConfigTimer0(uchar ms);
  26. void ShowTemp();
  27. void RefrTime();

  28. void main()
  29. {
  30.         bit reg = 0;
  31.         uchar bufsec = 0xaa;
  32.        
  33.         EA = 1;
  34.         ConfigTimer0(2);
  35.         LcdInit();
  36.         DS1302Init();
  37.         Start18B20();
  38.         GainTime(&buftime);
  39.         RefrTime();
  40.         while(1)
  41.         {
  42.                 KeyDriver();
  43.                 if (!pos)
  44.                 {
  45.                         if (flag200ms)
  46.                         {
  47.                                 flag200ms = 0;
  48.                                 GainTime(&buftime);
  49.                                 if (bufsec != buftime.sec)
  50.                                 {
  51.                                         RefrTime();
  52.                                         bufsec = buftime.sec;               
  53.                                 }
  54.                                 if (((hourbee1==buftime.hour) && (minbee1==buftime.min) && beeonoff1) || (hourbee2==buftime.hour) && (minbee2==buftime.min) && beeonoff2)
  55.                                 {
  56.                                         beeon = 1;
  57.                                 }
  58.                                 else
  59.                                 {
  60.                                         beeon = 0;
  61.                                 }
  62.                         }  
  63.                         if (flag1s )
  64.                         {
  65.                                 flag1s = 0;
  66.                                 reg = Get18B20Temp(&buftemp);
  67.                                 if (reg)
  68.                                 {
  69.                                         ShowTemp();          
  70.                                 }
  71.                                 Start18B20();                 
  72.                         }               
  73.                 }               
  74.         }       
  75. }

  76. void ShowTemp()                         //溫度顯示
  77. {
  78.         schar i = 0;
  79.         uchar len=0;
  80.         uchar tempint,tempdec;           //溫度整數部分,小數部分存放
  81.         uchar buf[4],str[6];

  82.         tempint = (buftemp>>4) & 0x7f;                //取出整數部分
  83.         tempdec = buftemp & 0x0f;                        //取出小數部分
  84.         do {
  85.                 buf[i++] = tempint%10;          
  86.                 tempint = tempint/10;
  87.           }while (tempint > 0);       
  88.         if (i < 2)
  89.         {
  90.                 str[len++] = ' ';
  91.         }         
  92.         while (i-- > 0)
  93.         {
  94.                 str[len++] = buf[i] + '0';       
  95.         }                                                                           
  96.         str[len++] = '.';
  97.         str[len++] = (tempdec*10/16) +'0';
  98.        
  99.         str[len] = '\0';                                          
  100.         LcdShowStr(11,1,str);         
  101. }                                         

  102. void NumToStr(uchar x,uchar y, uchar *str)                 //數據轉換字符
  103. {
  104.         uchar buf[3];

  105.         buf[0] = (*str>>4) + '0';
  106.         buf[1] = (*str&0x0f) + '0';
  107.         buf[2] = '\0';
  108.         LcdShowStr(x,y,buf);
  109. }

  110. void RefrTime()                                                  //刷新時間
  111. {
  112.         NumToStr(2,0,&buftime.year);
  113.         NumToStr(5,0,&buftime.mon);
  114.         NumToStr(8,0,&buftime.day);
  115.         LcdShowStr(15,0,&buftime.week);       
  116.         if  (((flag>0) && (keybee ==1)) || ((pos>=14) && (pos<=17)))        //鬧鐘1顯示       
  117.         {
  118.                 NumToStr(2,1,&hourbee1);
  119.                 NumToStr(5,1,&minbee1);
  120.                 LcdShowStr(8,1,"-1");
  121.         }
  122.         else if (((flag>0) && (keybee ==2)) || ((pos>=18) && (pos<=21)))         //鬧鐘2顯示
  123.         {
  124.                 NumToStr(2,1,&hourbee2);
  125.                 NumToStr(5,1,&minbee2);
  126.                 LcdShowStr(8,1,"-2");
  127.         }
  128.         else
  129.         {
  130.                 NumToStr(2,1,&buftime.hour);
  131.                 NumToStr(5,1,&buftime.min);
  132.                 NumToStr(8,1,&buftime.sec);
  133.                 if (beeonoff1 && beeonoff2)                                  //如果兩個鬧鐘開,則顯示"@"
  134.                         LcdShowStr(0,1,"@");
  135.                 else if (!beeonoff1 && !beeonoff2)                  //如果兩個鬧鐘關,則不顯示,
  136.                         LcdShowStr(0,1," ");
  137.                 else
  138.                         LcdShowStr(0,1,"%");                                  //如果其中一個鬧鐘開,則顯示"%"
  139.         }                                                                               
  140. }

  141. void BeeOnroOff()                        //鬧鐘開關時顯示
  142. {
  143.         if (keybee == 1)                //鬧鐘1開關
  144.         {
  145.                 beeonoff1 = ~beeonoff1;
  146.                 if (beeonoff1)
  147.                 {
  148.                         LcdShowStr(0,1,"*");                         //顯示"*",表示鬧鐘開
  149.                 }
  150.                 else
  151.                 {
  152.                         LcdShowStr(0,1," ");
  153.                 }
  154.         }
  155.         else if (keybee == 2)         //鬧鐘2開關
  156.         {
  157.                 beeonoff2 = ~beeonoff2;       
  158.                 if (beeonoff1 || beeonoff2)
  159.                 {
  160.                         LcdShowStr(0,1,"*");       
  161.                 }
  162.                 else
  163.                 {
  164.                         LcdShowStr(0,1," ");
  165.                 }
  166.         }        
  167. }

  168. void CurPosit()                                                           //光標位置,設置修改的位置
  169. {
  170.         switch(pos)
  171.         {
  172.                 case 1: LcdSetCort(2,0); break;                //日期
  173.                 case 2: LcdSetCort(3,0); break;
  174.                 case 3: LcdSetCort(5,0); break;
  175.                 case 4: LcdSetCort(6,0); break;
  176.                 case 5: LcdSetCort(8,0); break;
  177.                 case 6: LcdSetCort(9,0); break;                 
  178.                 case 7: LcdSetCort(15,0); break;         //星期
  179.                 case 8: LcdSetCort(2,1); break;                 //時間
  180.                 case 9: LcdSetCort(3,1); break;
  181.                 case 10: LcdSetCort(5,1); break;
  182.                 case 11: LcdSetCort(6,1); break;
  183.                 case 12: LcdSetCort(8,1); break;
  184.                 case 13: LcdSetCort(9,1); break;
  185.                 case 14: LcdSetCort(2,1); break;          //鬧鐘1
  186.                 case 15: LcdSetCort(3,1); break;
  187.                 case 16: LcdSetCort(5,1); break;
  188.                 case 17: LcdSetCort(6,1); break;
  189.                 case 18: LcdSetCort(2,1); break;           //鬧鐘2
  190.                 case 19: LcdSetCort(3,1); break;
  191.                 case 20: LcdSetCort(5,1); break;
  192.                 case 21: LcdSetCort(6,1); break;
  193.                 default:        break;                       
  194.         }       
  195. }

  196. void RightShift()                          //向右移動
  197. {
  198.         if (pos != 0)
  199.         {
  200.                 if (pos < 21)
  201.                         pos++;
  202.                 else
  203.                         pos = 1;
  204.                 if ((pos==14) || (pos==18) || (pos==1))
  205.                         RefrTime();
  206.                 CurPosit();
  207.         }
  208. }

  209. uchar IncBcdHigh(uchar dat, uchar n)           //高位加
  210. {
  211.         if ((dat&0xf0) < (n<<4))
  212.                 dat += 0x10;
  213.         else
  214.                 dat &= 0x0f;
  215.         return dat;
  216. }

  217. uchar IncBcdLow(uchar dat, uchar n)                   //低位加
  218. {
  219.         if ((dat&0x0f) < n)
  220.                 dat += 0x01;
  221.         else
  222.                 dat &= 0xf0;
  223.         return dat;
  224. }

  225. uchar IncBcdWeek(uchar dat, uchar n)                //星期加
  226. {
  227.         if ((dat&0x0f) < n)
  228.                 dat += 0x01;
  229.         else
  230.                 dat = 1;
  231.         return dat;
  232. }

  233. void IncSetTime()                 //向上(加)
  234. {
  235.         switch (pos)
  236.         {
  237.                 case 1: buftime.year = IncBcdHigh(buftime.year,9); break;
  238.                 case 2: buftime.year = IncBcdLow(buftime.year,9); break;
  239.                 case 3: buftime.mon = IncBcdHigh(buftime.mon,1); break;
  240.                 case 4: buftime.mon = IncBcdLow(buftime.mon,9); break;
  241.                 case 5: buftime.day = IncBcdHigh(buftime.day,3); break;
  242.                 case 6: buftime.day = IncBcdLow(buftime.day,9); break;
  243.                 case 7: buftime.week = IncBcdWeek(buftime.week,7); break;
  244.                 case 8: buftime.hour = IncBcdHigh(buftime.hour,2); break;
  245.                 case 9: buftime.hour = IncBcdLow(buftime.hour,9); break;
  246.                 case 10: buftime.min = IncBcdHigh(buftime.min,5); break;
  247.                 case 11: buftime.min = IncBcdLow(buftime.min,9); break;
  248.                 case 12: buftime.sec = IncBcdHigh(buftime.sec,5); break;
  249.                 case 13: buftime.sec = IncBcdLow(buftime.sec,9); break;

  250.                 case 14: hourbee1 = IncBcdHigh(hourbee1,2); break;
  251.                 case 15: hourbee1 = IncBcdLow(hourbee1,9); break;
  252.                 case 16: minbee1 = IncBcdHigh(minbee1,5); break;
  253.                 case 17: minbee1 = IncBcdLow(minbee1,9); break;

  254.                 case 18: hourbee2 = IncBcdHigh(hourbee2,2); break;
  255.                 case 19: hourbee2 = IncBcdLow(hourbee2,9); break;
  256.                 case 20: minbee2 = IncBcdHigh(minbee2,5); break;
  257.                 case 21: minbee2 = IncBcdLow(minbee2,9); break;
  258.                 default: break;
  259.         }
  260.         RefrTime();
  261.         CurPosit();       
  262. }

  263. void EntertimeSet()                        //進入時間設置
  264. {
  265.         pos = 21;
  266.         RightShift();
  267.         LcdCoorTwin();                //光標閃動
  268. }

  269. void KeyAction(uchar cod,bit set)                          //按鍵動作
  270. {
  271.         switch(cod)
  272.         {
  273.                 case 0: if (!set)       
  274.                                 {
  275.                                         if (flag > 0)                        //鬧鐘延時顯示狀態下,則可以設置鬧鐘開關
  276.                                                 BeeOnroOff();
  277.                                         pos = 0;
  278.                                         SetTime(&buftime);
  279.                                         LcdClsCur();                 //光標閃動清除
  280.                                 }
  281.                                 else                                          //進入設置
  282.                                 {
  283.                                         flag = 0;                          //延時顯示時間清零                                       
  284.                                         EntertimeSet();
  285.                                 }
  286.                                         break;
  287.                 case 1: if (!set && (pos==0))                        //非設置狀態,顯示鬧鐘1
  288.                                 {
  289.                                         keybee = 1;
  290.                                         flag = 3;                                        //延時6秒計算
  291.                                         if (beeonoff1)
  292.                                         {
  293.                                                 LcdShowStr(0,1,"*");         //顯示鬧鐘標志
  294.                                         }
  295.                                         else
  296.                                         {
  297.                                                 LcdShowStr(0,1," ");
  298.                                         }
  299.                                         RefrTime();       
  300.                                 }
  301.                                 else if (pos!=0)                                 //設置狀態,數字移動
  302.                                 {
  303.                                         RightShift();                               
  304.                                 }                       
  305.                                         break;
  306.                 case 2: if (!set && (pos==0))                        //非設置狀態,顯示鬧鐘2
  307.                                 {
  308.                                         keybee = 2;
  309.                                         flag = 3;                                         //延時6秒計算
  310.                                         if (beeonoff2)
  311.                                         {
  312.                                                 LcdShowStr(0,1,"*");           //顯示鬧鐘標志
  313.                                         }
  314.                                         else
  315.                                         {
  316.                                                 LcdShowStr(0,1," ");
  317.                                         }
  318.                                         RefrTime();       
  319.                                 }
  320.                                 else if (pos!=0)                           //設置狀態,數字加
  321.                                 {
  322.                                         IncSetTime();
  323.                                 }                               
  324.                                           break;
  325.         }       
  326. }

  327. void LedLigh(bit ledt)                                  //背影燈開啟
  328. {
  329.         static bit ledflag = 0;
  330.         static uint ledcou=0;

  331.         if (ledt)
  332.         {
  333.                 ledflag = 1;
  334.                 ledcou = 3000;
  335.                 LED = 0;
  336.         }
  337.         if (ledflag)
  338.         {               
  339.                 if (ledcou > 0)
  340.                 {
  341.                         ledcou--;
  342.                 }
  343.                 else
  344.                 {
  345.                         ledflag = 0;
  346.                         LED = 1;       
  347.                 }
  348.         }
  349. }

  350. void AlarmClock(bit on, bit beet)                //鬧鐘發聲         on 鬧鐘觸發開關,beet為按鍵暫時關
  351. {
  352.         static bit off = 0;
  353.         static uchar alcou=0;

  354.         if (on)
  355.         {
  356.                 if (beet)
  357.                         off = 1;
  358.                 if (!off)
  359.                 {               
  360.                         alcou++;
  361.                         if (alcou == 255)
  362.                         {
  363.                         alcou = 0;
  364.                         }
  365.                         if (alcou > 150)
  366.                         {
  367.                                 BEE = ~BEE;
  368.                         }
  369.                 }
  370.                 else
  371.                 {
  372.                         BEE = 1;
  373.                 }       
  374.         }
  375.         else
  376.         {
  377. ……………………

  378. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
0.png
所有資料51hei提供下載:
自制小型萬年歷.zip (440.2 KB, 下載次數: 150)



評分

參與人數 2黑幣 +55 收起 理由
不負時光~田 + 5 絕世好帖!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:367440 發表于 2018-7-29 18:36 | 顯示全部樓層
大神,膜拜
回復

使用道具 舉報

ID:307566 發表于 2018-9-8 20:09 | 顯示全部樓層
和我想做的差不多,就等下下來實踐一下
回復

使用道具 舉報

ID:457329 發表于 2018-12-31 13:30 | 顯示全部樓層
老哥,我下載下來修改,發現好多.C文件不知道怎么修改,求教
回復

使用道具 舉報

ID:154310 發表于 2018-12-31 22:38 | 顯示全部樓層
太厲害了,求指導呀。。。。
回復

使用道具 舉報

ID:133790 發表于 2019-1-2 11:39 | 顯示全部樓層
這個帖子不錯,自從自己開始自己自學單片機,從來都沒有系統的學習過。多謝了。
回復

使用道具 舉報

ID:479216 發表于 2019-2-22 11:02 來自觸屏版 | 顯示全部樓層
謝謝樓主,正準備做個這種的。
回復

使用道具 舉報

ID:517951 發表于 2020-11-15 14:10 | 顯示全部樓層
謝謝樓主分享,,51hei有你更精彩!!
回復

使用道具 舉報

9#
無效樓層,該帖已經被刪除
ID:336670 發表于 2023-1-31 12:24 | 顯示全部樓層
謝謝樓主分享,,51hei有你更精彩!!
回復

使用道具 舉報

ID:512651 發表于 2023-2-1 10:51 | 顯示全部樓層
感謝樓主分享,收下了。
回復

使用道具 舉報

12#
無效樓層,該帖已經被刪除
ID:1026113 發表于 2023-2-6 16:36 | 顯示全部樓層
老哥怎么沒有復位
回復

使用道具 舉報

ID:824664 發表于 2023-3-12 23:37 | 顯示全部樓層
正在學習的內容,非常感謝!!!
回復

使用道具 舉報

ID:1055285 發表于 2025-11-27 20:28 | 顯示全部樓層
我做的屏幕亮,但是沒有顯示,不知道怎么回事?
回復

使用道具 舉報

ID:1055285 發表于 2025-11-27 22:02 | 顯示全部樓層
我用的是STC89C52.這個是不是不行啊?
回復

使用道具 舉報

ID:1055285 發表于 2025-12-11 20:23 | 顯示全部樓層
我又用了AT89S52也不行啊?沒有顯示
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
春色成人在线视频| 九色蝌蚪在线视频| 一级黄色免费网站| 麻豆视频免费在线播放| 久久亚洲AV无码专区成人国产| 91视频免费入口| 一区二区免费av| 少妇激情一区二区三区| 日韩a在线播放| 97国产精东麻豆人妻电影| 久久精品无码中文字幕| 大片在线观看网站免费收看| 国产资源第一页| 国产va亚洲va在线va| 欧美色图色综合| 国产精品人人妻人人爽人人牛| 成人毛片视频网站| 亚洲高清在线免费观看| 色综合五月婷婷| 亚洲色图欧美另类| 亚洲最大成人网站| 少妇愉情理伦三级| 免费又黄又爽又色的视频| 国产真实的和子乱拍在线观看| www.国产一区二区| 国产日韩在线观看一区| 五月婷婷开心中文字幕| 一道精品视频一区二区三区男同 | 日韩免费久久| 忘忧草精品久久久久久久高清| 国产精品多人| 日韩激情中文字幕| 国产aⅴ综合色| 国产欧美一区二区三区在线看蜜臀| 国产精品国产三级国产普通话三级 | 精品一区二区三区视频在线观看| 国产激情一区二区三区四区| 久久在线免费观看| 一区二区三区不卡在线观看 | 麻豆tv在线播放| 自拍偷拍一区二区三区四区| 久久久久国产精品无码免费看| 51妺嘿嘿午夜福利| 久久夜靖品2区| 99热这里只有精品99| 成av人免费青青久| www.就去干.com| 免费在线视频你懂得| 久久香蕉av| 日韩精品成人在线观看| 99热在线成人| 久久99精品久久久| 中文字幕在线不卡一区| 欧美丰满高潮xxxx喷水动漫| 色老头一区二区三区在线观看| 青草青草久热精品视频在线观看| 久久久久成人精品免费播放动漫| 日本欧美视频在线观看| 久久久久久久久久影视| 久久久精品99| 亚洲av毛片成人精品| 肥婆老bbb肥婆bbbbb| 国产区高清在线| 素人啪啪色综合| 婷婷久久一区| 国产91在线看| 欧美午夜激情小视频| 亚洲欧美综合另类中字| 国产精品女视频| 精品国产无码在线| 久久久久久婷婷| 国产精品视频免费播放| 性欧美video另类hd3| 美女激情网站| 91久久国产综合久久91猫猫| 国产一区二区亚洲| 国产在线精品一区二区夜色| 亚洲一区二区中文在线| 亚洲欧美www| 91精品综合视频| 日本网站免费在线观看| 亚洲AV成人无码网站天堂久久| 99热这里精品| 2020中文字幕在线| 少妇在线看www| 97久久视频| 99久久夜色精品国产网站| 欧美亚洲免费在线一区| 久久久久久久久91| 亚洲精品永久www嫩草| 中文字幕 日本| 亚洲一区二区三区网站| 天天操夜夜操天天射| 理论不卡电影大全神| 91精品啪在线观看国产81旧版| 91亚洲男人天堂| 日韩视频一区二区| 国产日韩欧美综合| 成年人黄色片视频| 国产一级淫片a| 国产精品视频一区二区三区麻豆| 日本精品一区二区三区在线播放| 亚洲妇女av| 成人毛片视频在线观看| 日韩一区二区在线看片| 国产精品麻豆va在线播放| 99精品人妻少妇一区二区| 久久免费少妇高潮99精品| 欧美sm视频| 中文在线观看免费| 欧美一区在线看| ...中文天堂在线一区| 色综久久综合桃花网| 日韩.欧美.亚洲| 免费观看av网站| 影音先锋一区二区资源站| 欧美女子与性| 国产一区二区三区日韩精品| 久久久久久久久久美女| 亚洲免费成人av电影| 女同一区二区| 国产综合精品在线| 亚洲精品自产拍在线观看| 二区三区四区高清视频在线观看| 国产精品国内免费一区二区三区| 18成人在线视频| 蜜臀久久99精品久久久久久宅男 | 免费国产阿v视频在线观看| 日本视频在线| 国产精品v亚洲精品v日韩精品 | 中国xxxx性xxxx产国| 亚洲精品.www| 永久免费av片在线观看全网站| 精品国产一区一区二区三亚瑟 | 中文字幕中文字幕在线中心一区| 九九免费精品视频在线观看| 精品国产美女| 中文字幕国产精品一区二区| 尤物九九久久国产精品的分类| 欧美男人的天堂| 成人午夜免费影院| 无遮挡h肉3d动漫在线观看| 国产粉嫩在线观看| 日韩成人精品在线| 在线播放亚洲一区| 国产日本一区二区三区| 一本色道久久综合亚洲精品图片| 亚洲精品7777| 免费一二一二在线视频| 九色综合国产一区二区三区| 亚洲精品在线一区二区| 亚洲v国产v在线观看| 国产亚洲精品女人久久久久久| 天天草夜夜操| 天天做夜夜做人人爱精品 | 亚洲mm色国产网站| yy1111111| 九九这里只精品视在线99| 偷拍中文亚洲欧美动漫| 国产成人在线视频播放| 国产一区二区三区欧美| 和岳每晚弄的高潮嗷嗷叫视频| 中文天堂在线资源| 在线激情网站| 亚洲永久在线| 亚洲精品在线三区| 熟妇熟女乱妇乱女网站| 成人毛片一区二区三区| 国产精品影院在线| 亚洲黄色影片| 精品99久久久久久| 996这里只有精品| 国产精品国产三级国产aⅴ| 免费在线观看黄| 蜜桃免费网站一区二区三区 | 99久久国产精| 国产不卡精品一区二区三区| 午夜免费欧美电影| 日韩理论片网站| 国产精品久久久久77777| 亚洲码无人客一区二区三区| 热99在线观看| 天天综合亚洲| 欧美一级一区二区| av 日韩 人妻 黑人 综合 无码| 国产欧美熟妇另类久久久| 久久av色综合| 成人97人人超碰人人99| 97精品久久久中文字幕免费| 自拍视频一区二区| av网站免费| 国产精品a久久久久| 欧美成人精品高清在线播放| 91免费黄视频| 亚洲欧美精选| 天堂俺去俺来也www久久婷婷| 91极品美女在线| 中文字幕av日韩精品| 国产色片在线观看| 日韩av首页| 亚洲日本在线观看| 激情一区二区三区| 在线观看视频二区| 欧美大片高清| 亚洲精品视频一区| 欧美日韩在线精品| 国产原创中文av| 日韩精品第一| 性做久久久久久久免费看| 日本视频一区二区不卡| 国产成人精品免费看视频| 韩日精品一区| 天天做天天摸天天爽国产一区| 日本在线播放不卡| 成人久久久精品国产乱码一区二区| 怡红院成人在线| 一区二区三区在线高清| 欧美日韩一区二| 午夜精品久久久久久久91蜜桃| 国产福利亚洲| 欧美天天综合色影久久精品| 国产高清不卡无码视频| 欧美色图欧美色图| 欧美日韩精品在线一区| 精品区一区二区| 久久久久xxxx| 黄网站免费观看| 人人狠狠综合久久亚洲| 91国语精品自产拍在线观看性色 | 亚洲欧美久久234| 黄色美女一级片| 91国内精品| 日韩一区国产二区欧美三区| 污片在线免费看| 成人网免费看| 老色鬼精品视频在线观看播放| 日本久久久久久久久| 精品久久免费视频| 水蜜桃在线视频| 亚洲午夜电影网| 亚洲高潮无码久久| www.国产在线| 国产一区二区三区自拍| 久久91精品国产| 欧美精品久久久久性色| 色多多在线观看| 欧美日韩另类视频| 日本免费不卡一区二区| 天天撸天天射| 国内成人自拍视频| 91热福利电影| 精品国产亚洲一区二区麻豆| 北条麻妃一区二区三区在线| 精品国产91乱码一区二区三区 | 欧美裸身视频免费观看| 欧美日韩国产精品一区二区三区 | 波多野结衣家庭教师在线观看 | 人人妻人人藻人人爽欧美一区| 国产youjizz在线| 国产精品久久久一本精品| 中文网丁香综合网| 日本三级电影在线看| 欧美a级一区二区| 亚洲精品免费网站| 欧美一级特黄aaaaaa大片在线观看| 自拍偷拍欧美一区| 一本一本久久a久久精品综合小说| 一级黄色片大全| 色呦呦在线看| 日韩欧美中文字幕在线观看| 日本熟妇人妻中出| 在线免费观看av网站| 国产视频在线观看一区二区三区| 亚洲欧美国产不卡| 影音av资源| www.欧美日韩国产在线| 亚洲国产综合自拍| 免费在线日本| 国产一区二区不卡老阿姨| 国模精品一区二区三区| 欧洲精品乱码久久久久蜜桃| 国产日韩欧美一区| 成人xvideos免费视频| 天天操天天干天天插| 国产精品啊啊啊| 国产精选久久久久久| 午夜在线视频观看| 亚洲国产二区| 91久久在线观看| 亚洲精品综合一区二区三区| 日本不卡的三区四区五区| 久久riav二区三区| 欧洲毛片视频| 不卡的av在线播放| 干日本少妇视频| 亚洲美女在线免费观看| 中文字幕在线播放不卡一区| 少妇性l交大片| 免费在线观看黄色| 欧美日韩国产高清一区二区三区 | 影音先锋中文字幕一区| 成人福利在线视频| 欧美videos粗暴高清性| 国产精品中文字幕一区二区三区| 亚洲视频欧美在线| www.4438全国最大| 亚洲伦在线观看| 国产黑丝在线视频| 亚洲电影观看| 亚洲欧洲在线观看| 久久久久久久久久一级| 欧美一区精品| 国产女主播一区二区| 黄色免费网站观看| 国产精品美女一区二区在线观看| 手机看片福利盒子久久| 欧美人与禽猛交乱配| 精品国产制服丝袜高跟| 国产在线拍揄自揄拍| 国产亚洲一区| 国产日韩av在线| 一代武则天秘史| 久久欧美中文字幕| 国产无色aaa| 亚洲人体影院| 中日韩美女免费视频网址在线观看 | 欧美久久久一区| 久久久久久久久久久网 | 97成人免费视频| 亚洲在线成人| 这里只有精品66| 久久精品国产亚洲a∨麻豆| 欧美日韩成人一区| 日韩av电影网| 狠狠综合久久av一区二区老牛| 极品尤物一区二区三区| 日韩黄色视屏| 色播五月激情综合网| 午夜激情福利网| 日韩免费视频| 久久av一区二区三区亚洲| 91天堂在线| 欧美日韩精品专区| 国产精品999在线观看| 激情另类综合| 亚洲欧美日韩另类精品一区二区三区 | 青青草原国产视频| 97久久视频| 日本一区二区三区免费观看| 亚洲啪啪aⅴ一区二区三区9色| 欧美精品xxxxbbbb| 91精品国产综合久久久蜜臀九色| 狠狠入ady亚洲精品| 亚洲自拍偷拍二区| 视频免费一区| 亚洲性av网站| 在线观看xxx| 26uuu色噜噜精品一区二区| 精品人妻无码中文字幕18禁| 亚洲精品黑牛一区二区三区| 国产精品亚洲片夜色在线| 欧美18—20岁hd第一次| 色av成人天堂桃色av| 天天操夜夜操视频| 日本成人中文字幕在线视频| 亚洲自偷自拍熟女另类| 亚洲成人不卡| 国产极品jizzhd欧美| 三级免费网站| 91精品国产综合久久久久久| 91av国产精品| 成人午夜av在线| 97精品人妻一区二区三区蜜桃| 自拍欧美一区| 少妇免费毛片久久久久久久久| 欧美性videos| 久久中国妇女中文字幕| 最新天堂网www| 欧美日韩精品在线观看| 国内自拍视频在线播放| 黄页视频在线91| 人妻体体内射精一区二区| 国产毛片一区二区三区| 亚洲欧美日本国产有色 | 精品久久久久久久久久久久久 | 91成人精品视频| 国产在线无码精品| 欧亚一区二区| 亚洲综合日韩在线| 久久免费看视频| 精品国产一区二区三区久久狼黑人 | 中文字幕xxxx| 国产福利91精品| 免费看黄色aaaaaa 片| 亚洲精品一区二区妖精| 国产精品裸体瑜伽视频| 秋霞影院一区| 国产原创精品| 午夜av在线播放| 欧美一区二区色|