2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論