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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

第4課 點亮發光管程序分析

作者:huqin   來源:本站原創   點擊數:  更新時間:2013年12月30日   【字體:

 

上面我們的敘述了一個程序的編輯、編譯和下載完整的過程,最終點亮了第一個發光二極管,不過這個程序到底是什么意思,為什么應該這么寫,可能有些人還不是很懂,下面給大家分析,并對里面涉及到的C語言知識進行講解。
為了便于講解,這里把上節課的程序一并給出:
例1 點亮第一個發光二極管程序
(1)輸入源程序(又稱為程序編輯)
#include<reg52.h>//52系列單片機頭文件
sbit D1=P1^0;//位定義單片機P1口的第1位
void main()//主函數
{
       D1=0;//點亮第一個發光二極管
}
1頭文件
程序的第一句#include<reg52.h>稱為頭文件,頭文件就是C語言中的“文件包含的”的意思。所謂“文件包含”是指在一個文件內將另外一個文件的內容全部包含進來。因為被包含的文件中的一些定義和命令使用的頻率很高,幾乎每個程序中都可能要用到,為了提高編程效率,減少編程人員的重得勞動,將這些定義和命令單獨組成一個文件,如reg52.h,然后用#include<reg52.h>包含進來就可以了,這個就相當于工業上的標準零件,拿來直接用就可以了。
在程序中加入頭文件通常有兩種方法,分別是#include<reg52.h>和#include“reg52.h”,注意頭文件句末不需要加“;”否者編譯器編譯時會報錯。加頭文件時< >和“”兩者是有區別的,主要如下:
當使用< >包含頭文件時,程序編譯時編譯器會首先到keil軟件的安裝文件下進行尋找,具體在keil\C51\INC這個文件下,如果沒有找到,剛編譯時會報錯。
當使用“”包含頭文件時,程序編譯時編譯器會首先到當前工程所在的文件夾下尋找,如果沒有找到,則馬上到keil軟件的安裝文件下進行尋找,如果都沒有找到,則編譯時會報錯。由于<reg52.h>在安裝文件下,所以一般寫成#include<reg52.h>,就可以了。
現在我們打開reg52.h文件,看里面具體內容,可以直接在安裝文件keil\C51\INC直接找到reg52.h文件,也可以在編輯界面將鼠標箭頭放在#include<reg52.h>,然后右鍵再選擇
Open docment <reg52.h>,如圖12所示。
圖12 打開頭文件
此時會出現reg52.h的內容如下:
/*--------------------------------------------------------------------------
REG52.H
Header file for generic 80C52 and 80C32 microcontroller.
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/
#ifndef __REG52_H__
#define __REG52_H__
 
/*  BYTE Registers  */
sfr P0    = 0x80;
sfr P1    = 0x90;
sfr P2    = 0xA0;
sfr P3    = 0xB0;
sfr PSW   = 0xD0;
sfr ACC   = 0xE0;
sfr B     = 0xF0;
sfr SP    = 0x81;
sfr DPL   = 0x82;
sfr DPH   = 0x83;
sfr PCON  = 0x87;
sfr TCON  = 0x88;
sfr TMOD  = 0x89;
sfr TL0   = 0x8A;
sfr TL1   = 0x8B;
sfr TH0   = 0x8C;
sfr TH1   = 0x8D;
sfr IE    = 0xA8;
sfr IP    = 0xB8;
sfr SCON  = 0x98;
sfr SBUF  = 0x99;
 
/*  8052 Extensions  */
sfr T2CON  = 0xC8;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2    = 0xCC;
sfr TH2    = 0xCD;
 
 
/*  BIT Registers  */
/*  PSW  */
sbit CY    = PSW^7;
sbit AC    = PSW^6;
sbit F0    = PSW^5;
sbit RS1   = PSW^4;
sbit RS0   = PSW^3;
sbit OV    = PSW^2;
sbit P     = PSW^0; //8052 only
 
