色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32設計的智能空調

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2023-06-27 09:18 ? 次閱讀

一、項目背景

隨著人們生活水平的不斷提高,對居住環(huán)境的舒適度要求也越來越高。空調作為一種重要的家電設備,已經(jīng)成為了現(xiàn)代家庭中必不可少的一部分。本文介紹了一種基于STM32智能空調設計方案,可以自動地根據(jù)環(huán)境溫度進行溫度調節(jié)。

image-20230618181209765

image-20230618181649941

二、設計思路

2.1 整體構架

智能空調系統(tǒng)由溫度檢測傳感器、微控制器、OLED顯示屏、按鍵及直流電源等組件構成。傳感器用于檢測環(huán)境溫度,通過微控制器進行處理后,將結果輸出到OLED顯示屏上展示。按鍵可根據(jù)需求調整預設閥值,切換模式等操作。

2.2 硬件設計

(1)溫度檢測傳感器

選擇DS18B20數(shù)字溫度傳感器作為本系統(tǒng)的溫度檢測器件。該傳感器具有精度高,響應速度快等特點,可以滿足該系統(tǒng)的檢測需求。

(2)微控制器

使用STM32F103系列的微控制器,在該控制器活躍的生態(tài)環(huán)境下,以及其先進的處理能力,可以對信號進行快速采集、處理和控制。

(3)OLED顯示屏

本系統(tǒng)使用的是一塊128 * 64 OLED顯示屏,顯示屏具有高亮度、高對比度和低功耗等優(yōu)點,易于與STM32微控制器進行通信

2.3 軟件設計

在軟件設計方面,實現(xiàn)了溫度檢測傳感器數(shù)據(jù)的采集,使用處理算法對數(shù)據(jù)進行處理,根據(jù)預設閥值自動調節(jié)溫度,同時可以根據(jù)用戶需求,切換制冷、制熱和關閉等3種模式。最后,將結果通過OLED顯示屏進行輸出。

三、代碼設計

3.1 DS18B20溫度檢測代碼

