av影视在线看_欧美激情一区二区三区蜜桃视频_国产不卡av一区二区_91精品国产色综合久久不卡粉嫩

電子開(kāi)發(fā)網(wǎng)

電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> 單片機(jī) >> 正文

基于51單片機(jī)的恒溫控制器系統(tǒng) protues+keil c

作者:佚名    文章來(lái)源:網(wǎng)友    點(diǎn)擊數(shù):    更新時(shí)間:2023/5/21

恒溫控制器系統(tǒng)概述

該恒溫控制器系統(tǒng)包含以下幾個(gè)功能:

  • 可按鍵設(shè)定溫度
  • 可顯示當(dāng)前溫度和用戶設(shè)定溫度
  • 有升溫、降溫模塊
  • 可最終達(dá)到恒溫

仿真軟件

  • Keil 5
  • Proteus 8.6

系統(tǒng)設(shè)計(jì)

電路設(shè)計(jì)

 
恒溫控制系統(tǒng)一共有6個(gè)模塊,分別是主控芯片模塊、按鍵輸入模塊、設(shè)定溫度顯示模塊、當(dāng)前溫度顯示模塊、溫度采集模塊和升溫、降溫模塊。

  1. 按鍵輸入模塊:該模塊由4*3的矩陣鍵盤(pán)和1個(gè)確認(rèn)按鈕構(gòu)成。系統(tǒng)剛開(kāi)始啟動(dòng)后,用戶通過(guò)矩陣鍵盤(pán)輸入想要設(shè)定的溫度(0°~99°),輸入完畢后按下確認(rèn)鍵,然后將該溫度數(shù)據(jù)傳送給主控芯片AT89C51;
  2. 設(shè)定溫度顯示模塊:該模塊由一個(gè)2位8段LED數(shù)碼管構(gòu)成,主控芯片AT89C51使用P3口控制該數(shù)碼管的段選,使用P2.4和P2.5兩個(gè)端口來(lái)控制該數(shù)碼管的位選。主控芯片AT89C51將從矩陣鍵盤(pán)得到的設(shè)定溫度信息,通過(guò)2位8段LED數(shù)碼管顯示出來(lái);
  3. 溫度采集模塊;該模塊由一個(gè)DS18B20溫度傳感器構(gòu)成。使用DS18B20溫度傳感器采集當(dāng)前的溫度,并將該溫度信息傳送給主控芯片AT89C51;
  4. 當(dāng)前溫度顯示模塊:該模塊由兩個(gè)74HC573鎖存器和一個(gè)4位8段LED數(shù)碼管構(gòu)成,主控芯片AT89C51使用P2.6和P2.7控制兩個(gè)74HC573鎖存器的片選,兩個(gè)鎖存器的輸入口均與主控芯片的P0口相連,并使用一個(gè)100歐的排阻作為P0口的上拉電阻,兩個(gè)鎖存器的輸出口分別與4位8段LED數(shù)碼管的段選口與位選口相連;
  5. 升溫、降溫模塊:該模塊由一個(gè)綠色LED和一個(gè)紅色LED構(gòu)成,綠色LED負(fù)責(zé)降溫,每閃爍一次溫度下降0.5°,紅色LED負(fù)責(zé)升溫,每閃爍一次溫度上升0.5°。主控芯片AT89C51根據(jù)當(dāng)前溫度和用戶設(shè)定溫度之間的差值,來(lái)控制升溫還是降溫,以達(dá)到恒溫的目的。

軟件代碼編寫(xiě)

 

51單片機(jī)恒溫控制系統(tǒng)程序流程圖  

程序的具體流程如下:

  1. 硬件初始化,關(guān)閉所有的數(shù)碼管;
  2. 進(jìn)行兩次按鍵掃描循環(huán),分別獲取用戶設(shè)定溫度的十位和個(gè)位,獲取完畢后,判斷確認(rèn)鍵是否被按下,如果用戶按下確認(rèn)鍵則進(jìn)入到主程序循環(huán)中;
 while(ok) //用戶設(shè)定溫度
 {
  while(key1 == 15)
  {
   key1 = keyscan();
   delay(50);
  }
  while(key2 == 15)
  {
   key2 = keyscan();
   delay(50);
  }
  delay(100);//等待確認(rèn)鍵
 }
