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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于VB的上位機與單片機的程序設計

  [復制鏈接]
跳轉到指定樓層
樓主
隨著嵌入式系統在電子領域應用的不斷深入,可視化的單片機控制與檢測系統越來越成為單片機技術的應用熱點。廣泛應用到工業自動化生產、交通、醫療、教育和各種自動控制等領域,如心電監護、全方位視頻跟蹤監視。在這些復雜的數字系統中,計算機被稱為上位機,通過上位機和相關的軟件實現傳感信號的檢測和對外部設備的控制。利用計算機實現可視化的控制系統包括上位機程序設計、接口設計和單片機系統設計。
單片機相比較計算機而言又叫下位機,是直接對檢測對象測量和控制的系統,有時也把接口與下位機設計在在一個系統中統稱接口電路。基于計算機基礎的上位機程序可以提高復雜的單片機控制系統的人機交互功能。
本項目設計的內容是一個簡單的溫度檢測系統,上位機程序用來檢測和顯示單片機系統發送的數據,下位機是一個簡單的溫度檢測系統,通過USB接口虛擬一個串口傳輸數據,上位機程序實時顯示溫度,并通過曲線的形式描繪出溫度的變化過程。上位機程序VB6.0設計,程序執行后,上位機程序要定時向下位機即單片機系統發送指令,下位機在接到命令后就開始發送溫度信息。上位機顯示的溫度曲線要能準確的表示當時的溫度,誤差不能超過5%,能過顯示的溫度范圍在20攝氏度到80攝氏度之間。上位機程序兩次接收的溫度數據間隔控制在在1秒鐘左右,能夠顯示的溫度曲線的總時間在2分鐘左右。
3.1 VB簡單認識
VB是Visual Basic的簡稱,是由美國微軟公司于1991年開發的一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言,可用于開發 Windows 環境下的各類應用程序。今天我們以VB6.0為基礎,簡單的認識VB,然后我們就可以利用VB這個強大的開發工具去開發我們需要的各類程序。
3.1.1 VB6.0基本操作
在Visual Basic安裝成功之后,安裝程序自動在【開始】菜單中建立Visual Basic 6.0的程序組和程序項。單擊【開始】按扭,指向【所有程序】選項,再指向【Microsoft Visual Basic 6.0中文版】程序組,單擊【Microsoft Visual Basic 6.0中文版】選項即可啟動Visual Basic6.0中文版。
在VB6.0啟動后,屏幕上將出現如圖3-1所示的啟動界面,在啟動界面中會出現一個【新建工程】對話框。
圖3-1 VB6.0啟動界面
    一、創建工程
在VB6.0啟動界面中的【新建工程】對話框中選擇一個合適的工程類型,然后單擊【打開】按鈕,就可以新建一個工程,新工程打開后的用戶界面如圖3-2所示。
圖3-2 VB6.0的用戶界面
    二、放置控件和設置控件屬性
在用戶界面的左側是VB6.0的【工具箱】,在【工具箱】中有我們常用的各類控件,在設計窗體時我們可以直接從工具箱中選擇控件,然后在中間的【對象窗口】中按住鼠標左鍵拖出一個矩形后,相應的控件就放置到了用戶的編輯窗口中,對于控件的各個屬性,我們可以通過VB界面右面的【屬性窗口】設置各個控件的各種屬性,放置并調整好控件的各個屬性的【對象窗口】如圖3-3所示。
圖3-3 添加控件后的對象窗口
    三、添加代碼
雙擊【對象窗口】的空白處或者某個控件,就會出現【代碼窗口】,代碼窗口如圖3-4所示。
圖3-4 代碼窗口
在代碼窗口中為各個事件添加相應的代碼,在程序運行的時候一旦某個事件發生,就會執行相應的代碼段,這里以Form_Load()事件為例,簡單的設計一個實例程序。Form_Load()事件是在程序啟動時調用的,這里我們添加如下代碼:
Private Sub Form_Load()
    Form1.Caption = "示例程序"   '設置窗體的標題為“示例程序”
    Text1.Text = "文本框"        '設置文本框的文本為“文本框”
    Command1.Caption = "按鈕"   '設置按鈕的標題為“按鈕”
    Combo1.Text = "下拉列表框"  '設置下拉列表框的文本為“下拉列表框”
End Sub
   五、程序運行
