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

標題: 如何根據(jù)成型的單片機時鐘編寫程序? [打印本頁]

作者: 消失的阿白    時間: 2016-12-28 11:51
標題: 如何根據(jù)成型的單片機時鐘編寫程序?


如圖,單片機的型號是stc15f204ea,之前在網上買了些零件,將之組裝完成后才發(fā)現(xiàn)缺少相對應的程序。

請問,如果想要編寫出相對應的時鐘鬧鐘程序,需要怎么做?

可以的話,請務必留下詳細的回復。

作者: 張偉靈    時間: 2016-12-28 21:02
這個要有電路圖呀!而且你跟他買,他應該會提供程序。
作者: ahshmj    時間: 2016-12-28 21:21
有電路圖就可以。要知道按鍵、顯示、蜂鳴器、ds1302各自對應的IO。
作者: angmall    時間: 2016-12-28 21:21
相對應的時鐘鬧鐘程序
  1. //
  2. // STC15F204EA DIY LED Clock
  3. //

  4. #include "stc15.h"
  5. #include <stdint.h>
  6. #include <stdio.h>
  7. #include "adc.h"
  8. #include "ds1302.h"
  9. #include "led.h"
  10.    
  11. #define FOSC    11059200

  12. // clear wdt
  13. #define WDT_CLEAR()    (WDT_CONTR |= 1 << 4)

  14. // alias for relay and buzzer outputs, using relay to drive led for indication of main loop status
  15. #define RELAY   P1_4
  16. #define BUZZER  P1_5
  17.    
  18. // adc channels for sensors
  19. #define ADC_LIGHT 6
  20. #define ADC_TEMP  7

  21. // three steps of dimming. Photoresistor adc value is 0-255. Lower values = brighter.
  22. #define DIM_HI  100
  23. #define DIM_LO  190

  24. // button switch aliases
  25. #define SW2     P3_0
  26. #define S2      1
  27. #define SW1     P3_1
  28. #define S1      0

  29. // display mode states
  30. enum keyboard_mode {
  31.     K_NORMAL,
  32.     K_WAIT_S1,
  33.     K_WAIT_S2,
  34.     K_SET_HOUR,
  35.     K_SET_MINUTE,
  36.     K_SET_HOUR_12_24,
  37.     K_SEC_DISP,
  38.     K_TEMP_DISP,
  39.     K_DATE_DISP,
  40.     K_DATE_SWDISP,
  41.     K_SET_MONTH,
  42.     K_SET_DAY,
  43.     K_WEEKDAY_DISP,
  44.     K_DEBUG
  45. };

  46. // display mode states
  47. enum display_mode {
  48.     M_NORMAL,
  49.     M_SET_HOUR_12_24,
  50.     M_SEC_DISP,
  51.     M_TEMP_DISP,
  52.     M_DATE_DISP,
  53.     M_WEEKDAY_DISP,
  54.     M_DEBUG
  55. };

  56. /* ------------------------------------------------------------------------- */

  57. void _delay_ms(uint8_t ms)
  58. {       
  59.     // i,j selected for fosc 11.0592MHz, using oscilloscope
  60.     // the stc-isp tool gives inaccurate values (perhaps for C51 vs sdcc?)
  61.     // max 255 ms
  62.     uint8_t i, j;
  63.     do {
  64.             i = 4;
  65.             j = 240;
  66.             do
  67.             {
  68.                     while (--j);
  69.             } while (--i);
  70.     } while (--ms);
  71. }

  72. // GLOBALS
  73. uint8_t  count;     // was uint16 - 8 seems to be enough
  74. uint16_t temp;      // temperature sensor value
  75. uint8_t  lightval;  // light sensor value

  76. volatile uint8_t displaycounter;
  77. volatile uint8_t _100us_count;
  78. volatile uint8_t _10ms_count;

  79. uint8_t dmode = M_NORMAL;     // display mode state
  80. uint8_t kmode = K_NORMAL;
  81. uint8_t smode,lmode;

  82. volatile __bit  display_colon;         // flash colon
  83. __bit  flash_01;
  84. __bit  flash_23;
  85. __bit  beep = 1;

  86. volatile __bit  S1_LONG;
  87. volatile __bit  S1_PRESSED;
  88. volatile __bit  S2_LONG;
  89. volatile __bit  S2_PRESSED;

  90. volatile uint8_t debounce[2];      // switch debounce buffer
  91. volatile uint8_t switchcount[2];
  92. #define SW_CNTMAX 80

  93. void timer0_isr() __interrupt 1 __using 1
  94. {
  95.     // display refresh ISR
  96.     // cycle thru digits one at a time
  97.     uint8_t digit = displaycounter % 4;

  98.     // turn off all digits, set high   
  99.     P3 |= 0x3C;

  100.     // auto dimming, skip lighting for some cycles
  101.     if (displaycounter % lightval < 4 ) {
  102.         // fill digits
  103.         P2 = dbuf[digit];
  104.         // turn on selected digit, set low
  105.         P3 &= ~(0x4 << digit);  
  106.     }
  107.     displaycounter++;

  108.     //  divider: every 10ms
  109.     if (++_100us_count == 100) {
  110.         _100us_count = 0;
  111.         _10ms_count++;

  112.         // colon blink stuff, 500ms
  113.         if (_10ms_count == 50) {
  114.             display_colon = !display_colon;
  115.             _10ms_count = 0;
  116.         }
  117.             
  118.         // switch read, debounce:
  119.         // increment count if settled closed
  120.         if ((debounce[0]) == 0x00) {
  121.             // down for at least 8 ticks
  122.             S1_PRESSED = 1;
  123.             switchcount[0]++;
  124.         } else {
  125.             // released or bounced, reset state            
  126.             S1_PRESSED = 0;
  127.             switchcount[0] = 0;
  128.         }

  129.         if ((debounce[1]) == 0x00) {
  130.             // down for at least 8 ticks            
  131.             S2_PRESSED = 1;
  132.             switchcount[1]++;
  133.         } else {
  134.             // released or bounced, reset state
  135.             S2_PRESSED = 0;
  136.             switchcount[1] = 0;
  137.         }

  138.         // debouncing stuff
  139.         // keep resetting halfway if held long
  140.         if (switchcount[0] > SW_CNTMAX)
  141.             {switchcount[0] = SW_CNTMAX; S1_LONG=1;}
  142.         if (switchcount[1] > SW_CNTMAX)
  143.             {switchcount[1] = SW_CNTMAX; S2_LONG=1;}

  144.         // read switch positions into sliding 8-bit window
  145.         debounce[0] = (debounce[0] << 1) | SW1;
  146.         debounce[1] = (debounce[1] << 1) | SW2;
  147.     }
  148. }

  149. void Timer0Init(void)                //100us @ 11.0592MHz
  150. {
  151.         TL0 = 0xA4;                //Initial timer value
  152.         TH0 = 0xFF;                //Initial timer value
  153.     TF0 = 0;                //Clear TF0 flag
  154.     TR0 = 1;                //Timer0 start run
  155.     ET0 = 1;        // enable timer0 interrupt
  156.     EA = 1;         // global interrupt enable
  157. }

  158. #define getkeypress(a) a##_PRESSED

  159. int8_t gettemp(uint16_t raw) {
  160.     // formula for ntc adc value to approx C
  161.     return 76 - raw * 64 / 637;
  162. }

  163. /*********************************************/
  164. int main()
  165. {
  166.     // SETUP
  167.     // set photoresistor & ntc pins to open-drain output
  168.     P1M1 |= (1<<6) | (1<<7);
  169.     P1M0 |= (1<<6) | (1<<7);
  170.             
  171.     // init rtc
  172.     ds_init();
  173.     // init/read ram config
  174.     ds_ram_config_init();
  175.    
  176.     // uncomment in order to reset minutes and hours to zero.. Should not need this.
  177.     //ds_reset_clock();   
  178.    
  179.     Timer0Init(); // display refresh & switch read
  180.    
  181.     // LOOP
  182.     while(1)
  183.     {

  184.       RELAY = 0;
  185.       _delay_ms(100);
  186.       RELAY = 1;

  187.       // run every ~1 secs
  188.       if ((count & 3) == 0) {
  189.           lightval = getADCResult8(ADC_LIGHT) >> 3;
  190.           temp = gettemp(getADCResult(ADC_TEMP)) + (config_table[CONFIG_TEMP_BYTE]&CONFIG_TEMP_MASK) - 4;

  191.           // constrain dimming range
  192.           if (lightval < 4)
  193.               lightval = 4;

  194.       }      

  195.       ds_readburst(); // read rtc

  196.       // keyboard decision tree
  197.       switch (kmode) {
  198.          
  199.           case K_SET_HOUR:
  200.               flash_01 = !flash_01;
  201.               if (! flash_01) {
  202.                   if (getkeypress(S2)) ds_hours_incr();
  203.                   if (getkeypress(S1)) kmode = K_SET_MINUTE;
  204.               }
  205.               break;
  206.               
  207.           case K_SET_MINUTE:
  208.               flash_01 = 0;
  209.               flash_23 = !flash_23;
  210.               if (! flash_23) {
  211.                   if (getkeypress(S2)) ds_minutes_incr();
  212.                   if (getkeypress(S1)) kmode = K_SET_HOUR_12_24;
  213.               }
  214.               break;

  215.           case K_SET_HOUR_12_24:
  216.               dmode=M_SET_HOUR_12_24;
  217.               if (getkeypress(S2)) ds_hours_12_24_toggle();
  218.               if (getkeypress(S1)) kmode = K_NORMAL;
  219.               break;
  220.               
  221.           case K_TEMP_DISP:
  222.               dmode=M_TEMP_DISP;
  223.               if (getkeypress(S1))
  224.                   { uint8_t offset=config_table[CONFIG_TEMP_BYTE]&CONFIG_TEMP_MASK;
  225.                     offset++; offset&=CONFIG_TEMP_MASK;
  226.                     config_table[CONFIG_TEMP_BYTE]=(config_table[CONFIG_TEMP_BYTE]&~CONFIG_TEMP_MASK)|offset;
  227.                   }
  228.               if (getkeypress(S2)) kmode = K_DATE_DISP;
  229.               break;
  230.                         
  231.           case K_DATE_DISP:
  232.               dmode=M_DATE_DISP;
  233.               if (getkeypress(S1)) {kmode=K_WAIT_S1; lmode=CONF_SW_MMDD?K_SET_DAY:K_SET_MONTH; smode=K_DATE_SWDISP; }
  234.               if (getkeypress(S2)) kmode = K_WEEKDAY_DISP;                        
  235.               break;

  236.           case K_DATE_SWDISP:
  237.               CONF_SW_MMDD=!CONF_SW_MMDD;
  238.               kmode=K_DATE_DISP;
  239.               break;
  240.               
  241.           case K_SET_MONTH:
  242.               flash_01 = !flash_01;
  243.               if (! flash_01) {
  244.                   if (getkeypress(S2)) { ds_month_incr(); }
  245.                   if (getkeypress(S1)) { flash_01 = 0; kmode = CONF_SW_MMDD?K_DATE_DISP:K_SET_DAY; }
  246.               }
  247.               break;
  248.               
  249.           case K_SET_DAY:
  250.               flash_23 = !flash_23;
  251.               if (! flash_23) {
  252.                   if (getkeypress(S2)) { ds_day_incr(); }
  253.                   if (getkeypress(S1)) { flash_23 = 0; kmode = CONF_SW_MMDD?K_SET_MONTH:K_DATE_DISP;
  254.                   }
  255.               }
  256.               break;
  257.               
  258.           case K_WEEKDAY_DISP:
  259.               dmode=M_WEEKDAY_DISP;
  260.               if (getkeypress(S1)) ds_weekday_incr();
  261.               if (getkeypress(S2)) kmode = K_NORMAL;
  262.               break;
  263.          
  264.           case K_DEBUG:
  265.               dmode=M_DEBUG;
  266.               if (count>100) kmode = K_NORMAL;
  267.               if (S1_PRESSED||S2_PRESSED) count=0;
  268.               break;

  269.           case K_SEC_DISP:
  270.               dmode=M_SEC_DISP;
  271.               if (getkeypress(S1) || (count>100)) { kmode = K_NORMAL; }
  272.               if (getkeypress(S2)) { ds_sec_zero(); }
  273.               break;

  274.           case K_WAIT_S1:
  275.               count=0;
  276.               if (!S1_PRESSED) {
  277.                if (S1_LONG) {S1_LONG=0; kmode=lmode;}
  278.                       else  {kmode=smode;}
  279.                }
  280.               break;

  281.           case K_WAIT_S2:
  282.               count=0;
  283.               if (!S2_PRESSED) {
  284.                if (S2_LONG) {S2_LONG=0; kmode=lmode;}
  285.                       else  {kmode=smode;}
  286.                }
  287.               break;

  288.           case K_NORMAL:         
  289.           default:
  290.               flash_01 = 0;
  291.               flash_23 = 0;

  292.               dmode=M_NORMAL;

  293.               if (S1_PRESSED) { kmode = K_WAIT_S1; lmode=K_SET_HOUR; smode=K_SEC_DISP;  }
  294.               //if (S2_PRESSED) { kmode = K_WAIT_S2; lmode=K_DEBUG;    smode=K_TEMP_DISP; }
  295.               if (S2_PRESSED) { kmode = K_TEMP_DISP; }
  296.       
  297.       };

  298.       // display execution tree
  299.      
  300.       clearTmpDisplay();

  301.       switch (dmode) {
  302.           case M_NORMAL:
  303.               if (flash_01) {
  304.                   dotdisplay(1,display_colon);
  305.               } else {
  306.                   if (!H12_24) {
  307.                       filldisplay( 0, (rtc_table[DS_ADDR_HOUR]>>4)&(DS_MASK_HOUR24_TENS>>4), 0);        // tenhour
  308.                   } else {
  309.                       if (H12_TH) filldisplay( 0, 1, 0);        // tenhour in case AMPM mode is on, then '1' only is H12_TH is on
  310.                   }                  
  311.                   filldisplay( 1, rtc_table[DS_ADDR_HOUR]&DS_MASK_HOUR_UNITS, display_colon);      
  312.               }
  313.   
  314.               if (flash_23) {
  315.                   dotdisplay(2,display_colon);
  316.                   dotdisplay(3,H12_24&H12_PM);        // dot3 if AMPM mode and PM=1
  317.               } else {
  318.                   filldisplay( 2, (rtc_table[DS_ADDR_MINUTES]>>4)&(DS_MASK_MINUTES_TENS>>4), display_colon);        //tenmin
  319.                   filldisplay( 3, rtc_table[DS_ADDR_MINUTES]&DS_MASK_MINUTES_UNITS, H12_24 & H12_PM);                  //min
  320.               }
  321.               break;

  322.           case M_SET_HOUR_12_24:
  323.               if (!H12_24) {
  324.                   filldisplay( 1, 2, 0); filldisplay( 2, 4, 0);
  325.               } else {
  326.                   filldisplay( 1, 1, 0); filldisplay( 2, 2, 0);                  
  327.               }
  328.               filldisplay( 3, LED_h, 0);
  329.               break;

  330.           case M_SEC_DISP:
  331.               dotdisplay(0,display_colon);
  332.               dotdisplay(1,display_colon);
  333.               filldisplay(2,(rtc_table[DS_ADDR_SECONDS]>>4)&(DS_MASK_SECONDS_TENS>>4),0);
  334.               filldisplay(3,rtc_table[DS_ADDR_SECONDS]&DS_MASK_SECONDS_UNITS,0);
  335.               break;
  336.               
  337.           case M_DATE_DISP:
  338.               if (flash_01) {
  339.                   dotdisplay(1,1);
  340.               } else {
  341.                  if (!CONF_SW_MMDD) {
  342.                   filldisplay( 0, rtc_table[DS_ADDR_MONTH]>>4, 0);        // tenmonth ( &MASK_TENS useless, as MSB bits are read as '0')
  343.                   filldisplay( 1, rtc_table[DS_ADDR_MONTH]&DS_MASK_MONTH_UNITS, 1); }         
  344.                  else {
  345.                   filldisplay( 2, rtc_table[DS_ADDR_MONTH]>>4, 0);        // tenmonth ( &MASK_TENS useless, as MSB bits are read as '0')
  346.                   filldisplay( 3, rtc_table[DS_ADDR_MONTH]&DS_MASK_MONTH_UNITS, 0); }         
  347.               }
  348.               if (!flash_23) {
  349.                  if (!CONF_SW_MMDD) {
  350.                   filldisplay( 2, rtc_table[DS_ADDR_DAY]>>4, 0);                      // tenday   ( &MASK_TENS useless)
  351.                   filldisplay( 3, rtc_table[DS_ADDR_DAY]&DS_MASK_DAY_UNITS, 0); }     // day      
  352.                  else {
  353.                   filldisplay( 0, rtc_table[DS_ADDR_DAY]>>4, 0);                      // tenday   ( &MASK_TENS useless)
  354.                   filldisplay( 1, rtc_table[DS_ADDR_DAY]&DS_MASK_DAY_UNITS, 1); }     // day      
  355.               }     
  356.               break;
  357.                   
  358.           case M_WEEKDAY_DISP:
  359.               filldisplay( 1, LED_DASH, 0);
  360.               filldisplay( 2, rtc_table[DS_ADDR_WEEKDAY], 0);                //weekday ( &MASK_UNITS useless, all MSBs are '0')
  361.               filldisplay( 3, LED_DASH, 0);
  362.               break;
  363.               
  364.           case M_TEMP_DISP:
  365.               filldisplay( 0, ds_int2bcd_tens(temp), 0);
  366.               filldisplay( 1, ds_int2bcd_ones(temp), 0);
  367.               filldisplay( 2, CONF_C_F ? LED_f : LED_c, 1);
  368.               // if (temp<0) filldisplay( 3, LED_DASH, 0);  -- temp defined as uint16, cannot be <0
  369.               break;                  

  370.           case M_DEBUG:
  371.               filldisplay( 0, switchcount[0]>>4, S1_LONG);
  372.               filldisplay( 1, switchcount[0]&15, S1_PRESSED);
  373.               filldisplay( 2, switchcount[1]>>4, S2_LONG);
  374.               filldisplay( 3, switchcount[1]&15, S2_PRESSED);
  375.               break;
  376.       }

  377.       __critical { updateTmpDisplay(); }
  378.                   
  379.       // save ram config
  380.       ds_ram_config_write();
  381.       
  382.       if (S1_PRESSED || S2_PRESSED && ! (S1_LONG || S2_LONG)) {
  383.           // try to dampen button over-response
  384.           _delay_ms(100);
  385.       }

  386.       // reset long presses when button released
  387.       if (! S1_PRESSED && S1_LONG) {
  388.           S1_LONG = 0;
  389.       }
  390.       if (! S2_PRESSED && S2_LONG) {
  391.           S2_LONG = 0;
  392.       }
  393.         
  394.       count++;
  395.       WDT_CLEAR();
  396.     }
  397. }
  398. /* ------------------------------------------------------------------------- */
