国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

為什么要學(xué)單片機?

發(fā)布時間:2013-9-17 10:59    發(fā)布者:edu118gct
關(guān)鍵詞: 單片機
一、單片機與傳統(tǒng)電子技術(shù)的區(qū)別
   
當(dāng)今社會,應(yīng)用單片機的產(chǎn)品已經(jīng)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的足跡。現(xiàn)在,這種單片機的使用領(lǐng)域已十分廣泛,如智能儀表、實時工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等,這些都離不開單片機。因此,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機應(yīng)用與智能化控制的工程師和科學(xué)家。科技越發(fā)達(dá),智能化的東西就越多。學(xué)習(xí)單片機是社會發(fā)展的必然需求,也是電子愛好者和工程師的必修課。
   
早期的大部分電子儀器和設(shè)備,不是成本太高就是電路復(fù)雜,工程師要維護(hù)它要花很多精力和時間,想要更改它的功能更加困難。而單片機強大的功能應(yīng)付這些將會使您得心應(yīng)手,當(dāng)然前提是您必需要去了解和學(xué)習(xí)它。
   
從事單片機技術(shù)的研發(fā)工程師都屬于高職位、高薪水崗位。據(jù)調(diào)查,截止2006年,我國的單片機從業(yè)人員250萬人。隨著社會的發(fā)展,單片機的從業(yè)人員將更為搶手。據(jù)不完全統(tǒng)計,到2010年,我國單片機設(shè)計從業(yè)人員將達(dá)400萬人之多。培養(yǎng)單片機應(yīng)用人才,特別是具有最新現(xiàn)代單片機技術(shù)和實踐經(jīng)驗的工程師具有著重要的現(xiàn)實意義。

二、什么是單片機?單片機有什么用?
   
如果說單片機和我們用的電腦的在本質(zhì)上沒有什么區(qū)別,你一定感到驚訝(一個芯片)...這并不奇怪。而事實就是這樣理解的:單片機是一個簡單卻又是完整的計算機系統(tǒng),麻雀雖小,五臟俱全,它被集成到一個芯片上。它內(nèi)部也用和電腦功能類似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可......但用它來做一些控制電器一類不是太復(fù)雜的工作足夠了。我們現(xiàn)在用的全自動滾筒洗衣機,排煙罩VCD等等的家電里面都可以看到它的身影!......它主要是作為控制部分的核心部件。
   
單片機是靠程序的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨特的一些功能,這是別的器件需要費很大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復(fù)雜的功能要是用美國50年代開發(fā)的74系列,或者60年代的CD4000系列這些純硬件來搞定的話,電路一定是一塊大PCB 板!但是如果要是用美國70年代成功投放市場的系列單片機,結(jié)果就會有天壤之別!只因為單片機的通過你編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性!
   
隨著超大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計算機的CPU、RAM、ROM、定時/計數(shù)器和多種I/O資源接口集成到一片芯片上,形成了芯片級的計算機。最早期的含義為單片微型計算機,又稱微控制器(Microcontroller),英文縮寫為“MCU”。
   
準(zhǔn)確地說單片機不叫IC,單片機不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括的講:一塊單片機芯片就成了一臺微型計算機。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。