/*  TCON  */
sbit TF1   = TCON^7;
sbit TR1   = TCON^6;
sbit TF0   = TCON^5;
sbit TR0   = TCON^4;
sbit IE1   = TCON^3;
sbit IT1   = TCON^2;
sbit IE0   = TCON^1;
sbit IT0   = TCON^0;
 
/*  IE  */
sbit EA    = IE^7;
sbit ET2   = IE^5; //8052 only
sbit ES    = IE^4;
sbit ET1   = IE^3;
sbit EX1   = IE^2;
sbit ET0   = IE^1;
sbit EX0   = IE^0;
 
/*  IP  */
sbit PT2   = IP^5;
sbit PS    = IP^4;
sbit PT1   = IP^3;
sbit PX1   = IP^2;
sbit PT0   = IP^1;
sbit PX0   = IP^0;
 
/*  P3  */
sbit RD    = P3^7;
sbit WR    = P3^6;
sbit T1    = P3^5;
sbit T0    = P3^4;
sbit INT1  = P3^3;
sbit INT0  = P3^2;
sbit TXD   = P3^1;
sbit RXD   = P3^0;
 
/*  SCON  */
sbit SM0   = SCON^7;
sbit SM1   = SCON^6;
sbit SM2   = SCON^5;
sbit REN   = SCON^4;
sbit TB8   = SCON^3;
sbit RB8   = SCON^2;
sbit TI    = SCON^1;
sbit RI    = SCON^0;
 
/*  P1  */
sbit T2EX  = P1^1; // 8052 only
sbit T2    = P1^0; // 8052 only
             
/*  T2CON  */
sbit TF2    = T2CON^7;
sbit EXF2   = T2CON^6;
sbit RCLK   = T2CON^5;
sbit TCLK   = T2CON^4;
sbit EXEN2  = T2CON^3;
sbit TR2    = T2CON^2;
sbit C_T2   = T2CON^1;
sbit CP_RL2 = T2CON^0;
#endif
該頭文件主要是對52單片機所有特殊功能寄存器的地址進行聲明。
sfr P1 = 0x90這句話表示:P1口所對應的特殊功能寄存器P1在內存中的地址為0x80。換另一種說法就是我們對0x80處的寄存器重新取名P0,以后我們在程序中對P0進行操作,就相當于直接對0x80處的寄存器進行操作。
sfr 表示特殊功能寄存器的意思,它并非標準C 語言的關鍵字,而是Keil 為能直接訪問80C51 中的SFR 而提供了一個新的關鍵詞,其用法是:sfr  特殊功能寄存器名=地址值(注意對于頭文件里“特殊功能寄存器名”,用戶實際上也可以修改的,如P1=0x80,也可改為A1=0x80,但sfr  和地址值則不能更改,否者會編譯出錯。)
 以上是對寄存器地址和定義和聲明作了解釋,大家需要牢牢記住:只有對寄存器進行聲明地址后,我們才能對其進行賦相關的值,keil軟件才能編譯通。
