4位數(shù)字密碼鎖畢業(yè)設計_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  畢業(yè)設計(論文)</b></p><p>  題目:4位數(shù)字密碼鎖設計(密碼設置及驗證電路)</p><p>  學 生 姓 名: 學號: </p><p>  學 部 (系): 信息科學與技術學部 </p><p>

2、  專 業(yè) 年 級: 08通信工程 </p><p>  指 導 教 師: 職稱或?qū)W位: </p><p>  2012 年 05 月 31 日</p><p><b>  目錄</b></p><p><b>

3、  1緒論5</b></p><p><b>  1.1設計內(nèi)容5</b></p><p><b>  1.2設計要求5</b></p><p><b>  2 系統(tǒng)設計5</b></p><p>  2.1 模塊劃分5</p><p&

4、gt;  2.1 系統(tǒng)原理框圖5</p><p>  3功能模塊的實現(xiàn)6</p><p><b>  3.1時序電路6</b></p><p><b>  3.2密碼設置7</b></p><p><b>  3.3密碼輸入7</b></p><p

5、><b>  3.4密碼驗證8</b></p><p><b>  4軟件仿真9</b></p><p>  5數(shù)字邏輯系統(tǒng)簡介10</p><p>  5.1 Quartus II軟件簡介10</p><p>  5.2硬件描述語言11</p><p>  

6、5.2.1 VHDL語言11</p><p>  5.2.2 Verilog語言12</p><p><b>  6 結論13</b></p><p><b>  附錄14</b></p><p><b>  1時序電路14</b></p><p&

7、gt;  2密碼設置輸入16</p><p><b>  3密碼驗證17</b></p><p><b>  參考文獻19</b></p><p><b>  謝辭20</b></p><p>  摘要:本設計利用FPGA作為核心控制板,用Verilog 硬件描述語言進

8、行編程,利用計算機軟硬件控制技術,設計一個基于FPGA的數(shù)字密碼鎖,能實現(xiàn)密碼設定(如果密碼沒設定則默認密碼為0000),密碼輸入及驗證,當密碼輸入錯誤時報警或則指示燈亮;反之,密碼輸入正確時,另外一個指示燈亮。將程序下載到Altera公司的Cyclone系列目標芯片EP2C5T144C8上調(diào)試通過,并觀察實際現(xiàn)象,滿足設計要求。</p><p>  關鍵詞:FPGA Verilog 數(shù)字密碼鎖</p

9、><p><b>  Abstract</b></p><p>  The design using the FPGA as the core of the control panel, Verilog hardware description language for programming, Computer hardware and software control

10、 technology, design an FPGA-based digital code lock, Set the password(if the password is not set then the default password is 000000), Password input and verification, Alarm or the light when the password input error; O

11、n the contrary, enter the correct password , a light. Program downloaded to the target chip EP2C5T144C8 Altera’s Cyclone series</p><p>  Keywords: FPGA Verilog Digital code lock</p><p><b&

12、gt;  引 言</b></p><p>  隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變得尤其的突出,傳統(tǒng)的機械鎖由于其構造的簡單,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的青睞,電子密碼鎖的使用體現(xiàn)了人們消費水平、保安意識和科技水平的提高,而且避免了攜帶甚至丟失鑰匙的麻煩。目前設計密碼鎖的方法很多,例如用傳統(tǒng)的PCB板設計、用PLC設計或者用單片機

13、設計等等。而用Verilog可以更加快速、靈活地設計出符合各種要求的密碼鎖,優(yōu)于其他設計方法。Verilog是一種符合IEEE標準的硬件描述語言,其最大的特點是借鑒高級程序設計語言的功能特性,對電路的行為與結構進行高度抽象化、規(guī)范化的形式描述,并對設計的不同層次、不同領域的模型驗證與綜合優(yōu)化等處理,是設計過程延伸到高度自動化。</p><p><b>  1緒論</b></p>

14、<p><b>  1.1設計內(nèi)容</b></p><p>  設計一個4位數(shù)字密碼鎖子系統(tǒng)</p><p><b>  1.2設計要求</b></p><p><b>  能夠預設4位密碼;</b></p><p>  具有密碼輸入及檢測功能;</p>