//鍵盤(pán)掃描
uchar keyscan()
{
 uchar temp,key;
 key = 15; // 默認(rèn)值,如果沒(méi)有按鍵按下key就為該默認(rèn)值
 P1 = 0xfe; //掃描第一行
 temp = P1;
 temp = temp & 0xf0;
 if(temp!=0xf0)
 {
  delay(10); // 延時(shí)消抖
  temp = P1;
  temp = temp & 0xf0;
  if(temp!=0xf0) 
  {
   temp = P1;
   switch(temp) //掃描列
   {
    case 0xee:
     key = 1;
     break;
    case 0xde:
     key = 2;
     break;
    case 0xbe:
     key = 3;
     break;
   }
   while(temp!=0xf0) //等待按鍵釋放
   {
    temp = P1;
    temp = temp & 0xf0;
   }
  }
 }
 P1 = 0xfd; //掃描第二行
 temp = P1;
 temp = temp & 0xf0;
 if(temp!=0xf0)
 {
  delay(10); // 延時(shí)消抖
  temp = P1;
  temp = temp & 0xf0;
  if(temp!=0xf0)
  {
   temp = P1;
   switch(temp) //掃描列
   {
    case 0xed:
     key = 4;
     break;
    case 0xdd:
     key = 5;
     break;
    case 0xbd:
     key = 6;
     break;
   }
   while(temp!=0xf0) //等待按鍵釋放
   {
    temp = P1;
    temp = temp & 0xf0;
   }
  }
 }
 P1 = 0xfb; //掃描第三行
 temp = P1;
 temp = temp & 0xf0;
 if(temp!=0xf0)
 {
  delay(10); // 延時(shí)消抖
  temp = P1;
  temp = temp & 0xf0;
  if(temp!=0xf0)
  {
   temp = P1;
   switch(temp) //掃描列
   {
    case 0xeb:
     key = 7;
     break;
    case 0xdb:
     key = 8;
     break;
    case 0xbb:
     key = 9;
     break;
   }
   while(temp!=0xf0) //等待按鍵釋放
   {
    temp = P1;
    temp = temp & 0xf0;
   }
  }
 }
 P1 = 0xf7; //掃描第四行
 temp = P1;
 temp = temp & 0xf0;
 if(temp!=0xf0)
 {
  delay(10); // 延時(shí)消抖
  temp = P1;
  temp = temp & 0xf0;
  if(temp!=0xf0)
  {
   temp = P1;
   switch(temp) //掃描列
   {
    case 0xe7:
     key = 0;
     break;
    case 0xd7:
     key = 0;
     break;
    case 0xb7:
     key = 0;
     break;
   }
   while(temp!=0xf0) //等待按鍵釋放
   {
    temp = P1;
    temp = temp & 0xf0;
   }
  }
 }
 return key;
}
  1. 在主程序循環(huán)中,首先調(diào)用dis_set()函數(shù)顯示用戶設(shè)定溫度;
for(i=20;i>0;i--) 
 dis_set(key1, key2); //顯示用戶設(shè)定的溫度
//顯示設(shè)定溫度函數(shù)
void dis_set(uchar k1, uchar k2)
{
  display2(1, k1);
  display2(2, k2);
  display2(0, k1);
}
//設(shè)定溫度數(shù)據(jù)顯示函數(shù)
void display2(uchar num, uchar tem_data)
{
 if(num==0)
 {
  S1 = 1;
  S2 = 1;
  delay(5);
 }
 if(num==1)
 {
  S1 = 0;
  S2 = 1;
  P3 = table[tem_data]; //table為 0-9的16進(jìn)制編碼表
  delay(5);
 }
 else if(num==2)
 {
  S1 = 1;
  S2 = 0;
  P3 = table[tem_data];
  delay(5);
 }
}

