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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 14170|回復(fù): 16
打印 上一主題 下一主題
收起左側(cè)

我做的EDA密碼鎖仿真Quartus II課程設(shè)計(jì)報(bào)告

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
此程序目前只能仿真實(shí)現(xiàn),稍作修改便可以做成實(shí)物。

EDA課程設(shè)計(jì)報(bào)告

課程設(shè)計(jì)名稱:電子密碼鎖

院系:機(jī)械與電子信息工程系

專業(yè):電子信息工程

班級(jí):1430402

學(xué)號(hào):20143*0228

姓名:吳*琴

指導(dǎo)老師:蔡*民


2017年6月
  • 實(shí)驗(yàn)?zāi)康模?/font>

利用基于所學(xué)EDA相關(guān)知識(shí)以Quartus II 軟件設(shè)計(jì)一個(gè)具有較高安全性和較低成本的通用電子密碼鎖,其具體功能要求如下:

  • 密碼輸入:每按下一個(gè)數(shù)字鍵,就輸入一個(gè)數(shù)值,并在顯示器上的最左方顯示‘*’號(hào),輸入第二個(gè)數(shù)值后,最左方顯示兩個(gè)‘*’號(hào),直到輸入完8位數(shù)值密碼后,顯示器上顯示出8個(gè)‘*’號(hào)。輸入完成8位數(shù)值密碼后,輸入的數(shù)值無(wú)效。
  • 密碼清除:按下此鍵可以撤銷前一次輸入的密碼。
  • 密碼更改:在開(kāi)鎖狀態(tài)下按下此鍵時(shí)會(huì)將目前的數(shù)字設(shè)定成新的密碼,其它狀態(tài)密碼更改無(wú)效。
  • 解除電鎖:按下此鍵會(huì)檢查輸入的密碼是否正確,密碼正確即開(kāi)鎖。
  • 警報(bào):密碼在連續(xù)三次輸入錯(cuò)誤之后,電子密碼鎖會(huì)發(fā)出警報(bào)。
  • 實(shí)驗(yàn)內(nèi)容
  • 新建工程dianzimimasuo
  • 新建Verilog HDL File
選擇菜單File,選擇New選項(xiàng),根據(jù)所使用的硬件描述語(yǔ)言類型選擇相應(yīng)的新建文件型(Verilog HDL File)。                           
  • 輸入程序
  • 編譯
  • 仿真

三.任務(wù)分析和設(shè)計(jì)方案

作為通用電子密碼鎖,主要由三個(gè)部分組成:數(shù)字密碼輸入電路,密碼鎖控制電路和密碼顯示電路。

各個(gè)模塊電路的選取:

  • 數(shù)字密碼輸入電路采用4x4矩陣鍵盤(pán)。

(1)4x4矩陣鍵盤(pán)的工作原理:矩陣鍵盤(pán)又稱為行列式鍵盤(pán),它是由4條行線,4條列線組成的鍵盤(pán),其原理如圖1.1所示,在行線和列線的每個(gè)交叉點(diǎn)上,設(shè)置一個(gè)按鍵,按鍵的個(gè)數(shù)是4x4個(gè),按鍵排列如圖1.2所示。當(dāng)按下某個(gè)按鍵后,為了辨別和讀取鍵值信息,一般采用如下的方法:向X端口掃描輸入一組只含一個(gè)0的4位數(shù)據(jù),如1110,1101,1011,0111,如有按鍵按下,則Y口一定會(huì)輸出對(duì)應(yīng)的數(shù)據(jù),因此,只要結(jié)合X,Y口的數(shù)據(jù),就能判斷按鍵的位置。

     圖1.1  4x4矩陣鍵盤(pán)電路


圖片詳見(jiàn)51hei附件)


                                     圖1.2按鍵排列

(2)4x4矩陣鍵盤(pán)檢測(cè)程序:如下是用Verilog編寫(xiě)的4x4矩陣鍵盤(pán)鍵值掃描判斷程序,鍵盤(pán)掃描程序由1個(gè)always模塊構(gòu)成,在always模塊中先進(jìn)行模4計(jì)數(shù),在計(jì)數(shù)器的每個(gè)狀態(tài)從FPGA內(nèi)部送出一列掃描數(shù)據(jù)給鍵盤(pán),然后讀入經(jīng)過(guò)去抖處理的4行數(shù)據(jù),根據(jù)行,列數(shù)據(jù),確定按下的是哪個(gè)鍵。

//按鍵模塊

module scankey(clk,a,b,keyvalue);

input clk;                 //鍵盤(pán)掃描時(shí)鐘信號(hào)

input [3:0]b;

output reg[3:0]a;                                          //輸出掃描信號(hào)給鍵盤(pán)

output reg [3:0]keyvalue;

reg [1:0]q;

reg [3:0] qdb;//消抖后的b

reg [3:0]rxbuf;

always @( posedge clk) begin //按鍵消抖

rxbuf[0] <= b[0];

qdb[0] <= ~(rxbuf[0] & (~b[0]));

end

always @( posedge clk) begin //按鍵消抖

rxbuf[1] <= b[1];

qdb[1] <= ~(rxbuf[1] & (~b[1]));

end

always @( posedge clk) begin //按鍵消抖

rxbuf[2] <= b[2];

qdb[2] <= ~(rxbuf[2] & (~b[2]));

end

always @( posedge clk) begin //按鍵消抖

rxbuf[3] <= b[3];

qdb[3] <= ~(rxbuf[3] & (~b[3]));

end

always@(posedge clk)

begin q<=q+1;

case(q)                                                                      //給a口送出掃描數(shù)據(jù)

0:a<=4'b1110;

1:a<=4'b1101;

2:a<=4'b1011;

3:a<=4'b0111;

endcase

case({a,qdb})                                                                      //判斷鍵值

8'b1110_0111:keyvalue<=4'b0000;              //key0

8'b1110_1011:keyvalue<=4'b0001;              //key1

8'b1110_1101:keyvalue<=4'b0010;

8'b1110_1110:keyvalue<=4'b0011;

8'b1101_0111:keyvalue<=4'b0100;

8'b1101_1011:keyvalue<=4'b0101;

8'b1101_1101:keyvalue<=4'b0110;

8'b1101_1110:keyvalue<=4'b0111;