15、<p>  利用MAXplus對所設計的電路進行仿真并分析結果。</p><p><b>  2 系統(tǒng)設計</b></p><p>  本設計中,F(xiàn)PGA系統(tǒng)采用硬件描述語言Verilog按模塊化方式進行設計,并將各模塊集成于FPGA芯片中,然后通過Quartus II9.0軟件開發(fā)平臺對設計文件自動完成邏輯編譯、邏輯化簡、綜合及優(yōu)化、邏輯布局布線、邏輯

16、仿真,最后對FPGA芯片進行編程,實現(xiàn)系統(tǒng)的設計要求。</p><p><b>  2.1 模塊劃分</b></p><p>  密碼鎖的的構成主要由密碼輸入、密碼設置,此外密碼鎖必須能夠保存已設置的密碼,因而需要一個寄存器來保存密碼,同時由于控制電路和報警電路要用到不同的時鐘,因而需要一個時序產(chǎn)生電路來生成需要的不同信號,采用分頻方法實現(xiàn)。</p>&

17、lt;p>  2.1 系統(tǒng)原理框圖</p><p>  根據(jù)密碼鎖的電路特點,選用的是實驗箱的模式6電路,根據(jù)電路功能,在這里設計的密碼鎖以4位2進制代碼作為密碼的電子密碼鎖。</p><p>  其原理框圖如下圖2.1所示:</p><p>  圖2.1電子密碼鎖原理框圖</p><p><b>  3功能模塊的實現(xiàn)<

18、/b></p><p>  該模塊主要是完成密碼設置,密碼輸入,密碼驗證功能。</p><p><b>  3.1時序電路</b></p><p>  在密碼鎖的電路中,輸入計時、報警計時需要的1HZ的時鐘脈沖信號,而驅(qū)動蜂鳴器工作需要的很高頻率的脈沖信號,因而這里采用輸入一個高頻脈沖(1024HZ)信號來驅(qū)動蜂鳴器,采用分頻的方法得到1

19、HZ的計時脈沖。</p><p>  process(clk_1k) </p><p>  variable cnt1:integer:=0;</p><p><b>  begin</b></p><p>  if rising_edge(clk_1k) then<

20、;/p><p>  if cnt1=512 then</p><p>  clk_1<=not clk_1;</p><p><b>  cnt1:=0;</b></p><p>  else cnt1:=cnt1+1;</p><p><b>  end if;</b>&

21、lt;/p><p><b>  end if;</b></p><p>  end process;</p><p>  程序說明:clk_1k為輸入的1024HZ高頻脈沖,cnt為分頻得到的1HZ計時脈沖。</p><p><b>  3.2密碼設置</b></p><p> 

22、 為了安全性,密碼鎖必須能夠重復的設定密碼,在設定密碼鎖后,應該設置一個寄存器來存儲設定的密碼。</p><p>  process(rst,password,enter_p) is </p><p><b>  begin</b></p><p>  if rst='0' then</p>&l

23、t;p>  if enter_p='1' then</p><p>  ram<=password;</p><p><b>  en1<='1';</b></p><p><b>  end if;</b></p><p><b>  e

24、nd if;</b></p><p>  end process;</p><p>  程序說明:rst低電平時所有的模塊復位,只有密碼設置模塊工作;</p><p>  password為設置密碼時的輸入端,ram就是存儲密碼的寄存器;enter_p為在這里為密碼設置使能端,高電平有效。 </p><p>  密碼設置的仿真波形

25、如下圖,由圖中可以清楚地看到在enter_p高電平時</p><p>  寄存器ram中得到了輸入的密碼1001。</p><p><b>  3.3密碼輸入</b></p><p>  密碼輸入部分要求在密碼開始輸入時進行計時,超時了要求報警,因此在密碼輸入時設置一個計時使能信號en2,密碼開始輸入時使能信號en2有效,控制電路的計時器開始計

26、時;而且在密碼確認鍵按下之前,電路不能對輸入密碼和已設置密碼進行比較,因此需要設置一個寄存器,來存儲輸入的數(shù)據(jù),當確認鍵按下時,就將寄存器里的數(shù)據(jù)送給控制部分進行比較。</p><p>  process(rst,enter_c,en1,code) </p><p><b>  begin</b></p><p>  if rst=

27、'1' then</p><p>  if en1='1' then</p><p>  if enter_c='1' then</p><p>  code_tmp<=code;</p><p><b>  en2<='1';</b></

