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

標題: 基于單片機,溫度與壓力Proteus仿真+程序 [打印本頁]

作者: FGFGHF    時間: 2019-5-28 19:35
標題: 基于單片機,溫度與壓力Proteus仿真+程序
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
  2. #include "intrins.h"                                                                                          

  3. #define     u8                          unsigned char
  4. #define     u16                   unsigned int
  5. #define     uchar                          unsigned char
  6. #define     uint                   unsigned int

  7. uchar yushe_wendu=80;                                //溫度預設值
  8. uchar yushe_yali1=250;
  9. uchar yushe_yali2=150;                                //壓力預設值
  10. uint wendu;                                                                 //溫度值全局變量
  11. uchar yali;                                                                 //用于讀取ADC數據

  12. //運行模式  
  13. uchar Mode=0;                                                                 //=1是設置溫度閥值  =2是設置壓力閥值        =0是正常監控模式
  14. //管腳聲明
  15. sbit Led_Reg                 =P2^2;                                 //紅燈
  16. sbit Led_Yellow  =P2^4;                                 //黃燈
  17. sbit Buzzer             =P2^0;                                 //蜂鳴器
  18. sbit Fan                      =P3^3;                                 //
  19. sbit Led_green   =P3^0;

  20. /********************************************************************
  21. * 名稱 : delay_1ms()
  22. * 功能 : 延時1ms函數
  23. * 輸入 : q
  24. * 輸出 : 無
  25. ***********************************************************************/
  26. void delay_ms(uint q)
  27. {
  28.         uint i,j;
  29.         for(i=0;i<q;i++)
  30.                 for(j=0;j<110;j++);
  31. }
  32. /***********************************************************************************************************
  33. LCD1602相關函數
  34. ***********************************************************************************************************/

  35. //LCD管腳聲明 (RW引腳實物直接接地,因為本設計只用到液晶的寫操作,RW引腳一直是低電平)
  36. sbit LCDRS = P2^7;
  37. sbit LCDEN = P2^6;
  38. sbit D0                 = P0^0;
  39. sbit D1                 = P0^1;
  40. sbit D2                 = P0^2;
  41. sbit D3                 = P0^3;
  42. sbit D4                 = P0^4;
  43. sbit D5                 = P0^5;
  44. sbit D6                 = P0^6;
  45. sbit D7                 = P0^7;


  46. void delay10s(void)
  47. {
  48.         uchar i,j,k;
  49.         for(i=50;i>0;i--)
  50.         {
  51.          for(j=200;j>0;j--)
  52.          {
  53.           for(k=250;k>0;k--)
  54.           {;}
  55.           }
  56.         }
  57. }


  58. //LCD延時
  59. void LCDdelay(uint z)                  //該延時大約100us(不精確,液晶操作的延時不要求很精確)
  60. {
  61.   uint x,y;
  62.   for(x=z;x>0;x--)
  63.     for(y=10;y>0;y--);
  64. }
  65. void LCD_WriteData(u8 dat)          
  66. {
  67.         if(dat&0x01)D0=1;else D0=0;
  68.         if(dat&0x02)D1=1;else D1=0;
  69.         if(dat&0x04)D2=1;else D2=0;
  70.         if(dat&0x08)D3=1;else D3=0;
  71.         if(dat&0x10)D4=1;else D4=0;
  72.         if(dat&0x20)D5=1;else D5=0;
  73.         if(dat&0x40)D6=1;else D6=0;
  74.         if(dat&0x80)D7=1;else D7=0;
  75. }
  76. //寫命令
  77. void write_com(uchar com)
  78. {
  79.   LCDRS=0;                                  
  80.         LCD_WriteData(com);
  81. //  DAT=com;
  82.   LCDdelay(5);
  83.   LCDEN=1;
  84.   LCDdelay(5);
  85.   LCDEN=0;
  86. }
  87. //寫數據
  88. void write_data(uchar date)
  89. {
  90.   LCDRS=1;
  91.         LCD_WriteData(date);
  92. //  DAT=date;
  93.   LCDdelay(5);
  94.   LCDEN=1;
  95.   LCDdelay(5);
  96.   LCDEN=0;
  97. }

  98. /*------------------------------------------------
  99.               選擇寫入位置
  100. ------------------------------------------------*/
  101. void SelectPosition(unsigned char x,unsigned char y)
  102. {     
  103.         if (x == 0)
  104.         {     
  105.                 write_com(0x80 + y);     //表示第一行
  106.         }

  107.         else if (x == 1)
  108.         {      
  109.                 write_com(0xC0 + y);      //表示第二行
  110.         }
  111.         else if (x == 2)
  112.         {
  113.             write_com(0x90 + y);
  114.         }
  115.         else if (x ==3)
  116.         {
  117.             write_com(0xD0 + y);
  118.         }
  119. }
  120. /*------------------------------------------------
  121.               寫入字符串函數
  122. ------------------------------------------------*/
  123. void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s)
  124. {     
  125.         SelectPosition(x,y) ;
  126.         while (*s)
  127.         {     
  128.                 write_data( *s);     
  129.                 s ++;     
  130.         }
  131. }
  132. //========================================================================
  133. // 函數: void LCD_Write_Char(u8 x,u8 y,u16 s,u8 l)
  134. // 應用: LCD_Write_Char(0,1,366,4) ;
  135. // 描述: 在第0行第一個字節位置顯示366的后4位,顯示結果為 0366
  136. // 參數: x:行,y:列,s:要顯示的字,l:顯示的位數
  137. // 返回: none.
  138. // 版本: VER1.0
  139. // 日期: 2013-4-1
  140. // 備注: 最大顯示65535
  141. //========================================================================
  142. void LCD_Write_Char(u8 x,u8 y,u16 s,u8 l)
  143. {     
  144.         SelectPosition(x,y) ;

  145.         if(l>=5)
  146.                 write_data(0x30+s/10000%10);        //萬位
  147.         if(l>=4)
  148.                 write_data(0x30+s/1000%10);                //千位
  149.         if(l>=3)
  150.                 write_data(0x30+s/100%10);                //百位
  151.         if(l>=2)
  152.                 write_data(0x30+s/10%10);                        //十位
  153.         if(l>=1)
  154.                 write_data(0x30+s%10);                //個位

  155. }
  156. /*1604指令簡介
  157.   write_com(0x38);//屏幕初始化
  158.   write_com(0x0c);//打開顯示 無光標 無光標閃爍
  159.   write_com(0x0d);//打開顯示 陰影閃爍
  160.   write_com(0x0d);//打開顯示 陰影閃爍
  161. */
  162. //1604初始化
  163. void Init1602()
  164. {
  165.   uchar i=0;
  166.   write_com(0x38);//屏幕初始化
  167.   write_com(0x0c);//打開顯示 無光標 無光標閃爍
  168.   write_com(0x06);//當讀或寫一個字符是指針后一一位
  169.   write_com(0x01);//清屏
  170.        
  171. }

  172. void Display_1602(yushe_wendu,yushe_yali,c,temp)
  173. {
  174.         //顯示預設溫度
  175.         LCD_Write_Char(1,6,yushe_wendu,2) ;
  176.        
  177.         //顯示預設壓力
  178.         LCD_Write_Char(0,6,yushe_yali1,3) ;
  179.         LCD_Write_Char(0,13,yushe_yali2,3) ;
  180.        
  181.         //時時溫度
  182.         LCD_Write_Char(2,6,c/10,2) ;
  183.         write_data('.');
  184.         LCD_Write_Char(2,9,c%10,1) ;
  185.        
  186.         //時時溫度
  187.         LCD_Write_Char(2,13,temp,3) ;
  188. }



  189. /***********************************************************************************************************
  190. ADC0832相關函數
  191. ***********************************************************************************************************/
  192. sbit ADCS         =P1^5; //ADC0832 片選
  193. sbit ADCLK  =P1^2; //ADC0832 時鐘
  194. sbit ADDI         =P1^3; //ADC0832 數據輸入                /*因為單片機的管腳是雙向的,且ADC0832的數據輸入輸出不同時進行,
  195. sbit ADDO         =P1^3; //ADC0832 數據輸出                /*為節省單片機引腳,簡化電路所以輸入輸出連接在同一個引腳上



  196. //========================================================================
  197. // 函數: unsigned int Adc0832(unsigned char channel)
  198. // 應用:                 temp=Adc0832(0);
  199. // 描述: 讀取0通道的AD值
  200. // 參數: channel:通道0和通道1選擇
  201. // 返回: 選取通道的AD值
  202. // 版本: VER1.0
  203. // 日期: 2015-05-29
  204. // 備注:
  205. //========================================================================
  206. unsigned int Adc0832(unsigned char channel)
  207. {
  208.         uchar i=0;
  209.         uchar j;
  210.         uint dat=0;
  211.         uchar ndat=0;
  212.         uchar  Vot=0;

  213.         if(channel==0)channel=2;
  214.         if(channel==1)channel=3;
  215.         ADDI=1;
  216.         _nop_();
  217.         _nop_();
  218.         ADCS=0;//拉低CS端
  219.         _nop_();
  220.         _nop_();
  221.         ADCLK=1;//拉高CLK端
  222.         _nop_();
  223.         _nop_();
  224.         ADCLK=0;//拉低CLK端,形成下降沿1
  225.         _nop_();
  226.         _nop_();
  227.         ADCLK=1;//拉高CLK端
  228.         ADDI=channel&0x1;
  229.         _nop_();
  230.         _nop_();
  231.         ADCLK=0;//拉低CLK端,形成下降沿2
  232.         _nop_();
  233.         _nop_();
  234.         ADCLK=1;//拉高CLK端
  235.         ADDI=(channel>>1)&0x1;
  236.         _nop_();
  237.         _nop_();
  238.         ADCLK=0;//拉低CLK端,形成下降沿3
  239.         ADDI=1;//控制命令結束
  240.         _nop_();
  241.         _nop_();
  242.         dat=0;
  243.         for(i=0;i<8;i++)
  244.         {
  245.                 dat|=ADDO;//收數據
  246.                 ADCLK=1;
  247.                 _nop_();
  248.                 _nop_();
  249.                 ADCLK=0;//形成一次時鐘脈沖
  250.                 _nop_();
  251.                 _nop_();
  252.                 dat<<=1;
  253.                 if(i==7)dat|=ADDO;
  254.         }
  255.         for(i=0;i<8;i++)
  256.         {
  257.                 j=0;
  258.                 j=j|ADDO;//收數據
  259.                 ADCLK=1;
  260.                 _nop_();
  261.                 _nop_();
  262.                 ADCLK=0;//形成一次時鐘脈沖
  263.                 _nop_();
  264.                 _nop_();
  265.                 j=j<<7;
  266.                 ndat=ndat|j;
  267.                 if(i<7)ndat>>=1;
  268.         }
  269.         ADCS=1;//拉低CS端
  270.         ADCLK=0;//拉低CLK端
  271.         ADDO=1;//拉高數據端,回到初始狀態
  272.         dat<<=8;
  273.         dat|=ndat;

  274.         return(dat);            //return ad data
  275. }

  276. /***********************************************************************************************************
  277. DS18B20相關函數
  278. ***********************************************************************************************************/

  279. sbit DQ = P1^0;                                 //ds18b20的數據引腳



  280. /*****延時子程序:該延時主要用于ds18b20延時*****/
  281. void Delay_DS18B20(int num)
  282. {
  283.   while(num--) ;
  284. }
  285. /*****初始化DS18B20*****/
  286. void Init_DS18B20(void)
  287. {
  288.   unsigned char x=0;
  289.   DQ = 1;         //DQ復位
  290.   Delay_DS18B20(8);    //稍做延時
  291.   DQ = 0;         //單片機將DQ拉低
  292.   Delay_DS18B20(80);   //精確延時,大于480us
  293.   DQ = 1;         //拉高總線
  294.   Delay_DS18B20(14);
  295.   x = DQ;           //稍做延時后,如果x=0則初始化成功,x=1則初始化失敗
  296.   Delay_DS18B20(20);
  297. }
  298. /*****讀一個字節*****/
  299. unsigned char ReadOneChar(void)
  300. {
  301.   unsigned char i=0;
  302.   unsigned char dat = 0;
  303.   for (i=8;i>0;i--)
  304.   {
  305.     DQ = 0;     // 給脈沖信號
  306.     dat>>=1;
  307.     DQ = 1;     // 給脈沖信號
  308.     if(DQ)
  309.     dat|=0x80;
  310.     Delay_DS18B20(4);
  311.   }
  312.   return(dat);
  313. }
  314. /*****寫一個字節*****/
  315. void WriteOneChar(unsigned char dat)
  316. {
  317.   unsigned char i=0;
  318.   for (i=8; i>0; i--)
  319.   {
  320.     DQ = 0;
  321.     DQ = dat&0x01;
  322.     Delay_DS18B20(5);
  323.     DQ = 1;
  324.     dat>>=1;
  325.   }
  326. }
  327. /*****讀取溫度*****/
  328. unsigned int ReadTemperature(void)
  329. {
  330.   unsigned char a=0;
  331.   unsigned char b=0;
  332.   unsigned int t=0;
  333.   float tt=0;
  334.   Init_DS18B20();
  335.   WriteOneChar(0xCC);  //跳過讀序號列號的操作
  336.   WriteOneChar(0x44);  //啟動溫度轉換
  337.   Init_DS18B20();
  338.   WriteOneChar(0xCC);  //跳過讀序號列號的操作
  339.   WriteOneChar(0xBE);  //讀取溫度寄存器
  340.   a=ReadOneChar();     //讀低8位
  341.   b=ReadOneChar();    //讀高8位
  342.   t=b;
  343.   t<<=8;
  344.   t=t|a;
  345.   tt=t*0.0625;
  346.   t= tt*10+0.5;     //放大10倍輸出并四舍五入
  347.   return(t);
  348. }
  349. //=====================================================================================
  350. //=====================================================================================
  351. //=====================================================================================


  352. /*****校準溫度*****/
  353. u16 check_wendu(void)
  354. {
  355.         u16 c;
  356.         c=ReadTemperature()-5;                          //獲取溫度值并減去DS18B20的溫漂誤差
  357.         if(c<1) c=0;
  358.         if(c>=999) c=999;
  359.         return c;
  360. }


  361. /***********************************************************************************************************
  362. 按鍵檢測相關函數
  363. ***********************************************************************************************************/
  364. //按鍵
  365. sbit Key1=P1^6;                                 //設置鍵
  366. sbit Key2=P1^7;                                 //加按鍵
  367. sbit Key3=P3^2;                                 //減按鍵



  368. #define KEY_SET                 1                //設置
  369. #define KEY_ADD                        2                //加
  370. #define KEY_MINUS                3                //減


  371. //========================================================================
  372. // 函數: u8 Key_Scan()
  373. // 應用: temp=u8 Key_Scan();
  374. // 描述: 按鍵掃描并返回按下的鍵值
  375. // 參數: NONE
  376. // 返回: 按下的鍵值
  377. // 版本: VER1.0
  378. // 日期: 2015-05-29
  379. // 備注: 該函數帶松手檢測,按下鍵返回一次鍵值后返回0,直至第二次按鍵按下
  380. //========================================================================
  381. u8 Key_Scan()
  382. {         
  383.         static u8 key_up=1;//按鍵按松開標志
  384.         if(key_up&&(Key1==0||Key2==0||Key3==0))
  385.         {
  386.                 delay_ms(10);//去抖動
  387.                 key_up=0;
  388.                 if(Key1==0)                        return 1;
  389.                 else if(Key2==0)return 2;
  390.                 else if(Key3==0)return 3;
  391.         }
  392.         else if(Key1==1&&Key2==1&&Key3==1)
  393.                 key_up=1;             
  394.         return 0;// 無按鍵按下
  395. }



  396. void main (void)
  397. {
  398.         u8 key;
  399.         Init1602();                          //調用初始化顯示函數
  400.         LCD_Write_String(0,0,"YS PH:000 PL:00");  //開機界面

  401.         //delay10s();
  402.         LCD_Write_String(1,0,"YS  T:00 ");
  403.         wendu=check_wendu();                  //初始化時調用溫度讀取函數 防止開機85°C
  404.         LCD_Write_String(2,0,"NOW T:     P:0");  
  405.         delay_ms(1000);
  406.         wendu=check_wendu();                  //初始化時調用溫度讀取函數 防止開機85°C
  407.         while (1)                                                //主循環
  408.         {
  409.                 key=Key_Scan();                                        //按鍵掃描
  410.                 yali=Adc0832(0);                                //讀取壓力值
  411.                 wendu=check_wendu();          //讀取溫度值
  412.                
  413.                 if(key==KEY_SET)
  414.                 {
  415.                         Mode++;
  416.                 }
  417.                
  418.                 switch(Mode)                                                //判斷模式的值
  419.                 {
  420.                         case 0:                                                                //監控模式
  421.                         {
  422.                                 Display_1602(yushe_wendu,yushe_yali1,wendu,yali);  //顯示預設溫度,預設壓力,溫度值,壓力值
  423.                                 if(yali>=yushe_yali1)          //壓力值大于等于預設值時
  424.                                 {
  425.                                         Led_Reg=0;                                          //壓力指示燈亮
  426.                                         Fan=0;
  427.                                         Buzzer=0;                                                  //蜂鳴器報警
  428.                                 }
  429.                                 else                                                                                  //壓力值小于預設值時
  430.                                 {
  431.                                         Led_Reg=1;                                          //關掉報警燈
  432.                                         Fan=1;
  433.                                 }
  434.                                 if(yali<=yushe_yali2)          //壓力值大于等于預設值時
  435.                                 {
  436.                                         Led_green=0;                                          //壓力指示燈亮
  437.                                         Fan=0;
  438.                                         Buzzer=0;                                                  //蜂鳴器報警
  439.                                 }
  440.                                 else                                                                                  //壓力值小于預設值時
  441.                                 {
  442.                                         Led_green=1;                                          //關掉報警燈
  443.                                         Fan=1;
  444.                                 }
  445.                                 if(wendu>=(yushe_wendu*10))          //溫度大于等于預設溫度值時(為什么是大于預設值*10:因為我們要顯示的溫度是有小數點后一位,是一個3位數,25.9°C時實際讀的數是259,所以判斷預設值時將預設值*10)
  446.                                 {
  447.                                         Buzzer=0;                                                  //打開蜂鳴器報警
  448.                                         Led_Yellow=0;                                          //打開溫度報警燈
  449.                                 }
  450.                                 else                                                                                  //溫度值小于預設值時
  451.                                 {
  452.                                         Led_Yellow=1;                                          //關閉報警燈
  453.                                 }
  454.                                 if((yali<yushe_yali1)&&(wendu<(yushe_wendu*10))&&(yali>yushe_yali2))          //當壓力小于預設值并且溫度也小于預設值時 (&&:邏輯與,左右兩邊的表達式都成立(都為真,也就是1)時,該if語句才成立)
  455.                                 {
  456.                                         Buzzer=1;                                                  //停止報警
  457.                                 }
  458.                                 break;
  459.                         }
  460.                         case 1://預設溫度模式
  461.                         {
  462.                                 SelectPosition(0,5) ;                                        //指定位置
  463.                            write_com(0x0d);                                                        //陰影閃爍
  464.                                 if(key==KEY_ADD)                                                        //加鍵按下
  465.                                 {
  466.                                         yushe_wendu++;                                            //預設溫度值(閥值)加1
  467.                                         if(yushe_wendu>=99)                                         //當閥值加到大于等于99時
  468.                                         yushe_wendu=99;                                                         //閥值固定為99
  469.                                         LCD_Write_Char(0,6,yushe_wendu,2) ;//顯示預設溫度
  470.                                 }
  471.                                 if(key==KEY_MINUS)                                                 //減鍵按下
  472.                                 {
  473.                                         if(yushe_wendu<=1)                                        //當溫度上限值減小到1時
  474.                                         yushe_wendu=1;                          //固定為1
  475.                                         yushe_wendu--;                                                        //預設溫度值減一,最小為0
  476.                                         LCD_Write_Char(0,6,yushe_wendu,2) ;//顯示預設溫度
  477.                                 }
  478.                                 break;                                                                                          //執行后跳出switch
  479.                         }
  480.                         case 2:                                //預設壓力模式
  481.                         {
  482.                                 SelectPosition(0,12) ;                                //指定位置       
  483.                            write_com(0x0d);                                                        //打開顯示 無光標 光標閃爍
  484.                                 if(key==KEY_ADD)                                                        //加鍵按下
  485.                                 {
  486.                                         if(yushe_yali1>=500)        //當閥值加到大于等于255時
  487.                                         yushe_yali1=300;            //閥值固定為254
  488.                                         yushe_yali1++;                                            //預設壓力值(閥值)加1,最大為255
  489.                                         LCD_Write_Char(0,13,yushe_yali1,3) ;//顯示預設壓力
  490.                                 }
  491.                                 if(key==KEY_MINUS)                                                //減鍵按下
  492.                                 {
  493.                                         if(yushe_yali1<=1)                                        //當壓力上限值減小到1時
  494.                                                 yushe_yali1=1;                  //固定為1
  495.                                         yushe_yali1--;                                                        //預設溫度值減一,最小為0          
  496.                                         LCD_Write_Char(0,13,yushe_yali1,3) ;//顯示預設壓力
  497.                                 }
  498.                                 break;
  499.                         }
  500.                         default        :       
  501.                         {
  502.                                 write_com(0x38);//屏幕初始化
  503.                                 write_com(0x0c);//打開顯示 無光標 無光標閃爍
  504.                                 Mode=0;                        //恢復正常模式
  505.                                 break;
  506.                         }
  507.                 }
  508.                
  509.         }

  510. }