8'b1011_0111:keyvalue<=4'b1000;

8'b1011_1011:keyvalue<=4'b1001;              //key9

8'b1011_1101:keyvalue<=4'b1010;              //keyA

8'b1011_1110:keyvalue<=4'b1011;

8'b0111_0111:keyvalue<=4'b1100;

8'b0111_1011:keyvalue<=4'b1101;

8'b0111_1101:keyvalue<=4'b1110;              //keyE

8'b0111_1110:keyvalue<=4'b1111;              //keyF

default:keyvalue=8'b1111_1111;

endcase

end

Endmodule

  • 密碼顯示電路采用8個(gè)七段數(shù)碼管顯示密碼輸入狀態(tài),綠色發(fā)光二極管指示鎖的開(kāi)閉狀態(tài),黃色發(fā)光二極管指示密碼修改成功與否,紅色發(fā)光二極管指示警報(bào)狀態(tài)。
  • 密碼鎖控制電路采用EP4CE10F17C8芯片控制。

根據(jù)以上選定的輸入設(shè)備和顯示器件,并考慮到實(shí)現(xiàn)各項(xiàng)數(shù)字密碼鎖功能的具體要求,整個(gè)電子密碼鎖系統(tǒng)的總體組成框圖如圖1.3所示。

(1)密碼鎖輸入電路包括時(shí)序產(chǎn)生電路,鍵盤(pán)掃描電路,鍵盤(pán)彈跳消除電路,鍵盤(pán)譯碼電路等幾個(gè)小的功能電路。

(2)密碼鎖控制電路包括按鍵數(shù)據(jù)的緩沖存儲(chǔ)電路,密碼的清除,變更,存儲(chǔ),密碼核對(duì)(數(shù)值比較電路),解鎖電路(開(kāi)/關(guān)門(mén)鎖電路)等幾個(gè)小的功能電路。

(3)七段數(shù)碼管顯示電路主要將待顯示數(shù)據(jù)的BCD碼轉(zhuǎn)換成數(shù)碼器的七段顯示驅(qū)動(dòng)編碼。

(詳見(jiàn)51hei附件)

   密碼控制電路

顯示電路

     七段數(shù)碼管

圖1.3數(shù)字電子密碼鎖系統(tǒng)總體框圖

總體設(shè)計(jì)方案:

采用主,從兩個(gè)狀態(tài)機(jī)來(lái)完成8位電子密碼鎖設(shè)計(jì)。

主狀態(tài)機(jī)用來(lái)完成waits(等待)狀態(tài),pass(開(kāi)鎖)狀態(tài),changing(改密)狀態(tài),alarm(警報(bào))狀態(tài)之間的切換。主狀態(tài)機(jī)狀態(tài)圖如圖2.1所示

(詳見(jiàn)51hei附件)

圖2.1主狀態(tài)機(jī)

主狀態(tài)機(jī)簡(jiǎn)要說(shuō)明:復(fù)位鍵(Resetb)為0,進(jìn)入等待(waits)狀態(tài);主現(xiàn)狀態(tài)為等待狀態(tài)且correct為1,主狀態(tài)進(jìn)入開(kāi)鎖(pass)狀態(tài);在開(kāi)鎖狀態(tài)延時(shí)10s后,主狀態(tài)回到等待狀態(tài);主現(xiàn)態(tài)為開(kāi)鎖狀態(tài)且mimagaile為1,主狀態(tài)進(jìn)入改密(changing)狀態(tài);在改密狀態(tài)延時(shí)10s后,主狀態(tài)回到等待狀態(tài);主現(xiàn)態(tài)為等待狀態(tài)且密碼連續(xù)輸入錯(cuò)誤3次,主狀態(tài)進(jìn)入警報(bào)(alarm)狀態(tài);在警報(bào)狀態(tài)延時(shí)1分鐘后,主狀態(tài)回到等待狀態(tài)。

從狀態(tài)機(jī)用于輸入8位密碼,程序如下:

always@(posedge clk or negedge resetb)

begin

      if(!resetb)

                            sub_state<=first;//從狀態(tài)為first

                            else

                            sub_state<=next_sub_state;//從狀態(tài)為下一個(gè)從狀態(tài)

end

                            always@(cmd or cmd_t or sub_state)

begin

      if(cmd_t==0)//檢測(cè)有按鍵按下

                            case(cmd)

                            cancel:begin //密碼輸入錯(cuò)誤時(shí),重復(fù)上一個(gè)狀態(tài)

                                                        if(sub_state==first)

                                                        next_sub_state=first;

                                                        else

                                                        case(sub_state)

                                                        second:next_sub_state=first;

                                                        third: next_sub_state=second;

                                                        fourth:next_sub_state=third;

                                                        fifth:next_sub_state=fourth;

                                                        sixth:next_sub_state=fifth;

                                                        seventh:next_sub_state=sixth;

                                                        eighth:next_sub_state=seventh;

                                                        finish:next_sub_state=eighth;

                                                        endcase

end

//4個(gè)密碼輸完時(shí),進(jìn)行確認(rèn)

enter:next_sub_state=first;

setmima:next_sub_state=first;

sure:next_sub_state=first;

//default為輸入了某位密碼,輸入完自動(dòng)將狀態(tài)轉(zhuǎn)入下一位

default:

                                          case(sub_state)

                                                                                    first:begin next_sub_state=second;dig=8'b00000001;end

                                                                                    second:begin next_sub_state=third;dig=8'b00000011;end

                                                                                    third:begin next_sub_state=fourth;dig=8'b00000111;end

                                                                                    fourth:begin next_sub_state=fifth;dig=8'b00001111;end

                                                                                    fifth:begin next_sub_state=sixth;dig=8'b00011111;end

                                                                                    sixth:begin next_sub_state=seventh;dig=8'b00111111;end

                                                                                    seventh:begin next_sub_state=eighth;dig=8'b01111111;end

                                                                                    eighth:begin next_sub_state=finish;dig=8'b11111111;end      //當(dāng)輸入完8位密碼后狀態(tài)保持不變,等待輸入enter命令

                                                                                    finish:begin next_sub_state=finish;dig=8'b11111111;end

                                          endcase

endcase

else

next_sub_state=sub_state;

end