#include "main.h"
 #include "delay.h"
 ?
 #define GPIO_PORT_TEMP     GPIOA        //溫度數(shù)據(jù)引腳所在的端口
 #define GPIO_PIN_TEMP      GPIO_Pin_0   //溫度數(shù)據(jù)引腳所在的引腳編號
 ?
 #define RCC_PORT_TEMPP     RCC_APB2Periph_GPIOA  // 溫度引腳所在端口時鐘
 ?
 void USART_SendByte( USART_TypeDef * pUSARTx, uint8_t ch );
 ?
 void delay_us(uint32_t us){     // 延時us微秒函數(shù)
     uint8_t i;
     for(i=0;i< us;i++){
         asm("nop");  
     }
 }
 ?
 float get_temp(){   // 獲取溫度函數(shù)
     uint16_t temp;
     uint8_t buf[2];
 ?
     GPIO_InitTypeDef GPIO_InitStruct;
     TIM_TimeBaseInitTypeDef TIM_InitStruct;
 ?
     RCC_APB2PeriphClockCmd(RCC_PORT_TEMPP,ENABLE);
 ?
     //DATA拉低480us復位
     GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
     GPIO_InitStruct.GPIO_Pin = GPIO_PIN_TEMP;        
     GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_Init(GPIO_PORT_TEMP , &GPIO_InitStruct);    
     GPIO_ResetBits(GPIO_PORT_TEMP , GPIO_PIN_TEMP ); 
     delay_us(500);                                  
     GPIO_SetBits(GPIO_PORT_TEMP , GPIO_PIN_TEMP );   
     delay_us(60);                                   
 ?
     //查詢DS18B20是否存在
     GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;        
     GPIO_InitStruct.GPIO_Pin = GPIO_PIN_TEMP;         
     GPIO_Init(GPIO_PORT_TEMP , &GPIO_InitStruct);    
     while (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET);     
 ?
     //通信開始
     GPIO_ResetBits(GPIO_PORT_TEMP , GPIO_PIN_TEMP );  
     delay_us(480);                                  
     GPIO_SetBits(GPIO_PORT_TEMP , GPIO_PIN_TEMP );    
     delay_us(60);                                   
 ?
     //讀取溫度數(shù)據(jù)
     GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;        
     GPIO_InitStruct.GPIO_Pin = GPIO_PIN_TEMP ;        
     GPIO_Init(GPIO_PORT_TEMP , &GPIO_InitStruct);
     delay_us(10);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         temp |=0x01;
     }
     else{
         temp &=0xfe;
     } 
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         temp |=0x02;
     }
     else{
         temp &=0xfd;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         temp |=0x04;
     }
     else{
         temp &=0xfb;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         temp |=0x08;
     }
     else{
         temp &=0xf7;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         temp |=0x10;
     }
     else{
         temp &=0xef;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         temp |=0x20;
     }
     else{
         temp &=0xdf;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         temp |=0x40;
     }
     else{
         temp &=0xbf;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         temp |=0x80;
     }
     else{
         temp &=0x7f;
     }
     delay_us(50);
 ?
     //讀取溫度小數(shù)點數(shù)據(jù)
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         buf[0] |=0x01;
     }
     else{
         buf[0] &=0xfe;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         buf[0] |=0x02;
     }
     else{
         buf[0] &=0xfd;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         buf[0] |=0x04;
     }
     else{
         buf[0] &=0xfb;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         buf[0] |=0x08;
     }
     else{
         buf[0] &=0xf7;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         buf[0] |=0x10;
     }
     else{
         buf[0] &=0xef;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         buf[0] |=0x20;
     }
     else{
         buf[0] &=0xdf;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         buf[0] |=0x40;
     }
     else{
         buf[0] &=0xbf;
     }
     delay_us(50);
     if (GPIO_ReadInputDataBit(GPIO_PORT_TEMP , GPIO_PIN_TEMP ) == RESET){
         buf[0] |=0x80;
     }
     else{
         buf[0] &=0x7f;
     }
     delay_us(50);
 ?
     return (float)temp+((float)buf[0]/16.0);   // 將溫度整數(shù)位和小數(shù)位轉換為十進制
 }
 ?
 int main(void){
 ?
     char temp_buf[20];  // 接收溫度值的臨時緩沖區(qū)
 ?
     USART_InitTypeDef USART_InitStruct;
 ?
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
     RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);   
 ?
     USART_InitStruct.USART_BaudRate = 115200;
     USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
     USART_InitStruct.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
     USART_InitStruct.USART_Parity = USART_Parity_No;
     USART_InitStruct.USART_StopBits = USART_StopBits_1;
     USART_InitStruct.USART_WordLength = USART_WordLength_8b;
     USART_Init(USART1,&USART_InitStruct);
 ?
     USART_Cmd(USART1,ENABLE);
 ?
     while(1){
         float temp_get=get_temp();  // 獲取當前溫度值
         sprintf(temp_buf,"temp:%0.1f
",temp_get);  // 將溫度值格式化為字符串輸出
         for(int i=0;i< strlen(temp_buf);i++){  // 逐字符發(fā)送溫度值至串口
             USART_SendByte(USART1,temp_buf[i]); 
         }
         delay_ms(1000);  // 延時1s后再次獲取溫度值
     }
 }
 ?
 void USART_SendByte( USART_TypeDef * pUSARTx, uint8_t ch ){
     while(USART_GetFlagStatus(pUSARTx,USART_FLAG_TXE) == RESET);     
     USART_SendData(pUSARTx,ch);
 }

3.2 OLED顯示屏代碼