可以說,二十世紀(jì)跨越了三個“電”的時代,即電氣時代、電子時代和現(xiàn)已進(jìn)入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成(如圖1所示)。還有一類計算機,大多數(shù)人卻不怎么熟悉。這種計算機就是把智能賦予各種機械的單片機(亦稱微控制器)。顧名思義,這種計算機的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡單運算和控制。因為它體積小,通常都藏在被控機械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了。各種產(chǎn)品一旦用上了單片機,就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞——“智能型”,如智能型洗衣機等。現(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來的某些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機或其它可編程邏輯器件。

三、單片機的主要特點
優(yōu)異的性能價格比
高集成度,高可靠性,體積小
電壓,低功耗
控制功能強大
豐富靈活的軟件編程
應(yīng)用領(lǐng)域廣泛,可涉及所有電子領(lǐng)域

四、學(xué)習(xí)單片機的條件  
   
目前單片機很多,學(xué)哪一個?8051、PIC、MS430、AVR還是其他型號?其實學(xué)哪一個都可以,單片機雖然型號不同,但是芯片內(nèi)部的資源種類都差不多,而且這些資源的使用方法也大同小異,可以說學(xué)會一種,其他種將融會貫通。究竟學(xué)哪一種,主要看具備的條件。
   
8051系列是老型號,是全球大名鼎鼎的CPU制作商美國INTEL公司奠定基礎(chǔ)而推向全球的,這種單片機目前雖不是功能最強大的,但卻是用得最廣泛而且但教學(xué)書最多、資料最多、軟件開放和硬件支持都很成熟的MCU芯片,各大單片機網(wǎng)站都有相關(guān)學(xué)習(xí)和例程資料。Atmel公司將其發(fā)揚光大,推出了FLASH型AT89的產(chǎn)品系列,現(xiàn)在流行的是AT89S51,52。很多人就是從這款單片機起家的。因此,本站推薦從51單片機入門。
   
學(xué)習(xí)單片機還得擁有以下基本的硬件和軟件:
個人PC(就是電腦)
單片機及常用外圍元件
編程器或下載線
實驗板和仿真
萬用表和工具(烙鐵等)
一本或幾本入門好書

學(xué)習(xí)單片機很難嗎?說不難是騙人的,說很難也是不負(fù)責(zé)任的,有難的地方,也有簡單的地方。總之,學(xué)單片機最主要的就是不斷地動手實踐!內(nèi)部結(jié)構(gòu)不懂不要怕,指令記不住不要怕,當(dāng)你有了實物一步一步的實踐,很快的,內(nèi)部結(jié)構(gòu)就會在你腦海中清晰,指令也會一條一條的記住,理解理論知識也就清晰了,并且也會使用了。
本文地址:http://m.qingdxww.cn/thread-121060-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
fdjlz78 發(fā)表于 2013-10-12 22:37:21
edu118gct 發(fā)表于 2013-10-13 17:50:17
不錯,學(xué)習(xí)了
DynamicCore 發(fā)表于 2013-11-18 20:58:00

簡單CPU設(shè)計實例

    有人已經(jīng)給你回答了為什么要學(xué)習(xí)單片機。我現(xiàn)在要給你誰說的是現(xiàn)代單片機設(shè)計制作的發(fā)展變化。
    現(xiàn)在我們設(shè)計制造單片機可以用現(xiàn)場可編程陣列器件FPGA來作。只要學(xué)習(xí)好硬件編程語言Verilog HDL或VHDL就可以達(dá)到目的,而不用去買那些現(xiàn)成的CPU芯片,也不用去購買什么編程器。過去設(shè)計單片機,一般要使用市場上出售的CPU芯片,例如80c51等,有時還要配上一些別人制造好的設(shè)備。現(xiàn)在你可以將所有的設(shè)備都集中在一個芯片中,自己設(shè)計運算器、存儲器、寄存器、控制器、模數(shù)轉(zhuǎn)換器、看門狗等一系列器件,按照自己的想法放到一個方寸不到的芯片中,使之成為一個名副其實的單片機。這種設(shè)計單片機的好處是用什么設(shè)計什么,不會讓多余的東西干擾你的作品,需要簡單就簡單,需要復(fù)雜就復(fù)雜。是不是很有意思?
   這樣設(shè)計的單片機,非常能夠培養(yǎng)你掌握單片機全部的能力,發(fā)揮你的創(chuàng)造精神,使你成為一個對單片機無所不知,無所不曉的計算機設(shè)計人才。國內(nèi)搞單片機的人最缺乏的是對CPU 的設(shè)計,大多數(shù)都在使用市場上購買的CPU,按照廠家的要求作中下游的進(jìn)一步開發(fā)。實際上,這種方法不僅效率不高,而且也影響我們對單片機的創(chuàng)新。因而突破CPU設(shè)計的門檻,掌握cpu設(shè)計技術(shù),我們就會對單片機的理解和設(shè)計都會有更高層次的發(fā)展。下面給你一個簡單的CPU設(shè)計程序,希望你能引導(dǎo)你盡快進(jìn)入單片機完整設(shè)計的大門。
//基本輸入時鐘clock
//復(fù)位控制:reset_n,低電位有效
//基本輸出:o
//程序存儲器iram,16位,高5位是類指令代碼,用imem16_1.mif初始化
//數(shù)據(jù)存儲器dram,16位,不用數(shù)據(jù)文件初始化
//用lpm存儲器地址數(shù)據(jù)信號要穩(wěn)定1拍,才可以讀寫數(shù)據(jù)
//指令格式:高5位指令代碼,11位地址碼,16位立即數(shù)(分高低8位)
module jdcpu
(
  clock,
  reset_n,
  o,
  //調(diào)試輸出(可以不要):
  opc,
  omar,
  ojp,
  oqw,
/*  olda,
  oadd,
  oout,
  osdal,
  osdah,
  ostr,
  osub,
  ojmp,
  ojz,
  ojn,
  ocall,
  oret,
  oir, */
  oda,
  ozf,osp
);
input clock;
input reset_n;
output [15:0] o;

output [15:0] oqw,oda;
output [10:0] opc,omar,osp;
output [2:0] ojp;
output  ozf; /*oiro,lda,oadd,oout,osdal,osdah,ostr,osub,
ojmp,ojz,ojn,ocall,oret,*/

reg   dwren,swren;
wire [15:0] q_w,q_data;
    reg  [15:0] ir;
reg  [15:0] b,a,da,oo,ddata;
reg  [10:0] pc,pc_back,mar,sp,q_s;
reg  [2:0] jp;  //節(jié)拍
//指令:
reg   lda, //取數(shù):從數(shù)據(jù)單元取數(shù)到da
    add, //加:da與數(shù)據(jù)單元相加,結(jié)果放入da
    out, //輸出:將數(shù)據(jù)單元內(nèi)容輸出到輸出寄存器
    sdal, //低8位立即數(shù):將8位立即數(shù)擴充為16位送da
    sdah, //高8位立即數(shù):將8位立即數(shù)作為高8位,與原da低8位連接成16位放在da中
    str, //da送數(shù)據(jù)存儲單元:
    sub, //減:da與數(shù)據(jù)單元相減,結(jié)果放入da
    jmp, //跳轉(zhuǎn)
    jz,  //da為0跳轉(zhuǎn)
    jn,  //da為負(fù)跳轉(zhuǎn)
    call, //調(diào)用子程序
    ret, //返回
    mult, //
    divi, //
    stp; //停止
//仿真信號輸出:
assign o    = oo;
assign opc  = pc;
assign osp  = sp;
assign omar = mar;
assign ojp = jp;
assign oqw = q_w;
assign olda=lda;
assign oadd=add;
assign osub=sub;
assign oout=out;
assign ojmp=jmp;
assign ostr=str;
assign osdal=sdal;
assign osdah=sdah;
assign ocall=call;
assign oret=ret;
assign ojz=jz;
assign ojn=jn;
assign oda=da;
assign oir=ir;
assign ozf=~|da;

//指令存儲器:  
lpm_rom iram(.address(pc),.inclock(clock),.q(q_w));  //程序存儲器
defparam iram.lpm_width = 16;
defparam iram.lpm_widthad = 11;
defparam iram.lpm_outdata = "UNREGISTERED";
defparam iram.lpm_indata = "REGISTERED";
defparam iram.lpm_address_control = "REGISTERED";
defparam iram.lpm_file = "liti3.mif";  //初始化文件,放置程序
//數(shù)據(jù)存儲器:
lpm_ram_dq dram(.data(ddata),.address(mar),.we(dwren),.inclock(clock),.q(q_data)); //數(shù)據(jù)存儲器
defparam dram.lpm_width = 16;
defparam dram.lpm_widthad = 10;
defparam dram.lpm_outdata = "UNREGISTERED";
defparam dram.lpm_indata = "REGISTERED";
defparam dram.lpm_address_control = "REGISTERED";

lpm_ram_dq sram(.data(pc_back),.address(sp),.we(swren),.inclock(clock),.q(q_s)); //堆棧
defparam sram.lpm_width = 11;
defparam sram.lpm_widthad = 10;
defparam sram.lpm_outdata = "UNREGISTERED";
defparam sram.lpm_indata = "REGISTERED";
defparam sram.lpm_address_control = "REGISTERED";

  always @(posedge clock or negedge reset_n)
begin
if (!reset_n)
begin
  pc    <= 0;
  sp  <= 0;
  lda  <= 0;   
  add  <= 0;   
  out  <= 0;
  sdal  <= 0;
  sdah  <= 0;
  str  <= 0;
  sub  <= 0;
  jmp  <= 0;
  jz   <= 0;
  jn   <= 0;
  call  <= 0;
  ret  <= 0;
  mult  <= 0;  
  divi  <= 0;
  jp  <= 0;
end
else
begin
// 節(jié)拍jp指出的狀態(tài):
  case (jp)
  0: begin
   jp <= 1;
   end
  1: begin
    case (q_w[15:11])
    5'b00001: lda  <= 1; //lda:00001
    5'b00010: add  <= 1; //add:00010
    5'b00011:   out  <= 1; //out:00011
    5'b00100:   sdal <= 1; //低8位,擴充有符號16位
    5'b00101:   sdah  <= 1; //高8位,與前面低8位輸入合成16位
    5'b00110:   str  <= 1; //da送數(shù)據(jù)單元
    5'b00111:   sub  <= 1;
    5'b01000:   jmp  <= 1;
    5'b01001:   if (da==0) jz   <= 1;
    5'b01010:   if (da[15]==1)  jn   <= 1;
    5'b01011:   call  <= 1;
    5'b01100:   ret  <= 1;
    5'b01101:   mult  <= 1;
    5'b01110:   divi  <= 1;
    5'b11111:   stp  <= 1;
    default:    jp <= 0;
    endcase
    jp <= 2;
   end
  2: begin
    case (q_w[15:11])
    5'b00001: begin  //lda  <= 1;
        mar<=q_w[10:0];
        jp <= 3;
       end
    5'b00010: begin  //add  <= 1;
        mar<=q_w[10:0];
        jp <= 3;
       end
    5'b00011:   begin  //out  <= 1;
        mar<=q_w[10:0];
        jp <= 3;
       end
     
    5'b00100:   begin  //sdal <= 1;
        da <= {{8{q_w[7]}},q_w[7:0]};        //擴充16位有符號數(shù)
        sdal<= 0;
        pc <= pc+1;
        jp<= 0;
       end
     
    5'b00101:   begin  //sdah  <= 1;
        da[15:0] <= {q_w[7:0],da[7:0]};
        sdah <= 0;
        pc <= pc+1;
        jp<= 0;
       end
     
    5'b00110:   begin  //str  <= 1;
        mar<=q_w[10:0];
        ddata <= da;
        jp <= 3;
       end
    5'b00111:   begin  //sub  <= 1;
        mar<=q_w[10:0];
        jp <= 3;
       end
   
    5'b01000:   begin  //jmp  <= 1;
        pc <= q_w[10:0];
        jmp <=0;
        jp <= 0;
       end
    5'b01001:   begin  //jz   <= 1;
        if (jz) pc <= q_w[10:0];
        else   pc <= pc+1;
        jz <=0;
        jp <= 0;
       end
   
    5'b01010:   begin  //jn   <= 1;
        if (jn) pc <= q_w[10:0];
        else   pc <= pc+1;
        jn<=0;
        jp <= 0;
       end
    5'b01011:   begin  //call  <= 1;
         pc_back <= pc+1;
         jp <= 3;
       end
    5'b01100:   begin  //ret  <= 1;
         jp <= 3;
       end
    5'b01101: begin  //mult <= 1;
        mar<=q_w[10:0];
        jp <= 3;
       end
    5'b01110: begin  //divi  <= 1;
        mar<=q_w[10:0];
        jp <= 3;
       end
    5'b11111: jp<=0;
    default:    jp <= 0;
    endcase
   end
  3: begin
    case (q_w[15:11])
    5'b00001: begin  //lda  <= 1;
        jp <= 4;
       end
    5'b00010: begin  //add  <= 1;
        jp <= 4;
       end
      
    5'b00011:   begin  //out  <= 1;
        jp <= 4;
       end
     
    5'b00110:   begin  //str  <= 1;
        dwren <= 1;
        jp <= 4;     
       end
    5'b00111:   begin  //sub  <= 1;
        jp <= 4;
       end
   
    5'b01011:   begin  //call  <= 1;
         pc <= q_w[10:0];
         swren <= 1;
         jp <= 4;
       end
    5'b01100:   begin  //ret  <= 1;
         sp <= sp-1;
         jp <= 4;
       end
    5'b01101: begin  //mult  <= 1;
        jp <= 4;
       end
    5'b01110: begin  //divi <= 1;
        jp <= 4;
       end
    default:    jp <= 0;
    endcase
   end
   
  4: begin
    case (q_w[15:11])
    5'b00001: begin  //lda  <= 1;
        da<=q_data;
        pc <= pc+1;
        jp <= 0;
        lda<= 0;
       end
    5'b00010: begin  //add  <= 1;
        b<=q_data;
        a<=da;
        jp <= 5;
       end
    5'b00011:   begin  //out  <= 1;
        oo <= q_data;
        pc <= pc+1;
        jp <= 0;
        out<= 0;
       end
     
    5'b00110:   begin  //str  <= 1;
        jp <= 5;     
       end
    5'b00111:   begin  //sub  <= 1;
        b<=q_data;
        a<=da;
        jp <= 5;
       end
   
    5'b01011:   begin  //call  <= 1;
         sp <= sp+1;
         jp <= 5;
       end
    5'b01100:   begin  //ret  <= 1;
         jp <= 5;
       end
    5'b01101: begin  //mult  <= 1;
        b<=q_data;
        a<=da;
        jp <= 5;
       end
    5'b01110: begin  //divi  <= 1;
        b<=q_data;
        a<=da;
        jp <= 5;
       end              
    default:    jp <= 0;
    endcase
   end
   5: begin
    case (q_w[15:11])
    5'b00010: begin  //add  <= 1;
        da<=a+b;
        pc <= pc+1;
        add <=0;
        jp <= 0;
       end
     
    5'b00110:   begin  //str  <= 1;
        dwren <= 0;
        pc <= pc+1;
        str <=0;
        jp <= 0;     
       end
    5'b00111:   begin  //sub  <= 1;
        da<=a-b;
        pc <= pc+1;
        sub<=0;
        jp <= 0;
       end
    5'b01011:   begin  //call  <= 1;
         swren <= 0;
         call<=0;
         jp<=0;
       end
    5'b01100:   begin  //ret  <= 1;
         pc <= q_s;
         ret<=0;
         jp <= 0;
       end
    5'b01101: begin  //mult  <= 1;
        da <=a*b;
        pc <= pc+1;
        mult <=0;
        jp <= 0;      
       end
    5'b01110: begin  //divi  <= 1;
        da <=a/b;
        pc <= pc+1;
        divi <=0;
        jp <= 0;      
       end      
    default:    jp <= 0;
    endcase
   end
  endcase
end
end
  endmodule

//////  仿真實例: 求64*8且輸出循環(huán)次數(shù) ////////
//
//   匯編   編譯     
//   sdal 1   2001  
//   str one   3001
//   sub one   3801
//   str result  3002
//   str n   3005
//   sdal 64   2040
//   str x   3003
//   sdal 8   2008
//   str y   3004
//loop:  lda y   0804
//   jz exit  4812
//   sub one   3801
//   str y   3004
//   lda result  0802
//   add x   1003
//   str result  3002
//   call loopno  5814
//   jmp loop  4009
//exit:  out result  1802
//   stp    ffff
//loopno: lda n   0805
//   add one   1001
//   str n   3005
//   out n   1805
//   ret    6000
//     
//  將編譯的16進(jìn)制數(shù)寫入imem16_1.mif  
//         
///////  16進(jìn)制結(jié)果輸出:0200  //////////////////
//
////驗證CPU的實例3: 求8!且輸出結(jié)果。
//
//   匯編   編譯     
//   sdal 1   2001  
//   str one   3001
//   str result  3002
//   sdal 8   2008
//   str x   3003
//loop:  lda x   0803
//   jz exit  480D
//   mult  result 6802  
//   str result  3002
//   lda x   0803
//   sub one   3801
//   str x   3003
//   jmp loop  4005
//exit:  out result  1802
//   stp    ffff
//將編譯的16進(jìn)制數(shù)寫入imem16_2013.mif

/////// 如果下載到開發(fā)板檢查運行情況,各輸出之間要加延時子程序。
//
//畢業(yè)設(shè)計:擴充設(shè)計一個功能完備的計算機,并在PMC110計算機開發(fā)板上下載運行。

JZS 發(fā)表于 2013-12-3 16:02:00
edu118gct 發(fā)表于 2013-12-6 17:13:15
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉(zhuǎn)USB橋接器以及基于CAN的主機和自舉程序應(yīng)用程序
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产盗摄一区二区欧美精品 | 日韩欧美视频一区二区在线观看 | 四虎www成人影院免费观看 | 国产在线视频自拍 | 亚洲欧美视频在线观看 | 99久久国产综合精品2020 | 手机看片国产永久1204 | 麻豆精品视频 在线视频 | 国产激情视频在线观看 | 五月天在线网站 | 在线看欧美三级中文经典 | 日本网站在线播放 | 国产成人免费在线观看 | 四虎永久免费地址在线观看 | h视频在线观看免费 | 日韩精品视频在线观看免费 | 1024国产精品视频观看 | 亚洲精品免播放器在线观看 | 四虎成人国产精品视频 | 国产精品视频久久久 | 欧美成人www在线观看网页 | 欧美黄色片免费观看 | 国产麻豆免费观看 | 午夜在线观看视频在线播放版 | 国产成人久久综合二区 | 欧美在线免费观看 | 国产精品极品美女自在线观看免费 | 91人人视频 | 国产网红在线 | 中国黄色一级视频 | 日韩精品第一 | 国产成人亚洲合集青青草原精品 | 日本黄色网站大全 | 热99精品只有里视频最新 | 狠狠色丁香婷婷综合久久片 | 四虎hk网址 | 国产91极品福利手机观看 | 国产一级特黄aa级特黄裸毛片 | 这里只有精品99re在线 | 色五月婷婷成人网 | 免费在线观看污视频网站 |