從狀態(tài)機(jī)簡(jiǎn)要說(shuō)明:按下清除鍵后從狀態(tài)機(jī)狀態(tài)回到前一個(gè)狀態(tài),按下數(shù)字鍵后從狀態(tài)機(jī)為下一個(gè)狀態(tài)(即輸入下一位密碼)

四.實(shí)驗(yàn)結(jié)果

功能驗(yàn)證:

  • cmd為輸入命令用來(lái)代替按鍵驗(yàn)證功能,cmd=0000表示按鍵0,cmd=0001表示按鍵1,cmd=0010表示按鍵2,cmd=0011表示按鍵3,cmd=0100表示按鍵4,cmd=0101表示按鍵5,cmd=0110表示按鍵6,cmd=0111表示按鍵7,cmd=1000表示按鍵8,cmd=1001表示按鍵9,cmd=1010表示確認(rèn)鍵,cmd=1011表示清除鍵,cmd=1101表示改密鍵。
  • dig用來(lái)控制8個(gè)共陽(yáng)數(shù)碼管的公共端(即可以控制8個(gè)數(shù)碼管‘——’的亮滅來(lái)顯示密碼輸入到第幾位)。
  • passed輸出高電平表示開(kāi)鎖狀態(tài)。
  • resetmimaok輸出高電平表示修改密碼成功。
  • alarmed輸出高電平表示警報(bào)狀態(tài)。

圖3.1總體功能仿真結(jié)果(包含開(kāi)鎖,改密,清除,警報(bào),顯示密碼輸入到第幾位)

下面將總圖按功能分解分析:

圖3.2初始密碼開(kāi)鎖功能

初始密碼為11111111,如圖3.2中40ns開(kāi)始輸入密碼為11011111按下確認(rèn)鍵(1010)后密碼錯(cuò)誤passed保持低電平(電子鎖未打開(kāi)),接著輸入正確密碼(11111111)按下確認(rèn)鍵(1010)后密碼正確passed輸出高電平(電子鎖打開(kāi))。

圖3.3修改密碼功能

如圖3.3在passed為高(即開(kāi)鎖狀態(tài))輸入8位數(shù)字后按下改密鍵(1101)密碼被修改為11101111成功,resetmimaok輸出高電平。接著輸入初始密碼11111111按下確認(rèn)鍵(1010)passed保持低電平(電子鎖未打開(kāi))之后再隨便輸入一個(gè)錯(cuò)誤密碼,如圖3.3輸入01111110按下確認(rèn)鍵(1010)passed保持低電平(電子鎖未打開(kāi)),最后輸入修改后的密碼11101111按下確認(rèn)鍵(1010)passed輸出高電平(電子鎖打開(kāi))。

圖3.4輸入大于8個(gè)數(shù)字時(shí),前8位有效

如圖3.4中800ns處輸入密碼111011111按下確認(rèn)鍵(1010)后passed輸出高電平(電子鎖打開(kāi))說(shuō)明第九位數(shù)字1無(wú)效。

圖3.5三次連續(xù)輸錯(cuò)密碼后警報(bào)

如圖3.5在950ns處開(kāi)始連續(xù)輸入錯(cuò)誤三次密碼后,alarmed輸出高電平表示發(fā)出警報(bào)。

圖3.6清除功能

如圖3.6在1.31us處輸入密碼1110113后按下清除鍵(1011)接著輸入11后,按下確認(rèn)鍵(1010)passed輸出高電平(電子鎖打開(kāi))。

五.存在的問(wèn)題及改進(jìn)分析

  • 存在的問(wèn)題:硬件電路該怎么做?如何把此設(shè)計(jì)做成實(shí)物?
  • 改進(jìn)分析:數(shù)碼管顯示模塊可以改為輸入數(shù)字后顯示輸入的數(shù)字一秒鐘后變?yōu)椤?’;可以增加一個(gè)管理員密碼,管理員密碼優(yōu)先級(jí)高于普通密碼,警報(bào)的解除只能靠輸入管理員密碼,輸入管理員密碼可以開(kāi)鎖和更改普通密碼。

六.實(shí)驗(yàn)心得及意見(jiàn)

通過(guò)這次設(shè)計(jì),使我對(duì)EDA產(chǎn)生了濃厚的興趣。特別是當(dāng)實(shí)現(xiàn)每個(gè)小功能成功時(shí),心里特別開(kāi)心。這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到的問(wèn)題,反映出來(lái)我的許多不足之處,我以后要努力克服缺點(diǎn)。雖然此設(shè)計(jì)在Quartus II 軟件上功能能夠大體上得到驗(yàn)證,但是離做出實(shí)物還差很遠(yuǎn)。一直沒(méi)有玩過(guò)實(shí)物開(kāi)發(fā)板,根本就不知道進(jìn)行硬件的連接,就連一個(gè)簡(jiǎn)單的程序都下載進(jìn)開(kāi)發(fā)板進(jìn)行驗(yàn)證。總的來(lái)說(shuō),這次設(shè)計(jì)的密碼鎖還是比較成功的,在設(shè)計(jì)中遇到了很多問(wèn)題,最后在同學(xué)和老師的辛勤的指導(dǎo)下外加上自己的努力,終于都得到了解決,因此很有成就感,終于覺(jué)得平時(shí)所學(xué)的知識(shí)有了實(shí)用的價(jià)值,達(dá)到了理論與實(shí)際相結(jié)合的目的。

最后說(shuō)一說(shuō)我對(duì)本課程一些意見(jiàn),該課程從開(kāi)始做實(shí)驗(yàn)到最后的課程設(shè)計(jì)都一直是在電腦上進(jìn)行仿真,沒(méi)有在板子上跑過(guò)程序,我覺(jué)得老師應(yīng)該在開(kāi)發(fā)板給我們演示簡(jiǎn)單的程序,這樣能夠帶動(dòng)我們大多數(shù)人的興趣,也能夠便于我們更快上手做一些簡(jiǎn)單的實(shí)物,提高大家學(xué)習(xí)的積極性。