28、p><p><b>  end if;</b></p><p>  else code_tmp<="0000";en2<='0';</p><p><b>  end if;</b></p><p>  else code_tmp<="00

29、00";en2<='0';</p><p><b>  end if;</b></p><p>  end process;</p><p>  密碼輸入電路圖如下圖3.2</p><p>  圖3.1密碼輸入電路</p><p>  此密碼輸入電路使用74HC14

30、7 10線-4線優(yōu)先編碼器,由于147只有9個輸入端,因此加入了數(shù)碼0的按鍵,當輸入端有鍵被按下時,輸出端輸出該鍵的BCD碼的反碼,并且GS/輸出為0,代表有鍵被按下。GS/用于控制密碼存儲控制電路的移位。該電路有密碼確認按鍵、密碼修改按鍵和輸入清除按鈕,密碼確認按鍵和密碼修改按鍵的作用是密碼輸入完畢時,對控制電路的移位電路清零。密碼確認按鈕還接密碼驗證電路中的三態(tài)輸出門,還連接密碼驗證電路中的JK觸發(fā)器的清零端,用于對這個觸發(fā)器的清零

31、。輸出清除按鍵按下時本次輸入清零。密碼輸入(修改)電路中的按鍵按下去都自動彈上來,也就是說按鍵只有被按下時才連接低電平,否則接高電平。</p><p><b>  3.4密碼驗證</b></p><p>  該模塊中采用自定義存儲器RAM進行密碼的存儲,主要使用case語句和if_else語句進行程序的銜接。密碼驗證電路圖如下圖3.2</p><p

32、>  圖3.2密碼驗證電路</p><p>  密碼驗證電路用16個異或門組成,每個異或門的輸入來自密碼存儲電路的輸入密碼存儲芯片和預設密碼存儲芯片,比較輸入密碼是否和預設密碼相同,再加上與非門電路,判斷全部輸入是否為1,為1則表示輸入正確,否則錯誤。密碼輸入電路中的確認按鈕控制比較結果輸出的三態(tài)門,輸入四位密碼后,按下確認鍵,驗證后的結果輸出至開鎖報警電路。密碼修改按鍵連接JK觸發(fā)器的CLK,修改密碼流程

33、是:輸入預設密碼——按下修改密碼按鍵——輸入新密碼——按下密碼確認按鍵,修改結束。在輸入新密碼后在按下密碼確認按鍵使JK觸發(fā)器清零,清零后使得預設密碼存儲芯片不再存儲輸入密碼。JK觸發(fā)器的正向輸出端接報警電路,如果密碼輸入錯誤就會報警。</p><p><b>  4軟件仿真</b></p><p>  rst低電平時所有的模塊復位,只有密碼設置模塊工作;</p

34、><p>  password為設置密碼時的輸入端,ram就是存儲密碼的寄存器;enter_p為在這里為密碼設置使能端,高電平有效。 </p><p>  密碼設置的仿真波形如下圖,由圖中可以清楚地看到在enter_p高電平時</p><p>  寄存器ram中得到了輸入的密碼1001。</p><p>  圖4.1密碼設置仿真波形</p&

35、gt;<p>  rst置高,設置密碼模塊不工作,其他部分正常工作,en1為高時代表密碼設置完畢,密碼鎖開始工作;enter_c是密碼輸入使能信號,高電平時表示開始密碼輸入,此時code_tmp中開始存儲輸入的數(shù)據(jù),計時使能信號en2也變成高電平。</p><p>  密碼輸入仿真波形如下,由圖中可清楚的看到在enter_c為高時,寄存器code_tmp中存儲了輸入的數(shù)據(jù)code(系統(tǒng)仿真時有10n

36、s的延時)</p><p>  圖4.2密碼輸入仿真波形</p><p><b>  5數(shù)字邏輯系統(tǒng)簡介</b></p><p>  5.1 Quartus II軟件簡介</p><p>  Quartus II是Altera公司在221世紀初推出的可編程邏輯器件的集成開發(fā)軟件,這個軟件是該公司前一代可編程邏輯器件集成開

