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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

msp430 G2553自動打鈴系統設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:343004 發表于 2018-6-1 17:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
一、任務
    采用MSP-EXP430G2553試驗板設計并制作一臺自動打鈴系統。要求完成的作品必須固化軟件,測試檢查時上電即可工作,采用串口與上位機進行通信來實現人機交互。
二、要求
1.基本要求
      1)基本計時、溫度測量和顯示功能(用12小時制顯示)。
           包括上下午標志,時、分、秒的數字顯示,秒信號指示,XX.X℃。
      2)能設置當前時間(含上、下午,時,分,秒)
      3)能實現基本打鈴功能,規定:
          上午630起床鈴;打鈴5秒、停2秒、再打鈴5秒。
          下午11:00熄燈鈴;打鈴5秒、停2秒、再打鈴5秒。
    鈴聲可用LED燈光顯示,LED燈的亮滅以呼吸燈形式體現。
2.發揮部分
    1)增加整點報時功能,整點時響鈴5秒,要求有控制啟動和關閉功能。
    2)增加調整起床鈴、熄燈鈴時間的功能。
    3)增加調整打鈴時間長短和間歇時間長短的功能。
    4)增設上午4節課的上、下課打鈴功能,規定:8:00上課,850下課;855上課,945下課;10:00上課,1050下課;1055  上課,1145下課;每次鈴聲5秒。
5)利用板上按鍵做一個12小時/24小時的顯示格式切換。
6)設置錯誤時間后會報錯。
7)溫度到達30℃后報警。
8)掉電保存上一次的時間信息,下次上電后自動從掉電前開始計時。