七.附錄
程序:
  1. module dianzisuo(clk,resetb,cmd,cmd_t,alarmed,passed,resetmimaok,dig);
  2. input cmd_t;//輸入命令控制信號(hào)
  3. input clk;  //輸入時(shí)鐘信號(hào)
  4. input resetb;  //輸入復(fù)位信號(hào)
  5. input [3:0] cmd;//輸入命令信號(hào)
  6. output reg [7:0]dig;//位選輸出信號(hào)
  7. output alarmed; //輸出警報(bào)信號(hào)
  8. output passed;  //輸出通過(guò)信號(hào)
  9. output resetmimaok;  //輸出密碼修改成功信號(hào)
  10. reg alarmed;
  11. reg passed;
  12. reg resetmimaok;
  13. wire clk;
  14. wire resetb;
  15. wire [3:0]cmd;
  16. wire cmd_t;
  17. reg[22:0]CNT_R0;//clk1延時(shí)寄存器
  18. reg clk1;//clk為10ns時(shí)clk1為5ms周期脈沖                                
  19. reg [31:0]inputpassword;//輸入值存放寄存器
  20. reg [31:0]PASSWORD=32'b0001_0001_0001_0001_0001_0001_0001_0001;//初始密碼
  21. parameter zero=4'b0000,//0
  22.                          one=4'b0001,//1
  23.                          two=4'b0010,//2
  24.                          three=4'b0011,//3
  25.                          four=4'b0100,//4
  26.                          five=4'b0101,//5
  27.                          six=4'b0110,//6
  28.                          seven=4'b0111,//7
  29.                          eight=4'b1000,//8
  30.                          nine=4'b1001,//9
  31.                          enter=4'b1010,//確認(rèn)鍵
  32.                          cancel=4'b1011,//清除一位鍵
  33.                          setmima=4'b1100,//
  34.                          sure=4'b1101;//修改密碼鍵
  35. reg [3:0]main_state;//主現(xiàn)態(tài)
  36. reg [3:0]next_state;//主次態(tài)
  37. parameter waits=4'b0001,
  38.                          pass=4'b0010,
  39.                          alarm=4'b0100,
  40.                          changing=4'b1000;
  41. reg [3:0]sub_state;//從現(xiàn)態(tài)
  42. reg [3:0]next_sub_state;//從次態(tài)
  43. parameter first=4'b0000,
  44.                     second=4'b0001,
  45.                          third=4'b0010,
  46.                          fourth=4'b0100,
  47.                          fifth=4'b1000,
  48.                          sixth=4'b0011,
  49.                          seventh=4'b0101,
  50.                          eighth=4'b0110,
  51.                          finish=4'b0111;
  52. reg[7:0] pass_count;//通過(guò)計(jì)時(shí)寄存器
  53. reg[10:0] alarm_count;//警報(bào)計(jì)時(shí)寄存器
  54. reg[1:0] try_count;//嘗試次數(shù)寄存器
  55. reg[7:0] mima_count;//改密計(jì)時(shí)寄存器
  56. reg error;
  57. reg correct;
  58. reg mimagaile;
  59. //clk為10ns時(shí),clk1為5ms時(shí)鐘
  60. always @(posedge clk)
  61. begin
  62. CNT_R0 <= CNT_R0 + 1'b1;
  63. if(CNT_R0 < 5000000)
  64. begin
  65. clk1 <= 1;
  66. end else
  67. begin
  68. clk1 <= 0;
  69. end
  70. end
  71. //主狀態(tài)機(jī)部分
  72. always@(main_state or correct or error or try_count or pass_count or alarm_count or mimagaile)
  73. begin
  74. case(main_state)
  75. waits: if(correct==1)//由waits轉(zhuǎn)換到pass的條件
  76.                 begin
  77.                 next_state=pass;
  78.                 end
  79.                 else if(error==1&&try_count==2)
  80.                 next_state=alarm;//由waits轉(zhuǎn)換的alarm的條件
  81.                 else
  82.                 next_state=waits;
  83. pass: if(pass_count[7]==1)//由pass轉(zhuǎn)換到waits的條件
  84.                 next_state=waits;
  85.                 else if(mimagaile==1)//由pass轉(zhuǎn)換到changing的條件
  86.                 next_state=changing;
  87.                 else
  88.                 next_state=pass;
  89. changing:if(mima_count[7]==1)//由changing轉(zhuǎn)換到waits的條件
  90.                         next_state=waits;
  91.                         else
  92.                         next_state=changing;
  93. alarm:if(alarm_count[10]==1)//由alarm轉(zhuǎn)換到waits的條件
  94.                 next_state=waits;
  95.                 else
  96.                 next_state=alarm;
  97. default:next_state=waits;
  98. endcase
  99. end
  100. //alarm一段時(shí)間后,自動(dòng)進(jìn)入waits狀態(tài)
  101. //alarm定時(shí)器
  102. always@(posedge clk1 or negedge resetb)
  103. begin
  104. if(!resetb)
  105. alarm_count<=0;
  106. else if(main_state==alarm)//alarm狀態(tài)計(jì)時(shí)器alarm定時(shí)器加1
  107. alarm_count<=alarm_count+1;
  108. else
  109. alarm_count<=0;
  110. end
  111. //鎖pass以后計(jì)數(shù)開(kāi)始,當(dāng)規(guī)定的時(shí)間到達(dá)后自動(dòng)上鎖,并進(jìn)入waits狀態(tài)
  112. //pass定時(shí)器
  113. always@(posedge clk1 or negedge resetb)
  114. begin
  115. if(!resetb)
  116. pass_count<=0;
  117. else if(main_state==pass) //pass狀態(tài)計(jì)時(shí)器pass定時(shí)器加1
  118. pass_count<=pass_count+1;
  119. else
  120. pass_count<=0;
  121. end
  122. //changing以后計(jì)數(shù)開(kāi)始,當(dāng)規(guī)定的時(shí)間到達(dá)后自動(dòng)上鎖,并進(jìn)入waits狀態(tài)
  123. //changing定時(shí)器
  124. always@(posedge clk1 or negedge resetb)
  125. begin
  126. if(!resetb)
  127. mima_count<=0;
  128. else if(main_state==changing) //changing狀態(tài)計(jì)時(shí)器mima_count定時(shí)器加1
  129. mima_count<=mima_count+1;
  130. else
  131. mima_count<=0;
  132. end
  133. //狀態(tài)轉(zhuǎn)換
  134. always@(posedge clk or negedge resetb)
  135. begin
  136.         if(!resetb)//如果按下復(fù)位鍵,則主狀態(tài)為等待狀態(tài)
  137.         main_state<=waits;
  138.         else                        //如果沒(méi)按則進(jìn)入下一個(gè)狀態(tài)
  139.         main_state<=next_state;
  140. end
  141. //輸出控制部分
  142. always@(posedge clk or negedge resetb)
  143. begin
  144.                 if(!resetb)//復(fù)位按下時(shí),開(kāi)鎖輸出和報(bào)警輸出都為零
  145.                 begin
  146.                       passed<=0;
  147.                                 alarmed<=0;
  148.                                 resetmimaok<=0;
  149.                 end
  150.                 else if(main_state==pass)//當(dāng)主機(jī)狀態(tài)為pass時(shí)開(kāi)鎖
  151.                 begin
  152.                                 passed<=1;
  153.                                 alarmed<=0;
  154.                                 resetmimaok<=0;
  155.                 end
  156.                 else if(main_state==changing)//當(dāng)主機(jī)狀態(tài)為changing時(shí),改密碼
  157.                 begin
  158.                                 passed<=0;
  159.                                 alarmed<=0;
  160.                                 resetmimaok<=1;
  161.                 end
  162.                 else if(main_state==alarm)//當(dāng)主機(jī)狀態(tài)為alarm時(shí),警報(bào)
  163.                 begin
  164.                                 passed<=0;
  165.                                 alarmed<=1;
  166.                                 resetmimaok<=0;
  167.                 end
  168. end
  169. //從狀態(tài)機(jī),用于輸入8位密碼
  170. always@(posedge clk or negedge resetb)
  171. begin
  172.       if(!resetb)
  173.                 sub_state<=first;//從狀態(tài)為first
  174.                 else
  175.                 sub_state<=next_sub_state;//從狀態(tài)為下一個(gè)從狀態(tài)
  176. end
  177.                 always@(cmd or cmd_t or sub_state)
  178. begin
  179.       if(cmd_t==0)//檢測(cè)有按鍵按下
  180.                 case(cmd)
  181.                 cancel:begin //密碼輸入錯(cuò)誤時(shí),重復(fù)上一個(gè)狀態(tài)
  182.                                  if(sub_state==first)
  183.                                  next_sub_state=first;
  184.                                  else
  185.                                  case(sub_state)
  186.                                  second:next_sub_state=first;
  187.                                  third: next_sub_state=second;
  188.                                  fourth:next_sub_state=third;
  189.                                  fifth:next_sub_state=fourth;
  190.                                  sixth:next_sub_state=fifth;
  191.                                  seventh:next_sub_state=sixth;
  192.                                  eighth:next_sub_state=seventh;
  193.                                  finish:next_sub_state=eighth;
  194.                                  endcase
  195. end
  196. //4個(gè)密碼輸完時(shí),進(jìn)行確認(rèn)
  197. enter:next_sub_state=first;
  198. setmima:next_sub_state=first;
  199. sure:next_sub_state=first;
  200. //default為輸入了某位密碼,輸入完自動(dòng)將狀態(tài)轉(zhuǎn)入下一位
  201. default:
  202.                         case(sub_state)
  203.                                                 first:begin next_sub_state=second;dig=8'b00000001;end
  204.                                                 second:begin next_sub_state=third;dig=8'b00000011;end
  205.                                                 third:begin next_sub_state=fourth;dig=8'b00000111;end
  206.                                                 fourth:begin next_sub_state=fifth;dig=8'b00001111;end
  207.                                                 fifth:begin next_sub_state=sixth;dig=8'b00011111;end
  208.                                                 sixth:begin next_sub_state=seventh;dig=8'b00111111;end
  209.                                                 seventh:begin next_sub_state=eighth;dig=8'b01111111;end
  210.                                                 eighth:begin next_sub_state=finish;dig=8'b11111111;end      //當(dāng)輸入完8位密碼后狀態(tài)保持不變,等待輸入enter命令
  211.                                                 finish:begin next_sub_state=finish;dig=8'b11111111;end
  212.                         endcase
  213. endcase
  214. else
  215. next_sub_state=sub_state;
  216. end
  217. //記錄密碼
  218. always@(posedge clk or negedge resetb)
  219. begin
  220.           if(!resetb)
  221.           inputpassword<=0;
  222.           else if(cmd_t==0)
  223.                 case(sub_state)
  224.                         first:inputpassword[31:28]<=cmd[3:0];
  225.                         second:inputpassword[27:24]<=cmd[3:0];
  226.                         third:inputpassword[23:20]<=cmd[3:0];
  227.                         fourth:inputpassword[19:16]<=cmd[3:0];
  228.                         fifth:inputpassword[15:12]<=cmd[3:0];
  229.                         sixth:inputpassword[11:8]<=cmd[3:0];
  230.                         seventh:inputpassword[7:4]<=cmd[3:0];
  231.                         eighth:inputpassword[3:0]<=cmd[3:0];
  232.                         default:inputpassword<=inputpassword;
  233.                 endcase
  234.                 else
  235.                 inputpassword<=inputpassword;
  236.                 end
  237.                 //比較密碼
  238.                 always@(posedge clk or negedge resetb)
  239.                 begin
  240.                 if(!resetb)//如果復(fù)位鍵按下則正確,錯(cuò)誤都清零
  241.                    begin
  242.                                 correct<=0;
  243.                                 error<=0;
  244.                         end
  245.                 else if(cmd_t==0&&cmd==enter)//當(dāng)按鍵按下,且是enter鍵按下時(shí)對(duì)密碼進(jìn)行比較
  246.                                 if(inputpassword==PASSWORD)//密碼正確時(shí)correct=1
  247.                                 begin
  248.                                         correct<=1;
  249.                                         error<=0;
  250.                                 end
  251.                                 else //密碼錯(cuò)誤時(shí),error為1
  252.                                 begin
  253.                                                 error<=1;
  254.                                                 correct<=0;
  255.                                 end
  256.                                 else
  257.                                         begin
  258.                                                 correct<=0;
  259.                                                 error<=0;
  260.                                                 end
  261. end
  262. //修改密碼
  263. always@(posedge clk )
  264. begin
  265. if(cmd_t==0&&cmd==sure)
  266.     begin
  267.          PASSWORD<=inputpassword;
  268.          mimagaile<=1;
  269.          end
  270. else
  271. mimagaile<=0;
  272. end
  273. //記錄錯(cuò)誤次數(shù)
  274. always@(posedge clk or negedge resetb)
  275. begin
  276. if(!resetb)//復(fù)位時(shí)密碼重試次數(shù)清零
  277.         try_count<=0;
  278.         else
  279.         if(error==1)//當(dāng)輸入密碼錯(cuò)誤時(shí),重試次數(shù)加1
  280.         try_count<=try_count+2'b01;
  281.         else if(main_state==pass||main_state==alarm)//當(dāng)有一次成功,重試次數(shù)超過(guò)三次后,進(jìn)入報(bào)警后重試次數(shù)清零
  282.                         try_count<=0;
  283.                         end
  284.         endmodule
  285. //按鍵模塊
  286. module scankey(clk,a,b,keyvalue);
  287. input clk;
  288. input [3:0]b;
  289. output reg[3:0]a;
  290. output reg [3:0]keyvalue;
  291. reg [1:0]q;
  292. reg [3:0] qdb;//消抖后的b
  293. reg [3:0]rxbuf;
  294. always @( posedge clk) begin //按鍵消抖
  295. rxbuf[0] <= b[0];
  296. qdb[0] <= ~(rxbuf[0] & (~b[0]));
  297. end
  298. always @( posedge clk) begin //按鍵消抖
  299. rxbuf[1] <= b[1];
  300. qdb[1] <= ~(rxbuf[1] & (~b[1]));
  301. end
  302. always @( posedge clk) begin //按鍵消抖
  303. rxbuf[2] <= b[2];
  304. qdb[2] <= ~(rxbuf[2] & (~b[2]));
  305. end
  306. always @( posedge clk) begin //按鍵消抖
  307. rxbuf[3] <= b[3];
  308. qdb[3] <= ~(rxbuf[3] & (~b[3]));
  309. end
  310. always@(posedge clk)
  311. begin q<=q+1;
  312. case(q)
  313. 0:a<=4'b1110;
  314. 1:a<=4'b1101;
  315. 2:a<=4'b1011;
  316. 3:a<=4'b0111;
  317. endcase
  318. case({a,qdb})
  319. 8'b1110_0111:keyvalue<=4'b0000;//按鍵0
  320. 8'b1110_1011:keyvalue<=4'b0001;//按鍵1
  321. 8'b1110_1101:keyvalue<=4'b0010;
  322. 8'b1110_1110:keyvalue<=4'b0011;
  323. 8'b1101_0111:keyvalue<=4'b0100;
  324. 8'b1101_1011:keyvalue<=4'b0101;
  325. 8'b1101_1101:keyvalue<=4'b0110;
  326. 8'b1101_1110:keyvalue<=4'b0111;
  327. 8'b1011_0111:keyvalue<=4'b1000;//按鍵8
  328. 8'b1011_1011:keyvalue<=4'b1001;//按鍵9
  329. 8'b1011_1101:keyvalue<=4'b1010;//確認(rèn)鍵
  330. 8'b1011_1110:keyvalue<=4'b1011;//清除鍵
  331. 8'b0111_0111:keyvalue<=4'b1100;
  332. 8'b0111_1011:keyvalue<=4'b1101;//改密鍵
  333. 8'b0111_1101:keyvalue<=4'b1110;
  334. 8'b0111_1110:keyvalue<=4'b1111;


  335. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