復制代碼

所有資料51hei提供下載:
溫度壓力仿真.zip (143.98 KB, 下載次數: 89)



作者: llh0303    時間: 2019-6-14 21:03
請問這個有用到壓力傳感器hx711嗎?
作者: jason227    時間: 2022-12-27 22:17
lcd屏幕和傳感器數值有誤差?
作者: 南-wgw    時間: 2024-3-26 10:10
1604和1602是通用的嗎
作者: 南-wgw    時間: 2024-3-28 17:32
壓力傳感器可以用什么代替




歡迎光臨 (http://m.izizhuan.cn/bbs/) Powered by Discuz! X3.1
日韩精品一区二区三区中文字幕| 久久91亚洲精品中文字幕| 中文字幕一区二区三区色视频| 粉嫩蜜臀av国产精品网站| 久久久久久黄| 久久成人精品| 欧美亚洲一区二区三区| 99热免费精品| 国产写真视频在线观看| 你懂的在线视频| 亚洲欧洲闷骚av少妇影院| 午夜刺激在线| 天堂社区日本电影超碰| 女人高潮特级毛片| 中国国产一级毛片| 污视频在线观看网站| 污视频免费在线看| 亚洲天天影视| 美女被人操网站| 国产成人夜间影院在线观看| 欧美色图亚洲图片| www.国产com| 欧美日韩在线视频免费| 免费日韩在线视频| 天天操中文字幕| 亚洲第一区av| 国产免费黄色片| 亚洲人午夜射精精品日韩| 久久久久久久久久久久国产| 国产稀缺精品盗摄盗拍| 精品99久久久久成人网站免费 | 91精品国产一区二区三区香蕉| 97精品久久久久中文字幕| 欧美激情五月| 精品电影一区| 日韩在线一二三区| 国产精品系列在线播放| 99久久精品国产一区| 麻豆国产精品777777在线| 麻豆国产精品视频| 91麻豆精品在线观看| 国产精品盗摄一区二区三区| 精品国产91久久久久久| 中文字幕第一区第二区| 亚洲精品伦理在线| 国产精品18久久久久久久久久久久 | 懂色av.com| 天天干,天天干| 亚洲av无码乱码国产麻豆| 久久精品国产亚洲AV无码麻豆| 国产精品久久久久久久久久久久久久久久久 | 欧洲亚洲精品久久久久| 一区二区三区高清在线观看| 激情开心成人网| 国产亚洲高清一区| 亚洲久草在线| 欧美先锋资源| 日韩av在线发布| 亚洲视频在线观看日本a| 欧美日韩大陆在线| 欧美性猛交xxx| 午夜一区二区三区视频| 亚洲综合在线五月| 一区二区在线看| 一区二区在线观看av| 国产精品久久久久久久第一福利| 国产亚洲综合在线| 欧美国产日韩一二三区| 国产婷婷色一区二区三区四区 | www.亚洲男人天堂| 在线观看国产精品淫| 亚洲午夜国产成人av电影男同| 日韩不卡在线观看| 亚洲欧洲视频在线| 国产一区二区欧美日韩| 在线观看精品国产视频| 中文字幕视频在线免费欧美日韩综合在线看 | 成人性色生活片| 国产伦精品一区二区三区免费迷| 精品在线一区二区| 久草中文综合在线| 国产精品系列在线观看| 99国产精品久久久久久久久久 | 99久久夜色精品国产亚洲1000部| 狠狠做深爱婷婷综合一区| 国产精品欧美三级在线观看| 日韩精品欧美| 亚洲国产一区二区三区高清| 国产一区二区三区亚洲| 97视频一区| 色婷婷综合久久久久久| 成人av集中营| 婷婷视频一区二区三区| 综合亚洲自拍| 午夜国产一区二区| 久久国产精品毛片| 国产乱码精品一区二区三区av| 成人黄色网址在线观看| 亚洲久色影视| 久久精品久久精品| 不卡av电影在线播放| 国产精品视频看| 天天操天天干天天综合网| 在线区一区二视频| 亚洲成年人在线播放| 一区二区三区在线播放欧美| 久久久久中文字幕| 永久555www成人免费| 日日狠狠久久偷偷四色综合免费 | 一区二区在线观看视频| 在线亚洲免费视频| 日韩电影免费在线观看中文字幕| 日韩网站免费观看| 国产成人久久久| 六月婷婷久久| 少妇无码av无码专区在线观看 | 夜夜夜操操操| 成年人福利视频| 国产粉嫩一区二区三区在线观看| 国产网红女主播精品视频| 国产午夜精品一区理论片| 成人免费观看视频大全| 91麻豆精品国产91久久久更新资源速度超快 | 三区精品视频| 精品少妇无遮挡毛片| 日产电影一区二区三区| h片在线观看视频| 三级av在线| 91精品国产黑色瑜伽裤| 综合国产在线| 亚洲丝袜另类动漫二区| 久久人人爽人人爽爽久久| 视频一区二区三区免费观看| 无码 人妻 在线 视频| 一本大道久久a久久精品| 免费在线观看黄| 亚洲成人三区| 亚洲国产精品尤物yw在线观看| 欧美高清不卡在线| 欧美性大战久久久久xxx| 国产无人区码熟妇毛片多| 四虎最新网站| 亚洲天堂中文字幕在线观看| 国产不卡在线一区| 久久综合图片| 欧美精品18+| 国产激情美女久久久久久吹潮| 国产精品亚洲一区二区无码| 男人用机机桶女人| 国产污视频在线播放| 日韩福利电影在线观看| 日韩精品一区二区三区在线| 久久国产精品免费一区| 国产黄色录像视频| xfplay先锋影音夜色资源站| 高清一区二区中文字幕| 99久久综合狠狠综合久久| 中文字幕亚洲欧美一区二区三区| 国产精品国产三级国产专区51| 欧美亚洲精品天堂| 中文在线资源在线| 99国产精品免费视频观看| 亚洲国产成人av网| 国产在线拍偷自揄拍精品| 国产免费一区二区视频| 中文人妻av久久人妻18| 毛片网站在线| 亚洲人成在线影院| 在线综合+亚洲+欧美中文字幕| 美脚丝袜一区二区三区在线观看| 欧美风情第一页| aaa大片免费观看| 久久综合色占| 天天亚洲美女在线视频| 444亚洲人体| 超碰人人人人人人人| 天天摸夜夜操| 久久要要av| 欧美日韩一区二区在线视频| 久久久久久久久四区三区| 精品99在线观看| 性欧美精品孕妇| 亚洲三级观看| 日韩黄色av网站| 日韩av高清在线看片| 国产 欧美 精品| 尤物视频免费在线观看| 牛夜精品久久久久久久99黑人| 欧美综合天天夜夜久久| 欧美一级二级三级九九九| 圆产精品久久久久久久久久久| 免费在线稳定资源站| 久久综合伊人| 中文字幕国内精品| 热久久久久久久久| 18free性欧美另类hd| 依依综合在线| 91蝌蚪porny| 8x拔播拔播x8国产精品| 欧美日韩在线一| 国产亚洲欧美久久久久| 青青九九免费视频在线| 日韩 欧美一区二区三区| 中文精品99久久国产香蕉| 九九热免费在线观看| 国产又粗又大又长| 国内精品久久久久久久久电影网 | 26uuu国产| 日本高清色图| 久久在线视频免费观看| 欧美一区二区日韩一区二区| 久久国产午夜精品理论片最新版本| 欧美一级视频免费| 一区二区在线视频观看| 91成人免费在线| 亚洲精品日韩av| 一区二区精品国产| 国产一级片一区二区| 欧美freesex黑人又粗又大| 久久免费精品国产久精品久久久久| 国产精品久久久久影院日本| 欧美日韩人妻精品一区二区三区 | 九色视频一区| 美女少妇全过程你懂的久久| 在线亚洲免费视频| 好吊妞无缓冲视频观看| 尤物影院在线播放| 99国产精品免费视频观看| 亚洲欧美日韩天堂| 一区二区三区四区影院| 黄色三级电影网站| 麻豆久久一区二区| 日本高清+成人网在线观看| 超碰手机在线观看| 欧美寡妇性猛交xxx免费| 国产精品欧美一区喷水| 欧美精品七区| 狠狠躁日日躁夜夜躁av| 国产乱人伦丫前精品视频| 制服视频三区第一页精品| 免费观看成人网| 天天操夜夜爽| 蜜桃精品视频在线| 国产成人久久久精品一区| 国产精品成人久久| 欧美激情20| 欧美日韩中国免费专区在线看| 欧美日韩不卡在线视频| 私人玩物在线观看| 国产精品日本| 午夜欧美理论片| 色综合亚洲欧洲| 视频一区日韩| 91免费国产视频网站| 91欧美精品午夜性色福利在线| 中文字幕一区二区三区四区欧美| 中文字幕资源网在线观看免费| 亚洲另类在线制服丝袜| 青青草影院在线观看| 国内一区二区三区精品视频 | 亚洲精品一区二区精华| 粗大的内捧猛烈进出视频| 在线看片线路1| 99视频在线精品| 蜜桃麻豆91| 欧洲vodafonewi精品| 一区二区三区四区高清视频| 911国产精品| 性生活一级大片| 开心激情五月婷婷| 日本免费新一区视频| 成人精品视频在线| 欧美日韩精品久久久免费观看| 综合区小说区图片区在线一区| 久久精品国内一区二区三区水蜜桃| 久久国产加勒比精品无码| 九九九国产视频| 精品视频国内| 日韩精品免费综合视频在线播放 | 91搞黄在线观看| 日本国产一级片| 国产免费av高清在线| 1024成人网| 日本精品免费在线观看| 黄网站色大毛片| 久久久一区二区三区| 欧美 另类 交| 丁香花高清视频完整版在线观看| 91视频免费观看| 国产一级片91| 中文乱码字幕高清在线观看| 国产精品久线观看视频| 国产麻花豆剧传媒精品mv在线| 91网站观看| 激情五月激情综合网| 久久精品国产第一区二区三区最新章节| 四虎成人精品在永久免费| 日本不卡在线视频| 欧美日韩一区在线观看视频| 黄色网址网站| 久久久久久99精品| 成人在线免费在线观看| 国产爆初菊在线观看免费视频网站| 一区二区三区|亚洲午夜| 国产二区视频| 国产精品亚洲欧美| 国产精品欧美一区二区三区奶水| 中文字幕男人天堂| 国产suv精品一区| 日韩精品高清在线| 亚洲图片第一页| 悠悠资源网亚洲青| 欧美日韩亚洲另类| 逼特逼视频在线观看| 国产在线观看av| 国产ts在线观看| 免费观看在线午夜影视| 欧美高清精品3d| 99久久99久久精品国产| 日韩激情啪啪| 国产成人福利视频| 欧美videos巨大粗暴| av一区二区三区在线| 女人和拘做爰正片视频| 老司机99精品99| 日韩精品中文字幕在线一区| 国产无套在线观看| 91国语精品自产拍| 精品国产乱码久久久久软件| 欧美性极品videosbest| 国产精品一区二区你懂的| 影音先锋成人资源网站| 国产小视频免费在线网址| 欧美二区乱c少妇| 日本一区二区三区四区五区| 色综合咪咪久久网| 国产精品美女久久久久av福利| 黄页网址大全免费观看| 亚洲色图第一区| 欧美黑人欧美精品刺激| 6080成人| 国产日产久久高清欧美一区| 全彩无遮挡全彩口工漫画h# | 日韩欧美xxxx| 免费毛片在线看片免费丝瓜视频| 日韩激情av在线播放| 国产免费一区二区三区免费视频| 国产精品视频| 日韩欧美一级在线| 麻豆av在线播放| 亚洲性生活视频在线观看| www.久久久久久| 伊人久久综合一区二区| 少妇av一区二区三区| 欧美精品韩国精品| 亚洲一区二区免费看| 亚洲第一综合网站| 国内外激情在线| 有码中文亚洲精品| 激情中文字幕| 久久精品在线免费观看| 国产视频精品视频| 日韩极品在线| 国产精品免费在线| 四虎影院在线播放| 亚洲精品成人免费| 手机看片福利在线| 欧美aaaaa成人免费观看视频| 免费一级特黄毛片| 黑人巨大精品欧美一区二区桃花岛| 久久亚洲一区二区三区四区五区高| 久久性生活视频| 亚洲视频一区二区免费在线观看| 日韩福利在线视频| 欧美精选一区| 国产免费一区二区三区四在线播放 | 91高清国产| 欧美日韩美女视频| 日韩欧美激情视频| 美女一区二区三区在线观看| 天天操天天摸天天爽| 国产欧美日韩电影| 96久久精品| 大乳在线免费观看| 日韩专区在线播放| 色免费在线观看| 91久久精品日日躁夜夜躁欧美| 国内精品福利视频| 精品在线亚洲视频| 91人妻一区二区三区| 国产欧美日韩免费观看| 午夜久久资源| 蜜桃av.网站在线观看| 日本久久久久久久久久久| 国产免播放器视频| 亚洲成成品网站| 国内精品露脸在线视频播放| 天天色 色综合| 夜夜骚av一区二区三区| 久久久久久久一区|