37、發(fā)軟件MAX+PLUS II的更新?lián)Q代產(chǎn)品。Quartus II集成開發(fā)軟件支持可編程邏輯器件開發(fā)的整個過程,它提供一種與器件無關的設計環(huán)境。軟件界面友好,使設計者能方便地進行設計輸入、設計處理和器件編程。</p><p>  Quartus II集成開發(fā)軟件提供了完整的多平臺設計環(huán)境,能滿足各種特定設計的需要。Quartus II設計工具支持VHDL、Verilog HDL硬件描述語言的設計流程。它也是在片可編

38、程系統(tǒng)(System on a Programmable Chip, SOPC)的綜合設計環(huán)境。另外,Quartus II集成開發(fā)軟件也可以利用第三方軟件的結果,并支持第三方軟件的工作。</p><p>  為加快應用系統(tǒng)的開發(fā),Quartus II集成開發(fā)軟件包含許多十分有用的參數(shù)化模塊庫(Library of Parameterized Modules, LPM),它們是復雜或高級系統(tǒng)構建的重要組成部分,在數(shù)

39、字系統(tǒng)設計中被大量使用。當然這些模塊也可以與用戶設計文件一起使用。Altera提供的LPM函數(shù)均基于Altera公司器件的結構做了優(yōu)化設計,在設計中合理地調(diào)用LPM不僅可以加快設計進程,還可以提高系統(tǒng)性能。有些LPM宏功能模塊的使用必須依賴于一些Altera公司特定器件的硬件功能,如各類存儲器模塊、DSP模塊、LVDS驅(qū)動器模塊、PLL及SERDES和DDIO模塊等,這在使用中需要注意。</p><p><

40、b>  5.2硬件描述語言</b></p><p>  5.2.1 VHDL語言</p><p>  VHDL主要用于描述數(shù)字系統(tǒng)的結構,行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分

41、,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設計就可以直接調(diào)用這個實體。這種將設計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設計的基本點。</p><p><b>  特點:</b></p><p>  VHDL 語言能夠成為標準化的硬件描述語言并獲得廣泛應用,它自身必然具有很多其他硬

42、件描述語言所不具備的優(yōu)點。歸納起來,VHDL 語言主要具有以下優(yōu)點:</p><p>  (1) VHDL 語言功能強大,設計方式多樣 </p><p>  VHDL 語言具有強大的語言結構,只需采用簡單明確的VHDL語言程序就可以描述十分復雜的硬件電路。同時,它還具有多層次的電路設計描述功能。此外,VHDL 語言能夠同時支持同步電路、異步電路和隨機電路的設計實現(xiàn),這是其他硬件描述語言所不

43、能比擬的。VHDL 語言設計方法靈活多樣,既支持自頂向下的設計方式,也支持自底向上的設計方法; 既支持模塊化設計方法,也支持層次化設計方法。 </p><p> ?。?) VHDL 語言具有強大的硬件描述能力 </p><p>  VHDL 語言具有多層次的電路設計描述功能,既可描述系統(tǒng)級電路,也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結構描述,也可以采用三者的混合

44、描述方式。同時,VHDL 語言也支持慣性延遲和傳輸延遲,這樣可以準確地建立硬件電路的模型。VHDL 語言的強大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL 語言既支持標準定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會給硬件描述帶來較大的自由度。 </p><p> ?。?) VHDL 語言具有很強的移植能力 </p><p>  VHDL 語言很強的移植能力主要體現(xiàn)在: 對于同一

45、個硬件電路的 VHDL 語言描述,它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。 </p><p> ?。?) VHDL 語言的設計描述與器件無關 </p><p>  采用 VHDL 語言描述硬件電路時,設計人員并不需要首先考慮選擇進行設計的器件。這樣做的好處是可以使設計人員集中精力進行電路設計的優(yōu)化,而不需要考慮

46、其他的問題。當硬件電路的設計描述完成以后,VHDL 語言允許采用多種不同的器件結構來實現(xiàn)。 </p><p> ?。?) VHDL 語言程序易于共享和復用 </p><p>  VHDL 語言采用基于庫 ( library) 的設計方法。在設計過程中,設計人員可以建立各種可再次利用的模塊,一個大規(guī)模的硬件電路的設計不可能從門級電路開始一步步地進行設計,而是一些模塊的累加。這些模塊可以預先設