單片機源程序如下:
  1. /*
  2. automatic alarming system instructions
  3. 1 change time : " a/pm000000#";
  4. 2 change wake/sleep time: "*a/pm000000#";
  5. 3 change alarming/pause time: "&00#";
  6. 4 input "s#"  start o'clock alarm;
  7. 5 input "c#"  cancel o'clock alarm;
  8. 6 input "d#"  am070000/pm113000 alarming
  9. 7 input "e#"  am073000/pm120000 alarming
  10. 8 press P1^3 12/24h transform
  11. */
  12. #include <msp430g2553.h>
  13. #include"Flash.h"
  14. float temp;
  15. long IntDegC;
  16. unsigned int i;
  17. unsigned char time[8]={'a','m','0','0','0','0','0','0'};
  18. unsigned char buf[];
  19. unsigned char array[9];
  20. unsigned char bed[3];
  21. unsigned char Temp[4];
  22. unsigned char data,sum;
  23. unsigned char flag[]={"°C"};
  24. unsigned char flag_1[]={"Temperature:"};
  25. unsigned char flag_2[]={"  Time:"};
  26. unsigned char flag_3,flag_4,flag_5,flag_6,flag_7,flag_8;
  27. unsigned char alarm[]={"  TIME ERROR"};
  28. unsigned char alarm1[]={"  TEMPERATURE ERROR"};
  29. void putchar(unsigned char c)
  30. {
  31.                 while(!(IFG2&UCA0TXIFG));
  32.                 UCA0TXBUF=c;
  33. }
  34. void putstr(unsigned char*s)
  35. {
  36.                 //IE2 &=~UCA0RXIE;
  37.                 while((*s)!='\0')
  38.                 {putchar(*s);s++;}
  39.                 //IE2 &|=UCA0RXIE;
  40. }
  41. void breath_light(void)
  42. {
  43.                 unsigned int static t,m,j;
  44.                 //unsigned int static j;
  45.                 WDTCTL = WDTPW | WDTHOLD;
  46.                 //unsigned const PWMPeriod=300;
  47.                 P1DIR|=BIT6;
  48.                 P1SEL|=BIT6;
  49.                 TA0CCR0=280;//set pwm period
  50.                 TA0CCTL1=OUTMOD_7;//set/reset mode
  51.                 TA0CTL=TASSEL_2+MC_1;//SMCLK/UP mode
  52.                 //TA0CCR0=600;
  53.                 if(flag_6) TA0CCR0=280*(bed[1]-48);
  54.        for(j=0;j<=4;j++)
  55.        {
  56.                 TA0CCR1=0;
  57.                 for(t=0;t<TA0CCR0;t++)
  58.                 {
  59.                         TA0CCR1=t;
  60.                         __delay_cycles(2000);
  61.                 }

  62.                 for(t=TA0CCR0;t>0;t--)
  63.                 {
  64.                         TA0CCR1=t;
  65.                         __delay_cycles(2000);
  66.                 }
  67.                 TA0CCR1=0;
  68.        }
  69.            TA0CCR1=0;
  70.            if(flag_6)
  71.            {m=(bed[2]-48);
  72.                    for(;m>0;m--)
  73.                    __delay_cycles(1000000);}
  74.            else __delay_cycles(2000000);

  75.     for(j=0;j<=4;j++)
  76.          {
  77.                   TA0CCR1=0;
  78.                   for(t=0;t<TA0CCR0;t++)
  79.                   {
  80.                           TA0CCR1=t;
  81.                           __delay_cycles(2000);
  82.                   }

  83.                   for(t=TA0CCR0;t>0;t--)
  84.                   {
  85.                           TA0CCR1=t;
  86.                           __delay_cycles(2000);
  87.                   }
  88.                   TA0CCR1=0;
  89.          }
  90. }
  91. void control_1(void)
  92. {
  93.         unsigned int static t;
  94.         unsigned int static j;
  95.         unsigned const PWMPeriod=280;
  96.         WDTCTL = WDTPW | WDTHOLD;
  97.         P1DIR|=BIT6;
  98.         P1SEL|=BIT6;
  99.         TA0CCR0=PWMPeriod;//set pwm period
  100.         TA0CCTL1=OUTMOD_7;//set/reset mode
  101.         TA0CTL=TASSEL_2+MC_1;//SMCLK/UP mode
  102.    for(j=0;j<=4;j++)
  103.    {
  104.         TA0CCR1=0;
  105.         for(t=0;t<PWMPeriod;t++)
  106.         {
  107.                 TA0CCR1=t;
  108.                 __delay_cycles(2000);
  109.         }

  110.         for(t=PWMPeriod;t>0;t--)
  111.         {
  112.                 TA0CCR1=t;
  113.                 __delay_cycles(2000);
  114.         }
  115.         TA0CCR1=0;
  116.    }
  117. }
  118. void IO_interrupt(void)
  119.         {
  120.          P1REN |= BIT3;           //啟用P1.3內部上下拉電阻
  121.          P1OUT |= BIT3;          //將電阻設置為上拉

  122.          //----配置P1.3中斷參數----
  123.          P1DIR &= ~BIT3;         //P1.3設為輸入(可省略)
  124.          P1IES |= BIT3;             //P1.3設為下降沿中斷
  125.          P1IE  |= BIT3;  //允許P1.3中斷
  126.      P1IFG&=~BIT3;
  127.         }
  128. void TimerA1(void)
  129. {
  130.             TA1CCTL0 = CCIE;                        // CCR0中斷使能
  131.             TA1CCR0 = 65535;
  132.             TA1CTL = TASSEL_2 + MC_3 + TACLR+ID_3;  // ACLK, 增計數模式, 清除TAR計數器
  133.             _enable_interrupts();
  134.            // __bis_SR_register(LPM0_bits+GIE);
  135. }

  136. void USCI_A0_init(void)
  137. {
  138.             BCSCTL1 = CALBC1_1MHZ;
  139.             DCOCTL = CALDCO_1MHZ;
  140.             P1SEL |=BIT1+BIT2;
  141.             P1SEL2 |=BIT1+BIT2;
  142.             UCA0CTL1 |=UCSSEL_2;
  143.             UCA0MCTL = UCBRS_0;
  144.             UCA0BR0=104;
  145.             UCA0BR1=0;
  146.             UCA0CTL1 &= ~UCSWRST;
  147.             IE2 |=UCA0RXIE;
  148.             //__bis_SR_register(LPM0_bits+GIE);
  149. }
  150. void ADC10_init(void)
  151. {
  152.     ADC10CTL0 &= ~ENC;
  153.     ADC10CTL0 = ADC10ON + REFON + ADC10SHT_3 + SREF_1;
  154.     ADC10CTL1 = CONSEQ_0 + ADC10SSEL_0 + ADC10DIV_3+SHS_0 + INCH_10;
  155.     __delay_cycles(3000);
  156.     ADC10CTL0 |= ENC;
  157. }
  158. void send_temp(void)
  159. {
  160.             static unsigned int z;
  161.             ADC10CTL0|=ENC+ADC10SC;
  162.                 while((ADC10CTL0 & ADC10IFG)==0);
  163.                  temp=ADC10MEM;
  164.            // IntDegC=((temp*(1.5)/1023)-0.986)/0.00355;
  165.                  IntDegC=temp*4225/1024-2777;
  166.             while(!(IFG2 & UCA0TXIFG));
  167.             putstr(flag_1);
  168.                 __delay_cycles(1000);
  169.                 UCA0TXBUF =IntDegC/100+48;
  170.                 __delay_cycles(1000);
  171.                 UCA0TXBUF =(IntDegC%100)/10+48;
  172.                 __delay_cycles(1000);
  173.                 UCA0TXBUF =46;
  174.                 __delay_cycles(1000);
  175.                 UCA0TXBUF =(IntDegC%100)%10+48;
  176.                 __delay_cycles(1000);
  177.                 putstr(flag);
  178.                 if (flag_8) z=((Temp[1]-48)*100)+((Temp[2]-48)*10)+(Temp[3]-48);else z=260;
  179.                 if(IntDegC>=z)    putstr(alarm1);

  180. }

  181. int main(void)
  182. {
  183.         static  int c=0;
  184.         WDTCTL = WDTPW | WDTHOLD;// Stop watchdog timer
  185.     Flash_Init();
  186.     P1DIR|=BIT0;
  187.     IO_interrupt();
  188.     ADC10_init();
  189.     USCI_A0_init();
  190.         TimerA1();
  191.         for(c=0;c<8;c++)
  192.                     {
  193.                             time[c]=FlashRead_Char(SegD+c);

  194.                     }

  195.     while(1)
  196.     {
  197.      if(flag_3){ breath_light();flag_3=0;}//5 2 5
  198.      if(flag_4){ control_1();flag_4=0;}//5
  199.      if(flag_5){ control_1();flag_5=0;}//5
  200.     }

  201.     }

  202. #pragma vector=TIMER1_A0_VECTOR// TA1中斷服務程序
  203. __interrupt void TIMER1_A0_ISR(void)
  204. {
  205.     static int c=0;
  206.         P1OUT^=BIT0;
  207.         send_temp();
  208.         putstr(flag_2);
  209.         putchar(time[0]);
  210.         putchar(time[1]);
  211.         putchar(time[2]);
  212.         putchar(time[3]);
  213.         putchar(58);
  214.         putchar(time[4]);
  215.         putchar(time[5]);
  216.         putchar(58);
  217.         putchar(time[6]);
  218.         putchar(time[7]++);
  219.         if(flag_7){putstr(alarm);flag_7=0;}        // forecast error
  220.         for(c=0;c<8;c++)
  221.                 {
  222.                         FlashErase_Seg(SegD+c);
  223.                 }
  224.                 for(c=0;c<8;c++)
  225.                 {
  226.                         FlashWrite_Char(SegD+c,time[c]);
  227.                 }
  228.              c=0;
  229.         if(time[7]==':'){time[7]='0';time[6]++;}
  230.         if(time[6]=='6'){time[6]='0';time[5]++;}
  231.         if(time[5]==':'){time[5]='0';time[4]++;}
  232.         if(time[4]=='6'){time[4]='0';time[3]++;}
  233.         if(time[3]==':'){time[3]='0';time[2]++;}
  234.         if((time[2]=='1')&&(time[3]=='2')&&(time[4]=='0')&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0'))
  235.         {if( time[0]=='a') time[0]='p';
  236.         else time[0]='a';
  237.         }
  238.         if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='4')&&(time[4]=='0')&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0')) {time[2]='0';time[3]='0';time[0]='a';}
  239.         if((time[2]=='1')&&(time[3]=='3')&&(time[4]=='0')&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0'))   {        time[2]='0';time[3]='1';}//12 h
  240.         if(sum=='1')//P1^3 12/24h transform
  241.     {
  242.         if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='4')) {time[2]='0';time[3]='0';time[0]='a';}sum=0;
  243.         if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='3')) {time[2]='1';time[3]='1';}sum=0;
  244.         if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='2')) {time[2]='1';time[3]='0';}sum=0;
  245.         if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='1')) {time[2]='0';time[3]='9';}sum=0;
  246.         if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='0')) {time[2]='0';time[3]='8';}sum=0;
  247.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='9')) {time[2]='0';time[3]='7';}sum=0;
  248.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='8')) {time[2]='0';time[3]='6';}sum=0;
  249.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='7')) {time[2]='0';time[3]='5';}sum=0;
  250.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='6')) {time[2]='0';time[3]='4';}sum=0;
  251.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='5')) {time[2]='0';time[3]='3';}sum=0;
  252.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='4')) {time[2]='0';time[3]='2';}sum=0;
  253.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='3')) {time[2]='0';time[3]='1';}sum=0;
  254.     }
  255.         if(sum=='2')
  256.         {
  257.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='1')) {time[2]='2';time[3]='3';}sum=0;
  258.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='0')) {time[2]='2';time[3]='2';}sum=0;
  259.         if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='9')) {time[2]='2';time[3]='1';}sum=0;
  260.         if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='8')) {time[2]='2';time[3]='0';}sum=0;
  261.         if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='7')) {time[2]='1';time[3]='9';}sum=0;
  262.         if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='6')) {time[2]='1';time[3]='8';}sum=0;
  263.         if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='5')) {time[2]='1';time[3]='7';}sum=0;
  264.         if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='4')) {time[2]='1';time[3]='6';}sum=0;
  265.         if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='3')) {time[2]='1';time[3]='5';}sum=0;
  266.         if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='2')) {time[2]='1';time[3]='4';}sum=0;
  267.         if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='1')) {time[2]='1';time[3]='3';}sum=0;
  268.         }
  269.     // begin/end class alarm
  270.         if((time[0]=='a')&&(time[2]=='0')&&(time[3]=='8')&&((time[4]=='0')||(time[4]=='5'))&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0')){ flag_5=1;}
  271.         if((time[0]=='a')&&(time[2]=='1')&&(time[3]=='0')&&((time[4]=='0')||(time[4]=='5'))&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0')){ flag_5=1;}
  272.         if((time[0]=='a')&&(time[2]=='0')&&(time[3]=='8')&&(time[4]=='5')&&(time[5]=='5')&&(time[6]=='0')&&(time[7]=='0'))flag_5=1;
  273.         if((time[0]=='a')&&(time[2]=='1')&&(time[3]=='0')&&(time[4]=='5')&&(time[5]=='5')&&(time[6]=='0')&&(time[7]=='0'))flag_5=1;
  274.         if((time[0]=='a')&&(time[2]=='0')&&(time[3]=='9')&&(time[4]=='4')&&(time[5]=='5')&&(time[6]=='0')&&(time[7]=='0'))flag_5=1;
  275.         if((time[0]=='a')&&(time[2]=='1')&&(time[3]=='1')&&(time[4]=='4')&&(time[5]=='5')&&(time[6]=='0')&&(time[7]=='0'))flag_5=1;

  276.         if(data=='s')//start o'clock alrm
  277.         {
  278.            if((time[2]<='2')&&(time[3]>='0')&&(time[4]=='0')&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0')) flag_4=1;
  279.         }

  280.         if(data=='c') flag_4=0;//cancel o'clock alrm

  281.         if((time[0]==array[1])&&(time[1]==array[2])&&(time[2]==array[3])&&(time[3]==array[4])&&(time[4]==array[5])&&
  282.         (time[5]==array[6])&&(time[6]==array[7])&&(time[7]==array[8])){ flag_3=1;data='z';}

  283.         if((data!='d')&&(data!='e')&&(data!='z'))
  284.         {
  285.         if((time[0]=='a')&&(time[2]=='0')&&(time[3]=='6')&&(time[4]=='3')&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0')) flag_3=1;
  286.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='1')&&(time[4]=='0')&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0'))  flag_3=1;
  287.         }
  288.         if(data=='d')
  289.         {
  290.         if((time[0]=='a')&&(time[2]=='0')&&(time[3]=='7')&&(time[4]=='0')&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0')) flag_3=1;
  291.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='1')&&(time[4]=='3')&&(time[5]=='0')&&(time[4]=='0')&&(time[5]=='0'))  flag_3=1;
  292.         }
  293.         if(data=='e')
  294.         {
  295.         if((time[0]=='a')&&(time[2]=='0')&&(time[3]=='7')&&(time[4]=='3')&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0')) flag_3=1;
  296.         if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='2')&&(time[4]=='0')&&(time[5]=='0')&&(time[4]=='0')&&(time[5]=='0'))  flag_3=1;
  297.         }
  298. }
  299. #pragma vector=USCIAB0RX_VECTOR//uart interrupt
  300. __interrupt void uart()
  301. {
  302.         static int t=0;
  303.         static int j=0;
  304.     while(!(IFG2 & UCA0TXIFG));
  305.     buf[t] = UCA0RXBUF;t++;
  306.     if(buf[t-1]=='#')
  307.     {
  308.     if(t) t=0;
  309.     switch(buf[0])
  310.     {
  311.     case's': data=buf[0];UCA0RXBUF=0;break;//開啟整點報時功能
  312.     case'c': data=buf[0];UCA0RXBUF=0;break;//取消整點報時功能
  313.     case'd': data=buf[0];UCA0RXBUF=0;break;//調整打鈴,起床時間
  314.     case'e': data=buf[0];UCA0RXBUF=0;break;
  315.     case'&': j=1;flag_6=1;
  316.             while(buf[j]!='#')//adjust alarm time
  317.         {bed[j] = buf[j] ;j++;}
  318.         if(j==3)
  319.                 j=0;
  320.     break;
  321.     case'*':j=1;//adjust bed time
  322.                 while(buf[j]!='#')
  323.                 {array[j] = buf[j] ;j++;}
  324.                 if(j==9)
  325.                         j=0;
  326.        break;
  327.     case't':j=1;flag_8=1;//adjust temperature
  328.                    while(buf[j]!='#')
  329.                    {Temp[j] = buf[j] ;j++;}
  330.                    if(j==4)
  331.                            j=0;
  332.           break;
  333.     case'a'://adjust time
  334.             if((buf[1]!='m')||(buf[2]>='2')||(buf[4]>='6')||(buf[6]>='6')||((buf[2]=='2')&&(buf[3]>='4'))) flag_7=1;
  335.             else
  336.             {flag_7=0;
  337.             while(buf[j]!='#')
  338.             {time[j] = buf[j] ;j++;}
  339.             if(j==8)
  340.                     j=0;}
  341.     break;
  342.     case'p'://adjust time
  343.                 if((buf[1]!='m')||(buf[2]>='3')||(buf[4]>='6')||(buf[6]>='6')||((buf[2]=='2')&&(buf[3]>='4'))) flag_7=1;
  344.                 else
  345.                 {flag_7=0;
  346.                 while(buf[j]!='#')
  347.                 {time[j] = buf[j] ;j++;}
  348.                 if(j==8)
  349.                         j=0;}
  350.         break;
  351.     default:flag_7=1;break;

  352.     }
  353. }}
  354. #pragma vector = PORT1_VECTOR//P1^3 interrupt
  355. __interrupt void PORT1_ISR(void)
  356. {
  357.         static unsigned char m;
  358.         if(P1IFG&BIT3)
  359.         {
  360.         __delay_cycles(1000000);
  361.         if(P1IFG&BIT3)
  362.         {m++;
  363.         if(m%2==1)
  364.         sum='1';//檢測通過,則會調用事件處理函數
  365.         else sum='2';        //退出中斷前必須手動清除IO口中斷標志
  366.         P1IFG = 0;
  367.         }
  368.         while(P1IFG&BIT3);
  369.         }
  370. }