完整論文下載(word格式 可編輯):
EDA電子密碼鎖課程設(shè)計(jì)報(bào)告.docx (673.02 KB, 下載次數(shù): 189)



評(píng)分

參與人數(shù) 2黑幣 +11 收起 理由
2457514212 + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
這貨不是小武啊 + 6 贊一個(gè)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏10 分享淘帖 頂1 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2017-6-28 16:22 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:235109 發(fā)表于 2017-9-24 21:41 | 只看該作者
感謝!!十分實(shí)用~~
回復(fù)

使用道具 舉報(bào)

地板
ID:335906 發(fā)表于 2018-5-22 19:05 | 只看該作者
感謝樓主,我的畢設(shè)課題和這個(gè)有相似之處,很有用
回復(fù)

使用道具 舉報(bào)

5#
ID:361408 發(fā)表于 2018-6-28 22:37 來(lái)自觸屏版 | 只看該作者
樓主其他的怎么看
回復(fù)

使用道具 舉報(bào)

6#
ID:538262 發(fā)表于 2019-5-14 19:57 | 只看該作者
感謝十分有用!
回復(fù)

使用道具 舉報(bào)

7#
ID:511206 發(fā)表于 2019-5-23 22:35 | 只看該作者
優(yōu)秀
回復(fù)

