久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 9796|回復(fù): 11
收起左側(cè)

ht66f018合泰單片機(jī)暖風(fēng)機(jī)的C語(yǔ)言源程序

  [復(fù)制鏈接]
ID:277976 發(fā)表于 2018-10-23 11:10 | 顯示全部樓層 |閱讀模式
0.png

單片機(jī)源程序如下:
  1. /***********************************************
  2.   1 建立基本框架
  3.        CONFIG.H/IO.H/TARGET.C.H/ISR.C.H/KEY.C.H/AD.C.H
  4.     2 加入TEMP.C.H,顯示采樣溫度-----獲得外部信號(hào) -判斷溫度顯示是否正常
  5.     3 確認(rèn)按鍵操作有效
  6.            1 先設(shè)置默認(rèn)華氏顯示86;FC轉(zhuǎn)換后,按鍵+-調(diào)整用戶溫度設(shè)置在15-30  (ADde 輸入電阻建議4.7K,否則不穩(wěn)定)
  7.     4 對(duì)于一些變量---初始定義的時(shí)候最好把初始值也賦值進(jìn)去了---這樣好
  8.     5 未斷過(guò)電,開(kāi)關(guān)機(jī)后--模式,設(shè)定溫度不變
  9.     6 加入定時(shí)開(kāi)機(jī)和定時(shí)關(guān)機(jī)的功能
  10.                    方法:加入定時(shí)開(kāi)機(jī)和定時(shí)關(guān)機(jī)標(biāo)志位,   在定時(shí)按鍵里面判斷當(dāng)前處于何種狀態(tài),以及當(dāng)前對(duì)按鍵的加減是對(duì)那方面的操作
  11.                         在定時(shí)自減的結(jié)束時(shí),根據(jù)標(biāo)志位判斷是開(kāi)機(jī)還是關(guān)機(jī)
  12.     7 加入調(diào)溫的連續(xù)加減程序   在按鍵的計(jì)時(shí)下面加入
  13.     8 按鍵鎖: 長(zhǎng)按電源鍵2S進(jìn)入啟動(dòng)按鍵鎖功能   
  14.     9 加入斷電記憶功能:  
  15.     10 雙鍵加鎖
  16.     未能解決的問(wèn)題: 首次上電那幾秒屏幕不可控
  17. ***********************************************/
  18. #include "config.h"
  19. __ByteBits g_TimerFlag;
  20. __ByteBits g_TimerFlag1;
  21. __ByteBits g_RunFlag;
  22. __ByteBits g_Run1Flag;
  23. __ByteBits g_Run2Flag;
  24. uint8 BeepCount=0;
  25. uint8 PowOnWaitCnt=50;
  26. uint8 EnvironmentTempF;
  27. uint8 EnvironmentTempC;
  28. uint8 UserTempSetF;
  29. uint8 UserTempSetC;
  30. uint8 TSetTempCnt;
  31. uint8 TkeySetLook;
  32. uint8 UserTimeSetH;
  33. uint8 TSetTimerCnt;
  34. uint8  UserSetMode;
  35. void BeepProc(void);
  36. void InitRam()
  37. {
  38.   g_TimerFlag.tByte=0;
  39.   g_TimerFlag1.tByte=0;
  40.   g_RunFlag.tByte=0;
  41.   g_Run1Flag.tByte=0;
  42.   g_Run2Flag.tByte=0;
  43.   TempErro.tByte=0;   
  44.   UserTempSetF=86;
  45.   gb_FC_Flag=TempUintF;
  46.   gb_FirstWork_Flag=1;   //首次上電,首次開(kāi)機(jī),蜂鳴器想2聲   
  47. }
  48. void main(void)
  49. {
  50.     _emi   = 0;
  51.     Init_IO();
  52.     Init_Foc();
  53.    Init_Timer();
  54.    ISR_Parament_Init();
  55.   while(!_hto);  //等待時(shí)鐘穩(wěn)定
  56.    _emi   = 1;
  57.     while(PowOnWaitCnt)
  58.     {
  59.       PowOnWaitCnt--;
  60.       DisCode[2] =0;
  61.       DisCode[1]=0;
  62.       DisCode[0]=0;
  63.     }
  64.     Init_AD();    //AD前期不初始化是為了初始顯示不亂碼     
  65.    InitRam();  
  66.    bBeepf=1;bBeepSf=1;BeepCount=0;
  67.       
  68.     while(1)
  69.     {
  70.           _clrwdt();
  71.         if(gT_5ms_Flag){gT_5ms_Flag=0;LedDispPro();}
  72.         if(gT_10ms_Flag){ gT_10ms_Flag=0;TempADCollect(); KeyScan();KeyProcess();BeepProc();}
  73. //     if(gT_50ms_Flag){ gT_50ms_Flag=0;}   
  74.        if(gT_100ms_Flag){ gT_100ms_Flag=0; Base100ms();}
  75.        if(gT_250ms_Flag) {gT_250ms_Flag=0;}
  76.         if(gT_500ms_Flag){gT_500ms_Flag=0;gb_500ms_Flag^=1;}
  77.        if(gT_1s_Flag)
  78.         {
  79.           gT_1s_Flag=0;
  80.           SysWorkCtrl();
  81.           Base1s();
  82.           Memory_LastState();
  83.           fun_eeprom_Write(0x00, UserTempSetC);
  84.           fun_eeprom_Write(0x01, UserSetMode);   //寫(xiě)入當(dāng)前用戶狀態(tài)
  85.         }
  86.     }
  87. }
  88. /******************蜂鳴器的表達(dá)***********************************************
  89. 蜂鳴表達(dá):     bBeepf=1;bBeepSf=1;BeepCount=0;
  90. 長(zhǎng)鳴3聲表達(dá):bBeepf=1;bBeepLf=1;BeepCount=0;
  91. 蜂鳴3聲:    bBeepf=1;bBeeAlf=1;BeepCount=0;
  92. ***************************************************************************/
  93. void BeepProc(void)
  94. {
  95.   if(bBeepSf)//蜂鳴
  96.     {     if(++BeepCount >= 10)       {   BeepCount=0;   bBeepSf=0;  bBeepf=0; } }
  97.   elseif(bBeepLf) //3聲
  98.   { BeepCount++;
  99.       if(BeepCount==40) { bBeepf=0;     }
  100.        elseif(BeepCount==80)  { bBeepf=1;    }
  101.        elseif(BeepCount==120) { bBeepf=0; }
  102.      else if(BeepCount==160) { bBeepf=1;    }
  103.        elseif(BeepCount>=200) { BeepCount=0;   bBeepf=0;    bBeepLf=0;  }
  104.   }
  105.   else if(bBeepAlf)//3聲
  106.   {  BeepCount++;
  107.       if(BeepCount==20)  {bBeepf=0;     }
  108.        elseif(BeepCount==40) { bBeepf=1;   }
  109.        elseif(BeepCount==60) {  bBeepf=0;}
  110.      else if(BeepCount==80) { bBeepf=0; }
  111.        elseif(BeepCount>=120)
  112.        {BeepCount=0; bBeepf=0;   bBeepAlf=0;}
  113.   }
  114.     else {  BeepCount =0;}
  115. }