47、計或者使用以前設計中的存檔模塊,將這些模塊存放在庫中,就可以在以后的設計中進行復用。 </p><p>  由于 VHDL 語言是一種描述、模擬、綜合、優(yōu)化和布線的標準硬件描述語言,因此它可以使設計成果在設計人員之間方便地進行交流和共享,從而減小硬件電路設計的工作量,縮短開發(fā)周期。</p><p>  5.2.2 Verilog語言</p><p>  Verilo

48、g HDL是目前應用最為廣泛的硬件描述語言.Verilog HDL可以用來進行各種層次的邏輯設計,也可以進行數(shù)字系統(tǒng)的邏輯綜合,仿真驗證和時序分析等。 </p><p>  Verilog HDL適合算法級,寄存器級,邏輯級,開關級、系統(tǒng)級和版圖級等各個層次的設計和描述. </p><p>  Verilog HDL進行設計最大的優(yōu)點是其工藝無關性.這使得工程師在功能設計,邏輯驗證階段可以

49、不必過多考慮門級及工藝實現(xiàn)的具體細節(jié),只需根據(jù)系統(tǒng)設計的要求施加不同的約束條件,即可設計出實際電路. </p><p>  Verilog HDL是一種硬件描述語言(hardware description language),為了制作數(shù)字電路而用來描述ASICs和FPGA的設計之用。Verilog 的設計者想要以 C 編程語言為基礎設計一種語言,可以使工程師比較容易學習。 </p><p&g

50、t;  Verilog 是由en:Gateway Design Automation公司于大約1984年開始發(fā)展。Gateway Design Automation公司后來被 Cadence Design Systems于1990年所購并?,F(xiàn)在 Cadence 對于 Gateway 公司的 Verilog 和 Verilog-XL 模擬器擁有全部的財產(chǎn)權。 </p><p>  選擇VHDL還是verilog H

51、DL? </p><p>  這是一個初學者最常見的問題。其實兩種語言的差別并不大,他們的描述能力也是類似的。掌握其中一種語言以后,可以通過短期的學習,較快的學會另一種語言。 選擇何種語言主要還是看周圍人群的使用習慣,這樣可以方便日后的學習交流。當然,如果您是專用集成電路(ASIC)設計人員,則必須首先掌握verilog,因為在IC設計領域,90%以上的公司都是采用verilog進行IC設計。對于PLD/FPGA

52、設計者而言,兩種語言可以自由選擇。</p><p><b>  6 結論</b></p><p>  在滿足本設計要求后,基于該系統(tǒng)的硬件以固定,但是由于使用FPGA做主控制模塊,而FPGA是現(xiàn)場可編程器件,以及其可用I/O口很多未用,因此還可以做進一步拓展,例如可以用12864或者1602做顯示,還可以外加個蜂鳴器做報警器等等。</p><p&g

53、t;  按照畢業(yè)設計要求,采取以上步驟完成設計任務,達到了設計要求的需要,重點對硬件、軟件的組成進行了分項、模塊化設計,在這次課程設計中,同學之間互相幫助,有什么不懂的大家在一起商量,發(fā)現(xiàn)我們所學的知識實在是有限,不過我們能夠充分利用網(wǎng)絡的優(yōu)勢去查閱資料。最后,課程設計中涉及到的電路圖,本想用圖片制作工具繪制,但還是水平有限,最后只能自己動手手工找圖,就是效率太低也太累,以后要好好學習相關的圖片制作。</p><p&

54、gt;  在整個設計過程中我認識到了許多東西,也培養(yǎng)了獨立思考和設計的能力,樹立了對知識應用的信心,相信會對今后的學習工作和生活有非常大的幫助, 使自己充分體會到了在設計過程中的成功喜悅。雖然這個設計做的不怎么好,但是在設計過程中所學到的東西是這次課程設計的最大收獲和財富,使我終身受益。</p><p><b>  附錄</b></p><p><b>  

55、1時序電路</b></p><p>  library ieee; </p><p>  use ieee.std_logic_1164.all; </p><p>  use ieee.std_logic_arith.all; </p><p>  use ieee.std_logic_unsigned.all; </p&