使用道具 舉報(bào)

8#
ID:495974 發(fā)表于 2019-7-4 16:59 | 只看該作者
有沒(méi)有實(shí)物圖啊
回復(fù)

使用道具 舉報(bào)

9#
ID:514848 發(fā)表于 2019-12-17 16:48 | 只看該作者
優(yōu)秀,我拿去借鑒了
回復(fù)

使用道具 舉報(bào)

10#
ID:790676 發(fā)表于 2020-6-27 09:25 | 只看該作者
很有幫助,借鑒一下
回復(fù)

使用道具 舉報(bào)

11#
ID:806589 發(fā)表于 2020-7-22 09:38 | 只看該作者
很有幫助,想看之后的代碼
回復(fù)

使用道具 舉報(bào)

12#
ID:777603 發(fā)表于 2020-11-20 20:22 | 只看該作者
優(yōu)秀,拿去借鑒了

回復(fù)

使用道具 舉報(bào)

13#
ID:830608 發(fā)表于 2020-12-2 10:27 | 只看該作者
666可以的挺有用的
回復(fù)

使用道具 舉報(bào)

14#
ID:839981 發(fā)表于 2021-1-14 15:36 | 只看該作者
你好,有關(guān)于引腳鎖定的代碼嗎
回復(fù)

使用道具 舉報(bào)

15#
ID:839981 發(fā)表于 2021-1-14 15:37 | 只看該作者
你好,有關(guān)于引腳鎖定的代碼嗎?
回復(fù)

使用道具 舉報(bào)