復(fù)制代碼
  1. /*********************************************************************
  2.         暖風(fēng)機(jī)的工作控制:
  3.           1:加熱有加熱標(biāo)志位和控制標(biāo)志位的,標(biāo)志位的開(kāi)啟并不代表實(shí)際的輸出
  4.       2:根據(jù)用戶設(shè)定模式判斷,當(dāng)前處于哪個(gè)狀態(tài)
  5.       3:當(dāng)前狀態(tài)下,判斷控制標(biāo)志位是否開(kāi)啟
  6.       4:無(wú)論控制標(biāo)志位是否開(kāi)機(jī),均開(kāi)始計(jì)算時(shí)間
  7.       5:根據(jù)時(shí)間的大小來(lái)判定實(shí)際輸出的時(shí)間
  8. *********************************************************************/
  9. #include "config.h"

  10. void Base100ms(void);

  11. static volatile unsigned char HEAT1OnTime     __attribute__ ((at(0x1b0)));
  12. static volatile unsigned char FanOnTime       __attribute__ ((at(0x1b1)));
  13. static volatile unsigned int  FanOffTime      __attribute__ ((at(0x1b2))); //當(dāng)定義INT型時(shí),占用兩個(gè)地址,所以需要隔開(kāi)
  14. static volatile unsigned char HEAT1OffTime    __attribute__ ((at(0x1b4)));
  15. static volatile unsigned char HEAT2OffTime    __attribute__ ((at(0x1b5)));
  16. static volatile unsigned char HEAT2OnTime     __attribute__ ((at(0x1b6)));
  17. static volatile unsigned char TimerSec        __attribute__ ((at(0x1b7)));
  18. static volatile unsigned char TimerMin        __attribute__ ((at(0x1b8)));
  19. static volatile unsigned char TimerHour       __attribute__ ((at(0x1b9)));

  20. uint8   SysRunTime;                //機(jī)器開(kāi)機(jī)計(jì)時(shí)秒
  21. uint8   FanOffDelayTime=0;         //關(guān)機(jī)倒計(jì)時(shí)
  22. uint8   TimeSelfCheck=50;          //開(kāi)機(jī)那個(gè)0.5S可以自檢  

  23. void Base100ms(void);
  24. void Base1s(void);
  25. void SysWorkCtrl(void);        //系統(tǒng)工作的控制(從全局把握系統(tǒng)的輸出--不包含顯示)
  26. void FanCtrl(void);            //風(fēng)機(jī)控制程序(開(kāi)機(jī)及執(zhí)行,關(guān)機(jī),延遲30S關(guān)掉)
  27. void HeatCtrl(void);           //加熱管輸出控制  加熱什么時(shí)候開(kāi)關(guān)的控制

  28. void HiModeCtrl(void);         //高熱模式控制
  29. void LoModeCtrl(void);         //地?zé)崮J娇刂?br />
  30. void EcoModeCtrl(void);        //節(jié)能模式控制  是否打開(kāi)即熱的控制--有了相應(yīng)的控制標(biāo)志位,在計(jì)算時(shí)間
  31.   
  32. void SecTimerCnt(void);        //1S計(jì)時(shí)程序

  33. void RunImpro(void);           //非正常工作程序I
  34. void SwCtrl(void);
  35. void DDRember(void);            //掉電記憶功能

  36. void Base100ms(void)  //100MS計(jì)時(shí)
  37. {
  38.         if(TSetTimerCnt){TSetTimerCnt-=1;if(!TSetTimerCnt){gb_TimerSet_Flag=0;}}        
  39.         if(TSetTempCnt){TSetTempCnt-=1;if(!TSetTempCnt){gb_TempSet_Flag=0;}}
  40.         if(TkeySetLook){TkeySetLook-=1;}
  41.         if(TimeSelfCheck){TimeSelfCheck-=1;}
  42.         
  43.         if(gb_Fan_Flag)              //風(fēng)扇的計(jì)時(shí)
  44.         {
  45.                 FanOffTime=0;
  46.                 if(FanOnTime<=200)  {FanOnTime+=1;} //風(fēng)扇開(kāi)啟,累計(jì)計(jì)時(shí)20S
  47.         }
  48.         else
  49.         {
  50.                 FanOnTime=0;
  51.                 if(FanOffTime<=60000) {FanOffTime+=1;}  //風(fēng)扇關(guān)機(jī)的累計(jì)計(jì)時(shí)
  52.         }
  53.         
  54.         if(gb_HEAT1_Flag)    //加熱的計(jì)時(shí)必須以實(shí)際加熱開(kāi)始計(jì)時(shí),而不是標(biāo)志位
  55.         {
  56.                 HEAT1OffTime=0;
  57.                 if(HEAT1OnTime<200)            { HEAT1OnTime+=1;        }
  58.         }
  59.         else
  60.         {
  61.                 HEAT1OnTime=0;
  62.                 if(HEAT1OffTime<200)        { HEAT1OffTime+=1;        }               
  63.         }
  64.         
  65.         if(gb_HEAT2_Flag)   //加熱的計(jì)時(shí)必須以實(shí)際加熱開(kāi)始計(jì)時(shí),而不是標(biāo)志位
  66.         {
  67.                 HEAT2OffTime=0;        
  68.                 if(HEAT2OnTime<200)     { HEAT2OnTime+=1;  }
  69.         }
  70.         else
  71.         {
  72.                 HEAT2OnTime=0;
  73.                 if(HEAT2OffTime<200)     { HEAT2OffTime+=1;  }                                
  74.         }
  75.         
  76. }
  77. void Base1s(void)   //1S的計(jì)時(shí)
  78. {
  79.         if(FanOffDelayTime)        
  80.         {
  81.                 FanOffDelayTime-=1;        
  82.         }
  83.         
  84.         if(UserTimeSetH)        //定時(shí)的計(jì)數(shù)
  85.         {
  86.                 TimerSec+=1;
  87.                 if(TimerSec >= 59)
  88.                 {
  89.                         TimerSec=0;
  90.                         TimerMin+=1;
  91.                         if(TimerMin>=UserTimeSetH)        
  92.                                 {
  93.                                         if(gb_PowerOn_Flag&&gb_TimeOff_Flag)  //此位置1 ,說(shuō)明處于開(kāi)機(jī)狀態(tài)
  94.                                         {
  95.                                         gb_TimeOff_Flag=0;
  96.                                         UserTimeSetH=0;         //加這句是為了把時(shí)間計(jì)數(shù)的參數(shù)全部清0
  97.                                         gb_Timer_Flag=0;
  98.                                         gb_PowerOn_Flag=0;  //關(guān)機(jī)
  99.                                         bBeepf=1;bBeepSf=1;BeepCount=0;                                                        
  100.                                         }
  101.                                         else if((!gb_PowerOn_Flag)&&gb_TimeOn_Flag)
  102.                                         {
  103.                                         gb_TimeOn_Flag=0;        
  104.                                         UserTimeSetH=0;        
  105.                                         gb_Timer_Flag=0;
  106.                                         gb_PowerOn_Flag=1;  //開(kāi)機(jī)        
  107.                                         bBeepf=1;bBeepSf=1;BeepCount=0;                                                
  108.                                         }               
  109.                                 }
  110.                 }                                
  111.         }
  112.         else
  113.         {
  114.                 TimerSec=0;        
  115.                 TimerMin=0;
  116.                 TimerHour=0;        
  117.         }
  118. }


  119. void SysWorkCtrl(void)  //分非正常模式和正常模式
  120. {
  121.         if(TempErro.tByte)//非正常模式下的輸出
  122.         {
  123.                 if(gb_HEAT1Ctrl_Flag||gb_HEAT2Ctrl_Flag)
  124.                 {
  125.                         FanOffDelayTime=60;   //關(guān)機(jī)60S的延遲               
  126.                 }
  127.                 gb_HEAT1Ctrl_Flag=0;
  128.                 gb_HEAT2Ctrl_Flag=0;
  129.         }
  130.         else  //正常模式的輸出
  131.         {
  132.                 if(gb_PowerOn_Flag)
  133.                 {
  134.                         if(UserSetMode == HIMODE){HiModeCtrl();}
  135.                         else if(UserSetMode == LOMODE){LoModeCtrl();}
  136.                         else if(UserSetMode == ECMODE){EcoModeCtrl();}        
  137.                 }
  138.                 else
  139.                 {
  140.                         if(gb_HEAT1Ctrl_Flag||gb_HEAT2Ctrl_Flag)
  141.                         {
  142.                                 FanOffDelayTime=60;   //關(guān)機(jī)60S的延遲               
  143.                         }                        
  144.                         gb_HEAT1Ctrl_Flag=0;
  145.                         gb_HEAT2Ctrl_Flag=0;        
  146.                 }        
  147.         }
  148.         FanCtrl();
  149.         HeatCtrl();        
  150. }

  151. void HiModeCtrl(void) //高檔--對(duì)加熱1 加熱2 風(fēng)扇的 控制
  152. {
  153.         if(EnvironmentTempC>UserTempSetC)  //溫度中間狀態(tài) - 跟隨上一個(gè)狀態(tài)
  154.         {
  155.                 if(gb_HEAT1Ctrl_Flag||gb_HEAT2Ctrl_Flag)
  156.                 {
  157.                         FanOffDelayTime=60;   //關(guān)機(jī)60S的延遲               
  158.                 }               
  159.                         gb_HEAT1Ctrl_Flag=0;
  160.                         gb_HEAT2Ctrl_Flag=0;               
  161.         }
  162.         else if(EnvironmentTempC<UserTempSetC)
  163.         {
  164.                         gb_HEAT1Ctrl_Flag=1;
  165.                         gb_HEAT2Ctrl_Flag=1;               
  166.         }        
  167.         
  168. }
  169. void LoModeCtrl(void)  //低檔--對(duì)加熱1 加熱2 風(fēng)扇的 控制
  170. {
  171.         gb_HEAT2Ctrl_Flag=0;
  172.         if(EnvironmentTempC>UserTempSetC)
  173.         {
  174.                 if(gb_HEAT1Ctrl_Flag)
  175.                 {
  176.                         FanOffDelayTime=60;        
  177.                 }
  178.                         gb_HEAT1Ctrl_Flag=0;               
  179.         }
  180.         else if(EnvironmentTempC<UserTempSetC)
  181.         {
  182.                 gb_HEAT1Ctrl_Flag=1;        
  183.         }        
  184. }
  185. void EcoModeCtrl(void)  //節(jié)能模式 低擋開(kāi),高檔來(lái)回開(kāi)
  186. {
  187.         gb_HEAT1Ctrl_Flag=1;
  188.         if( EnvironmentTempC > UserTempSetC )
  189.         {
  190.                 if(gb_HEAT2Ctrl_Flag)
  191.                 {
  192.                         FanOffDelayTime=60;        
  193.                 }
  194.                 gb_HEAT2Ctrl_Flag=0;                                
  195.         }
  196.         else if(EnvironmentTempC<UserTempSetC)
  197.         {
  198.                 gb_HEAT2Ctrl_Flag=1;        
  199.         }        
  200. }

  201. void FanCtrl(void)  //風(fēng)扇開(kāi)啟的前提是開(kāi)機(jī)/關(guān)機(jī)后的延遲時(shí)間60S/溫度達(dá)到設(shè)定溫度后,加熱停止工作,風(fēng)扇再轉(zhuǎn)60S
  202. {
  203.         if(gb_PowerOn_Flag||FanOffDelayTime||gb_HEAT1Ctrl_Flag||gb_HEAT2Ctrl_Flag)                                
  204.         {
  205.                 gb_Fan_Flag=1;  //次標(biāo)志位開(kāi)啟,及代表風(fēng)扇已經(jīng)再轉(zhuǎn),同時(shí)可以計(jì)時(shí)了        
  206.                 FANON();        
  207.         }
  208.         else
  209.         {
  210.                 gb_Fan_Flag=0;
  211.                 FANOFF();               
  212.         }         
  213. }

  214. void HeatCtrl(void)
  215. {        
  216.         if(gb_HEAT1Ctrl_Flag)    //低檔HEAT1加熱功能的開(kāi)啟  開(kāi)條件(風(fēng)扇3S和其關(guān)閉3S以上)
  217.         {
  218.                 if(gb_HEAT1_Flag)  { HEAT1ON();}
  219.                 else if((FanOnTime>=30)&&(HEAT1OffTime>=30)) //第一次開(kāi)啟加熱標(biāo)志位
  220.                 {
  221.                         gb_HEAT1_Flag=1;
  222.                         HEAT1ON();        
  223.                 }
  224.                 else
  225.                 {
  226.                         gb_HEAT1_Flag=0;
  227.                         HEAT1OFF();               
  228.                 }                                
  229.         }
  230.         else if(((gb_HEAT1_Flag==1)&&(HEAT2OffTime>=30))||(gb_HEAT1_Flag==0) )   //低檔加熱功能的關(guān)閉  關(guān)條件 -- 加熱1在開(kāi)啟中同時(shí)加熱2關(guān)閉3S以上——加熱1已經(jīng)關(guān)閉
  231.         {
  232.                 gb_HEAT1_Flag=0;
  233.                 HEAT1OFF();                                
  234.         }
  235.         
  236.         if(gb_HEAT2Ctrl_Flag)   //高擋HEAT2即熱功能的開(kāi)啟和關(guān)閉 (加熱1開(kāi)3S以上和加熱2關(guān)3S以上--加熱2已開(kāi)啟)
  237.         {
  238.                 if(gb_HEAT2_Flag)   { HEAT2ON(); }        
  239.                 else if((HEAT1OnTime>=30)&&(HEAT2OffTime>=30))
  240.                 {
  241.                         gb_HEAT2_Flag=1;
  242.                         HEAT2ON();        
  243.                 }
  244.         }
  245.         else
  246.         {
  247.                         gb_HEAT2_Flag=0;
  248.                         HEAT2OFF();                                
  249.         }        
  250. }

  251. void DDRember(void)
  252. {
  253.         if(gb_PowerOn_Flag)
  254.         {
  255.                 fun_eeprom_Write(0x00, UserTempSetC);
  256.                 fun_eeprom_Write(0x01, UserSetMode);
  257.         }
  258.         else
  259.         {
  260.                 UserSetMode=fun_eeprom_Read(0x01);        
  261.                 UserTempSetC=fun_eeprom_Read(0x00);        
  262.         }                        
  263. }