實際上就本程序來說,我們也可以不包含該頭文件,而加上一句話,“ sfr P1=0x90; ”也是可以的,但如果要用到P0 P1 P2 P3就需要寫四名話,這樣就會顯得很麻煩 ,只要大家能理解這個,相信大家對為什么要在些加一直頭文件的原因應該理解了,總之以后我們寫51的程序時第一句話就直接包含該頭文件就行了。
2、程序注釋
在對頭文件進行解釋后,在頭文件后面我們可以看到有“//……”符號。“//……”表示語句注釋,其作用主要是為了以后閱讀程序來方便。“//……”主要是對單句或者比較短的程序進行注釋,但如果是對一整段程序進行注釋時,這種方法就顯得非常麻煩,所以程序注釋還有第二種方法,具體的符號是/*****程序*****/,此時斜杠星號與星號斜杠之間的程序將被整體注釋掉。
程序被注釋掉后,編譯器在進行編譯時將不會對其進行編譯,此時相當于此處的程序被刪掉一樣。注釋的目的是為了方便他人閱讀程序,同時也方便自己一段時間后再來閱讀程序時能夠快速的理解該程序的含義。
3、位聲明
程序的第三行出現了”sbit D1=P1^0;”下面進行說明。
sbit表示位的意思,它也是非標準C 語言的關鍵字,編寫程序時如需操作寄存器的某一位(可位尋址的寄存器才能用)時,需定義一個位變量,此時就要要到sbit,如上面的程序中D1=P1^0,;需要注意的是,位定義時有些特殊, 用法有三種
第一種方法:sbit 位變量名=寄存器位地址值
第二種方法:sbit 位變量名=SFR 名稱^寄存器位值(0-7)
第三種方法:sbit 位變量名=SFR 地址值^寄存器位值
如:
sbit IT0=0x88 1)說明:0x88IT0 的位地址值
sbit  D1=P1^2 2)說明:其中P1 必須先用sfr 定義好
sbit EA=0xA8^7 3)說明:0xA8 就是IE寄存器的地址值
以上三種定義方法需注意的是 IT0 deng EA可由用戶隨便定義,但必須滿足C語言對變量名的定義規則。除些外其它的則必須按照上面的格式寫,如名稱^變量位地址值中“^”,它是由keil軟件的規定的 ,不能寫成其它的,只能這樣能才編譯通過。
這里也就是說像操作單片機某個口(如P1口),需要通過頭文件sfr P1 = 0x90對其地址進行聲明,同樣的對寄存器的某一位操作時,也需要對位地址進行聲明,此時我們就采用的是第二種表達法sbit D1=P1^0;程序中對D1的操作就相當于對P1中的位地址0Xaff進行操作。
4、主函數
格式:void main()
特點:無返回值,無參數。
無返回值,是指函數執行完后不會返回任何值,上面void表示“空”的意思,即不返回任何值,此處也可以省略不寫。當然函數還有帶返回值的,后面具體會講到。
無參數是指該函數不還有任何參數,即main后面的()沒有任何參數,此時也可以在括號內加上void ,如main(void),但通常省略不寫。后面也會講到還有參數的函數,等后面講到時大家就會理解了。
函數是能夠實現特定功能的代碼段,需要注意的是,一個C51源程序必須有,且只能有一個主函數main(),它是整個程序開始執行的入口。在void main()后面必須加一對花括號,其內部為一條一條的程序語句。如本例程:
 
      void main()
      {
     D1=0;
      }
當然這個主函數相對來說比較簡單,里面只有一條語句。
5、D1=0
這條語句位于主函數內,也是這個程序中最重要的部分。D1相當于單片機P1口的第1個引腳。通過前面的知識我們也知道,數字電路中有兩種電平,高電平和低電平,0表示低電平或者說低電壓,1表示高電平或者說高電壓。由于發光管陽極是通過限流電阻接的5V高電壓,而陰極接的P1口的第1個引腳,通過程序D1=0讓其為低電壓,所以此時程序一執行后,該發光二極管就會發光。
6、利用總線操作法點亮發光二極管
在例1中,要實現讓一個管發光,我們采用了位操作法,位操作法其實就是對單片機的每一個引腳單獨操作,如例中就是先作位定義sbit D1=P1^0,然后讓D1=0,最終實現了功能。一個燈會點亮,相信大家也會同點多個燈,如要讓1、3、5、7燈亮時,按前面的方法程序應該寫為:
例2 位操作法實現1、3、5、7燈亮
#include<reg52.h>
sbit D1=P1^0;
sbit D3=P1^2;
sbit D5=P1^4;
sbit D7=P1^6;
void main()
{
    D1=0;   
D3=0;
D5=0;
D7=0;
}
這種方法當然可以實現1、3、5、7,但這種方法需要定義多個位變量,程序書寫起來相對麻煩。下面給出另一個寫法,如下:
例3 總線操作法實現1、3、5、7燈亮
#include<reg52.h>
void main()
{
P1=0xaa;
}
這個程序同樣可能實現把1、3、5、7燈點亮,也就是說程序的功能和上面位操作法寫的程序是一樣,但卻要簡單得多,這種方法就稱為總線操作法。所謂的總線操作法也就是同時操作單片機P1口的8個引腳(或者說8個I/O口),具體到程序就是通過“P1=0xaa;”實現的, “0x”表示16進制的意思,16進制aa轉化成2進制就是10101010,而10101010正好就是讓單片機P1口的1、3、5、7引腳輸出低電平,2、4、6、8引腳輸出高電平,此時就實現讓第1、3、5、7發光二極管發光。
把例3的程序下載到實驗板上的現象如圖13所示:
 