然后再?gòu)臏囟葌鞲衅鳙@取當(dāng)前溫度,獲取當(dāng)前溫度的流程如下圖所示,先調(diào)用DSreset()函數(shù)進(jìn)行溫度傳感器的初始化,再調(diào)用temwrite()函數(shù),對(duì)傳感器寫(xiě)入溫度轉(zhuǎn)換的指令,進(jìn)行溫度獲取和轉(zhuǎn)換,然后調(diào)用get_tem()函數(shù)對(duì)傳感器寫(xiě)入讀取寄存器指令,從寄存器中讀取存儲(chǔ)的溫度數(shù)據(jù),并對(duì)該數(shù)據(jù)進(jìn)行精度轉(zhuǎn)換處理,最后獲得一個(gè)保留了1位小數(shù)的當(dāng)前溫度數(shù)據(jù);

 

temchange();    //獲取當(dāng)前溫度
//溫度獲取和轉(zhuǎn)換函數(shù)
void temchange(void)
{
 DSreset();
 delay(1);
 temwrite(0xcc); //寫(xiě)跳過(guò)ROM指令
 temwrite(0x44); //寫(xiě)溫度轉(zhuǎn)換指令
} 
//讀取寄存器中存儲(chǔ)的溫度數(shù)據(jù)
uint get_tem(void)
{
 uchar l8,h8;
 DSreset();
 delay(1);
 temwrite(0xcc); //寫(xiě)跳過(guò)ROM指令
 temwrite(0xbe); //寫(xiě)讀寄存器指令
 l8 = temread(); //讀低8位數(shù)據(jù)
 h8 = temread(); //讀高8位數(shù)據(jù)
 tem = h8;
 tem = tem<<8;
 tem = tem|l8; //合成一個(gè)16位數(shù)據(jù)
 f_tem = tem*0.0625;
 tem = f_tem*10+0.5; //*10用于保留1位小數(shù)點(diǎn),+0.5用于四舍五入
 return (tem);
}

DS18B20溫度傳感器的基本操作代碼如下,各項(xiàng)操作要嚴(yán)格遵守DS18B20溫度傳感器的時(shí)序圖,延時(shí)時(shí)間要足夠,可以根據(jù)使用的主控芯片適當(dāng)?shù)匦薷难h(huán)的次數(shù)來(lái)調(diào)整延時(shí)。

初始化

//溫度傳感器初始化
uint DSreset(void)
{
 uint i;
 DS = 0;
 i = 73;
 while(i>0)
  i--;
 DS = 1;
 i = 0;
 while(DS) 
 {//等待DS18B20拉低總線
  delay(1);
  i++;
  if(i>10)
  {
   return 0;//初始化失敗
  }
 }
 DS = 1;
 return 1;//初始化成功
}

讀1位數(shù)據(jù)

//讀1位數(shù)據(jù)
bit temreadbit(void)
{
 uint i;
 bit tem_bitdata;
 DS = 0;
 i++; //延時(shí)
 DS = 1;
 i++;
 i++;
 tem_bitdata = DS;
 i = 10;
 while(i>0)
  i--;
 return(tem_bitdata);
}

讀1字節(jié)數(shù)據(jù)

//讀1字節(jié)數(shù)據(jù)
uchar temread(void)
{
 uint i;
 uchar j,tem_data;
 for(i=1;i<=8;i++)
 {
  j = temreadbit();
  tem_data = (j<<7)|(tem_data>>1); //移位,讓最低位在最后面
 }
 return (tem_data);
}

寫(xiě)1字節(jié)數(shù)據(jù)

//寫(xiě)1字節(jié)數(shù)據(jù)
void temwrite(uchar tem_data)
{
 uint i;
 uchar j;
 bit send_bitdata;
 for(j=1;j<=8;j++)
 {
  send_bitdata = tem_data&0x01; //取要發(fā)送數(shù)據(jù)的最低位
  tem_data = tem_data>>1; //右移一位
  if(send_bitdata) //寫(xiě)1
  {
   DS = 0;
   i++;
   i++;
   DS = 1;
   i = 10;
   while(i>0)
    i--;
  }
  else     //寫(xiě)0
  {
   DS = 0;
   i = 10;
   while(i>0)
    i--;
   DS = 1;
   i++;
   i++;
  }
 }
}
  1. 獲取完當(dāng)前溫度,調(diào)用dis_tem()函數(shù)顯示當(dāng)前溫度;
for(i=20;i>0;i--)  //顯示當(dāng)前溫度
 dis_tem(get_tem());