16#
ID:1054542 發(fā)表于 2022-11-29 11:34 | 只看該作者
樓主好了厲害,想學(xué)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
国产成人亚洲综合a∨婷婷图片| 成全视频在线播放大地| 高清欧美一区二区三区 | 国产一区二区三区四| ****av在线网毛片| 污视频在线免费| 青青精品视频播放| 五月婷婷激情综合网| 在线成人av| sm久久捆绑调教精品一区| 成人福利影院| 中文字幕乱伦视频| 一本岛在线视频| 国产精品视频色| 精品视频一区二区不卡| 免费成人在线观看| 国产高清亚洲| 宅男深夜免费观看视频| 欧美人与禽zozzo禽性配| 欧美a级黄色大片| 欧美激情综合色综合啪啪五月| 中文字幕一区二区三区色视频 | 天天色天天射天天干| 国产精品久久9| 色综合久久综合| 精品一区二区三区视频在线观看| 性感美女一区二区在线观看| 国产chinese男男gaygay网站 | 国产伦精品一区二区三毛| 欧美一区二区视频免费观看| 国产精品自拍av| 天堂久久av| 日本精品视频在线观看| 亚洲女人的天堂| 亚洲午夜91| 超级碰碰久久| 99视频高清| 岛国中文字幕| 国产午夜视频在线播放| 色欲av无码一区二区人妻| 欧美亚洲日本网站| 欧美片网站yy| 91视视频在线观看入口直接观看www| 97视频一区| 国产乱子伦三级在线播放| 可以免费看毛片的网站| 国产不卡一二三| 日韩欧美在线综合| 久久久精品国产sm调教网站| 一本久道中文无码字幕av| 国产日韩欧美在线视频观看| 欧美岛国在线观看| 久久久www免费人成精品| 国产精品一卡| 人人香蕉久久| 激情开心成人网| 波多野结衣乳巨码无在线观看| 美女在线一区| 四虎成人精品在永久在线观看| 国产亲伦免费视频播放| 一区二区视频免费看| 色综合色综合色综合色综合| 亚洲va国产天堂va久久en| 国产麻豆成人传媒免费观看| 日韩专区在线视频| 九九免费精品视频在线观看| 欧美性猛交xxx高清大费中文| 黄色网在线播放| 啊灬啊灬啊灬啊灬高潮在线看| 在线看av网址| 欧美高清xxxx性| 国产一区二区自拍视频| 妺妺窝人体色www婷婷| 亚洲人做受高潮| 亚洲美女高潮久久久| 国产精品专区在线| 国产精品一区而去| 国产三区二区一区久久| 国产精欧美一区二区三区| 中文字幕一区电影| 亚洲精品美女久久| 91官网在线观看| 亚洲一区日韩精品中文字幕| 久久久精品tv| 国产精品美女一区二区三区| 狂野欧美一区| 欧美1级日本1级| 成人中文在线| 欧美久久香蕉| 国语一区二区三区| 97成人超碰| 久久亚洲资源| 全色精品综合影院| 日本中文字幕高清视频| www.国产在线| 日本色七七影院| 国产精品永久久久久久久久久| 欧美特黄aaaaaa| 麻豆疯狂做受xxxx高潮视频| 国产精品第二十页| 欧美黄色一区二区三区| 午夜精品久久久久久久久久久久久蜜桃| 刘亦菲国产毛片bd| 美女av免费看| www.99re7.com| 日本一区二区三区久久| 可以在线看的av网站| 国产毛片久久久久久国产毛片| 久久青青草综合| 97se国产在线视频| 91九色精品视频| 国产噜噜噜噜久久久久久久久| 69久久夜色精品国产69乱青草| 国产一区二区三区在线观看视频| 91精品国产综合久久久蜜臀图片| 色综合天天天天做夜夜夜夜做| 黑人巨大精品欧美一区免费视频| 亚洲国产日产av| 亚洲免费av在线| 亚洲动漫第一页| 欧美在线制服丝袜| 欧美网站一区二区| 91久久奴性调教| 亚洲成人xxx| 91精品国产综合久久久蜜臀粉嫩| 亚洲精品国产精品自产a区红杏吧| 亚洲视频在线观看视频| 国产婷婷色综合av蜜臀av | 欧美一区二区黄片| 国产精品久久久久久免费播放| 男人天堂99| 美女免费视频黄| 第四色亚洲色图| 国产三级在线免费| 成人自拍av| 色婷婷亚洲mv天堂mv在影片| 鲁大师精品99久久久| 精品色999| 亚洲高清毛片| 久久久久久久久久久久久夜| 欧美中文字幕一区二区三区| www.日韩av.com| 777午夜精品福利在线观看| 久久riav| 一级日本黄色片| 韩国三级hd中文字幕| 久久机热这里只有精品| 亚洲av片在线观看| 自拍偷拍第1页| 97成人超碰| 亚洲大片在线| 成人综合日日夜夜| 亚洲综合色网| 午夜在线视频观看日韩17c| 国产一区二区看久久| 亚洲国产日韩a在线播放性色| 在线观看国产精品91| 欧美专区中文字幕| 国产日韩视频在线播放| 色www免费视频| 久草免费在线观看视频| 欧美色xxx| 婷婷成人激情| 99久久999| 成人激情视频| 91麻豆福利精品推荐| 日韩欧美国产三级| 成人性生交大片免费观看嘿嘿视频 | 国产不卡高清在线观看视频| 久久噜噜亚洲综合| 一本色道久久综合精品竹菊| www.亚洲天堂| 一区二区三区欧美成人| 日韩欧美国产片| 国产小视频在线免费观看| 91最新网站| 国产污视频在线播放| 好吊妞国产欧美日韩免费观看网站 | 九一国产在线| 欧美性猛交xxx高清大费中文| 午夜精品影院| 亚洲欧美日韩一区| 精品少妇一区二区三区免费观看| 欧美黄色免费网站| 国产精品永久入口久久久| 天天av天天操| 精品成人久久久| 一区二区三区在线|网站| 一菊综合网成人综合网| 秋霞国产精品| 欧美一区二区| 一区二区三区在线看| 亚洲精品永久免费精品| 欧美裸体网站| 无码人妻aⅴ一区二区三区玉蒲团| 国产精品久久久久久久免费看| 九九精品在线观看视频| 2022国产麻豆剧果冻传媒剧情| 97人澡人人添人人爽欧美| 久久狠狠一本精品综合网| 99精品热视频| 欧美日韩精品一区二区三区蜜桃 | 色噜噜在线观看| 亚洲精品无码久久久久| 黄页免费在线观看| 国产成人精品一区二区三区视频 | 亚洲青青久久| 国产91精品精华液一区二区三区| 日韩精品在线视频| 亚洲一区二区三区免费看| 日本少妇激情舌吻| 久草在线新视觉| 99精品视频在线观看播放| 国产美女娇喘av呻吟久久| 欧美大胆人体bbbb| 亚洲成人自拍| 丰满少妇一区二区| www.国产精品视频| 22288色视频在线观看| 亚洲aa在线| 久久综合久久综合亚洲| 日韩少妇与小伙激情| a√天堂在线观看| 国内老熟妇对白hdxxxx| 最近最新mv在线观看免费高清| 国产色99精品9i| 91蜜桃免费观看视频| 久久夜色精品亚洲噜噜国产mv| 日产精品久久久一区二区| 中文在线一区二区三区| 少妇喷水在线观看| 91av久久| 94色蜜桃网一区二区三区| 欧美精品中文字幕一区| 国产精品视频一二三四区| 美女100%露胸无遮挡| 色偷偷在线观看| 亚洲精品福利电影| 久久婷婷一区| 日韩精品一二三四区| 色播亚洲视频在线观看| 99re6热在线精品视频| 国产女人伦码一区二区三区不卡| 欧美巨大xxxx做受沙滩| 国产一区欧美一区| 欧美成人性生活| 久久久久久久穴| 欧美色图俺去了| 青草伊人久久| 亚洲成人免费影院| 久久精品人人做人人爽电影| 欧美日韩综合一区二区三区| 116美女写真午夜一级久久| 国产精品观看| 亚洲男人7777| 精品国产av无码一区二区三区| 国产精品久久久久久久妇| 午夜在线播放| 国产伦精品一区二区三区视频青涩 | 欧美一级特黄高清视频| 先锋影音资源999| 亚洲精品一二三区区别| 亚洲一区二区成人在线观看| 国产一区高清视频| 久草热在线观看| 欧美1级2级| 亚洲欧美日韩中文播放| 精品一区二区不卡| 国产精品三区在线观看| 国内三级在线观看| 国产成a人无v码亚洲福利| 国产精品久久久久高潮| 国产一级一级片| 亚洲无线看天堂av| 国产一二三精品| 51精品在线观看| 欧美成人777| 夜色福利资源站www国产在线视频 夜色资源站国产www在线视频 | 国内精品久久久久久| 特级西西人体4444xxxx| 玖玖在线免费视频| 日韩激情视频网站| 97在线观看视频国产| 少妇人妻互换不带套| 999国产精品视频免费| 岛国一区二区| 精品国产91久久久久久| 国产精品r级在线| 日韩伦理在线视频| 交100部在线观看| 亚洲国产精品久久不卡毛片| 国产高清免费在线| 欧美韩日国产| 亚洲国产日韩在线| 精品视频在线免费观看| 亚洲人成无码www久久久| 狠狠色噜噜狠狠狠狠黑人| 欧美久久综合网| 亚洲美女性视频| 能直接看的av| 国产蜜臀在线| 五月天欧美精品| 青青草原av在线播放| 精品国产美女福利到在线不卡| 日韩一区二区三区精品| 91麻豆精品国产91久久久久| 日韩精品一区中文字幕| 中文字幕一区二区三区域| av在线播放一区二区三区| 国产精品人人做人人爽| 成人黄色激情视频| 伊人精品久久| 在线视频一区二区三| 91在线视频观看免费| 友田真希在线| 久久综合色鬼综合色| 亚洲一区三区视频在线观看| 尤物视频在线观看网站| 99久久夜色精品国产亚洲狼| 九九久久久久久久久激情| 精品欧美一区二区久久久| 亚洲aⅴ优女av综合久久久| 日本不卡不码高清免费观看| 欧美激情视频一区二区| 久久久国产高清| 99精品国产九九国产精品| 亚洲成人精品av| 婷婷色一区二区三区| 深夜成人在线| 午夜精品影院在线观看| 好男人www社区| 欧美视频综合| 亚洲国产精品久久艾草纯爱| 黄色三级视频在线| aaaaa毛片| 久久久www成人免费无遮挡大片| 亚洲综合激情五月| 可以免费观看av的网站| 91丨porny丨首页| 2021国产视频| 91精品国产福利尤物| 寂寞少妇一区二区三区| 成人乱人伦精品视频在线观看| 日本一线产区和二线产区| 一本色道88久久加勒比精品| 久久精品中文字幕| 久久久久久久久久97| 欧美系列精品| 91精品免费在线观看| 蜜臀久久99精品久久久久久| 日韩另类视频| 亚洲午夜女主播在线直播| 天天操中文字幕| 欧美熟乱15p| 国产精品成人免费视频| 一二三四在线观看视频韩国| **女人18毛片一区二区| 国产一区欧美二区三区| 四虎永久免费| 国产在线观看免费一区| 99热这里只有精品7| 亚在线播放中文视频| 欧美日韩一区二区在线播放| 波多野结衣福利| 久久久久久亚洲精品美女| 精品精品欲导航| 久久久久久久久久综合| 蜜桃精品wwwmitaows| 国产精品久久久久高潮| 国产精品久久人| 看国产成人h片视频| 91精品天堂| 免费又爽又黄禁片视频1000片| 久久久久国产精品麻豆| 午夜久久久精品| 亚洲美女尤物影院| 国产亚洲欧洲黄色| 国产强被迫伦姧在线观看无码| 欧美亚洲一级| 日韩欧美精品三级| 男人av资源站| 北条麻妃国产九九九精品小说| 国产精品女主播视频| 桃花视频大全不卡免费观看网站 | 无码人妻精品一区二区三应用大全| 激情久久99| 777777777亚洲妇女| 欧美黑人巨大xxxx猛交| 久久久久国产精品厨房| 韩国一区二区三区四区| 电影中文字幕一区二区| 国产成人精品视频| 嫩草黄色影院| 亚洲国产精品久久人人爱| 三级黄色片在线观看| 日韩在线欧美| 日韩精品无码一区二区三区| 国产中文字幕在线播放| 亚洲国产精品嫩草影院久久| 国产女人爽到高潮a毛片|