56、gt;<p>  -------------------------------------------------------------------- </p><p>  entity exp19 is </p><p>  port( Clk : in std_logic; --時鐘信號 </p><p>  Rst : in std_logi

57、c; --復位信號 </p><p>  Kr : in std_logic_vector(3 downto 0); --鍵盤行 </p><p>  Kc : buffer std_logic_vector(3 downto 0); --鍵盤列 </p><p>  SPK : out std_logic; --揚聲器輸出 </p><p>

58、;  KEY_State : out std_logic; --按鍵指示 </p><p>  Door : buffer std_logic; --門狀態(tài) </p><p>  Display : out std_logic_vector(7 downto 0); --七段碼管顯示 </p><p>  SEG_SEL : buffer std_logic_vec

59、tor(2 downto 0)); --七段碼管片選 </p><p>  end exp19; </p><p>  -------------------------------------------------------------------- </p><p>  architecture behave of exp19 is </p>

60、<p>  signal keyr,keyc : std_logic_vector(3 downto 0); </p><p>  signal kcount : std_logic_vector(2 downto 0); </p><p>  signal kflag1,kflag2 : std_logic; </p><p>  signal buff

61、1,buff2,buff3,buff4,buff5,buff6 : integer range 0 to 15; </p><p>  signal push_num : integer range 0 to 15; --按鍵次數(shù) </p><p>  signal Disp_Temp : integer range 0 to 15; </p><p>  sign

62、al Disp_Decode : std_logic_vector(7 downto 0); </p><p>  signal SEC1,SEC10 : integer range 0 to 9; </p><p>  signal Clk_Count1 : std_logic_vector(3 downto 0); --1KHz時鐘分頻計數(shù)器 </p><p>

63、  signal Clk_Count2 : std_logic_vector(9 downto 0); --2Hz時鐘分頻計數(shù)器 </p><p>  signal Clk1KHz : std_logic; </p><p>  signal Clk2Hz : std_logic; </p><p>  signal Clk1Hz : std_logic; <

64、/p><p>  signal Error_Num : integer range 0 to 3; </p><p>  signal Error_Flag : std_logic; </p><p>  signal Error_Count : std_logic_vector(2 downto 0); </p><p>  signal Mu

65、sic_Count : std_logic_vector(2 downto 0); </p><p><b>  begin </b></p><p>  process(Clk) </p><p><b>  begin </b></p><p>  if(Clk'event and Cl

66、k='1') then </p><p>  if(Clk_Count1<10) then </p><p>  Clk_Count1<=Clk_Count1+1; </p><p><b>  else </b></p><p>  Clk_Count1<="0001&quo

67、t;; </p><p><b>  end if; </b></p><p><b>  end if; </b></p><p>  end process; </p><p>  Clk1KHz<=Clk_Count1(2); </p><p>  process

