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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機智能溫控器 -煙葉烘烤過程溫濕度報警系統

[復制鏈接]
跳轉到指定樓層
樓主


所有資料下載:
0026、智能溫控器.rar (122.22 KB, 下載次數: 47)

部分單片機源程序:
  1. /************************************************************************
  2.            煙葉烘烤過程溫濕度報警系統

  3. 系統描述:在LCD1602上實時顯示時鐘,溫度,濕度,系統運行時間。利用ds18b20
  4.                   檢測當前溫度,通過和設定參數的比較,給ISD1420發出報警脈沖,通過
  5.           功率放大器LM386 驅動喇叭報警。




  6. *************************************************************************/

  7. #include<reg51.h>
  8. #include<intrins.h>
  9. #include <absacc.h>
  10. #define uchar unsigned char
  11. #define uint   unsigned int

  12. #define BUSY  0x80                               //lcd忙檢測標志
  13. #define DATAPORT P0                              //定義P0口為LCD通訊端口
  14. #define PLAYE_ADDR XBYTE[0XBFFF]                 //語音報警地址

  15. sbit RED_ALARM=P1^0;                                                    //紅色指示燈
  16. sbit WRITE_ALARM=P1^1;                                          //白色指示燈
  17. sbit GREEN_ALARM=P1^2;                                          //綠色指示燈
  18. sbit P1_4=P1^4;                                                    //時鐘調整
  19. sbit P1_5=P1^5;                                                 //時鐘加
  20. sbit P1_6=P1^6;                                                 //時鐘減

  21. sbit DQ = P1^7;                                                 //定義ds18b20通信端口
  22. sbit LCM_RS=P2^0;                                                                //數據/命令端
  23. sbit LCM_RW=P2^1;                                                                //讀/寫選擇端
  24. sbit LCM_EN=P2^2;                                               //LCD使能信號
  25. sbit ad_busy=P3^2;                                              //adc中斷方式接口
  26. sbit RECLED_EOC=P3^5;                                           //ISD1420放音結束查詢標志
  27. sbit OUT=P3^7;

  28. uchar ad_data;                                                  //ad采樣值存儲                                               
  29. uchar seconde=0;                                                //定義并初始化時鐘變量
  30. uchar minite=0;
  31. uchar hour=12;
  32. uchar mstcnt=0;
  33. uchar temp1,temp2,temp;                                     //溫度顯示變量
  34. uchar t,set;
  35. uchar T;
  36. bit ON_OFF;
  37. bit outflag;

  38. uchar code str0[]={"---  :  :  ---OF"};
  39. uchar code str1[]={"SET:  C SA:  . C"};

  40. void delay_LCM(uint);                                                                                                     //LCD延時子程序
  41. void initLCM( void);                                                                                                       //LCD初始化子程序
  42. void lcd_wait(void);                                                                                                      //LCD檢測忙子程序
  43. void WriteCommandLCM(uchar WCLCM,uchar BusyC);                              //寫指令到ICM子函數
  44. void WriteDataLCM(uchar WDLCM);                                             //寫數據到LCM子函數
  45. void DisplayOneChar(uchar X,uchar Y,uchar DData);                           //顯示指定坐標的一個字符子函數
  46. void DisplayListChar(uchar X,uchar Y,uchar code *DData);                    //顯示指定坐標的一串字符子函數
  47. void init_timer0(void);                                                                                               //定時器初始化
  48. void displayfun1(void);
  49. void displayfun2(void);
  50. void displayfun3(void);
  51. void displayfun4(void);
  52. void keyscan(void );                                                                                            //鍵盤掃描子程序
  53. void set_adj(void);
  54. void inc_key(void);
  55. void dec_key(void);
  56. void delay_18B20(unsigned int i);
  57. void Init_DS18B20(void) ;
  58. uchar ReadOneChar(void);
  59. void WriteOneChar(unsigned char dat);
  60. void ReadTemperature(void);
  61. void ad0809(void);
  62. void playalarm(void);


  63. /*********延時K*1ms,12.000mhz**********/

  64. void delay_LCM(uint k)
  65. {
  66.     uint i,j;
  67.     for(i=0;i<k;i++)
  68.     {
  69.         for(j=0;j<60;j++)
  70.                 {;}
  71.     }
  72. }   
  73. /**********寫指令到ICM子函數************/

  74. void WriteCommandLCM(uchar WCLCM,uchar BusyC)
  75. {
  76.     if(BusyC)lcd_wait();
  77.         DATAPORT=WCLCM;
  78.     LCM_RS=0;                   // 選中指令寄存器
  79.     LCM_RW=0;                       // 寫模式       
  80.     LCM_EN=1;   
  81.         _nop_();   
  82.         _nop_();
  83.         _nop_();
  84.     LCM_EN=0;  
  85. }

  86. /**********寫數據到LCM子函數************/

  87. void WriteDataLCM(uchar WDLCM)
  88. {
  89.     lcd_wait( );            //檢測忙信號   
  90.         DATAPORT=WDLCM;
  91.     LCM_RS=1;               // 選中數據寄存器
  92.     LCM_RW=0;                   // 寫模式
  93.     LCM_EN=1;
  94.     _nop_();
  95.         _nop_();
  96.         _nop_();
  97.     LCM_EN=0;
  98. }

  99. /***********lcm內部等待函數*************/

  100. void lcd_wait(void)
  101. {
  102.     DATAPORT=0xff;             
  103.         LCM_EN=1;
  104.     LCM_RS=0;                          
  105.     LCM_RW=1;                          
  106.     _nop_();
  107.     while(DATAPORT&BUSY)
  108.         {  LCM_EN=0;
  109.            _nop_();
  110.            _nop_();
  111.            LCM_EN=1;
  112.            _nop_();
  113.            _nop_();
  114.            }
  115.            LCM_EN=0;
  116.        
  117. }

  118. /**********LCM初始化子函數***********/

  119. void initLCM( )
  120. {   
  121.         DATAPORT=0;       
  122.         delay_LCM(15);
  123.         WriteCommandLCM(0x38,0);    //三次顯示模式設置,不檢測忙信號
  124.     delay_LCM(5);
  125.     WriteCommandLCM(0x38,0);
  126.     delay_LCM(5);
  127.     WriteCommandLCM(0x38,0);
  128.     delay_LCM(5);

  129.     WriteCommandLCM(0x38,1);    //8bit數據傳送,2行顯示,5*7字型,檢測忙信號
  130.     WriteCommandLCM(0x08,1);    //關閉顯示,檢測忙信號
  131.     WriteCommandLCM(0x01,1);    //清屏,檢測忙信號
  132.     WriteCommandLCM(0x06,1);    //顯示光標右移設置,檢測忙信號
  133.     WriteCommandLCM(0x0c,1);    //顯示屏打開,光標不顯示,不閃爍,檢測忙信號
  134. }

  135. /****************顯示指定坐標的一個字符子函數*************/

  136. void DisplayOneChar(uchar X,uchar Y,uchar DData)
  137. {
  138.     Y&=1;
  139.     X&=15;
  140.     if(Y)X|=0x40;               //若y為1(顯示第二行),地址碼+0X40
  141.     X|=0x80;                    //指令碼為地址碼+0X80
  142.     WriteCommandLCM(X,0);
  143.     WriteDataLCM(DData);
  144. }

  145. /***********顯示指定坐標的一串字符子函數***********/

  146. void DisplayListChar(uchar X,uchar Y,uchar code *DData)
  147. {
  148.     uchar ListLength=0;
  149.     Y&=0x01;
  150.     X&=0x0f;
  151.     while(X<16)
  152.     {
  153.         DisplayOneChar(X,Y,DData[ListLength]);
  154.         ListLength++;
  155.         X++;
  156.     }
  157. }

  158. /***********ds18b20延遲子函數(晶振12MHz )*******/

  159. void delay_18B20(unsigned int i)
  160. {
  161.         while(i--);
  162. }

  163. /**********ds18b20初始化函數**********************/

  164. void Init_DS18B20(void)
  165. {
  166.          unsigned char x=0;
  167.          DQ = 1;          //DQ復位
  168.          delay_18B20(8);  //稍做延時
  169.          DQ = 0;          //單片機將DQ拉低
  170.          delay_18B20(80); //精確延時 大于 480us
  171.          DQ = 1;          //拉高總線
  172.          delay_18B20(14);
  173.          x=DQ;            //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗
  174.          delay_18B20(20);
  175. }

  176. /***********ds18b20讀一個字節**************/  

  177. unsigned char ReadOneChar(void)
  178. {
  179.         uchar i=0;
  180.         uchar dat = 0;
  181.         for (i=8;i>0;i--)
  182.          {
  183.                   DQ = 0; // 給脈沖信號
  184.                   dat>>=1;
  185.                   DQ = 1; // 給脈沖信號
  186.                   if(DQ)
  187.                   dat|=0x80;
  188.                   delay_18B20(4);
  189.          }
  190.         return(dat);
  191. }

  192. /*************ds18b20寫一個字節****************/  

  193. void WriteOneChar(uchar dat)
  194. {
  195.         unsigned char i=0;
  196.         for (i=8; i>0; i--)
  197.         {
  198.                   DQ = 0;
  199.                 DQ = dat&0x01;
  200.             delay_18B20(5);
  201.                 DQ = 1;
  202.             dat>>=1;
  203. }
  204. }

  205. /**************讀取ds18b20當前溫度************/

  206. void ReadTemperature(void)
  207. {
  208.         unsigned char a=0;
  209.         unsigned char b=0;
  210.         unsigned char t=0;

  211.         Init_DS18B20();
  212.         WriteOneChar(0xCC);            // 跳過讀序號列號的操作
  213.         WriteOneChar(0x44);         // 啟動溫度轉換

  214.         delay_18B20(100);       // this message is wery important

  215.         Init_DS18B20();
  216.         WriteOneChar(0xCC);         //跳過讀序號列號的操作
  217.         WriteOneChar(0xBE);         //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度

  218.         delay_18B20(100);

  219.         a=ReadOneChar();            //讀取溫度值低位
  220.         b=ReadOneChar();                   //讀取溫度值高位
  221.         temp1=b<<4;
  222.         temp1+=(a&0xf0)>>4;
  223.         temp2=a&0x0f;

  224.     temp=((b*256+a)>>4);    //當前采集溫度值除16得實際溫度值


  225. }

  226. /***************液晶顯示子函數1正常顯示*****************/

  227. void displayfun1(void)
  228. {       
  229.         WriteCommandLCM(0x0c,1);                                            //顯示屏打開,光標不顯示,不閃爍,檢測忙信號       
  230.         DisplayListChar(0,0,str0);       
  231.         DisplayListChar(0,1,str1);       
  232.                                                                                                       
  233.         DisplayOneChar(3,0,hour/10+0x30);                    //液晶上顯示小時
  234.         DisplayOneChar(4,0,hour%10+0x30);

  235.         DisplayOneChar(6,0,minite/10+0x30);                        //液晶上顯示分
  236.         DisplayOneChar(7,0,minite%10+0x30);
  237.        
  238.         DisplayOneChar(9,0,seconde/10+0x30);            //液晶上顯示秒
  239.         DisplayOneChar(10,0,seconde%10+0x30);

  240.         DisplayOneChar(4,1,T/10+0x30);                            //液晶上顯示設定的溫度
  241.         DisplayOneChar(5,1,T%10+0x30);

  242.            DisplayOneChar(11,1,temp1/10+0x30);         //液晶上顯示測得的溫度  
  243.         DisplayOneChar(12,1,temp1%10+0x30);
  244.         DisplayOneChar(14,1,temp2/10+0x30);

  245.         if(ON_OFF==0)                                                      //若溫控標志為0
  246.         {
  247.                 DisplayOneChar(14,0,0x4f);                           // 液晶上顯示不控溫的標志
  248.                 DisplayOneChar(15,0,0x46);
  249.         }
  250.         else
  251.         {
  252.                 DisplayOneChar(14,0,0x4f);                           // 液晶上顯示控溫的標志
  253.                 DisplayOneChar(15,0,0x4e);
  254.                 if(outflag==1)
  255.                     DisplayOneChar(0,0,0x7c);                          
  256.             else
  257.                         DisplayOneChar(0,0,0xef);
  258.         }

  259.        
  260. }
  261. /************液晶顯示子函數2***************/

  262. void displayfun2(void)
  263. {
  264.         WriteCommandLCM(0x0c,1);                     //顯示屏打開,光標不顯示,不閃爍,檢測忙信號       
  265.         DisplayListChar(0,0,str0);       
  266.         DisplayListChar(0,1,str1);       
  267.                
  268.         DisplayOneChar(6,0,minite/10+0x30);
  269.         DisplayOneChar(7,0,minite%10+0x30);
  270.        
  271.         DisplayOneChar(9,0,seconde/10+0x30);
  272.         DisplayOneChar(10,0,seconde%10+0x30);

  273.         DisplayOneChar(4,1,T/10+0x30);                          
  274.         DisplayOneChar(5,1,T%10+0x30);

  275.            DisplayOneChar(11,1,temp1/10+0x30);         
  276.         DisplayOneChar(12,1,temp1%10+0x30);
  277.         DisplayOneChar(14,1,temp2/10+0x30);

  278.            WriteCommandLCM(0x0f,1);                                            //顯示屏打開,光標顯示,閃爍,檢測忙信號       
  279.     DisplayOneChar(3,0,hour/10+0x30);
  280.         DisplayOneChar(4,0,hour%10+0x30);
  281. }

  282. /**************液晶顯示子函數3*****************/

  283. void displayfun3(void)
  284. {
  285.         WriteCommandLCM(0x0c,1);                                    //顯示屏打開,光標不顯示,不閃爍,檢測忙信號       
  286.         DisplayListChar(0,0,str0);       
  287.         DisplayListChar(0,1,str1);       
  288.        
  289.         DisplayOneChar(3,0,hour/10+0x30);
  290.         DisplayOneChar(4,0,hour%10+0x30);

  291.         DisplayOneChar(9,0,seconde/10+0x30);
  292.         DisplayOneChar(10,0,seconde%10+0x30);

  293.         DisplayOneChar(4,1,T/10+0x30);                          
  294.         DisplayOneChar(5,1,T%10+0x30);

  295.            DisplayOneChar(11,1,temp1/10+0x30);         
  296.         DisplayOneChar(12,1,temp1%10+0x30);
  297.         DisplayOneChar(14,1,temp2/10+0x30);

  298.    
  299.         WriteCommandLCM(0x0f,1);                                            //顯示屏打開,光標顯示,閃爍,檢測忙信號
  300.         DisplayOneChar(6,0,minite/10+0x30);
  301.         DisplayOneChar(7,0,minite%10+0x30);

  302. }

  303. /**************液晶顯示子函數4 *****************/

  304. void displayfun4(void)
  305. {
  306.         WriteCommandLCM(0x0c,1);                                    //顯示屏打開,光標不顯示,不閃爍,檢測忙信號       
  307.         DisplayListChar(0,0,str0);       
  308.         DisplayListChar(0,1,str1);       
  309.        
  310.         DisplayOneChar(3,0,hour/10+0x30);
  311.         DisplayOneChar(4,0,hour%10+0x30);

  312.         DisplayOneChar(6,0,minite/10+0x30);
  313.         DisplayOneChar(7,0,minite%10+0x30);

  314.         DisplayOneChar(9,0,seconde/10+0x30);
  315.         DisplayOneChar(10,0,seconde%10+0x30);

  316.        
  317.            DisplayOneChar(11,1,temp1/10+0x30);         
  318.         DisplayOneChar(12,1,temp1%10+0x30);
  319.         DisplayOneChar(14,1,temp2/10+0x30);

  320.    
  321.         WriteCommandLCM(0x0f,1);                                            //顯示屏打開,光標顯示,閃爍,檢測忙信號
  322.         DisplayOneChar(4,1,T/10+0x30);                          
  323.         DisplayOneChar(5,1,T%10+0x30);

  324. }

  325. /**************鍵盤掃描子函數******************/

  326. void keyscan(void)
  327. {
  328.         uchar xx;                                           //局部變量
  329.         P1=0xff;
  330.         if(P1!=0xff)
  331.           {
  332.             delay_LCM(30);
  333.                 if(P1!=0xff)
  334.                   {       
  335.                         xx=P1;
  336.                         switch(xx)                                                       // 根據按鍵狀態,調用不同的子函數
  337.                         {
  338.                                 case 0xfe:set_adj();       break;               
  339.                                 case 0xfd:inc_key();       break;               
  340.                                 case 0xfb:dec_key();       break;               
  341.                                 case 0xf7:ON_OFF=!ON_OFF;  break;
  342.                                 default:break;
  343.                         }
  344.                   }
  345.                
  346.           }
  347.   
  348. }

  349. /**************設定工作模式子函數****************/

  350. void set_adj(void)
  351. {
  352.         delay_LCM(100);
  353.         set++;
  354.     if(set>=4)set=0;
  355.                
  356. }

  357. /****************按鍵加法子函數******************/

  358. void inc_key(void)
  359. {
  360.         delay_LCM(100);
  361.                
  362.         switch(set)
  363.         {
  364.                 case 0:if(P2==0xf7)ON_OFF=!ON_OFF;       break;
  365.                 case 1:hour++;   if(hour>=23)hour=23;    break;
  366.                 case 2:minite++; if(minite>=59)minite=59;break;
  367.                 case 3:T++;if(T>=99)T=99;                                 break;
  368.                 default:break;
  369.         }
  370.                
  371. }

  372. /****************按鍵減法子函數*****************/

  373. void dec_key(void)
  374. {
  375.         delay_LCM(100);
  376.        
  377.         switch(set)
  378.         {
  379.                    case 0:if(P2==0xf7)ON_OFF=!ON_OFF;    break;
  380.                 case 1:hour--;  if(hour<=0)hour=0;    break;
  381.                 case 2:minite--;if(minite<=0)minite=0;break;
  382.                 case 3:T--;if(T<=1)T=1;                                  break;
  383.                 default:break;
  384.         }
  385.                
  386. }

  387. /***************定時器t0初始化*******************/

  388. void init_timer0(void)
  389. {
  390.          TMOD=0x01;                                  //time0為定時器,方式1
  391.      TH0=0x3c;                                   //預置計數初值
  392.      TL0=0xb0;
  393.      EA=1;                                                                  
  394.      ET0=1;                                                                                                 
  395.      TR0=1;                         
  396. }

  397. /***********定時器t0中斷子函數**************/

  398. void timer0(void) interrupt 1 using 0          //定時器0方式1,50ms中斷一次
  399. {
  400.      TH0=0x3c;
  401.      TL0=0xb0;
  402.      mstcnt++;
  403.      if(mstcnt>=20 )  {seconde++; mstcnt=0; }
  404.          if(seconde>=60)  {minite++;  seconde=0;}
  405.          if(minite>=60 )  {hour++;    minite=0; }
  406.          if(hour>=24   )  {hour=0;}
  407.          keyscan( );                               //按鍵掃描
  408. }

  409. /*****************系統報警子函數***************************/
  410. /*查詢ISD1420_RECLED管腳的放音結束標志EOC,瞬間的低電平*/
  411. /*調試時基本正確,但是,會發生突發的不穩定的報警*/
  412. /**********************************************************/

  413. void playalarm(void)                        //語音提示溫度上升過快
  414. {
  415.        
  416.     if(temp>25&&temp<30)              
  417.         {   
  418.        delay_LCM(10);
  419.        if(temp>20&&temp<22)
  420.         {
  421.                         RED_ALARM=0;
  422.                         PLAYE_ADDR=0x11;
  423.                         _nop_();
  424.                          _nop_();
  425.                         PLAYE_ADDR=0x10;
  426.                         while(RECLED_EOC==1);            //等待放音結束
  427.                         RED_ALARM=1;
  428.                 }
  429.         }
  430.        
  431.         if(temp>30&&temp<35)                    //語音提示溫度上升過慢
  432.         {
  433.                 delay_LCM(10);
  434.         if(temp>22&&temp<25)
  435.                 {
  436.                         GREEN_ALARM=0;
  437.                         PLAYE_ADDR=0x21;
  438.                          _nop_();
  439.                         _nop_();
  440.                         PLAYE_ADDR=0x20;
  441.                        while(RECLED_EOC==1);
  442.                         GREEN_ALARM=1;
  443.                 }
  444.         }
  445.        
  446.         if(temp>35&&temp<40)                   //語音提示恒溫控制
  447.         {
  448.                 delay_LCM(10);
  449.                 if(temp>25&&temp<30)
  450.                 {
  451.                         WRITE_ALARM=0;
  452.                         PLAYE_ADDR=0x31;
  453.                         _nop_();
  454.                         _nop_();
  455.                         PLAYE_ADDR=0x30;
  456.                         while(RECLED_EOC==1);
  457.                         WRITE_ALARM=1;
  458.                 }
  459.         }   
  460. }

  461. /***********the main funtion*************/
  462.    
  463. void main(void)
  464. {
  465.         ad_data=0;                                                                          //采樣值存儲單元初始化為0
  466.     P1=0xff;                                                                   //初始化p1口,全設為1      
  467.         delay_LCM(500);                                                //延時500ms啟動
  468.         initLCM( );                                                               //LCD初始化
  469.         init_timer0( );                                                                   //時鐘定時器0初始化       
  470.     Init_DS18B20( ) ;                                                          //DS18B20初始化
  471.         DisplayListChar(0,0,str0);       
  472.         DisplayListChar(0,1,str1);  
  473.                             
  474.     while (1)
  475.     {   
  476.                keyscan();                                            //按鍵掃描
  477.             ReadTemperature();                                    //溫度采集
  478.                 playalarm();
  479.         switch(set)                                           //LCD根據工作模式顯示
  480.                 {
  481.                         case 0:displayfun1();delay_LCM(1000);break;       //正常工作顯示
  482.                         case 1:displayfun2();delay_LCM(1000);break;       //調整時顯示
  483.                         case 2:displayfun3();delay_LCM(1000);break;       //調整分顯示
  484.                         case 3:displayfun4();delay_LCM(1000);break;
  485.                         default:break;
  486.                 }        
  487.                 keyscan( );                                              //相當于延時
  488.                 if(ON_OFF==1)                                                                          //若溫控標志位1, 控制LAMP動作
  489.                 {
  490.                         if(temp1>=T+1){outflag=1;OUT=0;}
  491.                         if(temp1<T)
  492.                         {
  493.                                 delay_LCM(1000);
  494.                                 if(temp1<T){outflag=0;OUT=1;}
  495.                         }
  496.                 }
  497.                 else{outflag=0;OUT=1;}
  498.     }
  499.        
  500. }