添加好代碼后,我們可以通過單擊工具欄上的【啟動】按鈕,或者單擊菜單欄的【運行啟動】菜單項,也可以直接按F5鍵運行程序,程序運行時的界面如圖3-5所示。
圖3-5 程序運行界面
3.2 上位機程序設計
上位機程序設計不但要求界面簡單,而且操作人性化,本項目上位機程序運行后的界面如圖6-1-6所示。界面包括串口設置選擇窗口,串口控制按鍵、溫度顯示窗口等。
3-6 上位機程序運行界面
3.2.1新建工程并添加控件
根據前面介紹,先建立一個【標準EXE】工程。然后添加MSComm控件。過程如下:
(1)單擊【工程→部件】菜單項,打開部件對話框,如圖3-7所示,選中【控件】選項卡里面的【Microsoft Comm Control 6.0】控件列表項,單擊【確定】按鈕。
           
          圖3-7  添加MSComm控件            3-8  添加控件后的工具箱
添加過MSComm控件后,就可以看到在工具箱中增加了一個像電話的圖標,如圖3-8右下角的電話圖標就是VB串口通信所用的標準控件(MSComm控件)。
(2)單擊【MSComm】控件,并在窗體Form1上拖出一個矩形,如圖3-9所示,這時MSComm控件就被添加到了該工程中。
圖3-9  添加MSComm控件
3.2.2 添加其他控件設置屬性
在VB的編輯窗口中依次添加下列控件:一個下拉列表框,一個按鈕,一個定時器,一個圖片框和30個靜態文本框,所有的屬性設置如表3-1所示。添加完控件后的VB編輯界面如圖3-9所示。
表3-1  控件屬性表
控件類別
控件名稱
控件屬性
Caption
Top
Left
Height
Width
MSComm
MSComm_Temp
120
9700
按鈕
Comm_open
打開串口
240
7200
375
1350
定時器
Timer1
240
10400
下拉列表
Combo_Com
240
4500
300
2200
圖片框
Templine
1150
1000
6500
9250
靜態文本框
Lable1
溫度曲線圖
720
4800
375
1800
Lable2
串口號
240
3240
255
850
Lable3
溫度(C)
960
360
255
730
Lable4
80
1350
720
150
200
Lable5
70
2350
720
150
200
Lable6
60
3350
720
150
200
Lable7
50
4350
720
150
200
Lable8
40
5350
720
150
200
Lable9
30
6350
720
150
200
Lable10
20
7350
720
150
200
Lable11
時間(S)
7680
10300
255
800
Lable12
0
7680
1000
195
195
Lable13
5
7680
1500
195
195
Lable14
10
7680
2000
195
195
Lable15
15
7680
2500
195
195
Lable16
20
7680
3000
195
195
Lable17
25
7680
3500
195
195
Lable18
30
7680
4000
195
195
Lable19
35
7680
4500
195
195
Lable20
40
7680
5000
195
195
Lable21
45
7680
5500
195
195
Lable22
50
7680
6000
195
195
Lable23
55
7680
6500
195
195
Lable24
60
7680
7000
195
195
Lable25
65
7680
7500
195
195
Lable26
70
7680
8000
195
195
Lable27
75
7680
8500
195
195
Lable28
80
7680
9000
195
195
Lable29
85
7680
9500
195
195
Lable30
90
7680
10000
195
195
3.2.3 添加代碼
                   為各個事件處理函數添加代碼如下:
Dim flag_com_open As Boolean            '定義COM端口的打開標識
Dim time_temp As Integer                 '定義記錄時間的變量
Dim temp_bufx, temp_bufy As Integer       '定義兩個存放坐標的變量

Private Sub Combo_Com_Click()
    On Error Resume Next
    x = Combo_Com.Text                '獲取選擇的列表項的文本
    m = Len(x)                         '獲取列表項的長度
    n = Val(Right$(x, m - 3))              '獲取列表項里的端口號
    MSComm_Temp.CommPort = n      '設置MScomm控件的端口號為選擇的端口號
End Sub