//顯示當(dāng)前溫度函數(shù)
void dis_tem(uint t)
{
 uchar i;
 i = t/100; //取溫度的十位
 display1(1,i);
 i = t%100/10; //取溫度的個(gè)位
 display1(2,i+10);
 i = t%10; //取溫度的小數(shù)點(diǎn)后一位
 display1(3,i);
}
//當(dāng)前溫度數(shù)據(jù)顯示函數(shù)
void display1(uchar num, uchar tem_data)
{
 WE = 1; //選位,低電平有效
 P0 = ~((0x01)<<(num));
 WE = 0;
 DU = 1; //選段,高電平有效
 P0 = table[tem_data];
 DU = 0;
 delay(10);
}
  1. 將當(dāng)前溫度和用戶設(shè)定溫度傳入deal()函數(shù),進(jìn)行恒溫控制,在恒溫控制函數(shù)deal()中,根據(jù)判斷當(dāng)前溫度和用戶設(shè)定溫度之間的差值進(jìn)行不同的處理,如果當(dāng)前溫度小于用戶設(shè)定溫度,就進(jìn)行升溫處理,即紅燈閃爍一次,每閃爍一次溫度上升0.5°,如果當(dāng)前溫度大于用戶設(shè)定溫度,就進(jìn)行降溫處理,即綠燈閃爍一次,每閃爍一次溫度下降0.5°,如果當(dāng)前溫度與用戶設(shè)定溫度想等,則不做處理,只顯示溫度;
void deal(uint t, uint t_set)
{
 uchar i;
 if(tt_set)
 {
  work(15, 0x40); //降溫
 }
 else
 {
  i = 15;
  while(i--)
   {
    dis_tem(tem_set);
    dis_set(key1, key2);
   }
 }
}
//升溫、降溫模塊
void work(uint s, uchar led)
{
 uchar i;
 if(led==0x20)
 {
  i = s;
  led0 = ~(led0); //燈亮
  tem = tem+5;
  while(i--)
  {
   dis_tem(tem);
   dis_set(key1, key2);
  }
  led0 = ~(led0); //燈滅
  i = s;
  while(i--)
  {
   dis_tem(tem);
   dis_set(key1, key2);
  }
 }
 else
 {
  i = s;
  led1 = ~(led1); //燈亮
  tem = tem-5;
  while(i--)
  {
   dis_tem(tem);
   dis_set(key1, key2);
  }
  led1 = ~(led1); //燈滅
  i = s;
  while(i--)
  {
   dis_tem(tem);
   dis_set(key1, key2);
  }
 }
}
  1. 進(jìn)行一次恒溫控制后,系統(tǒng)又回到主程序循環(huán)的起始點(diǎn),不斷重復(fù)上述3-5步驟,使溫度保持在用戶設(shè)定的溫度,達(dá)到恒溫的效果。

代碼下載 51單片機(jī)恒溫控制系統(tǒng)C語(yǔ)言程序代碼

