4位數(shù)字密碼鎖畢業(yè)設(shè)計(jì)_第1頁
4位數(shù)字密碼鎖畢業(yè)設(shè)計(jì)_第2頁
4位數(shù)字密碼鎖畢業(yè)設(shè)計(jì)_第3頁
4位數(shù)字密碼鎖畢業(yè)設(shè)計(jì)_第4頁
4位數(shù)字密碼鎖畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

華中科技大學(xué)文華學(xué)院畢業(yè)設(shè)計(jì)(論文)題目:4位數(shù)字密碼鎖設(shè)計(jì)(密碼設(shè)置及驗(yàn)證電路)學(xué)生姓名:學(xué)號(hào):學(xué)部(系):信息科學(xué)與技術(shù)學(xué)部專業(yè)年級(jí):08通信工程指導(dǎo)教師:陳超原職稱或?qū)W位:年05月31日目錄1緒論 51.1設(shè)計(jì)內(nèi)容 51.2設(shè)計(jì)規(guī)定 52系統(tǒng)設(shè)計(jì) 52.1模塊劃分 52.1系統(tǒng)原理框圖 53功能模塊的實(shí)現(xiàn) 63.1時(shí)序電路 63.2密碼設(shè)置 73.3密碼輸入 73.4密碼驗(yàn)證 84軟件仿真 95數(shù)字邏輯系統(tǒng)簡(jiǎn)介 105.1QuartusII軟件簡(jiǎn)介 105.2硬件描述語言 115.2.1VHDL語言 115.2.2Verilog語言 126結(jié)論 13附錄 141時(shí)序電路 142密碼設(shè)置輸入 163密碼驗(yàn)證 17參照文獻(xiàn) 19謝辭 20