復制代碼


評分

參與人數 1黑幣 +30 收起 理由
admin + 30

查看全部評分

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

使用道具 舉報

沙發
ID:147474 發表于 2016-12-18 21:32 | 只看該作者
什么樣的樓主介紹一下嗎
回復

使用道具 舉報

板凳
ID:153777 發表于 2016-12-19 17:23 | 只看該作者
什么樣的樓主介紹一下嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
欧美国产国产综合| 亚洲一区影院| 国产区二精品视| 亚洲一区二区精品在线| 手机免费av片| 伊人色在线观看| 日本精品久久久久中文字幕| 99热超碰在线| 国产成人无码精品久久久久| 免费在线精品视频| 亚洲欧美国产中文| 亚洲天堂黄色片| 日韩成人黄色片| 无套内精的网站| 国产第一页在线视频| 国产麻豆一区二区三区精品视频| 男人的j进女人的j一区| 午夜精品久久久久久久99水蜜桃| 精品国产91洋老外米糕| 国产精品成人aaaaa网站| 成人午夜精品久久久久久久蜜臀| 欧美特级黄色录像| 免费男女羞羞的视频网站中文字幕妖精视频 | 97在线视频人妻无码| 国产麻豆剧果冻传媒观看hd高清 | 午夜精品三级久久久有码| 麻豆成人在线视频| 亚洲 欧美 自拍偷拍| 六十路在线观看| 久久综合另类图片小说| 日韩黄色视屏| 久久亚洲精品中文字幕| 毛片av中文字幕一区二区| 欧美三级日韩三级| 99在线观看视频| 色噜噜在线观看| 欧美性老头oldtight| 成人免费观看在线观看| 久久综合亚州| 亚洲国产成人一区| 婷婷四房综合激情五月| 久久99久久久| 国产91久久久久蜜臀青青天草二| 国产精品黄色片| 国产尤物一区二区| 日韩激情视频在线| 日韩一级性生活片| 99热这里只有精| а√天堂8资源在线官网| 午夜亚洲视频| 亚洲美女激情视频| 国产精品-区区久久久狼| 国产普通话bbwbbwbbw| 性欧美1819sex性高清大胸| 久久久伦理片| 久久久精品综合| 欧美激情一级二级| 国产日韩视频一区| 岛国av免费观看| 欧美性巨大欧美| 精品三级国产| 午夜久久久久久电影| 国产一区二区视频在线免费观看| 欧美日韩免费一区二区| 久色视频在线| 国产成人精品亚洲777人妖| 超碰91人人草人人干| 制服丝袜在线第一页| 91大神影片| 国产精品久久久久久模特| 亚洲网址你懂得| 一级黄色在线播放| 欧美1819sex性处18免费| 亚洲精品美女| 欧美二区在线播放| 国产午夜精品理论片在线| 黄色毛片在线观看| 91麻豆国产在线观看| 亚洲自拍偷拍在线| 一区二区三区黄色片| 精品久久国产一区| 9191久久久久久久久久久| 国产a级片免费观看| 中文字幕久热在线精品| 国产精品久久久久久久久免费高清| 一区二区三区精品视频| 国产精品夜夜夜爽张柏芝| 国产精品18在线| 天堂av在线免费| 91一区二区三区四区| 久久精品国产成人| 国产亚洲精品久久久久久无几年桃| 黄色免费在线看| 欧美日韩日本国产| 性生活免费在线观看| 免费在线视频一级不卡| 中文字幕乱码日本亚洲一区二区| 亚洲精品无人区| 美女激情视频网站| 国产精品一区二区免费不卡| 国产一区二区无遮挡| 欧美日本视频一区| 精品一区二区av| 亚洲成人a**址| 丁香综合五月| 国产亚洲精品精华液| 99久久久精品视频| 牛牛澡牛牛爽一区二区| 亚洲一区免费观看| 国产精品91av| 欧美精品高清| 色妞一区二区三区| 亚洲天堂自拍偷拍| 爱情电影网av一区二区| 日本二三区不卡| 无码人妻丰满熟妇啪啪欧美| 另类一区二区| 欧美黑人一区二区三区| 免费cad大片在线观看| 永久免费看黄网站| 欧美色图激情小说| 亚洲一区二区三区xxx视频| 精品视频一区二区观看| 成人中文字幕电影| 大j8黑人w巨大888a片| 成码无人av片在线观看网站| 日韩你懂的在线播放| 日本在线视频免费观看| 欧美激情1区2区| 日韩国产欧美一区| www.成人.com| 亚洲美腿欧美激情另类| 一区二区日韩视频| 国产成人99久久亚洲综合精品| www..com日韩| 成人av三级| 欧美孕妇毛茸茸xxxx| 黄色网页在线| 欧美性猛交xxxx乱大交退制版| 久久久久久久99| 日韩电影一区二区三区四区| 丁香花在线影院观看在线播放| av影视在线看| 欧美中文在线观看国产| 色先锋av影音| 中文字幕永久在线不卡| 黄色三级视频在线| 亚洲一区二区三区中文字幕在线观看 | 曰韩少妇与小伙激情| 欧美日韩免费一区二区三区 | 欧美大奶子在线| 免费影视观看网站入口| 欧美日韩国产精品专区| 看黄色一级大片| 久久久精品tv| 杨钰莹一级淫片aaaaaa播放| 国产精品腿扒开做爽爽爽挤奶网站| 国产自产在线视频| 国产欧美三级电影| gogogo免费高清日本写真| 校园春色亚洲色图| 国产精品乱码视频| 国产一二在线播放| 成人自拍网站| 182在线播放| 51国产成人精品午夜福中文下载 | 久久狠狠一本精品综合网| 亚洲黄色av片| 久久高清一区| 免费在线观看污| 国产一区二区三区日韩| 日韩少妇内射免费播放18禁裸乳| 成人全视频在线观看在线播放高清 | 99re这里都是精品| 老司机成人免费视频| 99riav久久精品riav| 久久久久久91亚洲精品中文字幕| 国产欧美日本一区视频| 亚洲视频一区二区三区四区| 亚洲色欲色欲www| 二区三区在线视频| 91精品久久久久久久久99蜜臂| 91九蝌蚪视频| 精品国产一区二区三区久久| 色视频在线观看福利| 国产精自产拍久久久久久| 三级在线观看视频| 国产手机视频在线观看| 日韩免费看片| av永久免费观看| 国产精品福利一区二区三区| 色丁香婷婷综合久久| 亚洲大胆人体av| 一色桃子在线| 亲子乱一区二区三区电影| a级片国产精品自在拍在线播放| 欧美午夜视频在线| 香蕉视频官网在线观看日本一区二区| 手机在线免费毛片| 国产·精品毛片| xxxx国产精品| 国产婷婷97碰碰久久人人蜜臀| 国产伪娘ts一区| 欧美日韩一区 二区 三区 久久精品| 性xx无遮挡| 欧美一区二三区| abab456成人免费网址| 欧美精品无码一区二区三区| 成人欧美视频在线观看播放| 久久天天躁狠狠躁夜夜av| 午夜dj在线观看高清视频完整版| 天堂v在线视频| 日韩精品国产精品| 国产不卡av在线播放| 亚洲日本中文字幕| 欧洲一区二区三区精品| 久久出品必属精品| 一区二区三区国产| 在线播放你懂的| 中文精品无码中文字幕无码专区| 久久成人精品| 亚洲图片小说综合| 国产成人亚洲综合青青| 日韩美女精品| 精品无码人妻一区二区三区| 欧美日韩专区在线| 精品国产99久久久久久| 日韩欧美在线免费观看视频| 久久精品人人做人人爽人人| www.夜夜操| 一区高清视频| 97se亚洲国产综合自在线不卡| 国产一级片大全| 欧美大陆一区二区| 国内精品第一页| 一本久中文高清| 91免费看片网站| 亚洲欧美不卡| 欧美xxx另类| 国产精品免费久久久久久| 国产一区二区精品调教| 人妻无码中文久久久久专区| 91麻豆精品国产自产在线| 中文字幕在线视频久| 成人性视频免费看| 日韩精品一区二区视频| 国产剧情一区二区在线观看| www.毛片com| 欧美成人自拍视频| 国产精品久久久久久| 性xxxx视频播放免费| 国模一区二区三区私拍视频| 国产精品综合二区| 国产女王在线**视频| mm131国产精品| 精品三级av在线| 少妇精品导航| 亚洲高清色图| 中文字幕一区二区三区在线乱码| 中文字幕乱码久久午夜不卡| 二区在线视频| jizz18女人高潮| 欧美成人网在线| 日韩av高清在线| 欧美视频亚洲图片| 亚洲国产精品久久久久秋霞不卡| 美女亚洲一区| 国产精品臀控福利在线观看| 人妻激情另类乱人伦人妻| 日本福利一区二区| 国产aa精品| 中文字幕久热| 美女日批免费视频| 精品国产一区二区三区四区四| 国产成人精品999在线观看| 久热中文字幕在线精品首页| 亚洲第一综合网站| 在线一区二区三区| 九九热爱视频精品视频| 亚洲 美腿 欧美 偷拍| 欧美成年人在线观看| 久久国产精品99久久久久久老狼| 视频在线不卡| 日韩成人在线资源| 中文字幕在线观看不卡视频| 国产在线观看免费| 在线免费日韩av| 欧美在线激情网| 久久精品人人做人人爽人人| 美女搞黄视频在线观看| av中文字幕免费| 霍思燕三级露全乳照| 亚洲人精品午夜在线观看| 国产成人l区| 亚洲欧美日韩另类精品一区二区三区| 亚洲国产中文字幕在线视频综合| 国产精品久久久久久久久久辛辛| 国 产 黄 色 大 片| 美女扒开大腿让男人桶| 国产亚洲aⅴaaaaaa毛片| 韩国精品在线观看| 国产在线观看www| 一区二区三区网| 日本wwwxx| 国产欧美日韩丝袜精品一区| 最新热久久免费视频| 国产精东传媒成人av电影| 欧美亚洲视频一区| 日韩一区二区视频| 一本色道久久综合一区| av在线影院| 日韩永久免费视频| 国产精品19p| 成人激情视频网| 欧美顶级少妇做爰| 国产麻豆视频一区二区| 欧美激情啪啪| 伊人资源视频在线| 日韩乱码一区二区三区| 九色在线视频观看| 97热在线精品视频在线观看| 色婷婷亚洲一区二区三区| 成午夜精品一区二区三区软件| 色猫咪免费人成网站在线观看| 91人妻一区二区三区蜜臀| 色乱码一区二区三区熟女| 久久视频在线视频| 图片区日韩欧美亚洲| 日韩综合一区二区| av在线成人| seseavlu视频在线| 欧美jizzhd精品欧美另类| 欧美日韩黄色网| av污在线观看| 蜜桃久久影院| 97色在线观看| 日韩三级.com| 亚洲黄色免费网站| 久久国产三级精品| 台湾亚洲精品一区二区tv| av网站免费在线观看| 日日干天天草| 日本久久天堂| 国产又粗又长视频| 性欧美videos| 50一60岁老妇女毛片| 日韩av片在线看| 在线观看成人av| 国产视频一区二区不卡| 欧美专区在线播放| 日韩在线观看免费全| 欧美成人女星排行榜| 亚洲成人av在线电影| 91免费观看视频| 国产精品资源网站| 视频在线观看一区| 一区二区不卡| 四虎av网址| 午夜视频在线播放| 99国产在线播放| 一区二区三区亚洲视频| 18岁成人毛片| 2014亚洲天堂| 五月婷六月丁香| aaaaaav| 中文字幕制服丝袜| 免费日韩在线观看| 亚洲精品在线免费看| 国产一区二区三区色淫影院| 国产日韩欧美一二三区| 一本一道综合狠狠老| 亚洲乱码国产乱码精品精的特点 | av不卡免费看| 一区二区三区四区电影| 精品成av人一区二区三区| 亚洲国产国产| 亚洲精品网址| 国产日韩免费| 久久精品国产网站| 精品亚洲成av人在线观看| 国产一区二区伦理| 成人网页在线观看| 国产精品你懂的在线欣赏| 国产精品传媒在线| 亚洲午夜电影在线观看| 色八戒一区二区三区| 日韩欧美一二三四区| 国产一区二区三区18| 欧美福利视频网站| 国产精品视频一区国模私拍| 18成人免费观看网站下载| 欧美一区二区三区电影在线观看| 四虎影视永久免费在线观看一区二区三区| 青青草久久网络| 日韩有码免费视频| 日韩无码精品一区二区| www.超碰在线观看| 91久久精品国产91性色69| xxxxxx国产精品视频| 网站免费满18成年在线观看|