#include "main.h"
 #include "delay.h"
 #include "oled.h"
 ?
 void iic_init(void);
 void GPIO_I2C_Delay(void);
 void write_com(unsigned char com);
 void write_data(unsigned char data);
 ?
 int main(void){
 ?
     unsigned char x,y;
     iic_init();  // 初始化IIC接口
     OLED_Init();  // 初始化OLED顯示屏
 ?
     while(1){
         OLED_ShowString(0,0,"1234");  // 在OLED顯示屏上顯示字符串“1234”
         delay_ms(500);  // 延時500ms
         OLED_Clear();  // 清空OLED顯示屏
     }
 }
 ?
 void iic_init(void){
     GPIO_InitTypeDef GPIO_InitStruct; 
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //GPIOB使能
     RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);  //I2C1使能
 ?
     GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
     GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_OD;         //配置開漏輸出
     GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_Init(GPIOB, &GPIO_InitStruct); 
 ?
     I2C_InitTypeDef I2C_InitStruct; 
     I2C_DeInit(I2C1);
 ?
     I2C_InitStruct.I2C_Mode = I2C_Mode_I2C;                             // I2C 模式
     I2C_InitStruct.I2C_DutyCycle = I2C_DutyCycle_2;                     // 數(shù)傳比率 2
     I2C_InitStruct.I2C_OwnAddress1 = 0x00;                              // 地址1, 設備地址
     I2C_InitStruct.I2C_Ack = I2C_Ack_Enable;                            // 開啟I2C應答機制
     I2C_InitStruct.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; //設備地址長度為 7 位
     I2C_InitStruct.I2C_ClockSpeed = 400000;                             // 時鐘速度為400kHz
     I2C_Cmd(I2C1, ENABLE);
 ?
     I2C_Init(I2C1, &I2C_InitStruct);
 }
 ?
 void GPIO_I2C_Delay(void){
     uint32_t i = 1000;
     while(i--);
 }
 ?
 void write_com(unsigned char com){
     while(I2C_GetFlagStatus(I2C1,I2C_FLAG_BUSY));  //等待I2C總線空閑
     I2C_GenerateSTART(I2C1,ENABLE);               //發(fā)送起始信號
     while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT));
     I2C_Send7bitAddress(I2C1,0x78,I2C_Direction_Transmitter);//選擇寫入模式,發(fā)送從機器OLED的地址0x78
     while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
     I2C_SendData(I2C1,0x00);                      //發(fā)送控制字節(jié)0x00表示寫入指令
     while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));
     I2C_SendData(I2C1,com);                       //寫入要發(fā)送的指令
     while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));
     I2C_GenerateSTOP(I2C1,ENABLE);                //停止信號,傳輸結束
 }
 ?
 void write_data(unsigned char data){
     while(I2C_GetFlagStatus(I2C1,I2C_FLAG_BUSY));  //等待I2C總線空閑
     I2C_GenerateSTART(I2C1,ENABLE);              //發(fā)送起始信號
     while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_MODE_SELECT));
     I2C_Send7bitAddress(I2C1,0x78,I2C_Direction_Transmitter); //選擇寫入模式,發(fā)送從機器OLED的地址0x78  
     while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
     I2C_SendData(I2C1,0x40);                     //發(fā)送控制字節(jié)0x40表示寫入數(shù)據(jù)
     while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));
     I2C_SendData(I2C1,data);                     //寫入要發(fā)送的數(shù)據(jù)
     while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_TRANSMITTED));
     I2C_GenerateSTOP(I2C1,ENABLE);               //停止信號,傳輸結束
 }

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7566

    瀏覽量

    151614
  • 傳感器
    +關注

    關注

    2552

    文章

    51217

    瀏覽量

    754610
  • STM32
    +關注

    關注

    2270

    文章

    10906

    瀏覽量

    356565
  • DS18B20
    +關注

    關注

    10

    文章

    779

    瀏覽量

    80944
  • 智能空調
    +關注

    關注

    0

    文章

    48

    瀏覽量

    6015
