




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、華中科技大學(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位: 2012 年 05 月 31 日目錄1緒論51.1設(shè)計(jì)內(nèi)容51.2設(shè)計(jì)要求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.1 quartus ii軟件簡(jiǎn)介105.2硬件描述語(yǔ)言115.2.1 vhdl語(yǔ)言115.2.2 verilog語(yǔ)言126 結(jié)論13
2、附錄141時(shí)序電路142密碼設(shè)置輸入163密碼驗(yàn)證17參考文獻(xiàn)19謝辭20摘要:本設(shè)計(jì)利用fpga作為核心控制板,用verilog 硬件描述語(yǔ)言進(jìn)行編程,利用計(jì)算機(jī)軟硬件控制技術(shù),設(shè)計(jì)一個(gè)基于fpga的數(shù)字密碼鎖,能實(shí)現(xiàn)密碼設(shè)定(如果密碼沒設(shè)定則默認(rèn)密碼為0000),密碼輸入及驗(yàn)證,當(dāng)密碼輸入錯(cuò)誤時(shí)報(bào)警或則指示燈亮;反之,密碼輸入正確時(shí),另外一個(gè)指示燈亮。將程序下載到altera公司的cyclone系列目標(biāo)芯片ep2c5t144c8上調(diào)試通過(guò),并觀察實(shí)際現(xiàn)象,滿足設(shè)計(jì)要求。關(guān)鍵詞:fpga verilog 數(shù)字密碼鎖abstractthe design using the fpga as th
3、e core of the control panel, verilog hardware description language for programming, computer hardware and software control 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 t
4、he light when the password input error; on the contrary, enter the correct password , a light. program downloaded to the target chip ep2c5t144c8 alteras cyclone series through debugging , and to observe the actual phenomenon , to meet the design requirements.keywords: fpga verilog digital code lock引
5、 言隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變得尤其的突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的青睞,電子密碼鎖的使用體現(xiàn)了人們消費(fèi)水平、保安意識(shí)和科技水平的提高,而且避免了攜帶甚至丟失鑰匙的麻煩。目前設(shè)計(jì)密碼鎖的方法很多,例如用傳統(tǒng)的pcb板設(shè)計(jì)、用plc設(shè)計(jì)或者用單片機(jī)設(shè)計(jì)等等。而用verilog可以更加快速、靈活地設(shè)計(jì)出符合各種要求的密碼鎖,優(yōu)于其他設(shè)計(jì)方法。verilog是一種符合ieee標(biāo)準(zhǔn)的硬件描述語(yǔ)言,其最大的特點(diǎn)是借鑒高級(jí)程序設(shè)計(jì)語(yǔ)言的功能特性,對(duì)電路的行為與結(jié)構(gòu)進(jìn)行高度抽象化、規(guī)范化的形式
6、描述,并對(duì)設(shè)計(jì)的不同層次、不同領(lǐng)域的模型驗(yàn)證與綜合優(yōu)化等處理,是設(shè)計(jì)過(guò)程延伸到高度自動(dòng)化。1緒論1.1設(shè)計(jì)內(nèi)容設(shè)計(jì)一個(gè)4位數(shù)字密碼鎖子系統(tǒng)1.2設(shè)計(jì)要求1、 能夠預(yù)設(shè)4位密碼;2、 具有密碼輸入及檢測(cè)功能;3、 利用maxplus對(duì)所設(shè)計(jì)的電路進(jìn)行仿真并分析結(jié)果。2 系統(tǒng)設(shè)計(jì)本設(shè)計(jì)中,fpga系統(tǒng)采用硬件描述語(yǔ)言verilog按模塊化方式進(jìn)行設(shè)計(jì),并將各模塊集成于fpga芯片中,然后通過(guò)quartus ii9.0軟件開發(fā)平臺(tái)對(duì)設(shè)計(jì)文件自動(dòng)完成邏輯編譯、邏輯化簡(jiǎn)、綜合及優(yōu)化、邏輯布局布線、邏輯仿真,最后對(duì)fpga芯片進(jìn)行編程,實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)要求。2.1 模塊劃分密碼鎖的的構(gòu)成主要由密碼輸入、密碼
7、設(shè)置,此外密碼鎖必須能夠保存已設(shè)置的密碼,因而需要一個(gè)寄存器來(lái)保存密碼,同時(shí)由于控制電路和報(bào)警電路要用到不同的時(shí)鐘,因而需要一個(gè)時(shí)序產(chǎn)生電路來(lái)生成需要的不同信號(hào),采用分頻方法實(shí)現(xiàn)。2.1 系統(tǒng)原理框圖根據(jù)密碼鎖的電路特點(diǎn),選用的是實(shí)驗(yàn)箱的模式6電路,根據(jù)電路功能,在這里設(shè)計(jì)的密碼鎖以4位2進(jìn)制代碼作為密碼的電子密碼鎖。其原理框圖如下圖2.1所示:報(bào)警電路時(shí)序產(chǎn)生電路比較控制密碼輸入開鎖信號(hào)寄存器(保存設(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)
8、蜂鳴器工作需要的很高頻率的脈沖信號(hào),因而這里采用輸入一個(gè)高頻脈沖(1024hz)信號(hào)來(lái)驅(qū)動(dòng)蜂鳴器,采用分頻的方法得到1hz的計(jì)時(shí)脈沖。process(clk_1k) variable cnt1:integer:=0;beginif rising_edge(clk_1k) thenif cnt1=512 thenclk_1=not clk_1;cnt1:=0;else cnt1:=cnt1+1;end if;end if;end process;程序說(shuō)明:clk_1k為輸入的1024hz高頻脈沖,cnt為分頻得到的1hz計(jì)時(shí)脈沖。3.2密碼設(shè)置為了安全性,密碼鎖必須能夠重復(fù)的設(shè)定密碼,在設(shè)定密碼
9、鎖后,應(yīng)該設(shè)置一個(gè)寄存器來(lái)存儲(chǔ)設(shè)定的密碼。process(rst,password,enter_p) is beginif rst=0 thenif enter_p=1 thenram=password;en1=1;end if;end if;end process;程序說(shuō)明:rst低電平時(shí)所有的模塊復(fù)位,只有密碼設(shè)置模塊工作;password為設(shè)置密碼時(shí)的輸入端,ram就是存儲(chǔ)密碼的寄存器;enter_p為在這里為密碼設(shè)置使能端,高電平有效。 密碼設(shè)置的仿真波形如下圖,由圖中可以清楚地看到在enter_p高電平時(shí)寄存器ram中得到了輸入的密碼1001。3.3密碼輸入密碼輸入部分要求在密碼開始
10、輸入時(shí)進(jìn)行計(jì)時(shí),超時(shí)了要求報(bào)警,因此在密碼輸入時(shí)設(shè)置一個(gè)計(jì)時(shí)使能信號(hào)en2,密碼開始輸入時(shí)使能信號(hào)en2有效,控制電路的計(jì)時(shí)器開始計(jì)時(shí);而且在密碼確認(rèn)鍵按下之前,電路不能對(duì)輸入密碼和已設(shè)置密碼進(jìn)行比較,因此需要設(shè)置一個(gè)寄存器,來(lái)存儲(chǔ)輸入的數(shù)據(jù),當(dāng)確認(rèn)鍵按下時(shí),就將寄存器里的數(shù)據(jù)送給控制部分進(jìn)行比較。 process(rst,enter_c,en1,code) begin if rst=1 thenif en1=1 thenif enter_c=1 thencode_tmp=code;en2=1;end if; else code_tmp=0000;en2=0;end if; else code
11、_tmp=0000;en2=0;end if;end process;密碼輸入電路圖如下圖3.2 圖3.1密碼輸入電路此密碼輸入電路使用74hc147 10線-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ā)器的清零。輸出清除按
12、鍵按下時(shí)本次輸入清零。密碼輸入(修改)電路中的按鍵按下去都自動(dòng)彈上來(lái),也就是說(shuō)按鍵只有被按下時(shí)才連接低電平,否則接高電平。3.4密碼驗(yàn)證該模塊中采用自定義存儲(chǔ)器ram進(jìn)行密碼的存儲(chǔ),主要使用case語(yǔ)句和if_else語(yǔ)句進(jìn)行程序的銜接。密碼驗(yàn)證電路圖如下圖3.2圖3.2密碼驗(yàn)證電路密碼驗(yàn)證電路用16個(gè)異或門組成,每個(gè)異或門的輸入來(lái)自密碼存儲(chǔ)電路的輸入密碼存儲(chǔ)芯片和預(yù)設(shè)密碼存儲(chǔ)芯片,比較輸入密碼是否和預(yù)設(shè)密碼相同,再加上與非門電路,判斷全部輸入是否為1,為1則表示輸入正確,否則錯(cuò)誤。密碼輸入電路中的確認(rèn)按鈕控制比較結(jié)果輸出的三態(tài)門,輸入四位密碼后,按下確認(rèn)鍵,驗(yàn)證后的結(jié)果輸出至開鎖報(bào)警電路。密
13、碼修改按鍵連接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è)
14、置密碼模塊不工作,其他部分正常工作,en1為高時(shí)代表密碼設(shè)置完畢,密碼鎖開始工作;enter_c是密碼輸入使能信號(hào),高電平時(shí)表示開始密碼輸入,此時(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.1 quartus ii軟件簡(jiǎn)介quartus ii是altera公司在221世紀(jì)初推出的可編程邏輯器件的集成開發(fā)軟件,這個(gè)軟件是該公司前一代可編程邏輯器件集成開發(fā)軟件max+plus ii的
15、更新?lián)Q代產(chǎn)品。quartus ii集成開發(fā)軟件支持可編程邏輯器件開發(fā)的整個(gè)過(guò)程,它提供一種與器件無(wú)關(guān)的設(shè)計(jì)環(huán)境。軟件界面友好,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、設(shè)計(jì)處理和器件編程。quartus ii集成開發(fā)軟件提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能滿足各種特定設(shè)計(jì)的需要。quartus ii設(shè)計(jì)工具支持vhdl、verilog 硬件描述語(yǔ)言的設(shè)計(jì)流程。它也是在片可編程系統(tǒng)(system on a programmable chip, sopc)的綜合設(shè)計(jì)環(huán)境。另外,quartus ii集成開發(fā)軟件也可以利用第三方軟件的結(jié)果,并支持第三方軟件的工作。為加快應(yīng)用系統(tǒng)的開發(fā),quartus ii集成開發(fā)軟件包
16、含許多十分有用的參數(shù)化模塊庫(kù)(library of parameterized modules, lpm),它們是復(fù)雜或高級(jí)系統(tǒng)構(gòu)建的重要組成部分,在數(shù)字系統(tǒng)設(shè)計(jì)中被大量使用。當(dāng)然這些模塊也可以與用戶設(shè)計(jì)文件一起使用。altera提供的lpm函數(shù)均基于altera公司器件的結(jié)構(gòu)做了優(yōu)化設(shè)計(jì),在設(shè)計(jì)中合理地調(diào)用lpm不僅可以加快設(shè)計(jì)進(jìn)程,還可以提高系統(tǒng)性能。有些lpm宏功能模塊的使用必須依賴于一些altera公司特定器件的硬件功能,如各類存儲(chǔ)器模塊、dsp模塊、lvds驅(qū)動(dòng)器模塊、pll及serdes和ddio模塊等,這在使用中需要注意。5.2硬件描述語(yǔ)言5.2.1 vhdl語(yǔ)言vhdl主要用于
17、描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,vhdl的語(yǔ)言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。vhdl的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(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ǔ)言能夠成為標(biāo)準(zhǔn)化的硬件描述語(yǔ)言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語(yǔ)言所不具備的優(yōu)點(diǎn)。歸納起來(lái)
18、,vhdl 語(yǔ)言主要具有以下優(yōu)點(diǎn):(1) vhdl 語(yǔ)言功能強(qiáng)大,設(shè)計(jì)方式多樣 vhdl 語(yǔ)言具有強(qiáng)大的語(yǔ)言結(jié)構(gòu),只需采用簡(jiǎn)單明確的vhdl語(yǔ)言程序就可以描述十分復(fù)雜的硬件電路。同時(shí),它還具有多層次的電路設(shè)計(jì)描述功能。此外,vhdl 語(yǔ)言能夠同時(shí)支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì)實(shí)現(xiàn),這是其他硬件描述語(yǔ)言所不能比擬的。vhdl 語(yǔ)言設(shè)計(jì)方法靈活多樣,既支持自頂向下的設(shè)計(jì)方式,也支持自底向上的設(shè)計(jì)方法; 既支持模塊化設(shè)計(jì)方法,也支持層次化設(shè)計(jì)方法。 (2) vhdl 語(yǔ)言具有強(qiáng)大的硬件描述能力 vhdl 語(yǔ)言具有多層次的電路設(shè)計(jì)描述功能,既可描述系統(tǒng)級(jí)電路,也可以描述門級(jí)電路;描述方式既可以
19、采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時(shí),vhdl 語(yǔ)言也支持慣性延遲和傳輸延遲,這樣可以準(zhǔn)確地建立硬件電路的模型。vhdl 語(yǔ)言的強(qiáng)大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。vhdl 語(yǔ)言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會(huì)給硬件描述帶來(lái)較大的自由度。 (3) vhdl 語(yǔ)言具有很強(qiáng)的移植能力 vhdl 語(yǔ)言很強(qiáng)的移植能力主要體現(xiàn)在: 對(duì)于同一個(gè)硬件電路的 vhdl 語(yǔ)言描述,它可以從一個(gè)模擬器移植到另一個(gè)模擬器上、從一個(gè)綜合器移植到另一個(gè)綜合器上或者從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)上去執(zhí)行。 (4) vhdl 語(yǔ)言的設(shè)計(jì)描述與器件
20、無(wú)關(guān) 采用 vhdl 語(yǔ)言描述硬件電路時(shí),設(shè)計(jì)人員并不需要首先考慮選擇進(jìn)行設(shè)計(jì)的器件。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化,而不需要考慮其他的問(wèn)題。當(dāng)硬件電路的設(shè)計(jì)描述完成以后,vhdl 語(yǔ)言允許采用多種不同的器件結(jié)構(gòu)來(lái)實(shí)現(xiàn)。 (5) vhdl 語(yǔ)言程序易于共享和復(fù)用 vhdl 語(yǔ)言采用基于庫(kù) ( library) 的設(shè)計(jì)方法。在設(shè)計(jì)過(guò)程中,設(shè)計(jì)人員可以建立各種可再次利用的模塊,一個(gè)大規(guī)模的硬件電路的設(shè)計(jì)不可能從門級(jí)電路開始一步步地進(jìn)行設(shè)計(jì),而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計(jì)或者使用以前設(shè)計(jì)中的存檔模塊,將這些模塊存放在庫(kù)中,就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用。 由于 vhd
21、l 語(yǔ)言是一種描述、模擬、綜合、優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語(yǔ)言,因此它可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間方便地進(jìn)行交流和共享,從而減小硬件電路設(shè)計(jì)的工作量,縮短開發(fā)周期。5.2.2 verilog語(yǔ)言verilog hdl是目前應(yīng)用最為廣泛的硬件描述語(yǔ)言verilog hdl可以用來(lái)進(jìn)行各種層次的邏輯設(shè)計(jì),也可以進(jìn)行數(shù)字系統(tǒng)的邏輯綜合,仿真驗(yàn)證和時(shí)序分析等。 verilog hdl適合算法級(jí),寄存器級(jí),邏輯級(jí),開關(guān)級(jí)、系統(tǒng)級(jí)和版圖級(jí)等各個(gè)層次的設(shè)計(jì)和描述 verilog hdl進(jìn)行設(shè)計(jì)最大的優(yōu)點(diǎn)是其工藝無(wú)關(guān)性這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段可以不必過(guò)多考慮門級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)
22、的要求施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路 verilog hdl是一種硬件描述語(yǔ)言(hardware description language),為了制作數(shù)字電路而用來(lái)描述asics和fpga的設(shè)計(jì)之用。verilog 的設(shè)計(jì)者想要以 c 編程語(yǔ)言為基礎(chǔ)設(shè)計(jì)一種語(yǔ)言,可以使工程師比較容易學(xué)習(xí)。 verilog 是由en:gateway design automation公司于大約1984年開始發(fā)展。gateway design automation公司后來(lái)被 cadence design systems于1990年所購(gòu)并?,F(xiàn)在 cadence 對(duì)于 gateway 公司的 verilog
23、和 verilog-xl 模擬器擁有全部的財(cái)產(chǎn)權(quán)。 選擇vhdl還是verilog hdl? 這是一個(gè)初學(xué)者最常見的問(wèn)題。其實(shí)兩種語(yǔ)言的差別并不大,他們的描述能力也是類似的。掌握其中一種語(yǔ)言以后,可以通過(guò)短期的學(xué)習(xí),較快的學(xué)會(huì)另一種語(yǔ)言。 選擇何種語(yǔ)言主要還是看周圍人群的使用習(xí)慣,這樣可以方便日后的學(xué)習(xí)交流。當(dāng)然,如果您是專用集成電路(asic)設(shè)計(jì)人員,則必須首先掌握verilog,因?yàn)樵趇c設(shè)計(jì)領(lǐng)域,90%以上的公司都是采用verilog進(jìn)行ic設(shè)計(jì)。對(duì)于pld/fpga設(shè)計(jì)者而言,兩種語(yǔ)言可以自由選擇。6 結(jié)論在滿足本設(shè)計(jì)要求后,基于該系統(tǒng)的硬件以固定,但是由于使用fpga做主控制模塊,
24、而fpga是現(xiàn)場(chǎng)可編程器件,以及其可用i/o口很多未用,因此還可以做進(jìn)一步拓展,例如可以用12864或者1602做顯示,還可以外加個(gè)蜂鳴器做報(bào)警器等等。按照畢業(yè)設(shè)計(jì)要求,采取以上步驟完成設(shè)計(jì)任務(wù),達(dá)到了設(shè)計(jì)要求的需要,重點(diǎn)對(duì)硬件、軟件的組成進(jìn)行了分項(xiàng)、模塊化設(shè)計(jì),在這次課程設(shè)計(jì)中,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,發(fā)現(xiàn)我們所學(xué)的知識(shí)實(shí)在是有限,不過(guò)我們能夠充分利用網(wǎng)絡(luò)的優(yōu)勢(shì)去查閱資料。最后,課程設(shè)計(jì)中涉及到的電路圖,本想用圖片制作工具繪制,但還是水平有限,最后只能自己動(dòng)手手工找圖,就是效率太低也太累,以后要好好學(xué)習(xí)相關(guān)的圖片制作。在整個(gè)設(shè)計(jì)過(guò)程中我認(rèn)識(shí)到了許多東西,也培養(yǎng)了獨(dú)立思考
25、和設(shè)計(jì)的能力,樹立了對(duì)知識(shí)應(yīng)用的信心,相信會(huì)對(duì)今后的學(xué)習(xí)工作和生活有非常大的幫助, 使自己充分體會(huì)到了在設(shè)計(jì)過(guò)程中的成功喜悅。雖然這個(gè)設(shè)計(jì)做的不怎么好,但是在設(shè)計(jì)過(guò)程中所學(xué)到的東西是這次課程設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。附錄1時(shí)序電路library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; - entity exp19 is port( clk : in std_logic; -時(shí)鐘信號(hào) rst : in std_logic; -復(fù)位信
26、號(hào) kr : in std_logic_vector(3 downto 0); -鍵盤行 kc : buffer std_logic_vector(3 downto 0); -鍵盤列 spk : out std_logic; -揚(yáng)聲器輸出 key_state : out std_logic; -按鍵指示 door : buffer std_logic; -門狀態(tài) display : out std_logic_vector(7 downto 0); -七段碼管顯示 seg_sel : buffer std_logic_vector(2 downto 0); -七段碼管片選 end exp19;
27、 - architecture behave of exp19 is signal keyr,keyc : std_logic_vector(3 downto 0); signal kcount : std_logic_vector(2 downto 0); signal kflag1,kflag2 : std_logic; signal buff1,buff2,buff3,buff4,buff5,buff6 : integer range 0 to 15; signal push_num : integer range 0 to 15; -按鍵次數(shù) signal disp_temp : in
28、teger range 0 to 15; signal disp_decode : std_logic_vector(7 downto 0); signal sec1,sec10 : integer range 0 to 9; signal clk_count1 : std_logic_vector(3 downto 0); -1khz時(shí)鐘分頻計(jì)數(shù)器 signal clk_count2 : std_logic_vector(9 downto 0); -2hz時(shí)鐘分頻計(jì)數(shù)器 signal clk1khz : std_logic; signal clk2hz : std_logic; signal
29、 clk1hz : std_logic; signal error_num : integer range 0 to 3; signal error_flag : std_logic; signal error_count : std_logic_vector(2 downto 0); signal music_count : std_logic_vector(2 downto 0); begin process(clk) begin if(clkevent and clk=1) then if(clk_count110) then clk_count1=clk_count1+1; else
30、clk_count1=0001; end if; end if; end process; clk1khz=clk_count1(2); process(clk1khz) begin if(clk1khzevent and clk1khz=1) then if(clk_count21000) then clk_count2=clk_count2+1; else clk_count2=0000000001; end if; end if; end process; clk2hz=clk_count2(9); process(clk2hz) begin if(clk2hzevent and clk
31、2hz=1) then clk1hz=not clk1hz; end if; end process; 2密碼設(shè)置輸入process(rst,password,enter_p) is beginif rst=0 thenif enter_p=1 thenram=password;en1=1;end if;end if;end process;process(rst,enter_c,en1,code) begin if rst=1 thenif en1=1 thenif enter_c=1 thencode_tmp=code;en2=1;end if; else code_tmp=0000;en
32、2=0;end if; else code_tmp=0000;en2=0;end if;end process;3密碼驗(yàn)證process(clk1khz,rst) -密碼校驗(yàn) begin if(rst=0) then door=0; error_num=0; error_flag=0; elsif(clk1khzevent and clk1khz=1) then if(push_num=5 and error_num3) then -修改此處的值可修改門的密碼,此處密碼為1234 if(buff1=1 and buff2=2 and buff3=3 and buff4=4) then door=1; else door=0; end if; elsif(push_num=4 and error_num1) then if(door=0) then error_flag=1; error_num=error_num+1; else error_flag=0; error_num=0; end if; elsif(error_count=4) then error_flag=0; elsif(error_flag=1) then door=not error_count(0); end if; e
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 直播運(yùn)營(yíng)考核合同范本
- 買賣小車指標(biāo)合同范本
- 擋墻項(xiàng)目正規(guī)合同范本
- 單位安裝電子門合同范本
- ktv出兌合同范本
- 保安安潔服務(wù)合同范本
- 農(nóng)村自建房合同范本
- 個(gè)人汽車轉(zhuǎn)讓合同范本
- 勞務(wù)派遣未簽合同范本
- 產(chǎn)品宣傳授權(quán)合同范本
- 2024屆清華大學(xué)強(qiáng)基計(jì)劃數(shù)學(xué)學(xué)科筆試試題(附答案)
- 偵查學(xué)總論學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2025屆高考語(yǔ)文一輪復(fù)習(xí):小說(shuō)物象含義及作用
- 臨終關(guān)懷模式
- 公司關(guān)于進(jìn)一步深化“法治公司”建設(shè)的實(shí)施方案
- (完整版)安全技術(shù)交底的范本(全套)
- 2024轉(zhuǎn)向節(jié)設(shè)計(jì)標(biāo)準(zhǔn)
- 一年級(jí)《讀讀兒歌和童謠》線上閱讀測(cè)試專項(xiàng)測(cè)試題附答案
- 強(qiáng)化學(xué)習(xí)在支付風(fēng)控
- 工商企業(yè)管理畢業(yè)論文范文(4篇)
- DB11∕T 1326-2016 中小學(xué)校晨午檢規(guī)范
評(píng)論
0/150
提交評(píng)論