復(fù)制代碼

所有資料51hei提供下載:
91N-66F018.zip (167.25 KB, 下載次數(shù): 229)

評(píng)分

參與人數(shù) 2黑幣 +65 收起 理由
perfect123 + 15 贊一個(gè)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2018-10-23 15:19 | 顯示全部樓層
好東東 樓主能分享下原理圖嗎?
回復(fù)

使用道具 舉報(bào)

ID:427962 發(fā)表于 2018-11-16 22:31 | 顯示全部樓層
好東西
回復(fù)

使用道具 舉報(bào)

ID:427962 發(fā)表于 2018-11-16 22:35 | 顯示全部樓層
很不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:465596 發(fā)表于 2019-1-15 19:50 | 顯示全部樓層
剛開(kāi)始學(xué),謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:492928 發(fā)表于 2019-3-18 08:42 | 顯示全部樓層
剛用合泰的芯片,過(guò)來(lái)學(xué)習(xí)一下。
回復(fù)

使用道具 舉報(bào)

ID:93892 發(fā)表于 2019-5-16 16:09 | 顯示全部樓層
非常有價(jià)值的參考程度。
回復(fù)

使用道具 舉報(bào)

ID:488667 發(fā)表于 2019-9-17 09:12 | 顯示全部樓層
贊一個(gè)
回復(fù)

