標(biāo)題: msp430 G2553自動(dòng)打鈴系統(tǒng)設(shè)計(jì) [打印本頁(yè)]
作者: cuijh 時(shí)間: 2018-6-1 17:26
標(biāo)題: msp430 G2553自動(dòng)打鈴系統(tǒng)設(shè)計(jì)
一、任務(wù)
采用MSP-EXP430G2553試驗(yàn)板設(shè)計(jì)并制作一臺(tái)自動(dòng)打鈴系統(tǒng)。要求完成的作品必須固化軟件,測(cè)試檢查時(shí)上電即可工作,采用串口與上位機(jī)進(jìn)行通信來(lái)實(shí)現(xiàn)人機(jī)交互。
二、要求
1.基本要求
(1)基本計(jì)時(shí)、溫度測(cè)量和顯示功能(用12小時(shí)制顯示)。
包括上下午標(biāo)志,時(shí)、分、秒的數(shù)字顯示,秒信號(hào)指示,XX.X℃。
(2)能設(shè)置當(dāng)前時(shí)間(含上、下午,時(shí),分,秒)
(3)能實(shí)現(xiàn)基本打鈴功能,規(guī)定:
上午6:30起床鈴;打鈴5秒、停2秒、再打鈴5秒。
下午11:00熄燈鈴;打鈴5秒、停2秒、再打鈴5秒。
鈴聲可用LED燈光顯示,LED燈的亮滅以呼吸燈形式體現(xiàn)。
2.發(fā)揮部分
(1)增加整點(diǎn)報(bào)時(shí)功能,整點(diǎn)時(shí)響鈴5秒,要求有控制啟動(dòng)和關(guān)閉功能。
(2)增加調(diào)整起床鈴、熄燈鈴時(shí)間的功能。
(3)增加調(diào)整打鈴時(shí)間長(zhǎng)短和間歇時(shí)間長(zhǎng)短的功能。
(4)增設(shè)上午4節(jié)課的上、下課打鈴功能,規(guī)定:8:00上課,8:50下課;8:55上課,9:45下課;10:00上課,10:50下課;10:55 上課,11:45下課;每次鈴聲5秒。
(5)利用板上按鍵做一個(gè)12小時(shí)/24小時(shí)的顯示格式切換。
(6)設(shè)置錯(cuò)誤時(shí)間后會(huì)報(bào)錯(cuò)。
(7)溫度到達(dá)30℃后報(bào)警。
(8)掉電保存上一次的時(shí)間信息,下次上電后自動(dòng)從掉電前開(kāi)始計(jì)時(shí)。
單片機(jī)源程序如下:
- /*
- automatic alarming system instructions
- 1 change time : " a/pm000000#";
- 2 change wake/sleep time: "*a/pm000000#";
- 3 change alarming/pause time: "&00#";
- 4 input "s#" start o'clock alarm;
- 5 input "c#" cancel o'clock alarm;
- 6 input "d#" am070000/pm113000 alarming
- 7 input "e#" am073000/pm120000 alarming
- 8 press P1^3 12/24h transform
- */
- #include <msp430g2553.h>
- #include"Flash.h"
- float temp;
- long IntDegC;
- unsigned int i;
- unsigned char time[8]={'a','m','0','0','0','0','0','0'};
- unsigned char buf[];
- unsigned char array[9];
- unsigned char bed[3];
- unsigned char Temp[4];
- unsigned char data,sum;
- unsigned char flag[]={"°C"};
- unsigned char flag_1[]={"Temperature:"};
- unsigned char flag_2[]={" Time:"};
- unsigned char flag_3,flag_4,flag_5,flag_6,flag_7,flag_8;
- unsigned char alarm[]={" TIME ERROR"};
- unsigned char alarm1[]={" TEMPERATURE ERROR"};
- void putchar(unsigned char c)
- {
- while(!(IFG2&UCA0TXIFG));
- UCA0TXBUF=c;
- }
- void putstr(unsigned char*s)
- {
- //IE2 &=~UCA0RXIE;
- while((*s)!='\0')
- {putchar(*s);s++;}
- //IE2 &|=UCA0RXIE;
- }
- void breath_light(void)
- {
- unsigned int static t,m,j;
- //unsigned int static j;
- WDTCTL = WDTPW | WDTHOLD;
- //unsigned const PWMPeriod=300;
- P1DIR|=BIT6;
- P1SEL|=BIT6;
- TA0CCR0=280;//set pwm period
- TA0CCTL1=OUTMOD_7;//set/reset mode
- TA0CTL=TASSEL_2+MC_1;//SMCLK/UP mode
- //TA0CCR0=600;
- if(flag_6) TA0CCR0=280*(bed[1]-48);
- for(j=0;j<=4;j++)
- {
- TA0CCR1=0;
- for(t=0;t<TA0CCR0;t++)
- {
- TA0CCR1=t;
- __delay_cycles(2000);
- }
- for(t=TA0CCR0;t>0;t--)
- {
- TA0CCR1=t;
- __delay_cycles(2000);
- }
- TA0CCR1=0;
- }
- TA0CCR1=0;
- if(flag_6)
- {m=(bed[2]-48);
- for(;m>0;m--)
- __delay_cycles(1000000);}
- else __delay_cycles(2000000);
- for(j=0;j<=4;j++)
- {
- TA0CCR1=0;
- for(t=0;t<TA0CCR0;t++)
- {
- TA0CCR1=t;
- __delay_cycles(2000);
- }
- for(t=TA0CCR0;t>0;t--)
- {
- TA0CCR1=t;
- __delay_cycles(2000);
- }
- TA0CCR1=0;
- }
- }
- void control_1(void)
- {
- unsigned int static t;
- unsigned int static j;
- unsigned const PWMPeriod=280;
- WDTCTL = WDTPW | WDTHOLD;
- P1DIR|=BIT6;
- P1SEL|=BIT6;
- TA0CCR0=PWMPeriod;//set pwm period
- TA0CCTL1=OUTMOD_7;//set/reset mode
- TA0CTL=TASSEL_2+MC_1;//SMCLK/UP mode
- for(j=0;j<=4;j++)
- {
- TA0CCR1=0;
- for(t=0;t<PWMPeriod;t++)
- {
- TA0CCR1=t;
- __delay_cycles(2000);
- }
- for(t=PWMPeriod;t>0;t--)
- {
- TA0CCR1=t;
- __delay_cycles(2000);
- }
- TA0CCR1=0;
- }
- }
- void IO_interrupt(void)
- {
- P1REN |= BIT3; //啟用P1.3內(nèi)部上下拉電阻
- P1OUT |= BIT3; //將電阻設(shè)置為上拉
- //----配置P1.3中斷參數(shù)----
- P1DIR &= ~BIT3; //P1.3設(shè)為輸入(可省略)
- P1IES |= BIT3; //P1.3設(shè)為下降沿中斷
- P1IE |= BIT3; //允許P1.3中斷
- P1IFG&=~BIT3;
- }
- void TimerA1(void)
- {
- TA1CCTL0 = CCIE; // CCR0中斷使能
- TA1CCR0 = 65535;
- TA1CTL = TASSEL_2 + MC_3 + TACLR+ID_3; // ACLK, 增計(jì)數(shù)模式, 清除TAR計(jì)數(shù)器
- _enable_interrupts();
- // __bis_SR_register(LPM0_bits+GIE);
- }
- void USCI_A0_init(void)
- {
- BCSCTL1 = CALBC1_1MHZ;
- DCOCTL = CALDCO_1MHZ;
- P1SEL |=BIT1+BIT2;
- P1SEL2 |=BIT1+BIT2;
- UCA0CTL1 |=UCSSEL_2;
- UCA0MCTL = UCBRS_0;
- UCA0BR0=104;
- UCA0BR1=0;
- UCA0CTL1 &= ~UCSWRST;
- IE2 |=UCA0RXIE;
- //__bis_SR_register(LPM0_bits+GIE);
- }
- void ADC10_init(void)
- {
- ADC10CTL0 &= ~ENC;
- ADC10CTL0 = ADC10ON + REFON + ADC10SHT_3 + SREF_1;
- ADC10CTL1 = CONSEQ_0 + ADC10SSEL_0 + ADC10DIV_3+SHS_0 + INCH_10;
- __delay_cycles(3000);
- ADC10CTL0 |= ENC;
- }
- void send_temp(void)
- {
- static unsigned int z;
- ADC10CTL0|=ENC+ADC10SC;
- while((ADC10CTL0 & ADC10IFG)==0);
- temp=ADC10MEM;
- // IntDegC=((temp*(1.5)/1023)-0.986)/0.00355;
- IntDegC=temp*4225/1024-2777;
- while(!(IFG2 & UCA0TXIFG));
- putstr(flag_1);
- __delay_cycles(1000);
- UCA0TXBUF =IntDegC/100+48;
- __delay_cycles(1000);
- UCA0TXBUF =(IntDegC%100)/10+48;
- __delay_cycles(1000);
- UCA0TXBUF =46;
- __delay_cycles(1000);
- UCA0TXBUF =(IntDegC%100)%10+48;
- __delay_cycles(1000);
- putstr(flag);
- if (flag_8) z=((Temp[1]-48)*100)+((Temp[2]-48)*10)+(Temp[3]-48);else z=260;
- if(IntDegC>=z) putstr(alarm1);
- }
- int main(void)
- {
- static int c=0;
- WDTCTL = WDTPW | WDTHOLD;// Stop watchdog timer
- Flash_Init();
- P1DIR|=BIT0;
- IO_interrupt();
- ADC10_init();
- USCI_A0_init();
- TimerA1();
- for(c=0;c<8;c++)
- {
- time[c]=FlashRead_Char(SegD+c);
- }
- while(1)
- {
- if(flag_3){ breath_light();flag_3=0;}//5 2 5
- if(flag_4){ control_1();flag_4=0;}//5
- if(flag_5){ control_1();flag_5=0;}//5
- }
- }
- #pragma vector=TIMER1_A0_VECTOR// TA1中斷服務(wù)程序
- __interrupt void TIMER1_A0_ISR(void)
- {
- static int c=0;
- P1OUT^=BIT0;
- send_temp();
- putstr(flag_2);
- putchar(time[0]);
- putchar(time[1]);
- putchar(time[2]);
- putchar(time[3]);
- putchar(58);
- putchar(time[4]);
- putchar(time[5]);
- putchar(58);
- putchar(time[6]);
- putchar(time[7]++);
- if(flag_7){putstr(alarm);flag_7=0;} // forecast error
- for(c=0;c<8;c++)
- {
- FlashErase_Seg(SegD+c);
- }
- for(c=0;c<8;c++)
- {
- FlashWrite_Char(SegD+c,time[c]);
- }
- c=0;
- if(time[7]==':'){time[7]='0';time[6]++;}
- if(time[6]=='6'){time[6]='0';time[5]++;}
- if(time[5]==':'){time[5]='0';time[4]++;}
- if(time[4]=='6'){time[4]='0';time[3]++;}
- if(time[3]==':'){time[3]='0';time[2]++;}
- if((time[2]=='1')&&(time[3]=='2')&&(time[4]=='0')&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0'))
- {if( time[0]=='a') time[0]='p';
- else time[0]='a';
- }
- 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';}
- 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
- if(sum=='1')//P1^3 12/24h transform
- {
- if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='4')) {time[2]='0';time[3]='0';time[0]='a';}sum=0;
- if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='3')) {time[2]='1';time[3]='1';}sum=0;
- if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='2')) {time[2]='1';time[3]='0';}sum=0;
- if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='1')) {time[2]='0';time[3]='9';}sum=0;
- if((time[0]=='p')&&(time[2]=='2')&&(time[3]=='0')) {time[2]='0';time[3]='8';}sum=0;
- if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='9')) {time[2]='0';time[3]='7';}sum=0;
- if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='8')) {time[2]='0';time[3]='6';}sum=0;
- if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='7')) {time[2]='0';time[3]='5';}sum=0;
- if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='6')) {time[2]='0';time[3]='4';}sum=0;
- if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='5')) {time[2]='0';time[3]='3';}sum=0;
- if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='4')) {time[2]='0';time[3]='2';}sum=0;
- if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='3')) {time[2]='0';time[3]='1';}sum=0;
- }
- if(sum=='2')
- {
- if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='1')) {time[2]='2';time[3]='3';}sum=0;
- if((time[0]=='p')&&(time[2]=='1')&&(time[3]=='0')) {time[2]='2';time[3]='2';}sum=0;
- if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='9')) {time[2]='2';time[3]='1';}sum=0;
- if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='8')) {time[2]='2';time[3]='0';}sum=0;
- if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='7')) {time[2]='1';time[3]='9';}sum=0;
- if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='6')) {time[2]='1';time[3]='8';}sum=0;
- if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='5')) {time[2]='1';time[3]='7';}sum=0;
- if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='4')) {time[2]='1';time[3]='6';}sum=0;
- if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='3')) {time[2]='1';time[3]='5';}sum=0;
- if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='2')) {time[2]='1';time[3]='4';}sum=0;
- if((time[0]=='p')&&(time[2]=='0')&&(time[3]=='1')) {time[2]='1';time[3]='3';}sum=0;
- }
- // begin/end class alarm
- 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;}
- 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;}
- 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;
- 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;
- 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;
- 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;
- if(data=='s')//start o'clock alrm
- {
- if((time[2]<='2')&&(time[3]>='0')&&(time[4]=='0')&&(time[5]=='0')&&(time[6]=='0')&&(time[7]=='0')) flag_4=1;
- }
- if(data=='c') flag_4=0;//cancel o'clock alrm
- if((time[0]==array[1])&&(time[1]==array[2])&&(time[2]==array[3])&&(time[3]==array[4])&&(time[4]==array[5])&&
- (time[5]==array[6])&&(time[6]==array[7])&&(time[7]==array[8])){ flag_3=1;data='z';}
- if((data!='d')&&(data!='e')&&(data!='z'))
- {
- 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;
- 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;
- }
- if(data=='d')
- {
- 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;
- 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;
- }
- if(data=='e')
- {
- 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;
- 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;
- }
- }
- #pragma vector=USCIAB0RX_VECTOR//uart interrupt
- __interrupt void uart()
- {
- static int t=0;
- static int j=0;
- while(!(IFG2 & UCA0TXIFG));
- buf[t] = UCA0RXBUF;t++;
- if(buf[t-1]=='#')
- {
- if(t) t=0;
- switch(buf[0])
- {
- case's': data=buf[0];UCA0RXBUF=0;break;//開(kāi)啟整點(diǎn)報(bào)時(shí)功能
- case'c': data=buf[0];UCA0RXBUF=0;break;//取消整點(diǎn)報(bào)時(shí)功能
- case'd': data=buf[0];UCA0RXBUF=0;break;//調(diào)整打鈴,起床時(shí)間
- case'e': data=buf[0];UCA0RXBUF=0;break;
- case'&': j=1;flag_6=1;
- while(buf[j]!='#')//adjust alarm time
- {bed[j] = buf[j] ;j++;}
- if(j==3)
- j=0;
- break;
- case'*':j=1;//adjust bed time
- while(buf[j]!='#')
- {array[j] = buf[j] ;j++;}
- if(j==9)
- j=0;
- break;
- case't':j=1;flag_8=1;//adjust temperature
- while(buf[j]!='#')
- {Temp[j] = buf[j] ;j++;}
- if(j==4)
- j=0;
- break;
- case'a'://adjust time
- if((buf[1]!='m')||(buf[2]>='2')||(buf[4]>='6')||(buf[6]>='6')||((buf[2]=='2')&&(buf[3]>='4'))) flag_7=1;
- else
- {flag_7=0;
- while(buf[j]!='#')
- {time[j] = buf[j] ;j++;}
- if(j==8)
- j=0;}
- break;
- case'p'://adjust time
- if((buf[1]!='m')||(buf[2]>='3')||(buf[4]>='6')||(buf[6]>='6')||((buf[2]=='2')&&(buf[3]>='4'))) flag_7=1;
- else
- {flag_7=0;
- while(buf[j]!='#')
- {time[j] = buf[j] ;j++;}
- if(j==8)
- j=0;}
- break;
- default:flag_7=1;break;
- }
- }}
- #pragma vector = PORT1_VECTOR//P1^3 interrupt
- __interrupt void PORT1_ISR(void)
- {
- static unsigned char m;
- if(P1IFG&BIT3)
- {
- __delay_cycles(1000000);
- if(P1IFG&BIT3)
- {m++;
- if(m%2==1)
- sum='1';//檢測(cè)通過(guò),則會(huì)調(diào)用事件處理函數(shù)
- else sum='2'; //退出中斷前必須手動(dòng)清除IO口中斷標(biāo)志
- P1IFG = 0;
- }
- while(P1IFG&BIT3);
- }
- }
復(fù)制代碼
源碼下載:
msp430g2553打鈴系統(tǒng).docx
(21.72 KB, 下載次數(shù): 27)
2018-6-1 17:26 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
| 歡迎光臨 (http://www.izizhuan.cn/bbs/) |
Powered by Discuz! X3.1 |
亚洲日本欧美在线|
久久爱一区二区|
久久精品国产一区二区|
黄色亚洲网站|
久99久视频|
亚洲天堂日韩av|
亚洲精品乱码久久|
亚洲激情 欧美|
jlzzjizz在线播放观看|
无码任你躁久久久久久老妇|
制服.丝袜.亚洲.中文.综合懂
|
欧美国产一区二区三区|
久久久精品电影|
欧美日韩成人精品|
97精品视频在线|
国产精品91久久|
成人免费高清完整版在线观看|
国产欧美一区二区|
操一操视频一区|
免费在线观看91|
欧美在线影院一区二区|
欧美精品一级二级|
精品国产乱子伦一区|
日韩av在线一区二区|
一区二区欧美亚洲|
欧美激情在线观看视频|
欧洲美女免费图片一区|
亚洲xxxxx|
神马欧美一区二区|
今天免费高清在线观看国语|
2019日韩中文字幕mv|
激情综合在线观看|
久热在线视频观看|
网站免费在线观看|
亚洲天堂网av在线|
手机看片久久久|
性中国xxx极品hd|
性欧美精品xxxx|
毛片免费视频|
在线色视频网|
日韩激情美女|
日韩av黄色|
国产91久久精品一区二区|
最新精品国产|
男男成人高潮片免费网站|
亚洲女同av|
亚洲我射av|
蜜桃成人av|
99综合在线|
白白色 亚洲乱淫|
...xxx性欧美|
欧美日韩免费在线视频|
亚洲美女在线观看|
日韩视频不卡中文|
国产亚洲欧美日韩精品|
欧美裸身视频免费观看|
国产一区红桃视频|
日韩精品欧美在线|
黄色手机在线视频|
少妇愉情理伦三级|
中文字幕在线观看你懂的|
手机看片一区二区|
夜夜操天天干|
欧美成人三区|
香艳视频网站|
国产福利视频在线|
欧美第一在线视频|
欧美日韩日本国产亚洲在线
|
www.一区二区三区.com|
九九热免费在线视频|
久久精品国产亚洲a∨麻豆|
亚洲第一av|
欧美午夜精品一区二区三区电影|
日本网站在线观看一区二区三区|
国产精品丝袜在线|
日韩区在线观看|
91成人国产在线观看|
欧美日韩精品中文字幕一区二区|
在线观看免费黄网站|
国产精品丝袜一区二区|
内射无码专区久久亚洲|
男捅女免费视频|
国产盗摄精品一区二区酒店|
国产一二区视频|
幼a在线观看|
2023国产精华国产精品|
一区二区视频欧美|
国产精品私人影院|
亚洲精品成人免费|
91在线免费看网站|
日韩中文字幕组|
日韩a在线播放|
精品一区二区6|
亚洲av无码一区二区三区性色|
97在线资源在|
中文字幕人成乱码在线观看|
亚洲精品小说|
中文字幕av一区二区三区|
精品国产免费久久|
国产美女扒开尿口久久久|
国产96在线 | 亚洲|
999久久久国产|
午夜视频www|
丝袜视频国产在线播放|
国产剧情一区二区在线观看|
久久人人精品|
欧美午夜性色大片在线观看|
欧美俄罗斯乱妇|
国产日本欧美在线|
久久久国产一级片|
久热在线视频精品网站|
日日天天狠狠|
成人性生活av|
亚洲第一毛片|
亚洲国产精品久久艾草纯爱|
欧美性猛交xxxxxxxx|
5566成人精品视频免费|
永久免费网站视频在线观看|
国产成人福利在线|
亚洲综合激情六月婷婷在线观看|
男人av在线|
一区二区三区韩国免费中文网站|
成人国产视频在线观看|
日韩欧美国产午夜精品|
亚洲精品日韩激情在线电影|
人妻巨大乳一二三区|
国产婷婷一区二区三区久久|
亚洲伦理在线|
久久三级中文|
99久久国产综合精品女不卡|
日韩av在线看|
国语精品中文字幕|
亚洲综合网在线观看|
污视频网站免费观看|
av资源网在线观看|
国产精品成人一区二区不卡|
久久综合九色综合欧美亚洲|
亚洲乱亚洲乱妇无码|
亚洲国产欧美日韩|
av在线免费播放网址|
国产一卡二卡3卡4卡四卡在线|
超碰在线资源|
国产农村妇女精品一二区|
一区二区三区在线影院|
久久久女女女女999久久|
男女激情无遮挡|
影音先锋亚洲天堂|
天天堂资源网在线观看免费视频|
成人国产一区|
国产乱码精品一区二区三区av|
日韩不卡在线观看|
日本一区网站|
懂色av蜜臀av粉嫩av永久|
国产偷窥女洗浴在线观看亚洲|
欧美aa在线观看|
久久激情久久|
欧美日韩精品三区|
麻豆成人小视频|
微拍福利一区二区|
www.尤物.com|
国产福利资源一区|
欧美激情一区不卡|
欧美男同性恋视频网站|
91影视免费在线观看|
色婷婷精品久久二区二区密
|
高清日韩欧美|
久久久精品黄色|
色综合色综合久久综合频道88|
日韩欧美亚洲天堂|
97国产成人无码精品久久久|
免费在线视频一级不卡|
一区二区蜜桃|
欧美日韩国产综合一区二区三区|
av色综合网|
国产黄色大片免费看|
黄色大片免费看|
日韩成人综合网|
久久久91精品国产一区二区精品|
久久综合伊人77777尤物|
成人免费毛片播放|
无码h黄肉3d动漫在线观看|
2024最新电影免费在线观看|
裸体一区二区|
亚洲国产欧美一区二区三区同亚洲
|
天天干视频在线|
性欧美18xxxhd|
成人h动漫精品|
久久91精品国产91久久跳|
黑人粗进入欧美aaaaa|
欧美特级特黄aaaaaa在线看|
超碰成人av|
97精品国产综合久久久动漫日韩|
久久久精品黄色|
久久免费视频观看|
91精品小视频|
五月婷婷导航|
色777狠狠狠综合伊人|
在线国产电影不卡|
日韩精品不卡|
国产黄色小视频在线观看|
欧美性video|
久久久亚洲国产美女国产盗摄|
欧美激情亚洲精品|
久操视频免费看|
中出福利视频|
午夜在线a亚洲v天堂网2018|
日韩成人久久久|
可以在线看的黄色网址|
欧美图片欧美激情欧美精品|
深夜视频一区二区|
亚洲丝袜另类动漫二区|
91九色在线观看|
久久久久久久久久成人|
韩国精品一区|
亚洲欧洲中文日韩久久av乱码|
91网免费观看|
波多野结衣午夜|
欧美gay视频|
一本色道久久综合|
日韩中文字幕欧美|
免费看黄色aaaaaa 片|
能在线观看av网站|
欧美aaa在线|
欧洲精品在线视频|
久久久久亚洲av片无码下载蜜桃|
av片在线观看|
亚洲婷婷综合色高清在线|
久久av二区|
色婷婷av一区二区三区之红樱桃|
超碰成人97|
精品国产污污免费网站入口|
亚洲第一区第二区第三区|
99热在线免费播放|
日本欧美韩国一区三区|
国产97人人超碰caoprom|
久久久一区二区三区四区|
亚洲女人18毛片水真多|
亚洲图片小说区|
欧美调教femdomvk|
久久久免费视频网站|
你懂的视频在线观看资源|
亚洲私拍自拍|
久久男人资源视频|
日本免费一二三区|
日本h片久久|
欧美精品一二三四|
国产资源中文字幕|
亚洲а∨精品天堂在线|
91麻豆精品秘密|
日本不卡免费新一二三区|
九九久久久2|
欧美日韩亚洲一区二区三区在线|
美女视频黄免费的亚洲男人天堂|
国产一区二区播放|
电影一区二区三区|
久久精品午夜|
国产在线视频不卡|
国产精品久久欧美久久一区|
成人影院中文字幕|
精品视频在线播放色网色视频|
人妻精品久久久久中文字幕|
av中文字幕在线观看|
亚洲午夜私人影院|
国产天堂在线播放|
色视频在线播放|
国产三级精品视频|
久久av喷吹av高潮av|
美女啪啪无遮挡|
国产精品毛片久久久|
亚洲成人久久一区|
色噜噜在线观看|
金瓶狂野欧美性猛交xxxx
|
中文字幕av一区二区三区高
|
欧美日韩午夜剧场|
**亚洲第一综合导航网站|
一本到在线视频|
免费毛片在线不卡|
不卡av电影院|
老熟妇一区二区三区|
日韩欧美ww|
欧美美女操人视频|
亚洲av综合一区|
国产成人一区二区三区影院|
成年人精品视频|
国产伦精品一区二区三区视频网站|
国产成人澳门|
美日韩在线视频|
中文av免费观看|
日韩免费一区|
国产精品久久精品|
凸凹人妻人人澡人人添|
国产欧美不卡|
国产丝袜不卡|
精品久久久久一区二区|
羞羞的视频在线看|
精品视频在线免费看|
少妇精品一区二区|
成人勉费视频|
日韩成人中文字幕|
国产对白videos麻豆高潮|
精品淫伦v久久水蜜桃|
欧美另类交人妖|
国产特级黄色片|
亚洲免费成人|
国产日韩欧美一区二区三区四区|
一个人免费播放在线视频看片|
成人丝袜高跟foot|
欧美午夜小视频|
aaa在线观看|
欧美最猛性xxxxx直播|
四虎永久免费在线观看|
91精品国产色综合久久不卡粉嫩|
中文字幕在线观看亚洲|
中文字幕 视频一区|
你懂的视频一区二区|
99久久无色码|
日日摸日日添日日躁av|
国产精品卡一卡二卡三|
亚洲欧美日韩精品一区|
成年女人在线看片|
精品呦交小u女在线|
无码人妻精品一区二区|
永久91嫩草亚洲精品人人|
成人在线视频网址|
黄色网战在线观看|
亚洲欧洲无码一区二区三区|
亚洲精品久久久久久|
五月激情久久|
久久精品久久久久电影|
亚洲国产成人一区二区|
青青国产91久久久久久|
久久av喷吹av高潮av|
av中文天堂在线|
日韩精品一区二区在线|
av大片在线免费观看|
欧美日韩一区二区高清|
久久66热这里只有精品|
国内在线高清免费视频|
黑人巨大精品欧美一区二区免费
|
av男人的天堂在线|
日韩欧美国产一区二区三区
|
久久久久国产精品免费|
亚洲成人偷拍自拍|
av一二三不卡影片|
国产探花在线看|
日韩久久一区|
欧美亚洲日本黄色|
久久亚洲国产视频|
国产精品乱人伦|
精品夜夜澡人妻无码av|
青青久久av|
成人福利网站在线观看11|
天天添天天操|
色综合久久久久久久久|
一区二区在线观看免费视频|
久久影视一区|
欧美日韩国产精品一卡|
国产在线91|
亚洲精美色品网站|
www.色呦呦|
99免费精品在线观看|
精品无码av一区二区三区不卡|
91精品啪在线观看国产爱臀
|
成人亚洲精品777777ww|
中文字幕佐山爱一区二区免费|
精品人妻互换一区二区三区|
免费av一区二区三区四区|
国产伦精品一区二区三区免费视频
|
欧美性猛交xxxx偷拍洗澡|
国产亚洲精品久久久久久无几年桃
|
亚洲欧美国产一区二区三区|
人人妻人人澡人人爽人人欧美一区
|
成人h版在线观看|
杨幂一区二区国产精品|
国产成人在线中文字幕|
国产精品国产精品|
撸视在线观看免费视频|
亚洲女人天堂成人av在线|
先锋影音男人站|
亚洲视频一二三|
欧美成人aaa片一区国产精品|
精品91久久久久|
黄色一级在线视频|
日韩一区二区三区四区五区|
成人精品视频99在线观看免费|
视频在线91|
亚洲精品丝袜日韩|
欧美性xxxx巨大黑人猛|
亚洲一区二区在线免费观看视频|
国产一级二级三级|
久久99精品视频|
国产伦精品一区二区三区妓女下载|
五月天亚洲色图|
欧美 日韩 国产 在线观看|
中文不卡1区2区3区|
国产精品视频999|
青青草av免费在线观看|
中文字幕精品—区二区|
免费观看h片|
老司机亚洲精品|