圖13 總線操作法實現1、3、5、7發光二極管發光
 
在上面三個例子中,我們用兩種方法(位操作法和總線操作法)實現點亮發光二極管的目的,目的是達到了,但如若仔細推敲兩個程序,實際上是不完善的的。讓我們看例三,程序第一句為頭文件,是對52單片機一些特殊功能寄存器相關的聲明,然后第二句進入主程序執行“P1=0xaa;”,點亮1、3、5、7發光二極管,但執行完這句后單片機又試干嘛呢?這之后我們沒有寫相關程序讓單片機執行什么事情,所以程序執行到這里有可能出錯(這里只是說有可能,因為每個編譯器不一樣),通過反復的實驗,我們得出keil軟件一般這里會回到主程序的第一句開始執行,也就是說又開始執行“P1=0xaa;”,周而復始,一直這樣的執行下去,1、3、5、7發光二極管就一直會亮下去。但從程序開發角度來說,我們說這里就必須做相應的處理,明確告訴下一步程序要做什么事情。比如說我們就是要讓主程序周而復始,反復的執行,此時我們就可以利用C語言中的while語句來實現,下面先講下while語句。
格式:
While (表達式)
     {
         語句(內部也可為空)
     }
     特點:
先判斷表達式,后執行語句。
原則:若表達式為不是0,即為真,則執行語句,如為0 ,即為假就跳出while 語句。
注意:while語句內部的語句可以為空,即什么也沒有,此時就寫成while(1){};此時{}可以不寫,即寫成while(1);意思就是永遠為真,執行空語句,相當于程序永遠停止在這里。
了解了while語句后,我們就可以把例三的程序進完善了,程序如例四。
例4:完整點亮發光二極管的程序
#include<reg52.h>
void main()
{
    While(1)
    {
P1=0xaa;
}
}
While語句就介紹到這,下面總結一下,單片機軟件的學習就是通過我們寫程序,控制單片機外部引腳輸出“1”(高電平+5V),和“0”(低電平0V),從而達到對各種外設的控制。單片機學習來并不難,只要大家有信心,肯花功夫,學起來也是很容易的。
關閉窗口

相關文章