使用道具 舉報(bào)

ID:47707 發(fā)表于 2019-9-25 13:54 | 顯示全部樓層
下載了,謝謝
回復(fù)

使用道具 舉報(bào)

ID:67041 發(fā)表于 2019-12-6 10:18 | 顯示全部樓層
好東西,剛好想學(xué)一下合泰
回復(fù)

使用道具 舉報(bào)

ID:93892 發(fā)表于 2020-5-20 16:47 | 顯示全部樓層
非常感謝,因你,我學(xué)合泰大有進(jìn)步!
回復(fù)

使用道具 舉報(bào)

ID:472035 發(fā)表于 2020-6-19 23:23 | 顯示全部樓層
過(guò)來(lái)學(xué)習(xí)一下合泰的芯片
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天综合久久 | 中文字幕一区在线观看视频 | 久久www免费人成看片高清 | 欧美成视频 | 在线视频一区二区三区 | 老司机午夜性大片 | 亚洲手机视频在线 | 国产一区二区在线看 | 国产中文字幕在线 | 午夜视频在线 | 2019天天操| 亚洲精品视频在线 | 色视频成人在线观看免 | 久久视频精品 | 欧美日韩一区二区在线 | 天天干狠狠操 | 亚洲国产精品一区二区第一页 | 一区二区久久精品 | 噜噜噜噜狠狠狠7777视频 | dy天堂| 国产乱码久久久久久 | 欧美中文字幕一区二区三区亚洲 | 欧洲av一区 | 国产精品成人一区二区 | 精品国产一区久久 | 久久伊人青青草 | 一二三四av | 99久久精品免费看国产高清 | 看av网址 | 久久久久国产精品一区三寸 | 国产精品免费一区二区三区四区 | 青青草视频网站 | 亚洲精品一区二区三区蜜桃久 | www.精品一区 | 午夜小视频在线播放 | 99热.com| 四季久久免费一区二区三区四区 | 成人免费视频网址 | 中文字幕亚洲欧美 | 精品一区欧美 | 日韩国产高清在线观看 |