復制代碼


https://github.com/zerog2k/stc_diyclock

作者: zeng_fanlong    時間: 2016-12-28 23:09
這個得根據(jù)電路來寫程序,你可以用已有的原件設計電路,再編寫程序。




歡迎光臨 (http://www.izizhuan.cn/bbs/) Powered by Discuz! X3.1
亚洲欧美另类日韩| 成人爽a毛片免费啪啪红桃视频| 亚洲综合欧美色图| 国产97免费视频| 久久久久久久久久久99| 国产精品日韩在线观看| 亚洲电影在线观看| 亚洲一区二区欧美日韩| 精品一区二区免费视频| 欧美日韩性在线观看| 亚洲天堂导航| 黄色av网站在线免费观看| 国产娇喘精品一区二区三区图片| 91麻豆精品在线| 国产呦小j女精品视频| 亚洲中文字幕无码av永久| 成人欧美一区二区三区视频| 欧美成人精品xxx| 中文字幕一区二区三区精华液| 日本伊人色综合网| 久久香蕉国产| 亚洲一区二区三区在线免费| 91麻豆一二三四在线| 成人黄色免费| 免费观看欧美成人禁片| 一级片在线免费观看视频| 亚洲女人毛茸茸高潮| 青青草久久伊人| 男人草女人视频| 57pao成人永久免费视频| 国产午夜精品久久久| 在线观看国产日韩| 亚洲啪啪综合av一区二区三区| 国产成人一级电影| 久久精品女人| 欧美女激情福利| 欧美男男gaytwinkfreevideos| 成人a在线观看高清电影| 国产不卡在线| 国产日本在线观看| 四色成人av永久网址| 日本黄视频网站| 四虎成人永久地址| 免费观看a视频| 最近中文字幕在线观看| 国产精彩视频在线| 91九色丨porny丨极品女神| 黄色av网址在线观看| 国产wwwxx| 青青青在线视频播放| 亚洲精品人成| 明星裸体视频一区二区| 92看片淫黄大片欧美看国产片| 97热精品视频官网| 久久亚洲国产精品成人av秋霞| 日韩电影中文字幕一区| 欧美一区二区三区免费| 国产精品久久久久一区二区三区 | 亚洲图区欧美| 免费看成一片| heyzo在线观看| jizz在线播放| h在线视频免费观看完整版| 特大巨黑人吊性xxxxn38| 久久综合精品视频| 国产黄色麻豆视频| 香蕉视频网页版| 夜夜骑日日射| 你懂的在线观看视频| 樱花草www在线观看| bdsm国产| 夜夜狂射影院| 公交车上扒开嫩j挺进去| 91蝌蚪在线| 嫩草影院入口一二三免费| 91麻豆精品国产91久久| 日日操夜夜爽| www.999av| 国产xxxxx| 濑亚美莉一二区在线视频| 国产香蕉视频在线观看| h网站在线播放| 中文字幕在线二区| 国产中文在线视频| 影音先锋在线视频| 182在线播放| 电影亚洲一区| 91免费精品国偷自产在线在线| 加勒比中文字幕精品| 亚洲婷婷伊人| 亚洲九九在线| 久久不射中文字幕| 韩国精品在线观看| 国产91丝袜在线18| 国产色一区二区| 一区二区三区在线观看视频 | 人人妻人人澡人人爽精品日本| 黄色av小说在线观看| 乱人伦中文字幕在线zone| 国产香蕉成人综合精品视频| 美乳美女在线观看香蕉| 免费av播放| 男人av在线| 香蕉成人app免费看片| 中文av在线全新| 欧美综合社区国产| 免费欧美一区| 亚洲欧洲一区| 成人福利在线看| 国产精品不卡在线| 欧美性做爰猛烈叫床潮| 日韩精品一区二区视频| 欧美国产在线电影| 91九色国产社区在线观看| 久久综合毛片| 一女被多男玩喷潮视频| 亚洲一区二区中文字幕在线观看| 精品久久久久久中文字幕人妻最新| 潘金莲一级黄色片| 亚洲婷婷久久综合| 四虎永久网址| 少妇免费视频| wwww亚洲| 你微笑时很美电视剧整集高清不卡 | 亚洲成a人片在线www| 2019亚洲日韩新视频| 国产日韩欧美日韩大片| 看高清中日韩色视频| 黄页网站大全在线观看| 91人妻一区二区三区| 毛茸茸多毛bbb毛多视频| 麻豆亚洲av熟女国产一区二| 国产精品嫩草影院桃色| 夜色视频网站| 国产三级在线看| 高清一区二区中文字幕| 午夜精品视频一区二区三区在线看| 久久99精品久久久久久动态图| 国产精品久久毛片| 欧美日韩亚洲国产综合| 久久成年人免费电影| www国产亚洲精品| 国产免费一区二区三区视频| 久久人人妻人人人人妻性色av| 国产乡下妇女做爰毛片| 四虎精品一区二区三区| 天天弄天天操| 极品美鲍一区| 国产一区二区三区电影在线观看| 日韩精品一二区| 亚洲欧美日韩在线| 精品视频中文字幕| 亚洲va欧美va国产综合剧情| 日本欧美视频在线观看| 国产福利在线导航| 岛国中文字幕| 午夜在线视频| 久草成人在线| 久久亚洲欧美国产精品乐播 | 一区二区91美女张开腿让人桶| 亚洲一区二区三区三州| 无码人妻精品一区二区三区蜜桃91 | 日韩特级毛片| 91亚洲国产| 欧美韩日一区二区三区| 亚洲成人网av| 国产激情美女久久久久久吹潮| 亚洲一区在线不卡| 色老头在线视频| eeuss网址直达入口| 亚洲女同志freevdieo| 国产综合自拍| 一区二区久久久久| 欧美成人免费全部| 亚洲小说欧美另类激情| 国产精品免费在线视频| 精品街拍一区二区| 日韩123区| 国产精品人人爽人人做我的可爱| 夜夜嗨av一区二区三区| 欧美日韩国产成人| 一区二区日本| av资源在线免费观看| 性欧美69式xxxxx| 中文字幕人妻丝袜乱一区三区| 天天天天天天操| 免费在线小视频| 欧美一区免费| 无吗不卡中文字幕| 精品综合久久久久久97| 亚洲精品中字| 成年人网站免费看| 久久国产综合视频| 超碰caoporn久久| 99免费精品| 综合自拍亚洲综合图不卡区| 久久视频在线观看免费| 亚洲一区高清| 亚洲人做受高潮| 国产精品理人伦一区二区三区 | 免费黄色a级片| 色呦呦视频在线| 91美女视频在线| 青青草国产成人a∨下载安卓| 99精品视频一区| 中文字幕一区二区三区电影| 欧美日韩高清免费| www色com| 国产精品福利视频一区二区三区| 在线播放免费av| 激情六月综合| 欧美日韩免费区域视频在线观看| 欧美一级免费看| 亚洲精品无码国产| 一级淫片免费看| 国产小视频在线观看| 欧美一区二区性| 久久久综合精品| 午夜精品在线视频| 国产精品97在线| 国产精品久久久国产盗摄| 在线看三级网站视频| 久久综合电影| 婷婷久久综合九色国产成人| 国产91热爆ts人妖在线| 亚洲精品第三页| 欧美性极品videosbest| 小草在线视频免费播放| 久久se精品一区精品二区| 精品国产乱码久久| 欧美一级视频在线播放| 中文字幕码精品视频网站| 青青草视频在线免费观看| 日韩在线欧美| 色综合欧美在线| 99精彩视频在线观看免费| 精品少妇人妻一区二区黑料社区 | 最新中文字幕视频| 国产超级av| 婷婷综合福利| 亚洲成人动漫av| 成人欧美一区二区三区视频| 福利视频第一页| 一级理论片在线观看| 午夜国产欧美理论在线播放| 欧美日韩在线直播| 茄子视频成人在线观看 | 中文文精品字幕一区二区| 中日韩午夜理伦电影免费| 在线观看日本一区二区| 特级xxxxx欧美| 亚洲伊人精品酒店| 国产欧美日韩一区二区三区在线观看| 国产精品白嫩初高中害羞小美女| 欧美一区二区免费在线观看| 99国产牛牛视频在线网站| 成人资源在线| 欧美私模裸体表演在线观看| 蜜桃导航-精品导航| 久久精品视频国产| 精品三级久久久久久久电影聊斋| 亚洲免费中文| 亚洲四色影视在线观看| 男女啪啪网站视频| 免费国产麻豆传| 色婷婷成人网| 精品福利在线观看| 欧美亚洲免费高清在线观看| av图片在线观看| 91小视频xxxx网站在线| 国产亚洲精品超碰| 国产日韩av高清| 青娱乐国产精品| 国产精品视频一区二区久久| 国产精品亚洲综合一区在线观看| 精品中文字幕在线| 法国伦理少妇愉情| 欧美18 19xxx| 久久综合亚州| 欧美日韩福利电影| 伊人网伊人影院| 欧美孕妇孕交| 韩国理伦片一区二区三区在线播放| 日日狠狠久久偷偷四色综合免费| 天天久久综合网| h在线观看免费| 狠狠爱综合网| 中文字幕日韩av电影| 国产一精品一aⅴ一免费| 91成人福利在线观看| 视频一区二区三区入口| 欧美不卡视频一区发布| 亚洲国产无码精品| 国产专区在线| 不卡一区二区三区四区| 成人疯狂猛交xxx| 日韩黄色一级大片| 丁香久久综合| 高潮白浆女日韩av免费看| 性欧美18一19内谢| 色一情一乱一区二区三区| 国产伦一区二区三区| 亚洲精品在线一区二区| 亚洲欧美日韩一级| 在线视频中文字幕久| 国产乱色国产精品免费视频| 日韩av电影手机在线观看| 亚洲精品一区国产精品| 久久夜色邦福利网| 精品美女在线视频| 日韩精品视频免费专区在线播放 | 欧美在线色图| 精品视频在线播放免| 精品一区二区三区四区五区六区| 久草在现在线| 91污片在线观看| 久久影院理伦片| 综合蜜桃精品| 欧美色图激情小说| 欧美精品免费看| 一区视频免费观看| 成人国产电影在线观看| 色婷婷综合久久久久中文一区二区 | 久久99精品久久只有精品| 91在线视频免费观看| 久久99九九| 亚洲狠狠婷婷综合久久蜜桃| 久久亚洲影视| 欧美日本在线视频中文字字幕| 青青草av在线播放| 国产高清精品二区| 亚洲一区二区av在线| 久艹在线免费观看| 天天操夜夜欢| 国产精品88888| 一区二区三区av在线| 国产精品福利视频一区二区三区| 一本色道精品久久一区二区三区| 日韩视频不卡中文| 毛片久久久久久| 奇米777日韩| 日韩一区二区在线观看视频| 国产三级av在线播放| 金瓶狂野欧美性猛交xxxx| 欧美日韩中文在线| 亚洲妇熟xx妇色黄蜜桃| 国产精品一区二区婷婷| 亚洲伊人伊色伊影伊综合网| 在线播放av中文字幕| 午夜在线免费观看视频| 午夜国产精品一区| 性chinese极品按摩| 国产中文在线视频| 偷拍亚洲欧洲综合| 亚洲 自拍 另类 欧美 丝袜| av电影在线免费| 7777女厕盗摄久久久| 97人妻精品一区二区免费| 99精品视频在线免费播放| 亚洲电影免费观看高清| 日本精品人妻无码77777| 国产福利资源一区| 久久中文字幕视频| 亚洲熟妇av乱码在线观看| 日韩中出av| 国产精品男人的天堂| 中文字幕在线免费看| 久久综合伊人| 国产在线拍揄自揄拍无码| 黄页网址大全在线播放| 一区二区三区精品在线观看| 亚洲图片综合网| 日本精品另类| 中文字幕不卡在线视频极品| 国产伦精品一区二区三区视频痴汉| 首页国产精品| 国产一区二区在线免费| 性欧美精品xxxx| 国产白丝精品91爽爽久久| 国产在线视频综合| 日韩在线一区二区视频| 成人中文字幕电影| 久久久久久久久久伊人| 牛牛影视精品影视| 日韩三级视频中文字幕| 欧美精品久久久久性色| 国产精品探花在线观看| 亚洲影院高清在线| 日日骚.com| 中文字幕一区二区三区av| 精品免费视频123区| 成人免费xx| 亚洲蜜臀av乱码久久精品蜜桃| 少妇伦子伦精品无吗| 成人av观看| 欧美精品一区二区免费| 欧美特级xxxxbbbb毛片| 成人精品gif动图一区| 国产免费一区二区三区视频| 午夜无码国产理论在线|