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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2779|回復: 2
收起左側

51單片機驅動溫濕度芯片AHT20和RX8025時鐘芯片

[復制鏈接]
ID:1059811 發表于 2023-12-8 16:07 | 顯示全部樓層 |閱讀模式
//新時鐘芯片搞定,讀寫都可以,在OLED屏和串口正常顯示,溫濕度參數和時間日期參數

制作出來的實物圖如下:
SSS.jpg
888.jpg 777.jpg 1.jpg

電路原理圖如下:
666.jpg

STC15W4K56S4單片機源程序如下:
  1. //** Descriptions:                       
  2. //------------------------------------------------------------------------------------
  3. #define MAIN_Fosc        11059200L    //定義主時鐘
  4. #include    "15W4KxxS4.H"
  5. #include <intrins.h>         // 加入此頭文件后,可使用_nop_庫函數
  6. #include <string.h>           // 加入此頭文件后,可使用strstr庫函數
  7. #include "oled.h"
  8. #include "bmp.h"
  9. #include "AHT20.h"
  10. #include "stdio.h"
  11. #define  uint8 unsigned char  //0-256
  12. #define  uint16  unsigned int //0-65535
  13. #define  uint32  unsigned long  //-100億--+100億


  14. #define BAUD 9600               
  15. #define TM (65536 - (MAIN_Fosc/4/BAUD))   
  16. #define Buf_Max 20    //串口7S1這里要設定到34,日期就可以正常顯示了
  17. #define S2_S  0x01   

  18. #define S2RI 0x01
  19. #define S2TI 0x02

  20. #define S3RI 0x01
  21. #define S3TI 0x02

  22. #define S4RI 0x01
  23. #define S4TI 0x02

  24. #define Write 0X64
  25. #define Read  0X65

  26. uint8 xdata Rec_Buf1[Buf_Max];//4個串口的接收緩存     
  27. uint8 xdata Rec_Buf2[Buf_Max];     
  28. uint8 xdata Rec_Buf3[Buf_Max];      
  29. uint8 xdata Rec_Buf4[Buf_Max];

  30. uint8 i = 0; //串口3數組計數器            
  31. uint8 j = 0; //串口4數組計數器

  32. #define ACK 0
  33. #define NOACK 1
  34. sbit RX8025SCL = P0^2;
  35. sbit RX8025SDA = P0^3;

  36. //extern u8 xdata RX8025TimeBuffH[];RX8025SDA        

  37. u8 xdata RX8025YMD[]="2020-12-07"; //這里不設定參數,下面數組設
  38. u8 xdata RX8025HMS[]="12:34:56";

  39. u8 xdata RX8025TimeBuffH[]={11,24,9,4,8,12,23};//修改日期時鐘,中間的是星期
  40. u8 xdata RX8025TImeBuffB[]={0X01,0X02,0X03,0X04,0X05,0X06,0X07};

  41. //----------------------------------------------------------------------------------------
  42. //-----------------------串口1初始化函數.注意該芯片有4個串口,1口中斷優先級最高
  43. void Uart1_Init(void)
  44. {   
  45.            SCON = 0x50;                //8位數據,可變波特率
  46.         AUXR |= 0x40;                //定時器時鐘1T模式
  47.         AUXR &= 0xFE;                //串口1選擇定時器1為波特率發生器
  48.         TMOD &= 0x0F;                //設置定時器模式
  49.         TL1 = 0xE0;                        //設置定時初始值
  50.         TH1 = 0xFE;                        //設置定時初始值
  51.         ET1 = 0;                        //禁止定時器中斷
  52.         TR1 = 1;                        //定時器
  53. }
  54. //---------------------------------- 串口1發送數據函數
  55. void SendDataByUart1(uint8 dat)
  56. {
  57.     SBUF = dat;                 //寫數據到UART數據寄存器
  58.         while(TI == 0);             //在停止位沒有發送時,TI為0即一直等待
  59.         TI = 0;                     //清除TI位(該位必須軟件清零)
  60. }
  61. //------------------------===========串口1發送字符串函數

  62. void SendStringByUart1(uint8 *s)
  63. {
  64.     while(*s)
  65.     {
  66.         SendDataByUart1(*s++);//將字符串中的字符一個一個發送
  67.     }
  68. }
  69. //----------------------清除串口1緩存內容函數

  70. void CLR_Buf1(void)
  71. {
  72.     uint8 k;
  73.     for(k=0;k<Buf_Max;k++)      //將串口1緩存數組的值都清為零
  74.         {
  75.                Rec_Buf1[k] = 0;
  76.           }
  77.     i = 0;                    
  78. }
  79. //-----------------------------------串口1握手判斷函數
  80. bit Hand1(uint8 *a)
  81. {
  82.     if(strstr(Rec_Buf1,a)!=NULL)     //判斷字符串a是否是字符串Rec_Buf1的子串
  83.         return 1;                      //如果字符串a是字符串Rec_Buf1的子串
  84.       else
  85.           return 0;                      //如果字符串a不是字符串Rec_Buf1的子串
  86. }

  87. //------------------------------------下面串口1接收中斷-----------------------

  88. void Uart1() interrupt UART1_VECTOR using 1
  89. {
  90.     ES = 0;                       // 串口1中斷關閉
  91.     if (RI)                       //串行接收到停止位的中間時刻時,該位置1
  92.   {
  93.       RI = 0;                     //清除RI位 (該位必須軟件清零)
  94.             Rec_Buf1[i] = SBUF;       //把串口1緩存SBUF寄存器數據依次存放到數組Rec_Buf1中
  95.             i++;                     
  96.         if(i>Buf_Max)             //接收數大于定義接收數組最大個數時,覆蓋接收數組之前值
  97.                 {   

  98.                     i = 0;                 
  99.                 }           
  100.    }

  101.      ES =  1;                   // 串口1中斷打開
  102. }
  103. //================================================================================
  104. //----------------------------------------------------------------------------------------
  105. /*********BCD碼轉十六進制************/
  106. u8 BCDtoHEX(u8 BCD )
  107. {
  108.         return ( ( (BCD/16)*10) +BCD%16 );
  109. }

  110. /**********十六進制轉BCD碼*************/
  111. u8  HEXtoBCD(u8 Hex)
  112. {
  113.         return  ( ((Hex/10)<<4) +Hex%10 );
  114. }

  115. /*********I2C延時***********/
  116. void I2CWait()
  117. {        
  118.         u8 i;
  119.         for(i=0;i<10;i++)
  120.         {
  121.                 _nop_();_nop_();_nop_();_nop_();
  122.         }
  123. }

  124. bit I2C_Start2()
  125. {
  126.         RX8025SDA = 1;        //釋放總線
  127.         RX8025SCL = 1;
  128.         I2CWait();
  129.         if(!RX8025SDA)        return 0;        //總線忙退出
  130.         RX8025SDA = 0;
  131.         I2CWait();
  132.         while(RX8025SDA) return 0;        //總線為高電平則總線出錯,退出
  133.         RX8025SCL = 0;
  134.         I2CWait();
  135.         //return 1;
  136. }

  137. void I2C_Stop()
  138. {
  139.         RX8025SCL = 0;
  140.         RX8025SDA = 0;
  141.         I2CWait();
  142.         RX8025SCL = 1;
  143.         I2CWait();
  144.         RX8025SDA = 1;        
  145. }

  146. /********主機向從機發送ACK****
  147. a=0,發送ACk        a=1,發送NO ACK
  148. ******************************/
  149. void I2CSendACK(u8 a)
  150. {
  151.         RX8025SDA = a;
  152.         RX8025SCL = 0;
  153.         I2CWait();
  154.         RX8025SCL = 1;
  155.         I2CWait();
  156.         RX8025SCL = 0;
  157. }

  158. /*********主機讀取從機ACK信號***/
  159. bit I2CReceivedACK()
  160. {
  161.         u8 errtime=255;
  162.         RX8025SCL = 0;
  163.         RX8025SDA = 1;        //釋放總線
  164.         I2CWait();
  165.         RX8025SCL = 1;
  166.         I2CWait();
  167.         while(RX8025SDA)        //讀取 SDA上的電平,變為低電平,即有從機回復ACK信號
  168.         {
  169.                 errtime--;
  170.                 if(!errtime)        //超時退出
  171.                 {
  172.                         RX8025SCL=0;
  173.                         return 0;
  174.                 }
  175.         }
  176.         RX8025SCL=0;
  177.         return 1;
  178. }

  179. /******************************************
  180. 主機向從機發送一字節數據-->dat
  181. order=0:先發送LSB,最后發送MSB
  182. order=1:先發送MSB;最后發送LSB
  183. 之所以設置order這個入口參數,是為了程序方便
  184. 移植,適應多個IIC芯片,只需設置order就能改變
  185. 數據傳輸方向,RX8025芯片 order 一直為 1
  186. ******************************************/
  187. void IIC_Send_Byte(u8 dat, bit order)
  188. {
  189.         u8 i;
  190.         if(order)
  191.         {
  192.                 for(i=0;i<8;i++)
  193.                 {
  194.                         RX8025SDA = dat&0X80;
  195.                         RX8025SCL = 1;
  196.                         I2CWait();
  197.                         RX8025SCL = 0;
  198.                         dat<<=1;
  199.                         I2CWait();
  200.                 }
  201.         }
  202.         else
  203.         {
  204.                 for(i=0;i<8;i++)
  205.                 {
  206.                         RX8025SDA = dat&0X01;
  207.                         RX8025SCL = 1;
  208.                         I2CWait();
  209.                         RX8025SCL = 0;
  210.                         dat>>=1;
  211.                         I2CWait();
  212.                 }
  213.         }
  214. }

  215. /*********讀取一字節數據*********
  216. order=0:先讀取LSB,最后讀取MSB
  217. order=1:先去讀MSB,最后讀取LSB
  218. ********************************/
  219. u8 IIC_Receive_Byte(bit order)
  220. {
  221.         u8 i,j,Rdat;
  222.         RX8025SDA = 1;        //釋放總線
  223.         if(order)        //MSB-->LSB
  224.         {
  225.                 for(i=0;i<8;i++)
  226.                 {
  227.                         RX8025SCL = 0;
  228.                         I2CWait();
  229.                         Rdat =( Rdat<<1 )| RX8025SDA;
  230.                         RX8025SCL = 1;
  231.                         I2CWait();
  232.                 }
  233.         }
  234.         else        //LSB-->MSB
  235.         {
  236.                 for(i=0;i<8;i++)
  237.                 {
  238.                         RX8025SCL = 0;
  239.                         I2CWait();
  240.                         j=RX8025SDA;
  241.                         Rdat =( Rdat>>1 )| (j<<7);
  242.                         RX8025SCL = 1;
  243.                         I2CWait();
  244.                 }
  245.         }
  246.         RX8025SCL=0;
  247.         return Rdat;
  248. }

  249. /******讀取RX8025一個寄存器的數據*****/
  250. //u8 Read_RX8025_Byte(u8 add)
  251. //{
  252. //        u8 Ridat;
  253. //        I2C_Start2();
  254. //        IIC_Send_Byte(Write,1);
  255. //        if(!I2CReceivedACK())        //判斷有無ACK信號
  256. //                I2C_Stop();
  257. //        IIC_Send_Byte(add,1);
  258. //        if(!I2CReceivedACK())        //判斷有無ACK信號
  259. //                I2C_Stop();
  260. //        
  261. //        I2C_Start2();
  262. //        IIC_Send_Byte(Read,1);
  263. //        if(!I2CReceivedACK())        //判斷有無ACK信號
  264. //                I2C_Stop();
  265. //        Ridat = IIC_Receive_Byte(1);        //讀取數據
  266. //        I2CSendACK(1);
  267. //        I2C_Stop();
  268. //        return Ridat;
  269. //}

  270. //--單獨向一個寄存器寫數據
  271. void Write_RX8025_Byt(u8 add,u8 dat)
  272. {
  273.         u8 Bdat;
  274.         Bdat = dat;
  275.         //Bdat = HEXtoBCD(dat);        //將十六進制轉換為BCD碼
  276. //---開始寫入數據               
  277.         I2C_Start2();
  278.         IIC_Send_Byte(Write,1);
  279.         if(!I2CReceivedACK())        //判斷有無ACK信號
  280.                 I2C_Stop();
  281.         IIC_Send_Byte(add<<4,1);        //--根據手冊在寫入時地址要右移4位
  282.         if(!I2CReceivedACK())        //判斷有無ACK信號
  283.                 I2C_Stop();
  284.         IIC_Send_Byte(Bdat,1);
  285.         I2CReceivedACK();
  286.         I2C_Stop();
  287. }

  288. //--連續讀取時間、日歷數據--
  289. //--add:讀取的起始地址
  290. //--Num:讀取數據的個數
  291. //--標準IIC連續讀寄存器時序
  292. void Read_RX8025_Dat(u8 add, u8 Num)
  293. {
  294.         u8 i;
  295. //---先寫讀寄存器地址
  296.         I2C_Start2();
  297.         IIC_Send_Byte(Write,1);
  298.         if(!I2CReceivedACK())        //判斷有無ACK信號
  299.                 I2C_Stop();
  300.         IIC_Send_Byte(add,1);        //秒寄存器地址
  301.         if(!I2CReceivedACK())        //判斷有無ACK信號
  302.                 I2C_Stop();
  303. //---連續讀取數據        
  304.         I2C_Start2();
  305.         IIC_Send_Byte(Read,1);
  306.         if(!I2CReceivedACK())        //判斷有無ACK信號
  307.                 I2C_Stop();
  308.         for(i=0;i<Num;i++)
  309.         {
  310.                 RX8025TImeBuffB[i] = IIC_Receive_Byte(1);        //讀取數據
  311.                 if(i!=6)I2CSendACK(0);
  312.         }
  313.         I2CSendACK(1);
  314.         I2C_Stop();
  315.         for(i=0;i<Num;i++)
  316.         {
  317.                 RX8025TimeBuffH[i] = BCDtoHEX(RX8025TImeBuffB[i]);
  318.         }
  319. }

  320. /*****向RX8025連續寫num個數據******/
  321. void Write_RX8025_Byte(u8 add,u8 *Buff)
  322. {
  323.         u8 i;
  324. //---先寫讀寄存器地址
  325.         I2C_Start2();
  326.         IIC_Send_Byte(Write,1);
  327.         if(!I2CReceivedACK())        //判斷有無ACK信號
  328.                 I2C_Stop();
  329.         IIC_Send_Byte(add<<4,1);
  330.         if(!I2CReceivedACK())        //判斷有無ACK信號
  331.                 I2C_Stop();
  332.         for(i=0;i<7;i++)        //--連續寫入7個時間日歷數據
  333.         {
  334.                 Buff[i] = HEXtoBCD(Buff[i]);
  335.                 IIC_Send_Byte(Buff[i],1);
  336.                 I2CReceivedACK();
  337.         }
  338.         I2C_Stop();
  339. }

  340. void RX8025_Init()
  341. {
  342. //--12/24小時寄存器地址為0X0E,
  343.         Write_RX8025_Byt(0X0E,0X20);                //RX8025-T                24小時制
  344. //        Write_RX8025_Byt(0X0E,0X00);                //RX8025-T                12小時制
  345. }

  346. void DisplayTime()
  347. {

  348. //--顯示RX8025的時間
  349.         Read_RX8025_Dat(0,7);        

  350.         RX8025YMD[2] = RX8025TimeBuffH[6]/10; //+0X30; 年
  351.         RX8025YMD[3] = RX8025TimeBuffH[6]%10; //+0X30;
  352.         
  353.         RX8025YMD[5] = RX8025TimeBuffH[5]/10; //+0X30;         月
  354.         RX8025YMD[6] = RX8025TimeBuffH[5]%10; //+0X30;
  355.         
  356.         RX8025YMD[8] = RX8025TimeBuffH[4]/10;// +0X30; 日
  357.         RX8025YMD[9] = RX8025TimeBuffH[4]%10; //+0X30;
  358.         
  359.         RX8025HMS[0] = RX8025TimeBuffH[2]/10;// +0X30;         時
  360.         RX8025HMS[1] = RX8025TimeBuffH[2]%10; //+0X30;
  361.         
  362.         RX8025HMS[3] = RX8025TimeBuffH[1]%100/10; //+0X30; 分
  363.         RX8025HMS[4] = RX8025TimeBuffH[1]%10;// +0X30;
  364.         
  365.         RX8025HMS[6] = RX8025TimeBuffH[0]%100/10; //+0X30; 秒
  366.         RX8025HMS[7] = RX8025TimeBuffH[0]%10; //+0X30;        

  367. //        Write_ASCII3X16_N(0,7,0,"T3:RX8025");
  368. //        Write_ASCII3X16_N(0,8,0,RX8025YMD);        
  369. //        Write_ASCII3X16_N(2,9,0,RX8025HMS);        Write_6x16Font_N(12,9,0,WeekD);

  370. }   

  371. //==============================================================================
  372. int main()
  373. {
  374.   uint32 CT_data[2];
  375.         volatile float  c1,t1;
  376.         //
  377.         P0M0=0x00,P0M1=0x00;//我自己加的代碼 3
  378.         P2M0=0x00,P2M1=0x00;//我自己加的代碼 3
  379.         P1M0=0x00,P1M1=0x00;//我自己加的代碼 3
  380.         P4M0=0x00,P4M1=0x00;//我自己加的代碼 3
  381.         P5M0=0x00,P5M1=0x00;//我自己加的代碼

  382.         Uart1_Init();
  383.         delay_msT(500);//①剛上電,產品芯片內部就緒需要時間,延時100~500ms,建議500ms
  384.          WDT_CONTR = 0x35;//        
  385.          OLED_Init(); //注意OLED的數據線正好在15W4K56的P06,P07端口,先等這兩個IO打開才能正常啟動OLED   
  386.      RX8025_Init();
  387.          Write_RX8025_Byte(0,RX8025TimeBuffH);//RX8025時鐘芯片里寫入日期時間參數,2020-5-1-12:00:00,

  388.         if((AHT20_Read_Status()&0x18)!=0x18)//②上電第一次發0x71讀取狀態字,判斷狀態字是否為0x18,如果不是0x18,進行寄存器初始化
  389.         {
  390.         AHT20_Start_Init(); //重新初始化寄存器
  391.         delay_msT(10);
  392.         }
  393.         

  394.         while(1)//③根據客戶自己需求發測量命令讀取溫濕度數據,當前while(1)循環發測量命令讀取溫濕度數據,僅供參考
  395.         {          WDT_CONTR = 0x35;//

  396.       AHT20_Read_CTdata_crc(CT_data);  //crc校驗后,讀取AHT20的溫度和濕度數據
  397.           c1 = ((float)CT_data[0]/1024/1024)*100;  //計算得到濕度值c1放大10倍
  398.       t1 = ((float)CT_data[1]/1024/1024)*200-50;//計算得到溫度值t1放大10倍
  399.            
  400.                DisplayTime();

  401.           OLED_ShowString(0,0,"T=",8);//
  402.       OLED_ShowString(60,0,"H=",8);//
  403.             OLED_ShowNum(16,0,t1,4,12);//溫度        
  404.           OLED_ShowNum(76,0,c1,4,12);//濕度        
  405.         
  406.          
  407.           OLED_ShowNum(0,1,2,1,12);// 年 2
  408.       OLED_ShowNum(8,1,0,1,12);// 年 0
  409.           OLED_ShowNum(16,1,RX8025YMD[2],1,12);// 年 2
  410.           OLED_ShowNum(24,1,RX8025YMD[3],1,12);// 年 3
  411.          
  412.       OLED_ShowNum(32,1,RX8025YMD[5],1,12);// 月
  413.           OLED_ShowNum(40,1,RX8025YMD[6],1,12);// 月

  414.           OLED_ShowNum(48,1,RX8025YMD[8],1,12);// 日 3         
  415.       OLED_ShowNum(56,1,RX8025YMD[9],1,12);// 日 3
  416.             OLED_ShowString(64,1,"-",8);//
  417.          
  418.           OLED_ShowNum(76,1,RX8025HMS[0],1,12);// 時 十位 1         
  419.           OLED_ShowNum(84,1,RX8025HMS[1],1,12);// 時 個位 2
  420.           OLED_ShowNum(92,1,RX8025HMS[3],1,12);// 分 十位 3         
  421.           OLED_ShowNum(100,1,RX8025HMS[4],1,12);//分 個位 4
  422.           OLED_ShowNum(108,1,RX8025HMS[6],1,12);//秒 十位 5         
  423.           OLED_ShowNum(116,1,RX8025HMS[7],1,12);//秒 個位 6
  424.          
  425.           SendDataByUart1(0x32);
  426.           SendDataByUart1(0x30);
  427.           SendDataByUart1(RX8025YMD[2]+0x30);//串口發 年        
  428.           SendDataByUart1(RX8025YMD[3]+0x30);
  429.                 SendDataByUart1(0x20);//發空格
  430.       SendDataByUart1(RX8025YMD[5]+0x30);//串口發 月        
  431.           SendDataByUart1(RX8025YMD[6]+0x30);
  432.                   SendDataByUart1(0x20);
  433.           SendDataByUart1(RX8025YMD[8]+0x30);//串口發 日        
  434.           SendDataByUart1(RX8025YMD[9]+0x30);
  435.                 SendDataByUart1(0x20);

  436.           SendDataByUart1(RX8025HMS[0]+0x30);//串口發 時
  437.           SendDataByUart1(RX8025HMS[1]+0x30);//
  438.                  SendDataByUart1(0x3a);//發冒號
  439.           SendDataByUart1(RX8025HMS[3]+0x30);//串口發 分
  440.           SendDataByUart1(RX8025HMS[4]+0x30);//
  441.                  SendDataByUart1(0x3a);
  442.           SendDataByUart1(RX8025HMS[6]+0x30);//串口發 秒
  443.           SendDataByUart1(RX8025HMS[7]+0x30);//
  444.                                  
  445.                
  446.                 delay_msT(4000);
  447.                  delay_msT(4000);
  448.          }

  449. }