摘要:本設(shè)計(jì)運(yùn)用FPGA作為關(guān)鍵控制板,用Verilog硬件描述語言進(jìn)行編程,運(yùn)用計(jì)算機(jī)軟硬件控制技術(shù),設(shè)計(jì)一種基于FPGA的數(shù)字密碼鎖,能實(shí)現(xiàn)密碼設(shè)定(假如密碼沒設(shè)定則默認(rèn)密碼為0000),密碼輸入及驗(yàn)證,當(dāng)密碼輸入錯(cuò)誤時(shí)報(bào)警或則指示燈亮;反之,密碼輸入對(duì)的時(shí),此外一種指示燈亮。將程序下載到Altera企業(yè)的Cyclone系列目的芯片EP2C5T144C8上調(diào)試通過,并觀測(cè)實(shí)際現(xiàn)象,滿足設(shè)計(jì)規(guī)定。關(guān)鍵詞:FPGAVerilog數(shù)字密碼鎖AbstractThedesignusingtheFPGAasthecoreofthecontrolpanel,Veriloghardwaredescriptionlanguageforprogramming,Computerhardwareandsoftwarecontroltechnology,designanFPGA-baseddigitalcodelock,Setthepassword(ifthepasswordisnotsetthenthedefaultpasswordis000000),Passwordinputandverification,Alarmorthelightwhenthepasswordinputerror;Onthecontrary,enterthecorrectpassword,alight.ProgramdownloadedtothetargetchipEP2C5T144C8Altera’sCycloneseriesthroughdebugging,andtoobservetheactualphenomenon,tomeetthedesignrequirements.Keywords:FPGAVerilogDigitalcodelock引言伴隨人們生活水平的提高,怎樣實(shí)現(xiàn)家庭防盜這一問題也變得尤其的突出,老式的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)樸,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大顧客的青睞,電子密碼鎖的使用體現(xiàn)了人們消費(fèi)水平、保安意識(shí)和科技水平的提高,并且防止了攜帶甚至丟失鑰匙的麻煩。目前設(shè)計(jì)密碼鎖的措施諸多,例如用老式的PCB板設(shè)計(jì)、用PLC設(shè)計(jì)或者用單片機(jī)設(shè)計(jì)等等。而用Verilog可以愈加迅速、靈活地設(shè)計(jì)出符合多種規(guī)定的密碼鎖,優(yōu)于其他設(shè)計(jì)措施。Verilog是一種符合IEEE原則的硬件描述語言,其最大的特點(diǎn)是借鑒高級(jí)程序設(shè)計(jì)語言的功能特性,對(duì)電路的行為與構(gòu)造進(jìn)行高度抽象化、規(guī)范化的形式描述,并對(duì)設(shè)計(jì)的不一樣層次、不一樣領(lǐng)域的模型驗(yàn)證與綜合優(yōu)化等處理,是設(shè)計(jì)過程延伸到高度自動(dòng)化。1緒論1.1設(shè)計(jì)內(nèi)容設(shè)計(jì)一種4位數(shù)字密碼鎖子系統(tǒng)1.2設(shè)計(jì)規(guī)定可以預(yù)設(shè)4位密碼;具有密碼輸入及檢測(cè)功能;運(yùn)用MAXplus對(duì)所設(shè)計(jì)的電路進(jìn)行仿真并分析成果。2系統(tǒng)設(shè)計(jì)本設(shè)計(jì)中,F(xiàn)PGA系統(tǒng)采用硬件描述語言Verilog按模塊化方式進(jìn)行設(shè)計(jì),并將各模塊集成于FPGA芯片中,然后通過QuartusII9.0軟件開發(fā)平臺(tái)對(duì)設(shè)計(jì)文獻(xiàn)自動(dòng)完畢邏輯編譯、邏輯化簡(jiǎn)、綜合及優(yōu)化、邏輯布局布線、邏輯仿真,最終對(duì)FPGA芯片進(jìn)行編程,實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)規(guī)定。2.1模塊劃分密碼鎖的的構(gòu)成重要由密碼輸入、密碼設(shè)置,此外密碼鎖必須可以保留已設(shè)置的密碼,因而需要一種寄存器來保留密碼,同步由于控制電路和報(bào)警電路要用到不一樣的時(shí)鐘,因而需要一種時(shí)序產(chǎn)生電路來生成需要的不一樣信號(hào),采用分頻措施實(shí)現(xiàn)。2.1系統(tǒng)原理框圖根據(jù)密碼鎖的電路特點(diǎn),選用的是試驗(yàn)箱的模式6電路,根據(jù)電路功能,在這里設(shè)計(jì)的密碼鎖以4位2進(jìn)制代碼作為密碼的電子密碼鎖。其原理框圖如下圖2.1所示:報(bào)警電路時(shí)序產(chǎn)生電路報(bào)警電路時(shí)序產(chǎn)生電路比較控制比較控制密碼輸入開鎖信號(hào)密碼輸入開鎖信號(hào)寄存器(保留設(shè)置的密碼)寄存器(保留設(shè)置的密碼)密碼設(shè)置密碼設(shè)置圖2.1電子密碼鎖原理框圖3功能模塊的實(shí)現(xiàn)該模塊重要是完畢密碼設(shè)置,密碼輸入,密碼驗(yàn)證功能。3.1時(shí)序電路在密碼鎖的電路中,輸入計(jì)時(shí)、報(bào)警計(jì)時(shí)需要的1HZ的時(shí)鐘脈沖信號(hào),而驅(qū)動(dòng)蜂鳴器工作需要的很高頻率的脈沖信號(hào),因而這里采用輸入一種高頻脈沖(1024HZ)信號(hào)來驅(qū)動(dòng)蜂鳴器,采用分頻的措施得到1HZ的計(jì)時(shí)脈沖。process(clk_1k) variablecnt1:integer:=0; begin ifrising_edge(clk_1k)then ifcnt1=512then clk_1<=notclk_1; cnt1:=0; elsecnt1:=cnt1+1; endif; endif; endprocess;程序闡明:clk_1k為輸入的1024HZ高頻脈沖,cnt為分頻得到的1HZ計(jì)時(shí)脈沖。3.2密碼設(shè)置為了安全性,密碼鎖必須可以反復(fù)的設(shè)定密碼,在設(shè)定密碼鎖后,應(yīng)當(dāng)設(shè)置一種寄存器來存儲(chǔ)設(shè)定的密碼。process(rst,password,enter_p)is begin ifrst='0'then ifenter_p='1'then ram<=password; en1<='1'; endif; endif; endprocess;程序闡明:rst低電平時(shí)所有的模塊復(fù)位,只有密碼設(shè)置模塊工作;password為設(shè)置密碼時(shí)的輸入端,ram就是存儲(chǔ)密碼的寄存器;enter_p為在這里為密碼設(shè)置使能端,高電平有效。密碼設(shè)置的仿真波形如下圖,由圖中可以清晰地看到在enter_p高電平時(shí)寄存器ram中得到了輸入的密碼1001。3.3密碼輸入密碼輸入部分規(guī)定在密碼開始輸入時(shí)進(jìn)行計(jì)時(shí),超時(shí)了規(guī)定報(bào)警,因此在密碼輸入時(shí)設(shè)置一種計(jì)時(shí)使能信號(hào)en2,密碼開始輸入時(shí)使能信號(hào)en2有效,控制電路的計(jì)時(shí)器開始計(jì)時(shí);并且在密碼確認(rèn)鍵按下之前,電路不能對(duì)輸入密碼和已設(shè)置密碼進(jìn)行比較,因此需要設(shè)置一種寄存器,來存儲(chǔ)輸入的數(shù)據(jù),當(dāng)確認(rèn)鍵按下時(shí),就將寄存器里的數(shù)據(jù)送給控制部分進(jìn)行比較。process(rst,enter_c,en1,code) begin ifrst='1'then ifen1='1'then ifenter_c='1'then code_tmp<=code; en2<='1'; endif; elsecode_tmp<="0000";en2<='0'; endif; elsecode_tmp<="0000";en2<='0'; endif; endprocess;密碼輸入電路圖如下圖3.2圖3.1密碼輸入電路此密碼輸入電路使用74HC14710線-4線優(yōu)先編碼器,由于147只有9個(gè)輸入端,因此加入了數(shù)碼0的按鍵,當(dāng)輸入端有鍵被按下時(shí),輸出端輸出該鍵的BCD碼的反碼,并且GS/輸出為0,代表有鍵被按下。GS/用于控制密碼存儲(chǔ)控制電路的移位。該電路有密碼確認(rèn)按鍵、密碼修改按鍵和輸入清除按鈕,密碼確認(rèn)按鍵和密碼修改按鍵的作用是密碼輸入完畢時(shí),對(duì)控制電路的移位電路清零。密碼確認(rèn)按鈕還接密碼驗(yàn)證電路中的三態(tài)輸出門,還連接密碼驗(yàn)證電路中的JK觸發(fā)器的清零端,用于對(duì)這個(gè)觸發(fā)器的清零。輸出清除按鍵按下時(shí)本次輸入清零。密碼輸入(修改)電路中的按鍵按下去都自動(dòng)彈上來,也就是說按鍵只有被按下時(shí)才連接低電平,否則接高電平。3.4密碼驗(yàn)證該模塊中采用自定義存儲(chǔ)器RAM進(jìn)行密碼的存儲(chǔ),重要使用case語句和if_else語句進(jìn)行程序的銜接。密碼驗(yàn)證電路圖如下圖3.2圖3.2密碼驗(yàn)證電路密碼驗(yàn)證電路用16個(gè)異或門構(gòu)成,每個(gè)異或門的輸入來自密碼存儲(chǔ)電路的輸入密碼存儲(chǔ)芯片和預(yù)設(shè)密碼存儲(chǔ)芯片,比較輸入密碼與否和預(yù)設(shè)密碼相似,再加上與非門電路,判斷所有輸入與否為1,為1則表達(dá)輸入對(duì)的,否則錯(cuò)誤。密碼輸入電路中確實(shí)認(rèn)按鈕控制比較成果輸出的三態(tài)門,輸入四位密碼后,按下確認(rèn)鍵,驗(yàn)證后的成果輸出至開鎖報(bào)警電路。密碼修改按鍵連接JK觸發(fā)器的CLK,修改密碼流程是:輸入預(yù)設(shè)密碼——按下修改密碼按鍵——輸入新密碼——按下密碼確認(rèn)按鍵,修改結(jié)束。在輸入新密碼后在按下密碼確認(rèn)按鍵使JK觸發(fā)器清零,清零后使得預(yù)設(shè)密碼存儲(chǔ)芯片不再存儲(chǔ)輸入密碼。JK觸發(fā)器的正向輸出端接報(bào)警電路,假如密碼輸入錯(cuò)誤就會(huì)報(bào)警。4軟件仿真rst低電平時(shí)所有的模塊復(fù)位,只有密碼設(shè)置模塊工作;password為設(shè)置密碼時(shí)的輸入端,ram就是存儲(chǔ)密碼的寄存器;enter_p為在這里為密碼設(shè)置使能端,高電平有效。密碼設(shè)置的仿真波形如下圖,由圖中可以清晰地看到在enter_p高電平時(shí)寄存器ram中得到了輸入的密碼1001。圖4.1密碼設(shè)置仿真波形rst置高,設(shè)置密碼模塊不工作,其他部分正常工作,en1為高時(shí)代表密碼設(shè)置完畢,密碼鎖開始工作;enter_c是密碼輸入使能信號(hào),高電平時(shí)表達(dá)開始密碼輸入,此時(shí)code_tmp中開始存儲(chǔ)輸入的數(shù)據(jù),計(jì)時(shí)使能信號(hào)en2也變成高電平。密碼輸入仿真波形如下,由圖中可清晰的看到在enter_c為高時(shí),寄存器code_tmp中存儲(chǔ)了輸入的數(shù)據(jù)code(系統(tǒng)仿真時(shí)有10ns的延時(shí))圖4.2密碼輸入仿真波形5數(shù)字邏輯系統(tǒng)簡(jiǎn)介5.1QuartusII軟件簡(jiǎn)介QuartusII是Altera企業(yè)在2二十一世紀(jì)初推出的可編程邏輯器件的集成開發(fā)軟件,這個(gè)軟件是該企業(yè)前一代可編程邏輯器件集成開發(fā)軟件MAX+PLUSII的更新?lián)Q代產(chǎn)品。QuartusII集成開發(fā)軟件支持可編程邏輯器件開發(fā)的整個(gè)過程,它提供一種與器件無關(guān)的設(shè)計(jì)環(huán)境。軟件界面友好,使設(shè)計(jì)者能以便地進(jìn)行設(shè)計(jì)輸入、設(shè)計(jì)處理和器件編程。QuartusII集成開發(fā)軟件提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能滿足多種特定設(shè)計(jì)的需要。QuartusII設(shè)計(jì)工具支持VHDL、VerilogHDL硬件描述語言的設(shè)計(jì)流程。它也是在片可編程系統(tǒng)(SystemonaProgrammableChip,SOPC)的綜合設(shè)計(jì)環(huán)境。此外,QuartusII集成開發(fā)軟件也可以運(yùn)用第三方軟件的成果,并支持第三方軟件的工作。為加緊應(yīng)用系統(tǒng)的開發(fā),QuartusII集成開發(fā)軟件包括許多十分有用的參數(shù)化模塊庫(LibraryofParameterizedModules,LPM),它們是復(fù)雜或高級(jí)系統(tǒng)構(gòu)建的重要構(gòu)成部分,在數(shù)字系統(tǒng)設(shè)計(jì)中被大量使用。當(dāng)然這些模塊也可以與顧客設(shè)計(jì)文獻(xiàn)一起使用。Altera提供的LPM函數(shù)均基于Altera企業(yè)器件的構(gòu)造做了優(yōu)化設(shè)計(jì),在設(shè)計(jì)中合理地調(diào)用LPM不僅可以加緊設(shè)計(jì)進(jìn)程,還可以提高系統(tǒng)性能。有些LPM宏功能模塊的使用必須依賴于某些Altera企業(yè)特定器件的硬件功能,如各類存儲(chǔ)器模塊、DSP模塊、LVDS驅(qū)動(dòng)器模塊、PLL及SERDES和DDIO模塊等,這在使用中需要注意。5.2硬件描述語言5.2.1VHDL語言VHDL重要用于描述數(shù)字系統(tǒng)的構(gòu)造,行為,功能和接口。除了具有許多具有硬件特性的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語言。VHDL的程序構(gòu)造特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一種元件,一種電路模塊或一種系統(tǒng))提成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既波及實(shí)體的內(nèi)部功能和算法完畢部分。在對(duì)一種設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完畢后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體提成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。特點(diǎn):VHDL語言可以成為原則化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有諸多其他硬件描述語言所不具有的長(zhǎng)處。歸納起來,VHDL語言重要具有如下長(zhǎng)處:(1)VHDL語言功能強(qiáng)大,設(shè)計(jì)方式多樣VHDL語言具有強(qiáng)大的語言構(gòu)造,只需采用簡(jiǎn)樸明確的VHDL語言程序就可以描述十分復(fù)雜的硬件電路。同步,它還具有多層次的電路設(shè)計(jì)描述功能。此外,VHDL語言可以同步支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì)實(shí)現(xiàn),這是其他硬件描述語言所不能比擬的。VHDL語言設(shè)計(jì)措施靈活多樣,既支持自頂向下的設(shè)計(jì)方式,也支持自底向上的設(shè)計(jì)措施;既支持模塊化設(shè)計(jì)措施,也支持層次化設(shè)計(jì)措施。(2)VHDL語言具有強(qiáng)大的硬件描述能力VHDL語言具有多層次的電路設(shè)計(jì)描述功能,既可描述系統(tǒng)級(jí)電路,也可以描述門級(jí)電路;描述方式既可以采用行為描述、寄存器傳播描述或者構(gòu)造描述,也可以采用三者的混合描述方式。同步,VHDL語言也支持慣性延遲和傳播延遲,這樣可以精確地建立硬件電路的模型。VHDL語言的強(qiáng)大描述能力還體目前它具有豐富的數(shù)據(jù)類型。VHDL語言既支持原則定義的數(shù)據(jù)類型,也支持顧客定義的數(shù)據(jù)類型,這樣便會(huì)給硬件描述帶來較大的自由度。(3)VHDL語言具有很強(qiáng)的移植能力VHDL語言很強(qiáng)的移植能力重要體目前:對(duì)于同一種硬件電路的VHDL語言描述,它可以從一種模擬器移植到另一種模擬器上、從一種綜合器移植到另一種綜合器上或者從一種工作平臺(tái)移植到另一種工作平臺(tái)上去執(zhí)行。(4)VHDL語言的設(shè)計(jì)描述與器件無關(guān)采用VHDL語言描述硬件電路時(shí),設(shè)計(jì)人員并不需要首先考慮選擇進(jìn)行設(shè)計(jì)的器件。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化,而不需要考慮其他的問題。當(dāng)硬件電路的設(shè)計(jì)描述完畢后來,VHDL語言容許采用多種不一樣的器件構(gòu)造來實(shí)現(xiàn)。(5)VHDL語言程序易于共享和復(fù)用VHDL語言采用基于庫(library)的設(shè)計(jì)措施。在設(shè)計(jì)過程中,設(shè)計(jì)人員可以建立多種可再次運(yùn)用的模塊,一種大規(guī)模的硬件電路的設(shè)計(jì)不也許從門級(jí)電路開始一步步地進(jìn)行設(shè)計(jì),而是某些模塊的累加。這些模塊可以預(yù)先設(shè)計(jì)或者使用此前設(shè)計(jì)中的存檔模塊,將這些模塊寄存在庫中,就可以在后來的設(shè)計(jì)中進(jìn)行復(fù)用。由于VHDL語言是一種描述、模擬、綜合、優(yōu)化和布線的原則硬件描述語言,因此它可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間以便地進(jìn)行交流和共享,從而減小硬件電路設(shè)計(jì)的工作量,縮短開發(fā)周期。5.2.2Verilog語言VerilogHDL是目前應(yīng)用最為廣泛的硬件描述語言.VerilogHDL可以用來進(jìn)行多種層次的邏輯設(shè)計(jì),也可以進(jìn)行數(shù)字系統(tǒng)的邏輯綜合,仿真驗(yàn)證和時(shí)序分析等。VerilogHDL適合算法級(jí),寄存器級(jí),邏輯級(jí),開關(guān)級(jí)、系統(tǒng)級(jí)和版圖級(jí)等各個(gè)層次的設(shè)計(jì)和描述.VerilogHDL進(jìn)行設(shè)計(jì)最大的長(zhǎng)處是其工藝無關(guān)性.這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段可以不必過多考慮門級(jí)及工藝實(shí)現(xiàn)的詳細(xì)細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)的規(guī)定施加不一樣的約束條件,即可設(shè)計(jì)出實(shí)際電路.VerilogHDL是一種硬件描述語言(hardwaredescriptionlanguage),為了制作數(shù)字電路而用來描述ASICs和FPGA的設(shè)計(jì)之用。Verilog的設(shè)計(jì)者想要以C編程語言為基礎(chǔ)設(shè)計(jì)一種語言,可以使工程師比較輕易學(xué)習(xí)。Verilog是由en:GatewayDesignAutomation企業(yè)于大概1984年開始發(fā)展。GatewayDesignAutomation企業(yè)后來被CadenceDesignSystems于1990年所購并。目前Cadence對(duì)于Gateway企業(yè)的Verilog和Verilog-XL模擬器擁有所有的財(cái)產(chǎn)權(quán)。選擇VHDL還是verilogHDL?這是一種初學(xué)者最常見的問題。其實(shí)兩種語言的差異并不大,他們的描述能力也是類似的。掌握其中一種語言后來,可以通過短期的學(xué)習(xí),較快的學(xué)會(huì)另一種語言。選擇何種語言重要還是看周圍人群的使用習(xí)慣,這樣可以以便后來的學(xué)習(xí)交流。當(dāng)然,假如您是專用集成電路(ASIC)設(shè)計(jì)人員,則必須首先掌握verilog,由于在IC設(shè)計(jì)領(lǐng)域,90%以上的企業(yè)都是采用verilog進(jìn)行IC設(shè)計(jì)。對(duì)于PLD/FPGA設(shè)計(jì)者而言,兩種語言可以自由選擇。6結(jié)論在滿足本設(shè)計(jì)規(guī)定后,基于該系統(tǒng)的硬件以固定,不過由于使用FPGA做主控制模塊,而FPGA是現(xiàn)場(chǎng)可編程器件,以及其可用I/O口諸多未用,因此還可以做深入拓展,例如可以用12864或者1602做顯示,還可以外加個(gè)蜂鳴器做報(bào)警器等等。按照畢業(yè)設(shè)計(jì)規(guī)定,采用以上環(huán)節(jié)完畢設(shè)計(jì)任務(wù),到達(dá)了設(shè)計(jì)規(guī)定的需要,重點(diǎn)對(duì)硬件、軟件的構(gòu)成進(jìn)行了分項(xiàng)、模塊化設(shè)計(jì),在這次課程設(shè)計(jì)中,同學(xué)之間互相協(xié)助,有什么不懂的大家在一起商議,發(fā)現(xiàn)我們所學(xué)的知識(shí)實(shí)在是有限,不過我們可以充足運(yùn)用網(wǎng)絡(luò)的優(yōu)勢(shì)去查閱資料。最終,課程設(shè)計(jì)中波及到的電路圖,本想用圖片制作工具繪制,但還是水平有限,最終只能自己動(dòng)手手工找圖,就是效率太低也太累,后來要好好學(xué)習(xí)有關(guān)的圖片制作。在整個(gè)設(shè)計(jì)過程中我認(rèn)識(shí)到了許多東西,也培養(yǎng)了獨(dú)立思索和設(shè)計(jì)的能力,樹立了對(duì)知識(shí)應(yīng)用的信心,相信會(huì)對(duì)此后的學(xué)習(xí)工作和生活有非常大的協(xié)助,使自己充足體會(huì)到了在設(shè)計(jì)過程中的成功喜悅。雖然這個(gè)設(shè)計(jì)做的不怎么好,不過在設(shè)計(jì)過程中所學(xué)到的東西是這次課程設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。附錄1時(shí)序電路libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityexp19isport(Clk:instd_logic;--時(shí)鐘信號(hào)Rst:instd_logic;--復(fù)位信號(hào)Kr:instd_logic_vector(3downto0);--鍵盤行Kc:bufferstd_logic_vector(3downto0);--鍵盤列SPK:outstd_logic;--揚(yáng)聲器輸出KEY_State:outstd_logic;--按鍵指示Door:bufferstd_logic;--門狀態(tài)Display:outstd_logic_vector(7downto0);--七段碼管顯示SEG_SEL:bufferstd_logic_vector(2downto0));--七段碼管片選endexp19;architecturebehaveofexp19issignalkeyr,keyc:std_logic_vector(3downto0);signalkcount:std_logic_vector(2downto0);signalkflag1,kflag2:std_logic;signalbuff1,buff2,buff3,buff4,buff5,buff6:integerrange0to15;signalpush_num:integerrange0to15;--按鍵次數(shù)signalDisp_Temp:integerrange0to15;signalDisp_Decode:std_logic_vector(7downto0);signalSEC1,SEC10:integerrange0to9;signalClk_Count1:std_logic_vector(3downto0);--1KHz時(shí)鐘分頻計(jì)數(shù)器signalClk_Count2:std_logic_vector(9downto0);--2Hz時(shí)鐘分頻計(jì)數(shù)器signalClk1KHz:std_logic;signalClk2Hz:std_logic;signalClk1Hz:std_logic;signalError_Num:integerrange0to3;signalError_Flag:std_logic;signalError_Count:std_logic_vector(2downto0);signalMusic_Count:std_logic_vector(2downto0);beginprocess(Clk)beginif(Clk'eventandClk='1')thenif(Clk_Count1<10)thenClk_Count1<=Clk_Count1+1;elseClk_Count1<="0001";endif;endif;endprocess;Clk1KHz<=Clk_Count1(2);process(Clk1KHz)beginif(Clk1KHz'eventandClk1KHz='1')thenif(Clk_Count2<1000)thenClk_Count2<=Clk_Count2+1;elseClk_Count2<="";endif;endif;endprocess;Clk2Hz<=Clk_Count2(9);process(Clk2Hz)beginif(Clk2Hz'eventandClk2Hz='1')thenClk1Hz<=notClk1Hz;endif;endprocess;2密碼設(shè)置輸入process(rst,password,enter_p)is begin ifrst='0'then ifenter_p='1'then ram<=password; en1<='1'; endif; endif; endprocess;process(rst,enter_c,en1,code) begin ifrst='1'then ifen1='1'then ifenter_c='1'then code_tmp<=code; en2<='1'; endif; elsecode_tmp<="0000";en2<='0'; endif; elsecode_tmp<="0000";en2<='0'; endif; endprocess;3密碼驗(yàn)證process(Clk1KHz,Rst)--密碼校驗(yàn)beginif(Rst='0')thenDoor<='0';Error_Num<=0;Error_Flag<='0';elsif(Clk1KHz'eventandClk1KHz='1')thenif(push_num=5andError_Num<3)then--修改此處的值可修改門的密碼,此處密碼為1234if(buff1=1andbuff2=2andbuff3=3andbuff4=4)thenDoor<='1';elseDoor<='0';endif;elsif(push_num=4andError_Num<1)thenif(Door='0')thenError_Flag<='1';Error_Num<=Error_Num+1;elseError_Flag<='0';Error_Num<=0;endif;elsif(Error_Count=4)thenError_Flag<='

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論