版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> EDA技術(shù)課程設(shè)計論文</p><p> 題 目 電子密碼鎖設(shè)計 </p><p> 課 程 名 稱 EDA技術(shù)實訓(xùn) </p><p> 院 (系) 電子通信工程學(xué)院 </p><p> 專 業(yè) 班 級 10電子信息工程3班 </p&g
2、t;<p> 設(shè)計起止時間:2012 年 12 月 3 日至 2012 年 12 月 21日</p><p><b> 目錄</b></p><p><b> 第1章 概述3</b></p><p> 第2章 設(shè)計要求4</p><p> 第3章 總體框圖5</p
3、><p> 第4章 功能模塊7</p><p> 4.1 輸入模塊7</p><p> 4.2 控制模塊11</p><p> 4.3 顯示模塊18</p><p> 第5章 總體設(shè)計電路圖20</p><p> 第6章 設(shè)計心得體會21</p><
4、p><b> 第1章 概述</b></p><p> 在當(dāng)今社會中,人們對于隱私的保護(hù)和對物品安全的重視程度與日俱增。因此,使用了現(xiàn)代電子技術(shù)的電子密碼鎖便有了廣泛的應(yīng)用前景。本次所設(shè)計的電子密碼鎖,能夠?qū)崿F(xiàn)該六位十進(jìn)制并行密碼保護(hù),當(dāng)輸入的密碼與鎖內(nèi)密碼一致時,綠燈亮,開鎖,當(dāng)輸入的密碼與鎖內(nèi)的密碼不一致時,紅燈亮,不能開鎖。密碼鎖的密碼可由用戶自行設(shè)置,如果用戶忘記密碼
5、,可以用初始密碼來重新設(shè)置密碼。為人們的財產(chǎn)、信息安全提供了可靠地保障。</p><p> 本次設(shè)計基于VHDL語言,對并行六位電子密碼鎖進(jìn)行設(shè)計,并對設(shè)計過程進(jìn)行了詳細(xì)描述。電子密碼鎖在對財產(chǎn)安全保護(hù)等方面都有著重要作用應(yīng)用前景非常廣泛。開鎖代碼為六位十進(jìn)制數(shù),當(dāng)輸入代碼的位數(shù)和位值與鎖內(nèi)給定的密碼一致,且按規(guī)定程序開鎖時,方可開鎖,并點亮開鎖指示燈。否則,系統(tǒng)進(jìn)入“錯誤”狀態(tài)。開鎖程序由設(shè)計者確定,并要
6、求鎖內(nèi)給定的密碼是可調(diào)的且預(yù)置方便、保密性好。</p><p> 在這我將設(shè)計一個具有較低成本的電子密碼鎖,本文講述了我整個設(shè)計過程及收獲。講述了電子密碼鎖的的工作原理以及各個模塊的功能,并講述了所有部分的設(shè)計思路,對各部分電路方案的選擇、元器件的篩選、以及對它們的調(diào)試、對波形圖的分析,到最后的總體圖的分析。</p><p><b> 第2章 設(shè)計要求</b>&
7、lt;/p><p> 本設(shè)計名稱為基于VHDL語言的電子密碼鎖,用四個模塊,分別為時序控制模塊、輸入模塊、控制模塊、顯示模塊,來控制密碼的輸入、驗證、修改與顯示。</p><p> 設(shè)計所要實現(xiàn)的功能為:</p><p> 1、數(shù)碼輸入:設(shè)計六位密碼的電子密碼鎖,用四個撥碼開關(guān)(key1~key4)輸入,并通過七段數(shù)碼管顯示輸入密碼。</p><
8、;p> 2、密碼驗證:輸入密碼后, 密碼正確時開鎖,綠燈亮,紅燈滅,表示開鎖成功。</p><p> 3、錯誤顯示:當(dāng)密碼輸入錯誤時,綠燈滅,紅燈亮,表示開鎖失敗。</p><p> 4、更改密碼:設(shè)置更改密碼功能</p><p> 5、密碼清除:密碼輸入過程中可以清除,并重新輸入。</p><p> 6、預(yù)設(shè)初始密碼為學(xué)號后
9、六位。設(shè)置按鍵還原初始密碼。</p><p><b> 第3章 總體框圖</b></p><p><b> 1)設(shè)計方案:</b></p><p> 電子密碼鎖,主要由四部分組成:時序控制電路、密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。</p><p> 時序控制電路來控制整個系統(tǒng)的運行
10、時序,使其不會發(fā)生混亂。</p><p> 作為電子密碼鎖的輸入電路,可選用的方案有撥碼與按鍵來控制輸入和觸摸式鍵盤輸入等多種。撥碼與按鍵和觸摸式4*4鍵盤相比簡單方便而且成本低,構(gòu)成的電路簡單,本設(shè)計中采用撥碼來作為該設(shè)計的輸入設(shè)備。密碼鎖的輸入電路由撥碼輸入、計數(shù)器、譯碼器組成。</p><p> 密碼鎖控制電路包括按鍵數(shù)據(jù)的緩沖存儲電路,密碼的清除、存儲、激活電鎖電路(寄存器清除
11、信號發(fā)生電路),密碼核對(數(shù)值比較電路),解鎖電路(開/關(guān)門鎖電路)等幾個小的功能電路。</p><p> 數(shù)字電子密碼鎖的顯示信息電路可采用LED數(shù)碼顯示管和液晶屏顯示兩種。液晶顯示具有高速顯示、可靠性高、易于擴(kuò)展和升級的特點,但是普通的液晶存在亮度低、對復(fù)雜環(huán)境適應(yīng)能力差的特點,但是在本設(shè)計中任然使用LED數(shù)碼管。</p><p> 根據(jù)以上選定的輸入設(shè)備與與顯示器件,并考慮到現(xiàn)實
12、各項密碼鎖功能的具體要求,與系統(tǒng)的設(shè)計要求,系統(tǒng)設(shè)計采用自頂向下的設(shè)計方案。整個密碼鎖系統(tǒng)的總體框圖如圖所示。</p><p><b> 第4章 功能模塊</b></p><p><b> 4.1 輸入模塊</b></p><p><b> 1)功能介紹</b></p><
13、p> 輸入時有四個撥碼鍵控制輸入,每四個撥碼來控制一位密碼,再設(shè)一個撥碼鍵a,每撥一次此按碼鍵a,表示輸入一位密碼,在用計數(shù)器來計數(shù),每輸入一位密碼時計數(shù)一次,并輸出一位密碼。由于是撥碼輸入,加上消抖電路,使輸入更加穩(wěn)定。</p><p><b> 輸入模塊與仿真圖形</b></p><p> 撥碼與按鍵輸入如下圖</p><p>
14、 上圖為撥碼輸入,當(dāng)a給一個上升沿信號,在qout輸出一個密碼。</p><p><b> 計數(shù)器如下圖</b></p><p> 上圖為計數(shù)器,沒輸入一個密碼計數(shù)一次。</p><p><b> 消抖電路如下圖</b></p><p><b> 3)程序的輸入</b>
15、;</p><p> 在文本區(qū)內(nèi)輸入程序,程序如下:</p><p><b> 撥碼與按鍵輸入</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL; </p><p> ENTITY mimasuo IS<
16、/p><p> PORT(key0,key1,key2,key3,ret,a:IN STD_LOGIC;</p><p> qout:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p> END ENTITY mimasuo;</p><p> ARCHITECTURE one OF mimasuo IS
17、</p><p><b> BEGIN</b></p><p> PROCESS(a)</p><p> VARIABLE q:STD_LOGIC_VECTOR(0 TO 3);</p><p><b> BEGIN</b></p><p> IF ret='
18、;1' THEN </p><p> q:=(others=>'0');</p><p><b> ELSE</b></p><p> if a'event and a='1' then</p><p> q(3):=key3;</p><
19、p> q(2):=key2;</p><p> q(1):=key1;</p><p> q(0):=key0;</p><p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> qout
20、<=q;</b></p><p> END PROCESS;</p><p> end ARCHITECTURE one;</p><p><b> 計數(shù)器</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_
21、1164.ALL;</p><p> USE IEEE.STD_LOGIC_unsigned.all;</p><p> ENTITY cnt4 IS</p><p> PORT (a:IN STD_LOGIC;</p><p> Q:OUT STD_LOGIC_vector(0 to 2));</p><p>
22、;<b> END cnt4;</b></p><p> ARCHITECTURE BEHAVE OF cnt4 IS</p><p> SIGNAL q1:STD_LOGIC_vector(0 to 2);</p><p><b> BEGIN</b></p><p> PROCESS(
23、a)</p><p><b> BEGIN</b></p><p> if a'event and a='1' then q1 <= q1 + 1;</p><p> if q1="110" then q1<="001";</p><p>
24、<b> end if;</b></p><p><b> end if;</b></p><p> END PROCESS;</p><p><b> Q<=q1;</b></p><p> END BEHAVE;</p><p>&l
25、t;b> 4.2 控制模塊</b></p><p><b> 1)功能介紹</b></p><p> 開鎖時,用四個撥碼鍵來輸入密碼,計數(shù)器來計數(shù)密碼的個數(shù),將輸入的密碼與用戶密碼在比較器里進(jìn)行比較,當(dāng)輸入的密碼與開始時寄存在寄存器B中的密碼一樣時,則開鎖,綠燈亮led1為高電平,紅燈滅led2為低電平,當(dāng)密碼輸入錯時,綠燈滅led1為低電平
26、,紅燈亮led2為高電平。當(dāng)修改密碼時,在寄存器B中,使key6鍵為高電平,即可在輸入端就能輸入要修改的密碼。按ret鍵可清除輸入時輸錯的密碼。初始密碼,可以在第一次輸入時,按key6鍵,來存儲密碼。</p><p><b> 控制模塊與仿真圖形</b></p><p><b> 寄存器A 如下圖:</b></p><p&
27、gt; 上圖為寄存器A,存儲每次輸入的密碼。</p><p> 在文本區(qū)內(nèi)輸入程序,程序如下:</p><p><b> 寄存器A</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> ent
28、ity dff1 is</p><p> port(clk:in std_logic;</p><p> key6:in std_logic;</p><p> j:in std_logic_vector(0 to 2);</p><p> d:in STD_LOGIC_vector(0 to 3);</p><p
29、> q0:out STD_LOGIC_vector(0 to 3);</p><p> q1:out STD_LOGIC_vector(0 to 3);</p><p> q2:out STD_LOGIC_vector(0 to 3);</p><p> q3:out STD_LOGIC_vector(0 to 3);</p><p
30、> q4:out STD_LOGIC_vector(0 to 3);</p><p> q5:out STD_LOGIC_vector(0 to 3));</p><p> end entity dff1;</p><p> ARCHITECTURE one OF dff1 IS</p><p><b> begin
31、</b></p><p> process(j,clk)</p><p><b> begin</b></p><p> if clk'event and clk='1' and key6 = '0' then</p><p><b> case j
32、 is</b></p><p> when "001" =>q0<=d;</p><p> when "010" =>q1<=d;</p><p> when "011" =>q2<=d;</p><p> when &qu
33、ot;100" =>q3<=d;</p><p> when "101" =>q4<=d;</p><p> when "110"=>q5<=d;</p><p> when others => null ;</p><p><b>
34、 end case;</b></p><p> end if; </p><p> end process;</p><p><b> end one;</b></p><p><b> 寄存器B 如下圖:</b></p><p> 上圖為寄存器B,
35、存儲設(shè)置的用戶密碼,當(dāng)key6為高電平時,可以來修改密碼。</p><p> 在文本區(qū)內(nèi)輸入程序,程序如下:</p><p><b> 寄存器B</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p>
36、; entity dff02 is</p><p> port(clk:in std_logic;</p><p> key6:in std_logic;</p><p> j:in std_logic_vector(0 to 2);</p><p> d:in STD_LOGIC_vector(0 to 3);</p>
37、<p> q0:out STD_LOGIC_vector(0 to 3);</p><p> q1:out STD_LOGIC_vector(0 to 3);</p><p> q2:out STD_LOGIC_vector(0 to 3);</p><p> q3:out STD_LOGIC_vector(0 to 3);</p>
38、<p> q4:out STD_LOGIC_vector(0 to 3);</p><p> q5:out STD_LOGIC_vector(0 to 3));</p><p> end entity dff02;</p><p> ARCHITECTURE one OF dff02 IS</p><p><b&g
39、t; begin</b></p><p> process(j,clk)</p><p><b> begin</b></p><p> if clk'event and clk='1' and key6 = '1' then</p><p><b>
40、; case j is</b></p><p> when "001" =>q0<=d;</p><p> when "010" =>q1<=d;</p><p> when "011" =>q2<=d;</p><p>
41、 when "100" =>q3<=d;</p><p> when "101" =>q4<=d;</p><p> when "110"=>q5<=d;</p><p> when others => null ;</p><p>&
42、lt;b> end case;</b></p><p> end if; </p><p> end process;</p><p><b> end one;</b></p><p><b> 比較器 如下圖:</b></p><p>
43、上圖為密碼輸入正確、錯誤時的比較器,當(dāng)ok鍵為高電平時,進(jìn)行比較。</p><p> 在文本區(qū)內(nèi)輸入程序,程序如下:</p><p><b> 比較器</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p
44、> entity bijiao is</p><p> port(ok:in std_logic;</p><p> n0,n1,n2,n3,n4,n5,b0,b1,b2,b3,b4,b5: in STD_LOGIC_vector(0 to 3);</p><p> led1:out std_logic;</p><p> l
45、ed2:out std_logic);</p><p><b> end;</b></p><p> ARCHITECTURE one OF bijiao IS</p><p> SIGNAL Q1,Q2 : STD_LOGIC ;</p><p><b> begin</b></p&
46、gt;<p> process(n0,n1,n2,n3,n4,n5,b0,b1,b2,b3,b4,b5,ok)</p><p><b> begin</b></p><p> if ok='1' then </p><p> if n0=b0 and n1=b1 and n2=b2 and n3=b3
47、and n4=b4 and n5=b5 then</p><p> Q1 <= '1' ; </p><p> Q2 <= '0' ;</p><p> ELSE Q1 <= '0' ;</p><p> Q2 <= '1';</p>
48、<p><b> END IF ; </b></p><p><b> end if; </b></p><p> END PROCESS;</p><p> led1<=Q1;led2<=Q2;</p><p><b> END one;</b&g
49、t;</p><p><b> 六選一選擇器如下圖</b></p><p><b> 上圖為六選一選擇器</b></p><p> 在文本區(qū)內(nèi)輸入程序,程序如下:</p><p><b> 六選一選擇器</b></p><p> LIBRARY
50、 IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_unsigned.all;</p><p> ENTITY mux61a IS</p><p> PORT (q0,q1,q2,q3,q4,q5:in STD_LOGIC_vector(0
51、to 3);</p><p> j:in STD_LOGIC_vector(0 to 2);</p><p> led: out std_logic_vector(5 downto 0);</p><p> y:out STD_LOGIC_vector(0 to 3));</p><p><b> end;</b>
52、;</p><p> ARCHITECTURE one OF mux61a IS</p><p><b> begin</b></p><p> process (j) </p><p><b> begin </b></p><p><b> case
53、j is</b></p><p> when "000"=>led <= "011111";y<=q0;</p><p> when "001"=>led <= "101111";y<=q1;</p><p> when "
54、010"=>led <= "110111";y<=q2;</p><p> when "011"=>led <= "111011";y<=q3;</p><p> when "100"=>led <= "111101";y<
55、=q4; </p><p> when "101"=>led <= "111110";y<=q5;</p><p> when others => null ;</p><p> end case ;</p><p> end process ;</p>
56、<p> end one ; </p><p><b> 4.3 顯示模塊</b></p><p><b> 1)功能介紹</b></p><p> 將密碼用BCD七段數(shù)碼管顯示</p><p> 2)顯示模塊與仿真波形圖,如下圖</p><p>
57、 上圖將BCD碼轉(zhuǎn)化到七段譯碼電路上</p><p> 在文本區(qū)內(nèi)輸入程序,程序如下:</p><p><b> 七段譯碼器</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL; </p><p> ENTITY
58、 decl7s IS</p><p> PORT(a:in std_logic_vector(0 to 3 );</p><p> led7s:out std_logic_vector(0 to 6));</p><p><b> end;</b></p><p> ARCHITECTURE one OF dec
59、l7s IS</p><p><b> BEGIN</b></p><p> PROCESS(a)</p><p><b> begin</b></p><p><b> case a is</b></p><p> when "00
60、00"=> led7s <= "1000000";</p><p> when "0001"=> led7s <= "1111001";</p><p> when "0010"=> led7s <= "0100100";</p>
61、<p> when "0011"=> led7s <= "0110000";</p><p> when "0100"=> led7s <= "0011001";</p><p> when "0101"=> led7s <= &quo
62、t;0010010";</p><p> when "0110"=> led7s <= "0000010";</p><p> when "0111"=> led7s <= "1111000";</p><p> when "1000&q
63、uot;=> led7s <= "0000000";</p><p> when "1001"=> led7s <= "0010000";</p><p> when others => null;</p><p><b> end case;</b>
64、;</p><p> end process;</p><p><b> end;</b></p><p> 第5章 總體設(shè)計電路圖</p><p><b> 1)功能介紹</b></p><p> 將各個模塊連接在一起實現(xiàn)。</p><p>
65、;<b> 2)頂層文件如下:</b></p><p><b> 波形仿真如下:</b></p><p> 當(dāng)key6為高電平時輸入密碼進(jìn)如寄存器A,存儲密碼,當(dāng)key6為低電平時,輸入密碼進(jìn)入寄存器B,當(dāng)寄存器B中的輸入密碼與寄存器A相同時為“104205”led1為高電平、led2為低電平,密碼鎖開鎖。設(shè)計正確。</p>
66、<p> 第6章 設(shè)計心得體會</p><p> 通過這次設(shè)計,使我對EDA產(chǎn)生了濃厚的興趣。特別是當(dāng)每一個子模塊編寫調(diào)試成功時,心里特別的開心。在當(dāng)所有子模塊都編寫好了,連在一起時,運行時,我遇到了很大的麻煩,一直被時序問題所困擾,不能仿真出結(jié)果,在試驗箱里也不能顯示密碼。當(dāng)解決了這個問題時,我特別的高興。當(dāng)連接到試驗箱上顯示時,由于沒有加消抖電路,所以在試驗箱上顯示很不穩(wěn)定,所以在設(shè)計時應(yīng)加上消
67、抖電路,讓輸入、輸出更穩(wěn)定。</p><p> 其次,在進(jìn)行引腳連接時一定要細(xì)心,有些引腳不能使用,并且在撥碼輸入時要注意四個撥碼的高地位,我因為沒注意使得開始時一直不能得到正確的結(jié)果。這次EDA課程設(shè)計歷時三個星期,在整整三個星期的日子里,可以說是苦多于甜,但是可以學(xué)的到很多很多的東西,同時不僅可以鞏固以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。</p><p> 通
68、過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正的學(xué)以致用,從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到的問題,反映出來我的許多不足之處,我以后要努力克服缺點。</p><p> 總的來說,這次設(shè)計的密碼鎖還是比較成功的,在設(shè)計中遇到了很多問題,最后在同學(xué)和老師的辛勤的指導(dǎo)下外加上自己的努力,終于都得
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計報告--電子密碼鎖
- eda課程設(shè)計報告-- 電子密碼鎖設(shè)計
- eda課程設(shè)計報告---電子密碼鎖設(shè)計
- eda課程設(shè)計---電子密碼鎖
- eda課程設(shè)計—電子密碼鎖
- eda電子密碼鎖課程設(shè)計
- 電子密碼鎖——eda課程設(shè)計
- eda電子密碼鎖課程設(shè)計
- eda課程設(shè)計—電子密碼鎖
- eda課程設(shè)計--電子密碼鎖
- eda密碼鎖課程設(shè)計
- 電子密碼鎖eda技術(shù)課程設(shè)計
- eda綜合課程設(shè)計---電子密碼鎖的設(shè)計
- 電子密碼鎖課程設(shè)計報告
- 電子密碼鎖課程設(shè)計報告
- sopc,eda綜合課程設(shè)計-電子密碼鎖設(shè)計報告書
- 電子密碼鎖課程設(shè)計
- 電子密碼鎖課程設(shè)計
- 電子密碼鎖課程設(shè)計
- 課程設(shè)計--電子密碼鎖
評論
0/150
提交評論