Tags:51單片機(jī),恒溫控制,C語(yǔ)言,proteus  
責(zé)任編輯:admin
相關(guān)文章列表
51單片機(jī)數(shù)碼管顯示程序, 共陰數(shù)碼管顯示程序 數(shù)碼管原理(顯示
單片機(jī)C語(yǔ)言編程入門(mén)教程  流水燈程序示例
51單片機(jī)學(xué)習(xí)筆記直流電機(jī)驅(qū)動(dòng)(PWM)C語(yǔ)言程序
MCU-51單片機(jī)直流電機(jī)驅(qū)動(dòng)(PWM)51單片機(jī)驅(qū)動(dòng)直流電機(jī)
先學(xué)51還是先學(xué)STM32?STM32和51單片機(jī)的區(qū)別
51單片機(jī)和STM32單片機(jī)的結(jié)構(gòu)有什么不同
51單片機(jī)、AVR單片機(jī)和PIC單片機(jī)的IO口操作
關(guān)于51單片機(jī)IO引腳的驅(qū)動(dòng)能力與上拉電阻
51單片機(jī)“呼吸燈”程序
51單片機(jī)入門(mén)之靜態(tài)數(shù)碼管電路設(shè)計(jì)
穩(wěn)定可靠的恒溫控制裝置,TWH8751 Temperature controller
AT89C51,51單片機(jī)1602液晶顯示時(shí)鐘程序
單片機(jī)電子時(shí)鐘程序設(shè)計(jì)
4位單片機(jī)數(shù)字鐘 電子鐘制作
51單片機(jī)4位數(shù)碼管電子鐘源程序
AT89C2051電腦機(jī)箱風(fēng)扇智能溫控儀,AT89C2051 Temperature contro
51單片機(jī)溫控風(fēng)扇(含程序+原理圖+仿真+PCB)
89C52來(lái)做定時(shí)記數(shù)器程序,51定時(shí)程序
單片機(jī)C語(yǔ)言程序設(shè)計(jì):用 ADC0808 控制PWM 輸出
51單片機(jī)蜂鳴器播放音樂(lè)代碼
利用單片機(jī)AT89S51與ADC0809設(shè)計(jì)數(shù)字電壓表,Voltmeter
單片機(jī)制作的純正弦波逆變器,12V Pure Sine Wave Inverter
51單片機(jī)00-59秒計(jì)時(shí)器 0-59s Timer
51單片機(jī)按鍵程序中 while(!key)的作用
51系列單片機(jī)尋址方式
認(rèn)識(shí)單片機(jī)引腳【詳解】
數(shù)碼管顯示矩陣鍵盤(pán)掃描值
用51單片機(jī)設(shè)計(jì)的無(wú)線防盜報(bào)警器技術(shù)
51單片機(jī)產(chǎn)生“嘀、嘀、……”報(bào)警聲
51單片機(jī)匯編模擬串口通信程序
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱(chēng):
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢
av影视在线看_欧美激情一区二区三区蜜桃视频_国产不卡av一区二区_91精品国产色综合久久不卡粉嫩
日韩欧美亚洲另类制服综合在线| 另类调教123区| 亚洲成av人片在线观看无码| 国产成人在线色| 国产成人综合网| 久久色视频免费观看| 亚洲精品视频免费观看| 成人国产在线观看| 亚洲欧洲另类国产综合| 国产日韩欧美精品在线| 成人h动漫精品一区二区| 亚洲123区在线观看| 亚洲欧美精品午睡沙发| 亚洲乱码国产乱码精品精小说| 久久精品一二三| 国产婷婷色一区二区三区四区| 亚洲男人的天堂av| 精品人伦一区二区色婷婷| 1024国产精品| 亚洲一区成人在线| 国产主播一区二区| 欧美久久久久久蜜桃| 日韩欧美高清在线| 亚洲精品免费在线| 激情文学综合网| 99re8在线精品视频免费播放| 色网站国产精品| 国产色一区二区| 国内精品免费在线观看| 综合激情网...| 午夜视频一区二区| 日韩一区和二区| 色综合久久综合网97色综合| 一区二区三区日韩在线观看| 欧美一区二区在线视频| 99r国产精品| 美腿丝袜亚洲色图| 亚洲一区二区三区在线看| 国产精品人成在线观看免费| 欧美电视剧在线观看完整版| 亚洲图片自拍偷拍| www.亚洲人| 日韩电影免费在线看| 欧美三级视频在线| 国产精品美女久久久久久2018| 国产一区二区三区美女| 欧美主播一区二区三区美女| 欧美日韩中字一区| 精品视频1区2区3区| 欧美精品免费视频| 久久精品噜噜噜成人av农村| 久久久久亚洲蜜桃| 国产毛片一区二区| 欧美网站一区二区| 欧美天天综合网| 亚洲欧美色图小说| 国产精品久久久久一区二区三区| 久久网这里都是精品| 综合欧美亚洲日本| 国产一区三区三区| 欧美日韩视频专区在线播放| 美腿丝袜亚洲色图| 欧美tk丨vk视频| 日韩中文欧美在线| 欧美极品美女视频| 人人精品人人爱| 亚洲图片自拍偷拍| 亚洲午夜成aⅴ人片| 亚洲卡通动漫在线| 亚洲精品视频一区二区| 亚洲六月丁香色婷婷综合久久| 国产欧美精品一区aⅴ影院 | 精品国一区二区三区| 777午夜精品视频在线播放| 欧洲一区在线观看| 欧美揉bbbbb揉bbbbb| 欧美日韩一区二区三区高清 | 国产不卡视频一区| 成人网页在线观看| 99riav一区二区三区| 欧美主播一区二区三区美女| 欧美精品乱码久久久久久按摩| 日韩一区二区在线免费观看| 日韩欧美的一区二区| 久久久精品影视| 中文字幕在线一区| 一区二区欧美在线观看| 日韩黄色小视频| 国产一区二区三区最好精华液| 成人中文字幕合集| 欧美视频一区二区三区四区| 欧美大白屁股肥臀xxxxxx| 久久久www免费人成精品| 亚洲三级在线看| 人人狠狠综合久久亚洲| 国产91丝袜在线观看| 在线观看网站黄不卡| 欧美大胆人体bbbb| 一区二区国产视频| 国内精品视频一区二区三区八戒| 91免费国产在线观看| 欧美电视剧在线观看完整版| 亚洲欧美电影一区二区| 狂野欧美性猛交blacked| 成人动漫av在线| 日韩一区二区三区免费观看| 国产精品久久毛片| 日韩高清在线观看| 97se亚洲国产综合自在线观| 日韩欧美一二三区| 亚洲综合久久久久| 国产激情精品久久久第一区二区 | 欧美一区二区久久久| 国产精品传媒视频| 青青草97国产精品免费观看 | 国产一区高清在线| 欧美嫩在线观看| 国产精品嫩草影院com| 日本麻豆一区二区三区视频| 91女人视频在线观看| 久久婷婷国产综合国色天香| 午夜精品久久久久久久99樱桃| 丁香天五香天堂综合| 欧美一级片在线| 午夜精品在线视频一区| www.亚洲精品| 国产精品久久久久久久久动漫| 久草这里只有精品视频| 欧美日韩国产首页| 亚洲一区二区视频在线| 99国产精品久久久久久久久久久| 久久久噜噜噜久噜久久综合| 蜜桃视频在线一区| 制服丝袜中文字幕亚洲| 丝袜美腿成人在线| 欧美精品丝袜中出| 日韩精品国产欧美| 欧美疯狂做受xxxx富婆| 丝袜国产日韩另类美女| 4hu四虎永久在线影院成人| 亚洲成人先锋电影| 欧美久久久久久久久| 日韩有码一区二区三区| 欧美一区二区三区在线观看| 蜜桃av一区二区三区| 欧美电视剧免费观看| 国产乱妇无码大片在线观看| 久久免费美女视频| 丁香婷婷综合网| 一区二区三区四区在线播放| 欧美视频在线播放| 蜜桃传媒麻豆第一区在线观看| 精品国产成人系列| 国产成人免费视| 亚洲三级小视频| 欧美日韩一区不卡| 麻豆精品一区二区av白丝在线| 精品盗摄一区二区三区| 国产成人一区在线| 亚洲乱码中文字幕| 欧美一区二区三区系列电影| 久久超级碰视频| 亚洲欧洲日韩综合一区二区| 一本久道久久综合中文字幕| 亚洲成av人片一区二区| 日韩欧美高清在线| 成人免费高清在线观看| 夜夜亚洲天天久久| 欧美mv和日韩mv的网站| 成人av电影在线观看| 亚洲国产精品一区二区www在线 | 欧美日韩二区三区| 国产精品一品视频| 亚洲五码中文字幕| 国产亲近乱来精品视频| 欧美色视频一区| 懂色中文一区二区在线播放| 天天综合网天天综合色| 国产精品国产三级国产普通话三级| 91成人看片片| 国产精品一区二区在线播放 | 欧美高清性hdvideosex| 国产一区二区三区免费观看| 亚洲午夜一区二区三区| 国产精品女上位| 欧美成人精品1314www| 在线一区二区三区做爰视频网站| 黄色日韩网站视频| 日韩1区2区3区| 一区二区三区在线观看欧美| 国产亚洲自拍一区| 91精品国产高清一区二区三区蜜臀| 成人性生交大片免费看中文网站| 秋霞午夜av一区二区三区 | 久久久精品综合| 日韩欧美黄色影院| 欧美日韩免费在线视频| 97成人超碰视| av激情亚洲男人天堂| 国产成人综合亚洲91猫咪|