復制代碼

源碼下載:
msp430g2553打鈴系統.docx (21.72 KB, 下載次數: 27)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
无码人妻aⅴ一区二区三区| 性xxxxbbbb| 手机看片福利日韩| 91青青草免费在线看| 亚洲天堂久久av| 午夜精品在线看| 成人精品国产免费网站| 图片小说视频色综合| 高清电影一区| 男人的天堂在线免费视频| 国产黄色在线看| 91激情在线观看| 色婷婷在线视频观看| 97超碰人人看| 久久久久99精品成人片| 精品一区久久| 日韩女优在线播放| 日韩在线欧美在线| 日韩欧美中文字幕精品| 舔着乳尖日韩一区| 久久久亚洲高清| 久久国产乱子精品免费女| 久久精品国产99久久| 成人av在线播放| 日本乱码一区二区三区不卡| 蜜桃成人在线视频| 国产成+人+亚洲+欧美+综合| 国产馆av播放| 亚洲色偷精品一区二区三区| 中文字幕日韩经典| 久久精品视频日本| 亚洲精品电影院| 久久精品综合视频| 亚洲精品mv在线观看| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 涩涩日韩在线| 国产欧美一区二区三区不卡高清| 国产成人在线播放| 久久久久久亚洲| 国产小视频国产精品| 56国语精品自产拍在线观看| 午夜精品福利在线| 亚洲欧洲日韩女同| 国产欧美日韩激情| 91麻豆免费在线观看| 国产精品一区二区视频| 男人的天堂成人在线| 天天精品视频| 北条麻妃国产九九九精品小说| 欧美不卡在线观看| 不卡一区视频| 欧美日韩破处视频| 午夜无码国产理论在线| 97人澡人人添人人爽欧美| 大片免费在线看视频| 91精品国产综合久久久久久豆腐| 在线观看午夜看亚太视频| 一级毛片电影| 中文av在线播放| 亚洲私人影吧| 国产在线视频网站| 成人亚洲综合天堂| 亚洲成人影院麻豆| 伦xxxx在线| 亚洲按摩av| 丝袜国产在线| 678在线观看视频| 中文字幕在线看片| 成人做爰视频www| 成人豆花视频| 豆花视频一区二区| 日韩理论电影中文字幕| 色天天色综合| 欧美jizz| aa级大片欧美三级| 免费高清成人在线| 国产又黄又大久久| av成人动漫在线观看| 久久久久久久久岛国免费| 久久精品一二三| 国产精品久久久久久久裸模| 亚洲夂夂婷婷色拍ww47| 婷婷中文字幕综合| 91.com视频| 日韩精品极品视频| 久久精品视频播放| 91禁国产网站| 91麻豆国产精品| 国产一区二区高清不卡| 亚洲视频在线二区| 成年人深夜视频| 国产日韩成人内射视频| 三级黄色片免费观看| www.四虎精品| 成人信息集中地| 国产精品变态另类虐交| 亚洲网站免费观看| 在线成人综合色一区| 国产一区二区三区不卡免费观看| 成年女人在线视频| 人成在线免费视频| free性m.freesex欧美| 国产精品视频一区视频二区| 国产日产精品_国产精品毛片| 欧美永久精品| 久久av资源站| 国产精品久久久久精k8| 欧美午夜宅男影院| 亚洲亚裔videos黑人hd| 18一19gay欧美视频网站| caoporn国产精品免费公开| 在线看视频不卡| 日本免费色视频| 日韩影视一区二区三区| 日韩黄色一级视频| 欧美啪啪精品| 网址你懂得在线观看| 丰满的护士2在线观看高清| 日日夜夜精品视频| 影音先锋亚洲电影| 91片在线免费观看| 欧美在线观看视频一区二区| 国产一区二区黄| 成人国产精品色哟哟| 国产日本欧美在线| 国产乱国产乱老熟300部视频| 真实国产乱子伦对白在线| 国产av一区二区三区| 涩涩网站在线观看| aiai在线| www.丝袜精品| 日韩国产精品大片| 一区二区三区美女视频| 亚洲成人av中文字幕| 午夜精品视频网站| 日韩精品在在线一区二区中文 | 美女又爽又黄免费视频| 亚洲美女色视频| 久久.com| 成人免费网站视频| 亚洲国产一区二区在线观看| 成人午夜在线免费| 色噜噜狠狠色综合欧洲selulu| 在线午夜精品自拍| 成人激情av| 国内外免费激情视频| 三上悠亚作品在线观看| 日本精品999| 国产特级嫩嫩嫩bbb| 东京一区二区| 国产精品av一区二区| 国产日韩欧美精品一区| 精品三级av在线| 成人网中文字幕| 国产精品人人妻人人爽人人牛| 午夜爽爽爽男女免费观看| 2020亚洲男人天堂| 黄色片视频在线观看| 波多野结衣欧美| 国产精品亚洲一区二区三区在线| 色综合网色综合| 91精品国产91久久久久久不卡| 日韩最新中文字幕| 岛国片在线免费观看| 亚洲日韩第九十九页| 中国日本在线视频中文字幕| 偷拍一区二区| 91免费视频网址| 欧美mv日韩mv亚洲| 91手机在线播放| 香蕉视频在线观看黄| 国产女人高潮时对白| 国产超碰在线观看| xxxx日韩| 久久综合网色—综合色88| 亚洲国产成人久久综合一区| 91视频88av| 精品国产一二区| 成人午夜精品福利免费| 色鬼7777久久| 成人羞羞视频播放网站| 国产人伦精品一区二区| 中文字幕av一区| 中文字幕一区二区三区乱码| 在线观看美女av| 深夜福利小视频| 亚洲日韩中文字幕一区| 岛国一区二区三区| 亚洲第一天堂无码专区| 欧美日韩综合精品| 在线视频这里只有精品| 国产精选在线观看| 中文字幕日本一区二区| 国产成人免费视频网站 | 黄色软件在线观看| 91日韩免费| 亚洲一区二区三区自拍| 青青草一区二区| 国产传媒免费观看| 日本免费不卡视频| 午夜在线激情影院| 日本成人在线一区| 亚洲变态欧美另类捆绑| 五月天久久综合网| 日韩精品一区二区av| 神马午夜dy888| 欧美裸体在线版观看完整版| 一区二区三区色| 国产精品久久久久久久久久久久久 | 欧亚精品一区| 国产精品美女视频| 欧美在线欧美在线| 四虎国产精品永久免费观看视频| 亚洲天堂视频在线观看免费| 麻豆mv在线看| 成人一级片在线观看| 这里只有视频精品| 日本午夜激情视频| 国产手机av在线| 菠萝蜜视频国产在线播放| 葵司免费一区二区三区四区五区| 日韩一级黄色片| 亚洲国产日韩欧美| 国产一区二区视频免费| lutube成人福利在线观看| 国产午夜精品一区二区三区欧美| 日韩欧美一级在线播放| 在线播放 亚洲| 中文字幕精品无| h片在线观看网站| 国产自产2019最新不卡| 欧美成年人视频网站| 亚洲色图欧美自拍| 夜夜操夜夜骑| 国产精品欧美日韩一区| 欧美性猛交xxxx黑人| 久久青青草原一区二区| 99热只有这里有精品| 一级日本在线| 国产精品一区二区三区四区| 久久69精品久久久久久久电影好| 思思久久精品视频| 猛性xxxxx| jlzzjlzz亚洲女人| 欧美一区二区在线播放| 精品一区二区三区无码视频| 欧美一级在线免费观看| 成人在线观看免费播放| 中文字幕一区av| 99精彩视频在线观看免费| 久草国产在线观看| 在线观看免费黄视频| 国产呦精品一区二区三区网站| 欧美男插女视频| 国产精品探花一区二区在线观看| avlululu| 模特精品在线| 久久精品视频亚洲| 99re久久精品国产| 又黄又爽的视频在线观看| 三级影片在线观看欧美日韩一区二区| 综合av色偷偷网| 一本加勒比波多野结衣| 麻豆影视在线观看| 秋霞午夜鲁丝一区二区老狼| 欧美高清激情视频| 中文字幕伦理片| 国产专区在线播放| 99久久免费国产| 99中文字幕| 国产视频aaa| 99re热精品视频| 欧美久久一二区| 国产裸体免费无遮挡| 污视频在线看| 亚洲精品影院在线观看| 久久精品国产久精国产一老狼 | 成年人黄色在线观看| 色婷婷综合视频| 天天操综合520| 精品久久国产字幕高潮| 一级网站在线观看| 香蕉视频在线网站| 国产乱码精品1区2区3区| 国产免费亚洲高清| 最近中文字幕在线免费观看| 国外成人福利视频| 欧美日韩成人一区| 在线免费视频a| 黄色春季福利在线看| 久久精品国产精品亚洲红杏| 国产97在线|亚洲| 一级黄色在线视频| gogo大尺度成人免费视频| 欧美狂野另类xxxxoooo| 三级av免费观看| 最近中文字幕mv免费高清在线| 成人免费毛片app| 久久资源av| 理论片影音先锋| 欧美一区不卡| 69国产精品成人在线播放| 成人免费a视频| 香蕉久久一区| 精品久久久三级丝袜| 一级黄色免费视频| 美女羞羞视频在线观看| 亚洲丝袜另类动漫二区| 污污污污污污www网站免费| 九九爱在线视频观看免费视频| 日本vs亚洲vs韩国一区三区二区| 国产精品久久久久久久久久东京| 97精品人妻一区二区三区在线| 亚洲69av| 欧美激情亚洲视频| 凹凸精品一区二区三区| 小说区图片区色综合区| xvideos国产精品| 国产精品suv一区二区69| 久久国产精品免费一区二区三区| 精品国产污网站| 亚洲色图 激情小说| 9i看片成人免费高清| 91精品在线麻豆| 色无极影院亚洲| 依依综合在线| 精品国产凹凸成av人导航| 内射毛片内射国产夫妻| 成人黄色图片网站| 亚洲奶大毛多的老太婆| 国产探花在线播放| 亚洲视频三区| 久久久精品日本| 在线视频免费观看一区| 日韩欧美精品一区| 欧美一级淫片播放口| 亚洲免费成人网| 亚洲日本黄色| 国产伦精品一区二区三区| 99成人国产精品视频| 国产98色在线|日韩| 国产成年人在线观看| 日本全棵写真视频在线观看| 国产精品热久久久久夜色精品三区| 欧美视频免费看欧美视频| 一卡二卡三卡亚洲| 精品久久久久久久久久| 亚洲一级Av无码毛片久久精品| 手机在线理论片| 亚洲经典中文字幕| 人人干人人干人人干| 久草精品在线| 国产不卡视频在线| 日韩性小视频| 成人福利在线看| 欧美日韩在线一| 免费**毛片在线| 精品少妇一区二区三区在线视频 | 91人人澡人人爽人人精品| av免费看在线| 精品国产第一区二区三区观看体验| 国产67194| 要久久爱电视剧全集完整观看| 欧日韩在线观看| 欧洲vodafone精品| 丁香一区二区三区| 欧美日韩黄色一级片| jizzjizz在线观看| 欧美精品久久99久久在免费线| 日本精品人妻无码77777| 亚洲人成精品久久久| 国产精品久久久久久久一区探花| 国产一区你懂的| 国产欧美日韩亚州综合| 原创真实夫妻啪啪av| 69堂精品视频在线播放| 欧美激情在线播放| 欧美色图亚洲| 国产喂奶挤奶一区二区三区| 自拍偷拍21p| 欧美第一视频| 欧美国产日韩一区二区三区| 亚洲日本伊人| 95精品视频在线| 久久久精品人妻一区二区三区| 国产精品.xx视频.xxtv| 国模叶桐国产精品一区| 久久国产精品1区2区3区网页| 国产精品自拍在线| 牛夜精品久久久久久久| 最新日韩一区| 欧美在线欧美在线| 成年人看的羞羞网站| 欧美网站在线观看| 日韩激情一区二区三区| 激情综合电影网| 久久视频免费在线| av丝袜在线| 久久久久久香蕉网| 青青草娱乐视频|