復制代碼
STC15W單片機同時驅動溫濕度AHT20 時鐘RX8025
原理圖: 無
仿真: 無
代碼編譯錯誤 求指導: 程序.7z (74.71 KB, 下載次數: 53)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:437129 發表于 2025-5-22 13:47 | 顯示全部樓層
附件下載后編譯無法通過。
回復

使用道具 舉報

ID:584814 發表于 2025-8-30 19:48 | 顯示全部樓層
一個電路圖都不給全,求個球。
IIC設備有3個,但IIC的寫法也有3個;#include  "15W4KxxS4.H"#include <REG51.h> 不統一......
雜繪一鍋直出,看著太累。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
里番在线播放| 中文字幕欧美日本乱码一线二线 | 国产免费叼嘿网站免费| 久久久久无码国产精品一区李宗瑞| 久久久久久九九| 久久91亚洲精品中文字幕奶水 | 在线精品观看国产| 粉嫩一区二区三区在线看| 日韩欧美不卡| 99tv成人影院| 日本片在线看| 三级网站在线| 91电影在线| 国产综合在线播放| 日本中文字幕在线免费观看| 香蕉视频污视频| 国产精品国产亚洲精品看不卡| 91免费版黄色| 欧美日韩成人在线播放| 亚洲精品福利视频| 色呦呦国产精品| 中文字幕的久久| 九九热在线视频观看这里只有精品| 日韩在线欧美| 啪啪激情综合网| 国产激情久久| 暧暧视频在线免费观看| 蜜桃成人在线视频| 日本aa大片在线播放免费看| 涩涩视频免费观看| 亚洲天堂久久久| www.国产麻豆| 中文在线最新版天堂| 久久久久久久久久久久久久久久久| 91玉足脚交白嫩脚丫| 亚洲综合婷婷久久| 久久综合色视频| 自拍偷拍亚洲色图欧美| 欧美日韩精品久久| 国产在线欧美日韩| 91成人在线看| 亚洲一区二区久久久久久| 97久久精品视频| 欧美精品做受xxx性少妇| 亚洲跨种族黑人xxx| 欧美精品一区二| 日韩精品中文字幕在线不卡尤物| 欧美在线看片a免费观看| 亚洲成人综合在线| 亚洲成人av一区二区三区| 一区二区三区欧美日韩| 国产精品乱人伦| 国产精品网站导航| 国产精品国产精品国产专区不片 | 午夜精品福利视频| 国产成人自拍网| 国产一区二区三区视频在线播放| 奇米色777欧美一区二区| 日韩精品一二三| 久久福利一区| 久久尤物视频| 久久成人免费网站| 国产一区二区毛片| 国产成人午夜片在线观看高清观看| 九一久久久久久| 国产黄色精品网站| 99re视频精品| 国产片一区二区| 国产精品久久久久久一区二区三区| 国产清纯白嫩初高生在线观看91| 国产精品欧美精品| 亚洲欧美另类小说| 亚洲一区影音先锋| 精品日韩中文字幕| 在线观看国产91| 欧美欧美欧美欧美| 亚洲国产精品久久久久秋霞蜜臀| 日韩高清人体午夜| 伊人久久精品视频| 久久精品亚洲94久久精品| 欧美成人一二三| 国内外成人免费激情在线视频网站| 欧美国产第一页| 国产精品情侣自拍| 国产伦精品一区二区三区免 | 激情久久综合| 日韩精品亚洲专区| 成人午夜免费av| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲一区二区四区蜜桃| 色久综合一二码| 精品国产一区二区国模嫣然| 国产亚洲精品久久| 午夜精品久久17c| 99久久无色码| 亚洲欧洲国产精品久久| 国产精品一区二区免费在线观看| 55夜色66夜色国产精品视频| 欧美在线视频网站| 成人激情av| 色撸撸在线观看| 中文字幕视频在线免费观看| 日韩无码精品一区二区| 99久久99久久精品国产| 国产91精品看黄网站在线观看| 国产白浆在线观看| 国产视频每日更新| 福利在线国产| 日本天码aⅴ片在线电影网站| 日本一道高清亚洲日美韩| 99香蕉久久| 欧美日韩99| 国产白丝精品91爽爽久久| 综合色天天鬼久久鬼色| 欧美性生交片4| 亚洲人成在线观看| 国产精品黄视频| 电影午夜精品一区二区三区| www.亚洲一区二区| 乳色吐息在线观看| 精品无码av在线| 国产成人精品亚洲精品色欲| 日本视频免费高清一本18| 日本啊v在线| 日韩免费小视频| 四季av在线一区二区三区| 久久国产视频网| 国产精品夫妻自拍| 欧美变态口味重另类| 91chinesevideo永久地址| 日本高清久久一区二区三区| 波多野结衣xxxx| 国产精品视频一区二区三| 亚洲成人av综合| 色视频网站在线| av资源在线看片| 国产一区二区精品福利地址| 激情亚洲综合在线| 亚洲福中文字幕伊人影院| 亚洲人成网在线播放| 97久久夜色精品国产九色| 欧美视频在线播放一区| 五月天婷婷丁香网| 人妻无码中文字幕| h动漫在线视频| 免费污视频在线一区| 国产精品成人一区二区网站软件| 不卡的av电影| 欧美精品乱人伦久久久久久| 992tv成人免费影院| 先锋在线资源一区二区三区| 精品国产一区在线| 亚洲大尺度视频| a天堂中文在线官网| 新天堂中文资源官网在线观看| 中文字幕校园春色| 国产不卡精品在线| 男男视频亚洲欧美| 欧美性xxxxx| 欧美激情图片区| 国产日韩欧美大片| 国产精品视频一区二区在线观看| 三级在线观看网站| 国产在线超碰| 久久综合色占| 国产欧美一区二区精品忘忧草| 亚洲欧美日韩在线高清直播| 精品毛片久久久久久| 国产婷婷在线观看| 欧美一级做性受免费大片免费| 一级二级三级在线观看| 国产一级成人av| 99精品视频一区| 日韩精品视频免费专区在线播放| 国产精品一区二区三区在线观| 性xxxxxxxxx| 亚洲欧美激情国产综合久久久| 中文字幕在线影视资源| 欧美美女在线直播| 久久久777精品电影网影网| 亚洲欧美国产另类| 自拍偷拍99| 欧美一级高潮片| 四虎最新地址发布| av在线亚洲色图| 久久美女高清视频| 日日狠狠久久偷偷四色综合免费 | 国产91免费在线观看| 国产露出视频在线观看| 第一sis亚洲原创| 亚洲手机成人高清视频| 欧美激情在线狂野欧美精品| 免费无码国产v片在线观看| 久久99精品波多结衣一区| 人人澡人人爽| 全国精品免费看| 国产精品午夜电影| 性亚洲最疯狂xxxx高清| www.夜夜爽| 亚洲成人偷拍自拍| 男女羞羞在线观看| 国产一区免费电影| 亚洲精品少妇网址| 久久www视频| 一区二区三区四区欧美| 免费在线观看黄视频| 91污色多多| 欧美日韩一二三四| 欧美日韩国产综合视频在线观看中文| 国产日韩欧美视频| 香蕉视频久久久| 黄色网页大全| 日韩av不卡一区| 亚洲影视资源网| 国产欧美精品久久久| 精品人妻一区二区免费视频| 污污视频网站| 福利电影一区| 亚洲精品视频观看| 51午夜精品| 麻豆精品一区二区三区视频| 91.·福利| 久久久久午夜电影| 欧美精品v国产精品v日韩精品 | 日韩成人三级| 欧亚洲嫩模精品一区三区| 精品一区二区久久久久久久网站| 中文字幕亚洲欧美日韩| 黄污网站在线观看 | 欧美精品一区二区三区在线播放 | 天天干视频在线观看| 日韩精品专区| 国产调教视频一区| 国产精品三级久久久久久电影| 91精品人妻一区二区| eeuss影院www在线观看手机| 久久99国内| 欧美视频一二三区| 亚洲a∨一区二区三区| 亚洲无码精品在线播放| 91麻豆一二三四在线| 国产乱码一区二区三区| 欧美成人免费va影院高清| 18深夜在线观看免费视频| 精品国产免费第一区二区| 成人午夜大片| 精品久久久久久亚洲国产300| 精品免费视频123区| 一本一道无码中文字幕精品热| 男人资源在线播放| 国产成人自拍在线| 日韩av免费在线播放| 亚洲色图 激情小说| 中文资源在线网| 日韩精品乱码免费| 欧美另类高清videos| 日韩 中文字幕| 九七影院97影院理论片免费| 亚洲电影在线| 日韩少妇与小伙激情| www.日本高清| 最新精品视频在线| 97久久人人超碰caoprom| 国产成人精品免费在线| 日本一区二区不卡| 日本一区二区三区免费视频| 1024国产在线| 91玉足脚交白嫩脚丫在线播放| 国产精品偷伦一区二区| 日韩精品国产一区二区| 欧美24videosex性欧美| 久久久国产一区二区三区四区小说| 亚洲自拍偷拍色片视频| 国产成人无码av| 在线毛片观看| 亚洲综合av网| 在线观看精品视频| 亚洲日韩色图| 日韩精品一区二区三区免费观影| 精品成人免费观看| 亚洲欧美日本一区二区三区| 黄色漫画在线免费观看| 奇米一区二区三区av| 日韩av色综合| 久久精品国产成人av| www.综合网.com| 悠悠色在线精品| 91社在线播放| 有没有片在线看www| 一区福利视频| 欧美日韩国产第一页| 美女av免费看| 2024最新电影免费在线观看 | 红桃视频国产一区| 久久激情视频久久| 99热6这里只有精品| aa在线视频| 一区二区三区欧美日| 欧美一级爱爱视频| www.激情| 狠狠狠色丁香婷婷综合激情| 国产精品久久久久久久7电影| 男人日女人网站| 日韩一级特黄| 3atv一区二区三区| 久久无码人妻一区二区三区| 中文字幕不卡| 中文字幕免费一区| 国产又黄又爽免费视频| 再深点灬舒服灬太大了添少妇视频| 亚洲综合不卡| 国产狼人综合免费视频| 99热精品在线播放| 欧美精品尤物在线观看| www.欧美三级电影.com| 久久激情免费视频| 亚洲福利影视| 亚洲精品福利资源站| 成人性生交大片免费看无遮挡aⅴ| 色婷婷视频在线观看| 精品久久久久久久久久久久| 欧美大尺度做爰床戏| 青青免费在线视频| 任你弄精品视频免费观看| 国产精品久久久爽爽爽麻豆色哟哟 | 26uuu国产| av二区在线| 亚洲午夜久久久久| 中文字幕有码av| av午夜在线| 亚洲一二三区视频在线观看| a在线观看免费视频| 亚洲搞黄视频| 一本大道av伊人久久综合| 日本wwwwwww| 怡红院红怡院欧美aⅴ怡春院| 日韩欧美在线国产| 成人免费毛片日本片视频| 888av在线视频| 欧美一区二区三区四区五区| 成人国产精品久久久网站| 色戒汤唯在线观看| 亚洲第五色综合网| 妺妺窝人体色www在线下载| 日韩中文字幕一区二区高清99| 伊人伊成久久人综合网小说| 精品午夜福利在线观看| 精品亚洲免a| 久久久久久久999精品视频| 一级α片免费看刺激高潮视频| 色777狠狠狠综合伊人| 国产精品678| 欧美另类videosbest视频| 狠狠色综合日日| 一级全黄肉体裸体全过程| 中文字幕av网| 亚洲成人av电影在线| 国产精品久久久久久亚洲色| 欧美在线极品| 亚洲剧情一区二区| 欧美超碰在线观看| 农村妇女一区二区| 中文字幕亚洲一区| 亚洲专区第一页| 亚洲精品色图| 免费在线国产精品| 免费h片在线| 精品免费在线观看| 日韩片在线观看| av中文字幕在线观看第一页| 亚洲高清免费观看高清完整版| 中日韩精品视频在线观看| 一本精品一区二区三区| 91手机在线观看| 天天操天天插| 亚洲一区二区三区国产| 强迫凌虐淫辱の牝奴在线观看| 国产午夜精品一区在线观看 | 精品人妻二区中文字幕| 性欧美高清come| 亚洲精品国精品久久99热| 国产精品51麻豆cm传媒| 久久国产精品亚洲77777| 一本一本a久久| 欧洲视频在线免费观看| 91麻豆精品国产91久久久更新时间| 日本一区二区三区视频在线播放| 色先锋av影音| 好吊成人免视频| 日本黄色片免费观看| 欧美国产高潮xxxx1819| 免费看污久久久| 国产视频二区在线观看| 欧美大胆人体bbbb| 精品国产无码一区二区| 亚洲高潮无码久久| 日韩高清在线一区二区| 欧美一级特黄aaaaaa| 国产激情精品久久久第一区二区 | 在线麻豆国产传媒1国产免费|