Private Sub Comm_open_Click()
    If (flag_com_open = False) Then
       Comm_open.Caption = "關閉端口"   '根據flag_com_open的值設置按鈕Comm_open的Caption的值
       flag_com_open = True
       If MSComm_Temp.PortOpen = False Then
           MSComm_Temp.PortOpen = True
       End If
       Timer1.Enabled = True              '打開端口后使Timer1有效并開始計時
    Else
       Comm_open.Caption = "打開端口"
       MSComm_Temp.PortOpen = False
       flag_com_open = False
       Timer1.Enabled = False              '關閉端口后使Timer1無效
    End If
End Sub

Private Sub Form_Load()
    Dim i As Integer
    Timer1.Enabled = False                 '設置定時器Timer1無效
    Timer1.Interval = 1000                  '設定定時器的觸發時間是1000ms
    temp_bufx = 0
    temp_bufy = 5500
    Templine.AutoRedraw = True
    Templine.DrawStyle = 2                 '將劃線的格式改為虛線格式
    For i = 250 To 6250 Step 500             '依次畫出溫度的各條基準線
        Templine.Line (0, i)-(9250, i)
    Next i
    Templine.DrawStyle = 0                 '將劃線的格式改為實線格式
    For i = 1 To 16                         '依次為下拉列表框添加列表項
        Combo_Com.AddItem "COM" & i
    Next i
    MSComm_Temp.Settings = "9600,N,8,1"   '波特率是9600,無校驗,8為數據位,
                                         1位停止位
    MSComm_Temp.OutBufferSize = 0        '設置發送緩沖區的大小,以字符為單位
    MSComm_Temp.InBufferSize = 0         '設置接收緩沖區的大小,以字符為單位
    MSComm_Temp.InputMode = comInputModeText    '以文本方式接收
    MSComm_Temp.RThreshold = 4  '設置產生oncomm事件的字符數,以字符為單位
    MSComm_Temp.SThreshold = 1
    MSComm_Temp.InputLen = 0 '設置從接收緩沖區讀取的字符數,為0表示全部讀取
    MSComm_Temp.InBufferCount = 0        '清空接收緩沖區
End Sub

Private Sub MSComm_Temp_OnComm()
    Dim a As String
    Dim temp As Integer
    If MSComm_Temp.CommEvent = comEvReceive Then
        a = MSComm_Temp.Input            '讀取緩沖區內的數據
        For i = 1 To 4
            temp = temp * 10 + Val(Mid(a, i, 1)) '分析數據,得到傳輸的數據值
        Next i
        Templine.Line (temp_bufx, temp_bufy)-(time_temp * 50, 8250 - temp), vbRed
'根據得到的數據值和當前的時間以及原有的數據畫出一條直線
        temp_bufx = time_temp * 50          '存儲當前數據,以方便下次使用
        temp_bufy = 8250 - temp
        time_temp = time_temp + 1           '時間值增加1
    End If
End Sub

Private Sub Timer1_Timer()                   'Timer1中斷處理函數
    MSComm_Temp.Output = Chr(&H30)  '向下位機發送一個數據,用于和下位機通信