收藏 人收藏

    評論

    相關推薦

    空調語音控制方案WTK6900H語音識別芯片-讓空調聽得懂話,更智能

    隨著消費者對家居設備的智能化需求日益增長。空調作為家庭生活中不可或缺的電器設備,其操作便捷性和智能化程度直接影響到用戶的使用體驗。傳統(tǒng)的空調控制方式,如按鍵和遙控器,雖然在一定程度上滿
    的頭像 發(fā)表于 12-31 11:56 ?51次閱讀

    精密空調—如何輕松解決精密空調故障?

    精密空調作為數(shù)據(jù)中心、實驗室等關鍵場所的重要設備,精密空調穩(wěn)定運行對于保障場所內(nèi)的溫濕度環(huán)境至關重要。然而,由于設備長期運行、使用環(huán)境復雜等因素,精密空調難免會出現(xiàn)故障。下面聊一下精密空調
    的頭像 發(fā)表于 12-20 19:58 ?131次閱讀
    精密<b class='flag-5'>空調</b>—如何輕松解決精密<b class='flag-5'>空調</b>故障?

    ?智能空調控制器的應用場景與深遠意義?

    隨著科技的飛速發(fā)展,智能空調控制器正逐漸滲透到我們生活的方方面面,其應用場景日益豐富,意義深遠。無論是在學校教學樓教室、工廠宿舍,還是在銀行網(wǎng)點機房、公司部門辦公室、機房等場所,智能空調
    的頭像 發(fā)表于 12-13 15:24 ?330次閱讀

    精密空調—精密空調如何緊急維修?

    精密空調緊急情況: 異常噪音:精密空調運行時出現(xiàn)異常噪音,如摩擦聲、撞擊聲等。 溫度異常:室內(nèi)溫度無法達到精密空調設定值,或溫度波動較大。 漏水現(xiàn)象:精密空調周圍出現(xiàn)漏水或滴水現(xiàn)
    的頭像 發(fā)表于 12-12 09:27 ?129次閱讀
    精密<b class='flag-5'>空調</b>—精密<b class='flag-5'>空調</b>如何緊急維修?

    變頻空調中的智能控制系統(tǒng) 如何判斷變頻空調的質量好壞

    在現(xiàn)代家居生活中,空調已成為不可或缺的一部分。隨著科技的發(fā)展,變頻空調因其節(jié)能和舒適的特性而越來越受到消費者的青睞。 一、變頻空調智能控制系統(tǒng)的基本原理 變頻
    的頭像 發(fā)表于 12-03 09:38 ?175次閱讀

    精密空調—機房精密空調結冰?這樣處理就對了

    機房精密空調結冰表現(xiàn): 機房精密空調如果在運行過程中結冰直接會影響精密空調制冷效果和運行效率,甚至可能引發(fā)精密空調故障。精密空調結冰通常表
    的頭像 發(fā)表于 11-13 20:10 ?166次閱讀
    精密<b class='flag-5'>空調</b>—機房精密<b class='flag-5'>空調</b>結冰?這樣處理就對了

    精密空調選購秘籍:風冷精密空調還是水冷精密空調?

    風冷精密空調與水冷精密空調是兩種常見的精密空調系統(tǒng),它們在制冷原理和工作方式上有所不同。下面聊一下風冷精密空調與水冷精密空調的區(qū)別及工作原理
    的頭像 發(fā)表于 10-16 18:04 ?266次閱讀
    精密<b class='flag-5'>空調</b>選購秘籍:風冷精密<b class='flag-5'>空調</b>還是水冷精密<b class='flag-5'>空調</b>?

    機房精密空調智能大腦了解嗎?

    機房精密空調主控操作系統(tǒng)是用于控制和管理機房精密空調的重要系統(tǒng)。精密空調主控操作系統(tǒng)可以通過監(jiān)控空調的運行狀態(tài)、調節(jié)溫度、濕度等參數(shù),確保機房環(huán)境的穩(wěn)定性和安全性。
    的頭像 發(fā)表于 10-12 18:18 ?175次閱讀
    機房精密<b class='flag-5'>空調</b>的<b class='flag-5'>智能</b>大腦了解嗎?

    精密空調冷凝風機的精準控制是怎么實現(xiàn)的?

    精密空調專用冷凝風機控制器系統(tǒng)采用先進的控制技術和智能化設計,實現(xiàn)對精密空調冷凝風機的精確控制,確保精密空調的穩(wěn)定運行。
    的頭像 發(fā)表于 10-10 16:06 ?224次閱讀
    精密<b class='flag-5'>空調</b>冷凝風機的精準控制是怎么實現(xiàn)的?

    家居空調智能控制系統(tǒng)應用

    科技的日新月異,推動家居生活正逐步向智能化、便捷化邁進,空調智能控制系統(tǒng)作為智能家居的重要組成部分,正悄然改變著我們的生活方式,讓居家環(huán)境變得更加舒適、便捷與節(jié)能。 家居
    的頭像 發(fā)表于 09-12 17:39 ?358次閱讀

    智能空調監(jiān)控系統(tǒng)功能介紹

    隨著科技的不斷發(fā)展,智能空調監(jiān)控系統(tǒng)已經(jīng)成為現(xiàn)代家居生活重要的組成部分,通過監(jiān)控系統(tǒng),用戶可以在任何時間、任何地點對空調進行操作,極大的提升了用戶的功能體驗。 一、概述 智能
    的頭像 發(fā)表于 08-19 14:42 ?367次閱讀

    智能聲控空調:置入NRK3301離線語音識別芯片 智能化家居新升級

    一、空調語音識別芯片開發(fā)背景在快節(jié)奏的生活中,人們越來越傾向于通過簡單的語音指令來控制家電設備,以節(jié)省時間和精力。空調作為調節(jié)室內(nèi)溫度的重要工具,其智能化程度直接影響到用戶的居住體驗。因此,開發(fā)具有
    的頭像 發(fā)表于 07-24 08:07 ?355次閱讀
    <b class='flag-5'>智能</b>聲控<b class='flag-5'>空調</b>:置入NRK3301離線語音識別芯片 <b class='flag-5'>智能</b>化家居新升級

    中央空調智能調控系統(tǒng)功能特點與優(yōu)勢

    為了進一步保障中央空調現(xiàn)場安全性,解決現(xiàn)場監(jiān)測的局限性,中央空調智能調控系統(tǒng)正逐漸成為現(xiàn)代建筑不可或缺的一部分,遠程批量化調控室內(nèi)環(huán)境,為用戶帶來了更加舒適、節(jié)能和環(huán)保的室內(nèi)環(huán)境,打造智能
    的頭像 發(fā)表于 05-23 16:17 ?862次閱讀

    如何實現(xiàn)對空調狀態(tài)監(jiān)測的監(jiān)控

    隨著科技的飛速發(fā)展和人們生活水平的持續(xù)提高,空調已經(jīng)成為現(xiàn)代家庭和辦公環(huán)境中不可或缺的一部分。然而,傳統(tǒng)的空調使用方式往往存在能效低下、操作不便等問題。為了解決這些問題,智能空調控制器
    的頭像 發(fā)表于 04-15 17:15 ?640次閱讀

    精密空調-如何快速定位精密空調故障?

    對精密空調用戶而言,精密空調設備出現(xiàn)故障是無法避免的。一旦精密空調設備出現(xiàn)故障,首先要做的就是要準確定位故障。一旦精密空調出現(xiàn)故障,絕大部分用戶首先做的事情就是聯(lián)系精密
    的頭像 發(fā)表于 01-26 09:56 ?472次閱讀
    精密<b class='flag-5'>空調</b>-如何快速定位精密<b class='flag-5'>空調</b>故障?
    主站蜘蛛池模板: 2012中文字幕在线动漫电影| 和尚轮流澡到高潮H| 被黑人掹躁10次高潮| 国产成人v视频在线观看| 果冻传媒最新视频在线观看| 久久丫线这里只精品| 日韩欧美中文字幕一区| 亚洲精品嫩草AV在线观看| 18日本人XXXXXX18| 国产AV果冻传奇麻豆| 久久re这里视频精品15| 让人爽到湿的小黄书| 亚洲野狼综合网站| 超碰在线视频97| 精品国产国产综合精品| 全黄h全肉短篇禁乱np| 亚洲日韩在线天堂一| 绑着男军人的扒开内裤| 灰原哀被啪漫画禁漫| 日本欧美高清一区二区视频| 伊人久久艹| 国产高清视频免费最新在线 | 樱花草动漫www| 大香伊蕉在人线国产最新| 久久久久久久久久综合情日本| 日韩在线中文字幕无码| 中文字幕在线久热精品| 国产嫩草在线观看| 啪啪漫画无遮挡全彩h同人| 亚洲午夜精品A片久久软件| 古装性艳史电影在线看| 免费小视频在线观看| 亚洲午夜无码久久久久蜜臀av| 俄罗斯aaaaa一级毛片| 毛片免费在线视频| 亚洲日韩成人| 国产精品午夜小视频观看| 欧美日韩在线亚洲一| 羽月希被黑人吃奶dasd585| 国产人妻人伦精品无码.麻豆| 欧美一区二区三区免费播放|