68、(Clk1KHz) </p><p><b>  begin </b></p><p>  if(Clk1KHz'event and Clk1KHz='1') then </p><p>  if(Clk_Count2<1000) then </p><p>  Clk_Count2<

69、=Clk_Count2+1; </p><p><b>  else </b></p><p>  Clk_Count2<="0000000001"; </p><p><b>  end if; </b></p><p><b>  end if; </b

70、></p><p>  end process; </p><p>  Clk2Hz<=Clk_Count2(9); </p><p>  process(Clk2Hz) </p><p><b>  begin </b></p><p>  if(Clk2Hz'event a

71、nd Clk2Hz='1') then </p><p>  Clk1Hz<=not Clk1Hz; </p><p><b>  end if; </b></p><p>  end process; </p><p><b>  2密碼設置輸入</b></p>

72、<p>  process(rst,password,enter_p) is </p><p><b>  begin</b></p><p>  if rst='0' then</p><p>  if enter_p='1' then</p><p>  

73、ram<=password;</p><p><b>  en1<='1';</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p&g

74、t;<p>  process(rst,enter_c,en1,code) </p><p><b>  begin</b></p><p>  if rst='1' then</p><p>  if en1='1' then</p><p>  if ente

75、r_c='1' then</p><p>  code_tmp<=code;</p><p><b>  en2<='1';</b></p><p><b>  end if;</b></p><p>  else code_tmp<="0

76、000";en2<='0';</p><p><b>  end if;</b></p><p>  else code_tmp<="0000";en2<='0';</p><p><b>  end if;</b></p>&l

77、t;p>  end process;</p><p><b>  3密碼驗證</b></p><p>  process(Clk1KHz,Rst) --密碼校驗 </p><p><b>  begin </b></p><p>  if(Rst='0') then </

78、p><p>  Door<='0'; </p><p>  Error_Num<=0; </p><p>  Error_Flag<='0'; </p><p>  elsif(Clk1KHz'event and Clk1KHz='1') then </p>

79、<p>  if(push_num=5 and Error_Num<3) then </p><p>  --修改此處的值可修改門的密碼,此處密碼為1234 </p><p>  if(buff1=1 and buff2=2 and buff3=3 and buff4=4) then </p><p>  Door<='1';

80、</p><p><b>  else </b></p><p>  Door<='0'; </p><p><b>  end if; </b></p><p>  elsif(push_num=4 and Error_Num<1) then </p>&

81、lt;p>  if(Door='0') then </p><p>  Error_Flag<='1'; </p><p>  Error_Num<=Error_Num+1; </p><p><b>  else </b></p><p>  Error_Flag<

82、;='0'; </p><p>  Error_Num<=0; </p><p><b>  end if; </b></p><p>  elsif(Error_Count=4) then </p><p>  Error_Flag<='0'; </p><

83、;p>  elsif(Error_Flag='1') then </p><p>  Door<=not Error_Count(0); </p><p><b>  end if; </b></p><p><b>  end if; </b></p><p>  en

84、d process; </p><p>  process(Clk2Hz,Rst) </p><p><b>  begin </b></p><p>  if(Rst='0' or Error_Flag<='0') then </p><p>  Error_Count<=&

85、quot;000"; </p><p>  elsif(Clk2Hz'event and Clk2Hz='1' and Error_Flag<='1') then </p><p>  Error_Count<=Error_Count+1; </p><p><b>  end if; <

86、/b></p><p>  end process; </p><p><b>  參考文獻</b></p><p>  [1]王俊峰等,實用電路手冊【M】,北京:機械工業(yè)出版社,2009.12</p><p>  [2]韓雪濤等,電子單元電路應用與實測【M】,北京:電子工業(yè)出版社,2009.6</p>

87、<p>  [3]張金等,電子設計與制作100列【M】,北京:電子工業(yè)出版社,2009.10</p><p>  [4]周潤景等,基于Quartus II的數(shù)字系統(tǒng)Verilog HDL設計實例詳解【M】,北京:電子工業(yè)出版社,2010.5</p><p>  [5]于海生等,微型計算機控制技術【M】,北京:清華大學出版社,2009.9</p><p>

88、;  [6]康華光等,電子技術基礎(數(shù)字部分)【M】,北京:高等教育出版社,2005.7</p><p>  [7]康華光等,電子技術基礎(模擬部分)【M】,北京:高等教育出版社,2005.7</p><p>  [8]徐洋等,基于Verilog HDL 的FPGA設計與工程應用【M】,北京:人民郵電出版社,2009.10</p><p>  [9]Adel S.

89、Sedra and Keneth C.Smith. Microelectronic Circuits. 4th ed. New York: Oxford University Press, 1998</p><p>  [10]Mark N. Horestein,Microelectronic Circuits and Devices. 2nd ed. New Jersey: Prentice-Hall Inc.

90、 1996</p><p><b>  謝辭</b></p><p>  流光容易把人拋,紅了櫻桃,綠了芭蕉。伴隨著快樂與艱辛的四年的大學時光轉(zhuǎn)瞬即逝,眼前浮現(xiàn)的是師長、同窗、親人和朋友那一張張可親可敬的面孔,心頭涌起的是無限感慨和深深謝意。</p><p>  深深地感謝我的指導老師!能夠成為xx老師的學生,我覺得很幸運。本論文能夠順利完成,

91、離不開xx老師的耐心指導和嚴格要求,xx老師在論文的選題、研究理論、框架結構、數(shù)據(jù)整理,直至撰寫、修改和定稿等各個環(huán)節(jié)均嚴格把關,并投入了大量的時間和精力。作為指導老師,他知識淵博,造詣深厚,治學嚴謹;作為師長,他胸襟開闊,以人為本,關愛學生。</p><p>  感謝遠方默默支持我的父母,感謝他們的養(yǎng)育之恩!我的成長伴隨著無私的母愛和父親的諄諄教導,他們的關懷和期望是我前行的動力。</p><

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論