End Sub
3.3 單片機電路
下位機電路中數碼管和DS18B20與單片機的連接圖,如圖3-10所示。
圖3-10 實驗板上數碼管和DS18B20與單片機的連接圖
3.4 單片機程序設計
  1. /********該程序主要是利用DS18B20采集溫度,然后通過數碼管顯示溫度*************/
  2. /*當程序收到上位機發送的命令之后,該程序會將當時的溫度值通過串口發送給上位機*/
  3. #include<reg51.h>
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. sbit DQ = P1^0;                            //定義DS18B20的信號線端口
  7. uchar i,j;
  8. uchar dis_buffer[4];//定義數據緩沖數組
  9. uchar bit_ser[]={0xfe,0xfd,0xfb,0xf7}; //定義數碼管片選數組
  10. uchar seven_seg[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  11.                                                                                                                                  //定義數碼管段選數組
  12. /****************************延時函數*********************************/
  13. void delay(uint x)
  14. {
  15.               while(x)  
  16.               x--;
  17. }
  18. /*************************DS18B20初始化函數***************************/
  19. void Init_DS18B20(void)
  20. {
  21.               unsigned char x=0;
  22.               DQ = 1;         //DQ復位
  23.               delay(8);       //稍做延時
  24.               DQ = 0;                      //單片機將DQ拉低
  25.               delay(80);                 //精確延時 大于 480us
  26.               DQ = 1;                    //拉高總線
  27.               delay(14);
  28.               x=DQ;                        //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗
  29.               delay(20);
  30. }
  31. /***************************從18B20中讀一個字節************************/
  32. uchar ReadOneChar(void)
  33. {
  34.               uchar i=0;
  35.               uchar dat = 0;
  36.               for (i=8;i>0;i--)
  37.               {
  38.                               DQ = 0;               // 給脈沖信號
  39.                               dat>>=1;
  40.                               DQ = 1;               // 給脈沖信號
  41.                               if(DQ)
  42.                                dat|=0x80;
  43.                               delay(8);
  44.               }
  45.               return(dat);
  46. }
  47. /***************************向18B20中寫一個字節************************/
  48. Write_OneChar(uchar dat)
  49. {
  50.               uchar i=0;
  51.               for (i=8; i>0; i--)
  52.               {
  53.                             DQ = 0;                //給脈沖信號
  54.                             DQ = dat & 0x01;
  55.                             delay(5);
  56.                             DQ = 1;                //給脈沖信號
  57.                             dat >>= 1;
  58.               }
  59.               delay(4);
  60. }
  61. /**************************從18B20中讀取一個字節***********************/
  62. int Read_Temperature(void)
  63. {
  64.               uchar i = 0,t = 0,a,b;
  65.               int temp;
  66.               Init_DS18B20();
  67.               Write_OneChar(0xcc);               // 跳過讀序號列號的操作
  68.               Write_OneChar(0x44);               // 啟動溫度轉換
  69.               Init_DS18B20();
  70.               Write_OneChar(0xcc);               //跳過讀序號列號的操作
  71.               Write_OneChar(0xbe);               //讀取溫度寄存器等(共可讀9個寄存器)前兩個就是溫度
  72.               i = ReadOneChar();                 //讀取溫度值低位
  73.               t = ReadOneChar();                 //讀取溫度值高位
  74.               a = i & 0x0f;
  75.               b = t;
  76.               i = i >> 4;             //低位右移4位,舍棄小數部分
  77.               t = t << 4;             //高位左移4位,舍棄符號位
  78.               t = t | i;
  79.               temp = (t + a * 0.0625) * 100; //得到一個比實際溫度擴到100倍的值,主要是為了更好的顯示和傳輸         
  80.               return(temp);                                          //返回溫度值
  81. }

  82. /***************************初始化定時器0******************************/
  83. void timer0_init(void)                                          //
  84. {
  85.               TMOD = 0x21; //由于串口通信需要使用定時器1,因此TMOD的值是0x21
  86.               TL0 = (65536-5000) % 256;
  87.               TH0 = (65536-5000) / 256;
  88.               EA = 1;
  89.               ET0 = 1;
  90.               TR0 = 1;
  91. }
  92. /*************************發送數據的函數********************************/
  93. void txd_data(char send_data)            
  94. {
  95.               SBUF = send_data; //將需要發送的數據放入發送緩沖區
  96.               while(!TI);                              //等待發送數據
  97.               TI = 0;
  98. }
  99. /********************T0中斷處理函數,主要用于顯示當前溫度***************/
  100. void timer0_isr(void) interrupt 1
  101. {
  102.               int temp;
  103.               TR0 = 0;
  104.               TL0 = (65536-5000) % 256;
  105.               TH0 = (65536-5000) / 256;
  106.               TR0 = 1;
  107.               switch(i)
  108.               {
  109.                             case 0:
  110.                                           P2 = bit_ser[0];
  111.                                           P0 = seven_seg[dis_buffer[0]];                                                      
  112.                                           break;
  113.                             case 1:
  114.                                           P2 = bit_ser[1];
  115.                                           P0 =seven_seg[dis_buffer[1]] & 0x7f;
  116.                                           break;
  117.                             case 2:
  118.                                           P2 = bit_ser[2];
  119.                                           P0 =seven_seg[dis_buffer[2]];
  120.                                           break;
  121.                             case 3:
  122.                                           P2 = bit_ser[3];
  123.                                           P0 =seven_seg[dis_buffer[3]];
  124.                                           break;
  125.               }
  126.               i++;
  127.               if(i >= 4)
  128.               {
  129.                             i = 0;
  130.                             j++;
  131.                             if(j >= 10)              //如果到200ms就會讀取一次溫度,并將溫度值放入顯示緩沖區
  132.                             {
  133.                                           j = 0;
  134.                                           temp = Read_Temperature();
  135.                                           dis_buffer[0] = temp / 1000;
  136.                                              dis_buffer[1] = temp % 1000 / 100;
  137.                                           dis_buffer[2] = temp % 100 / 10;
  138.                                           dis_buffer[3] = temp % 10;
  139.                             }
  140.               }
  141. }

  142. /***************************串口通信初始化函數***************************/
  143. void uart_init(void)
  144. {
  145.               SCON = 0x50;         //方式1,充許接收
  146.               TMOD = 0x21;         //T1方式2定時,T0方式是1         
  147.               TH1 = 0xFd;          //波特率9600,Fosc=11.0592MHz
  148.               TL1 = 0xFd;
  149.               TR1 = 1;
  150.               ES = 1;                         // 打開串口中斷
  151. }
  152. /**************************串口中斷處理函數*****************************/
  153. void uart() interrupt 4                                          
  154. {
  155.               char y,i;
  156.               while(!RI);
  157.               y = SBUF;                                          //讀取接收的信息,然后判斷是否為發送溫度命令
  158.               if(y == '0')                            //如果為發送命令,就將當前數據緩沖數組內的數據發送給上位機
  159.               {
  160.                             for(i = 0;i <= 3;i++)
  161.                             {
  162.                                           txd_data(dis_buffer[i] + 48);
  163.                             }
  164.               }
  165.               RI = 0;                           
  166. }
  167. /*******************************主函數*********************************/
  168. void main()
  169. {
  170.               timer0_init();                            //調用T0初始化函數
  171.               uart_init();                            //調用串口初始化函數
  172.               while(1)
  173.               {}
  174. }
復制代碼

3.5 聯機調試
第一步,首先用USB線連接實驗板和計算機,通過軟件向實驗板中燒錄編寫的程序,并且讓實驗板加電啟動,然后通過系統的設備管理器查看實驗板與計算機通信的端口號,如圖3-11所示。
圖3-11  設備管理器
第二步,啟動上位機程序,根據實驗板和計算機之間的通信端口,選擇合適的端口號,如圖3-12所示。
圖3-11 選擇端口號
然后單擊【打開端口】按鈕,即可實現實驗板和計算機之間的串口通信,計算機程序會根據實驗板傳輸的溫度數據畫出各個時刻的溫度曲線,如圖3-13所示,其中開始的一段為室溫下的溫度曲線,中間凸起的部分曲線是加熱后產生的曲線。
圖3-13 溫度曲線圖
思考題:
1.修改上位機和單片機程序,使之能通過上位機進行溫度上下限的設置。
2.修改上下位機的程序,使之能夠顯示零攝氏度下的圖形。


全部資料51hei下載地址:
基于VB的上位機程序設計.zip (453.63 KB, 下載次數: 199)

評分

參與人數 3黑幣 +95 收起 理由
Fhc-1010 + 30 贊一個!
zwk34 + 15 共享資料的黑幣獎勵!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:328014 發表于 2020-6-10 03:39 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

無效樓層,該帖已經被刪除
無效樓層,該帖已經被刪除
5#
無效樓層,該帖已經被刪除
6#
ID:160725 發表于 2021-11-4 20:17 | 只看該作者
找到很好的資料,對VB點贊
回復

使用道具 舉報

7#
ID:160725 發表于 2021-11-9 10:44 | 只看該作者
對于工科學生而言,是一篇好資料
回復

使用道具 舉報

8#
無效樓層,該帖已經被刪除
9#
ID:603753 發表于 2021-11-13 13:19 | 只看該作者
最近正在學習VB,啥時候能達到樓主水平。
回復

使用道具 舉報

10#
無效樓層,該帖已經被刪除
11#
ID:935260 發表于 2021-12-27 19:42 | 只看該作者
很好的資料,對VB點贊
回復

使用道具 舉報

12#
ID:65369 發表于 2022-5-8 15:40 | 只看該作者
這個特好的,多謝分享
回復

使用道具 舉報

13#
ID:496636 發表于 2022-9-15 07:07 | 只看該作者
圖片框有個設置屬性在繪圖中非常有用,就是scale屬性,
如圖片框名為Templine,把這個圖片框的的左上角的坐標設置成(100,0),而右下角的坐標設置成(0,90),假設溫度范圍為0-100,時間范圍為0-90,這樣在程序中就能非常方便的繪制圖形了。
命令如下
Templine.scale (100,0)-(0-90)
回復

使用道具 舉報

14#
無效樓層,該帖已經被刪除
15#
ID:25103 發表于 2025-1-16 20:38 | 只看該作者
好資料,51黑有你更精彩!
回復

使用道具 舉報

16#
ID:338503 發表于 2025-1-17 07:23 | 只看該作者
這個很好,確實是好資料,我下載下來有空研究一下。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
精品乱码一区内射人妻无码| 都市激情久久综合| 国产原创中文av| 精品人妻在线视频| 一区高清视频| 国产精品免费久久久| 日韩精品999| 亚洲国产视频在线| 国产精品一区免费视频| 色爱综合网欧美| jizz久久久久久| av在线资源站| 1024亚洲| 国产高清免费视频| 午夜精品久久久久久久99| 亚洲二区在线播放| 下面一进一出好爽视频| 成人在线免费观看视频网站| 岛国一区二区三区高清视频| 欧美成人精品在线播放| 亚洲а∨天堂久久精品9966 | 中文字幕高清在线播放| 四虎影院在线域名免费观看| 五月婷婷丁香激情| 天天操天天插天天射| 国产一区二区精品在线| 色老头一区二区三区在线观看| 欧美性生交xxxxxdddd| 久久久精品2019中文字幕之3| 日韩av一二三| 国产精品草草| 猫咪成人在线观看| 成人教育av| 精品孕妇一区二区三区| 97香蕉久久| 免费能直接在线观看黄的视频| 成人福利小视频| 最近中文字幕av| 久久亚洲AV无码| 亚洲一级黄色录像| 三级男人添奶爽爽爽视频| 国产九九热视频| 午夜精品久久久久久久无码| 日本三日本三级少妇三级66| 欧美日韩成人一区二区三区| 91精品黄色| 国产精品久久久久999| 欧美激情第99页| 超碰91人人草人人干| 亚洲性夜色噜噜噜7777| 精品视频久久久| 日韩欧美国产一区在线观看| 欧美日韩成人在线一区| 在线观看一区日韩| 精品久久久中文| 亚洲在线一区二区三区| 亚洲美女屁股眼交| 亚洲日本韩国一区| 亚洲同性同志一二三专区| 亚洲国产精品t66y| 国产日韩欧美一区二区三区乱码| 不卡av电影在线播放| 国产成人在线看| 国产一区91精品张津瑜| 国产精品99久久久久久有的能看| 黄网站免费久久| 国产精品123| 丁香婷婷综合色啪| 99这里只有精品| 久久精品一区八戒影视| 国产精品毛片久久久久久久| 国产精品国产三级国产专播品爱网| 欧美国产欧美亚州国产日韩mv天天看完整| 91在线观看污| 国产日韩精品久久久| 欧美国产精品中文字幕| 国产精品美女久久久久aⅴ| 中文字幕在线一区免费| 有坂深雪av一区二区精品| 亚洲观看高清完整版在线观看| 亚洲风情在线资源站| 日韩欧美高清视频| 这里只有精品视频在线观看| 日韩欧美二区三区| 亚洲伦理中文字幕| 久久视频中文字幕| 午夜剧场成人观在线视频免费观看| 久久免费观看视频| 国产美女精品视频| 国产嫩草一区二区三区在线观看| 美女三级99| 天天想你在线观看完整版电影免费 | 亚洲欧美一区二区三区国产精品 | 成人av电影在线播放| 在线观看欧美日韩电影| 欧美日韩视频免费看| 成人性生交大片免费看中文视频| 国产一区二区三区四区二区| 极品av少妇一区二区| 美美哒免费高清在线观看视频一区二区 | 加勒比婷婷色综合久久| 粉嫩aⅴ一区二区三区| 亚洲图片小说视频| 在线视频亚洲色图| 日批视频网站| 在线观看国产视频| 18网站在线观看| 国产成人免费精品| 国产日韩欧美一区二区三区| 在线成人欧美| 国产成人精品免费在线| 国产精品美女久久久久久久久 | 国产又大又长又粗又黄| 亚洲一区二区蜜桃| 能免费看av的网站| 久久久黄色大片| 午夜视频免费看| www黄色在线观看视频| 外国精品视频在线观看| av今日在线| 中文无码日韩欧| 欧美全黄视频| 成人黄色av网站在线| 亚洲不卡在线观看| 日韩精品在线视频观看| 97超级碰在线看视频免费在线看| 国产精品一区而去| 免费看日本毛片| 亚洲乱码国产乱码精品精大量 | 成人亚洲综合天堂| 亚洲网站三级| 午夜日韩福利| 99久久er热在这里只有精品15| 午夜精品久久久久久久99水蜜桃 | 亚洲黄色小视频在线观看| 国产精品国产三级国产专业不| 日韩国产成人在线| 国产尤物视频| 成人免费黄色网页| 日本在线成人| 中文在线一区| 国产精品久久久久国产精品日日| 制服丝袜av成人在线看| 国产91成人在在线播放| 亚洲三区视频| 强迫凌虐淫辱の牝奴在线观看| 国产伦精品一区二区三区视频网站| 国产一卡2卡3卡4卡网站免费| 日本电影一区二区在线观看| 天天综合在线观看| 亚洲一区日韩| 亚洲精品v日韩精品| 亚洲视频视频在线| 91国产丝袜在线放| 国产3p在线播放| 99精品在线播放| 网站黄色在线观看| 欧美亚洲系列| 成人影院在线| 久久在线免费观看| 精品国产一区二区三区久久影院| 日韩免费在线看| 久久这里只有精品23| 在线日韩国产网站| 亚洲男人天堂影院| av中文字幕一区二区三区| 香蕉一区二区| 99久久亚洲一区二区三区青草| 欧美日本一道本在线视频| 日韩美女av在线免费观看| 91亚洲精品国产| 午夜精品福利在线视频| 欧美乱妇18p| xvideos国产在线视频| 四虎国产精品免费观看| 国产日产欧美一区二区三区 | 亚洲国产综合色| 美女精品视频一区| 秋霞在线一区二区| 精品97人妻无码中文永久在线| 欧美成人观看免费全部完小说| 国产传媒在线播放| 亚洲午夜精品一区二区国产| 中文字幕综合网| 久久影视免费观看| 黄色一级片av| 国产精品16p| 成人网18入口| 国内精品视频| 国产a区久久久| 日韩大陆毛片av| 无遮挡亚洲一区| 全程偷拍露脸中年夫妇| 嫩草影院入口一二三免费| 在线视频cao| 日本午夜精品一区二区三区电影| 日韩欧美在线第一页| 国产精品免费福利| 国产一级二级av| 性猛交xxxx| 青春草在线视频| 日韩精品一级二级| 日韩午夜中文字幕| 欧美日韩在线精品一区二区三区| 精品无人区无码乱码毛片国产 | 日韩一级黄色av| 国产高清不卡无码视频| 精品免费囯产一区二区三区| 国内精品卡一卡二卡三新区| 亚洲精品进入| 亚洲最大成人综合| 国产精品2018| 好男人香蕉影院| jiuse.com91视频| 日韩毛片免费看| 国产亚洲成aⅴ人片在线观看| 欧美成人第一页| 激情五月俺来也| 中文字幕三区| 91tv亚洲精品香蕉国产一区| 大桥未久av一区二区三区中文| 最好看的2019的中文字幕视频| 真人抽搐一进一出视频| 99久久精品无免国产免费| 国产一二区在线观看| 日韩在线观看一区二区| 日韩精品视频免费专区在线播放| 蜜桃视频成人在线观看| 在线观看免费视频一区| 免费a级毛片在线播放| 日本va欧美va精品发布| 亚洲无亚洲人成网站77777| 国产深夜男女无套内射| 天天干天天爱天天操| 97成人超碰| 中文字幕一区二区三区不卡在线| 国产精品日日摸夜夜添夜夜av| 国产精品边吃奶边做爽| 18成年在线观看| 91欧美日韩| 欧美一区二区在线免费观看| 一区二区三区免费看| 一区二区三区播放| 182在线播放| av电影在线观看一区| 国产91精品不卡视频| 欧美特黄一区二区三区| 色偷偷亚洲第一综合| 亚洲激情久久| 精品区一区二区| 欧美亚洲精品一区二区| 中文字幕2020第一页| 亚洲国产精品免费视频| 午夜欧美大尺度福利影院在线看| 精品一区二区三区日本| 综合久久中文字幕| 大胆人体一区二区| 亚洲另类色综合网站| av在线亚洲男人的天堂| 精品美女久久久久| 国产区美女在线| 国产三级一区二区| 91精品黄色| 奴色虐av一区二区三区| 国产桃色电影在线播放| 国产人久久人人人人爽| 成人av片网址| 精产国品一区二区| 深夜福利视频一区二区| 中文字幕亚洲在| 久久九九视频| 国内老熟妇对白xxxxhd| 久久视频社区| 欧美日韩精品一二三区| 国产av无码专区亚洲精品| 国产激情自拍| 久久亚洲国产| 亚洲天堂av电影| 天天插天天射天天干| 深夜福利视频在线观看| 成人午夜免费电影| 国产日韩在线观看av| 日本中文字幕在线| 欧美xxx网站| 富二代精品短视频| 久久精品国产sm调教网站演员| 久久91亚洲| 欧美视频亚洲视频| 欧美国产日韩精品| 欧美日韩免费一区二区| 多野结衣av一区| 亚洲成a天堂v人片| koreanbj精品视频一区| h免费在线观看| 日本中文一区二区三区| 国产精品99久久久久久久久| 99久在线精品99re8热| 丝袜美腿一区| 在线免费精品视频| 天堂av在线网站| 特级毛片在线观看| 国产成人精品三级麻豆| 国产传媒一区| 亚洲不卡1卡2卡三卡2021麻豆| 欧美日韩国产免费观看视频| 一区二区成人av| 欧美日韩国产一二三区| 九色porny丨入口在线| 色8久久人人97超碰香蕉987| 色哟哟精品视频| 日本私人影院在线观看| 26uuu精品一区二区| 亚洲高清资源综合久久精品| 91深夜福利| 青草国产精品久久久久久| 91精品国产自产在线| www.日韩在线观看| 99久久九九| 91精品国产自产91精品| 中文字幕 自拍偷拍| 亚洲第一福利社区| 久久伊人免费视频| 国产成人免费看| 久久久久观看| 色噜噜狠狠色综合网图区| 精品无码m3u8在线观看| 99综合久久| 一区二区欧美久久| 久草网在线观看| 视频一区视频二区欧美| 亚洲女人天堂网| 亚洲国产精品久| 91精品视频一区二区| 亚洲老头同性xxxxx| 91精品一区二区三区蜜桃| 日韩成人一区| 亚洲天堂av图片| www.欧美色| 成人高清av| 国产精品久久91| 717影院理论午夜伦不卡久久| 久久这里有精品15一区二区三区| 成人一区二区三区四区| 成人欧美精品久久久久影院| 国产精品99久久不卡二区| 久久久国产精华液999999| jizz蜜桃视频在线观看| 中文字幕日韩一区| 国产精品69页| 乱人伦中文视频在线| 欧美午夜免费电影| 天堂av免费在线| 男人的天堂久久| 2020久久国产精品| 欧美熟妇另类久久久久久不卡 | 精品国产一区二区三区久久狼黑人 | 黄色av免费在线观看| 色综合一个色综合亚洲| 成人性生交大免费看| 国产精品日韩精品在线播放| 超碰97人人做人人爱少妇| www.看毛片| 日韩av一级片| 操bbb操bbb| 成年在线电影| 91精品国产综合久久婷婷香蕉| 深夜福利影院在线观看| 国产精品密蕾丝视频下载| 国产在线播放不卡| 成年免费视频黄网站在线观看| 国产精品嫩草影院av蜜臀| 日韩欧美色视频| 日韩在线你懂得| 久久久视频在线| 国产原创在线视频| 中文字幕av一区 二区| 中文字幕制服丝袜| 精品亚洲a∨一区二区三区18| 久久久久久亚洲| 欧美bbbbxxxx| 亚洲国产精品精华液2区45| 国产毛片久久久久久| 成人自拍视频网| 久久久久久中文字幕| 欧美妇性猛交视频| 国产精品素人视频| 亚洲欧美日本一区| 精品视频高潮| 亚洲综合在线小说| 国产视频资源| 欧美亚一区二区| 999这里只有精品| 免费久久99精品国产自在现线| 亚洲砖区区免费| 日本中文在线| 一区二区三区视频在线| 中国女人内谢69xxxx视频| 不卡一区二区三区四区| 美女日批在线观看| 国产一区在线电影|