日韩一区二区三区四区五区 | 亚洲码无人客一区二区三区| 999热视频| 日韩精品在线视频| 黄色一区二区三区| 成人av网站大全| 亚洲婷婷在线| 成人性生交大片免费看96| 二区在线播放| 2019一级黄色毛片免费看网| аⅴ成人天堂中文在线| 黄色大片网站在线观看| 人妻丰满熟妇av无码久久洗澡 | 国产97在线观看| 亚洲免费av电影| 欧美专区日韩专区| 国产精品盗摄一区二区三区| 麻豆成人91精品二区三区| 日韩电影一区| 成人网av.com/| 亚洲综合图区| 视频在线不卡| 成人免费看黄网址| 国产视频高清免费| 免费看黄网站在线观看| 亚洲精品中文字幕乱码三区91| 国产中年熟女高潮大集合| 亚洲污视频在线观看| 国产精品久久成人免费观看| 国产精品xxxx| 国产精品专区一| 午夜美女久久久久爽久久| 精品亚洲一区二区三区四区五区| 91国偷自产一区二区使用方法| 中文字幕免费观看一区| 高潮精品一区videoshd| 国产高清在线看| 日日噜噜噜夜夜爽爽狠狠视频| 你懂的在线观看视频| 亚洲综合爱爱久久网| 99久久国产热无码精品免费| www.久久精品视频| 久久亚洲精品大全| 疯狂试爱三2浴室激情视频| 国产午夜在线一区二区三区| 99sesese| 538在线视频观看| 免费观看精品视频| 99在线精品免费视频| 中国一级黄色录像| 亚洲日本无吗高清不卡| 久久免费一区| 国产自产精品| 国产在线精品一区| 国产99午夜精品一区二区三区| 国产精品网站大全| 国产玖玖精品视频| 国产在线日韩在线| 91久久国产精品91久久性色| 国产精品日韩久久久久| 国产精品福利在线| 国产精品久久中文| 国产精品一区久久| 91精品视频观看| 91精品视频在线播放| 成人性生交大片免费观看嘿嘿视频| 国产精品手机播放| 亚洲aⅴ男人的天堂在线观看| 91精品久久久久久久久青青 | 日韩视频中午一区| 精品日韩成人av| 亚洲成色www8888| 亚洲国产日韩欧美在线99| 亚洲二区中文字幕| 精品视频在线播放免| 亚洲视频在线视频| 久久亚洲精品视频| 海角国产乱辈乱精品视频| 国内精品小视频| 国产精品va在线| 91久久精品美女| 极品日韩久久| 少妇免费毛片久久久久久久久 | 欧美成人午夜视频| 欧美激情aaaa| 国产精品久久久久久久久影视| 国产精品爱久久久久久久| 国产日韩欧美视频在线| 成人欧美一区二区| 日本一区二区在线视频观看| 亚洲国产黄色片| 精品欧美久久久| 亚洲人成电影网站色…| 精品自在线视频| 国产成人一区二区三区| 97中文在线观看| 亚洲电影网站| 免费国产a级片| 激情在线观看视频| 久久丫精品国产亚洲av不卡| 黄色免费一级视频| 欧美videossex极品| 精品国产亚洲av麻豆| 欧美日韩看片| 日本成人a视频| 九色视频网站在线观看| 国产拍在线视频| 91精品国产自产精品男人的天堂 | 免费看毛片的网站| 国产精品久久久精品四季影院| 国产成人无码一区二区在线播放| 精品人妻aV中文字幕乱码色欲 | 在线高清欧美| 精品国产一区二区三区小蝌蚪| 亚洲午夜av| 国产成人av资源| 亚洲人成网站在线| 欧美日韩高清一区二区三区| 亚洲视频axxx| 欧美在线视频导航| 久久久免费看| 欧美精品第三页| 精品无码人妻一区二区免费蜜桃| 视频一区二区三区四区五区| 色综合视频在线| h网站在线观看| 香蕉视频在线播放| 日韩精品一区二区三区中文字幕| 性xxxx欧美老肥妇牲乱| 国产一区二区伦理| 亚洲一区电影777| 日韩av中文字幕在线播放| 欧美综合第一页| 日韩精彩视频| 中文字幕第10页| 精品小视频在线观看| 特黄aaaaaaaaa真人毛片| 男捅女免费视频| bbw在线视频| 精品国产日韩欧美| 粉嫩一区二区三区性色av| 黑丝美女久久久| 中文字幕综合一区| 国产一区二区不卡视频| 久久精品香蕉视频| 欧美日韩中文字幕在线观看| 91香蕉视频在线观看视频| 国产人与禽zoz0性伦| 国产成人精品毛片| 高清毛片aaaaaaaa**| 福利在线免费视频| 久久久国产精品| 久久网站热最新地址| 欧美二区在线观看| 欧洲成人在线视频| 91动漫在线看| 美国黄色小视频| 中文字幕欧美日韩在线不卡| 青青草视频在线免费观看| 日韩08精品| 国产一区二区福利视频| 欧美视频精品在线观看| 91精品国产色综合久久不卡98| 9999在线观看| 五月天婷婷丁香网| 野外性xxxxfreexxxxx欧美| 国产永久免费高清在线观看视频| 国产精品白浆| 成人精品一区二区三区四区 | 欧美日韩一区二区三区电影| 性欧美精品男男| 手机看片一区二区三区| 香蕉av一区| 亚洲综合小说图片| 久久婷婷色综合| 亚洲天堂免费在线| 日韩在线第一区| japanese中文字幕| 午夜国产精品理论片久久影院| 久操视频在线观看| 欧美成人国产| 性做久久久久久免费观看欧美| 久久久免费电影| 免费日韩视频在线观看| 99re这里只有精品在线| 国产九一视频| 老司机在线精品视频| 91麻豆国产香蕉久久精品| 亚洲欧美在线播放| 亚洲国产一区二区三区在线播| 精品无码在线观看| 国产日韩网站| 韩国成人在线| 国产精品一区二区视频| 亚洲国产精久久久久久久| 韩国精品一区二区三区六区色诱| 少妇按摩一区二区三区| 欧美a一片xxxx片| 欧美日韩免费看片| 精品无人码麻豆乱码1区2区 | 天天av天天翘天天综合网色鬼国产| 97国产suv精品一区二区62| aaa毛片在线观看| 国产一区二区网站| 国产高清免费在线播放| 黄色日韩在线| 欧美日韩亚洲综合在线| 好吊色欧美一区二区三区 | 中文字幕中文乱码欧美一区二区| 欧美另类在线观看| 久久男人av资源网站| 久无码久无码av无码| 中文字幕在线天堂| 精品欧美不卡一区二区在线观看| 亚洲国产老妈| 色八戒一区二区三区| 91影院未满十八岁禁止入内| 99久久久无码国产精品衣服| 美女又爽又黄| 日本欧美高清| 午夜视黄欧洲亚洲| 国产精品久久久久久久久婷婷 | 偷拍亚洲欧洲综合| 亚洲一区二区免费| 国产成人在线网址| 丝袜美女写真福利视频| 天天色天天射综合网| 欧美三级在线视频| 亚洲成人午夜在线| 18国产免费视频| v片在线观看| 精品一区二区三区影院在线午夜| 亚洲视频在线观看免费| 亚洲成熟丰满熟妇高潮xxxxx| 蜜桃视频污在线观看| 婷婷电影在线观看| 久久久精品欧美丰满| 国产精品成人v| 99精品全国免费观看| 日本18视频网站| 激情六月综合| 亚洲精品资源美女情侣酒店| 黑鬼大战白妞高潮喷白浆| 四虎精品成人免费观看| 在线精品自拍| 五月激情六月综合| 色噜噜狠狠色综合网| 中文字幕人妻色偷偷久久| 免费污视频在线观看| 不卡一区二区三区四区| 日韩美女中文字幕| 中文字幕电影av| 免费福利在线观看| 国产真实乱子伦精品视频| 久久中文字幕视频| 中国极品少妇videossexhd | 亚洲一区二区色| 欧美美女日韩| 一区二区三区日韩在线观看| 国产91免费视频| 超碰在线免费97| 免费v片在线观看| 日韩一区有码在线| 久久久久久久有限公司| 国产精品欧美激情在线| 91av一区| 色综合久久综合| 国产激情在线看| 欧美性xxxx极品hd欧美| 精品一区电影| 亚洲国产福利在线| 性生交大片免费看l| 人猿泰山h版在线观看| 蜜桃av一区二区在线观看| 欧美激情第三页| 国产67194| 性欧美猛交videos| 中文字幕av一区 二区| 精品一区2区三区| 精品欧美在线观看| 欧美影院天天5g天天爽| 日韩午夜av一区| 超碰91在线播放| 成人xxxx| thepron国产精品| 国产伦精品一区| 亚洲熟妇av一区二区三区| www.色香蕉| 日本在线播放一区二区三区| 91国产在线精品| 国产一级av毛片| 大胆人体一区二区| 色天天综合久久久久综合片| 日日摸日日碰夜夜爽无码| 品天堂xxxx高清| 久久这里只有| 国产美女扒开尿口久久久| 亚洲中文字幕一区二区| 亚洲精品在线播放| 亚洲护士老师的毛茸茸最新章节 | 四色最新网址| 亚洲乱码久久| 国产91在线播放| 伊人久久久久久久久久久久| 亚洲三级电影| 日韩欧美在线1卡| 欧美成人三级伦在线观看| 色大18成网站www在线观看| 亚洲三级久久久| 每日在线观看av| 国产女主播在线| av在线不卡免费看| 视频一区二区三区免费观看| 国产伊人网av.| 男人的天堂亚洲在线| 国产精品91久久| 国产成人精品a视频| 日韩精品一区二区三区免费观看| 久久色精品视频| 国产黄色片免费看| 嫩呦国产一区二区三区av| 精品播放一区二区| 欧美大波大乳巨大乳| 天堂电影一区| 日韩一区二区三区在线观看| 精品少妇一区二区三区免费观 | 国产老女人精品毛片久久| 好吊色欧美一区二区三区 | 大色综合视频网站在线播放| 不卡av电影院| 亚洲欧美一二三区| 亚洲尤物av| 性欧美亚洲xxxx乳在线观看| 国产一区二区在线播放视频| 亚洲破处大片| 国产精品久久久久久久久久新婚| 成人精品在线播放| 精品动漫一区| 91精品天堂| 国产精品一区牛牛影视| 激情久久久久久久久久久久久久久久| 久久久久一区二区| 天天摸夜夜操| 国产欧美精品在线观看| 国产aaa一级片| a√资源在线| 欧美日韩日本视频| 久久久久久国产免费a片| 亚洲国产91视频| 在线播放国产精品| 波多野结衣一区二区三区四区| 区一区二视频| 国产一区二区在线播放| 亚洲欧美激情一区二区三区| 综合久久2019| 精品福利一二区| 国产污污视频在线观看| 欧美成人milf| 91美女片黄在线观| 欧洲一级毛片| 中文一区二区在线观看| 午夜精品久久久久久久99热影院| 影音先锋男人资源在线| 精品福利一二区| 国产精品sm调教免费专区| 亚洲一级网站| 欧美成人dvd在线视频| 精产国产伦理一二三区| 亚洲www啪成人一区二区麻豆| 日韩精品一区二区三区高清免费| 国产综合色激情| 久久久久九九九九| 美女视频一区二区三区在线 | 久久这里只有精品视频首页| av天堂一区二区三区| 免费视频久久| 尤物国产精品| yourporn在线观看视频| 日韩一区二区电影在线| 天堂中文在线网| 日韩午夜高潮| 亚洲一区二区高清视频| 激情小说 在线视频| 欧美一区二区三区思思人| 国产情侣在线视频| 亚洲精品男同| 亚洲黄色网址在线观看| 久草免费在线| 色噜噜狠狠狠综合曰曰曰| 少妇高潮一区二区三区69| 成人av电影在线观看| 亚洲久久中文字幕| 视频欧美精品| 国产精品久久久久久久久久久久久久 | 亚洲图片有声小说| 国产又粗又长免费视频| 久久综合av| 日日噜噜噜噜夜夜爽亚洲精品| 九色视频成人自拍| 亚洲日本欧美中文幕|