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

下載本文檔

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

文檔簡介

1、<p>  在線系統(tǒng)課程設(shè)計報告</p><p><b>  電子密碼鎖設(shè)計</b></p><p>  院 (系):電氣與信息工程學(xué)院 </p><p>  專 業(yè):應(yīng)用電子技術(shù) </p><p>  學(xué)生姓名: </p><p>  學(xué)

2、 號: </p><p>  指導(dǎo)教師: </p><p>  2011年12月26日-2012年1月6日</p><p><b>  目錄</b></p><p><b>  第1章 概述2</b></p><p>  第2章 設(shè)計要求2</

3、p><p>  第3章 總體框圖3</p><p>  第4章 功能模塊5</p><p>  4.1 輸入模塊5</p><p>  4.2 控制模塊8</p><p>  4.3 顯示模塊16</p><p>  第5章 總體設(shè)計電路圖18</p><p&g

4、t;  第6章 設(shè)計心得體會21</p><p><b>  參考文獻22</b></p><p><b>  第1章 概述</b></p><p>  電子密碼鎖在生活中十分常見,在這我將設(shè)計一個具有較低成本的電子密碼鎖,本文講述了我整個設(shè)計過程及收獲。講述了電子密碼鎖的的工作原理以及各個模塊的功能,并講述了所有部分

5、的設(shè)計思路,對各部分電路方案的選擇、元器件的篩選、以及對它們的調(diào)試、對波形圖的分析,到最后的總體圖的分析。</p><p><b>  第2章 設(shè)計要求</b></p><p>  本設(shè)計名稱為電子密碼鎖,用四個模塊,分別為輸入模塊、控制模塊、掃描器模塊、顯示模塊,來控制密碼的輸入、驗證與顯示。</p><p>  設(shè)計所要實現(xiàn)的功能為:<

6、;/p><p>  1 數(shù)碼輸入:手動用3個撥碼開關(guān)與3個按鍵設(shè)計三位密碼的輸入,并在顯示器顯示出該數(shù)值。</p><p>  2 數(shù)碼驗證:開鎖時輸入密碼后,撥動 RT鍵使其為高電平,而CHANGE為低電平檢測,密碼正確時開鎖,輸出LOCKOPEN燈滅,LOCKCLOSE燈亮,表示開鎖成功。</p><p>  3 錯誤顯示:當(dāng)密碼輸入錯誤時,LOCKOPEN燈亮,L

7、OCKCLOSE燈滅,表示開鎖失敗。</p><p>  4 更改密碼:當(dāng)改變密碼時,按下CHANGE鍵使其為高電平,而RT為低電平時,可改變密碼。</p><p>  5 密碼清除:按下REST可清除前面的輸入值,清除為“888”。</p><p><b>  第3章 總體框圖</b></p><p><b>

8、;  1)設(shè)計方案:</b></p><p>  電子密碼鎖,主要由三部分組成:密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。</p><p>  作為電子密碼鎖的輸入電路,可選用的方案有撥碼與按鍵來控制輸入和觸摸式鍵盤輸入等多種。撥碼與按鍵和觸摸式4*4鍵盤相比簡單方便而且成本低,構(gòu)成的電路簡單,本設(shè)計中采用撥碼與按鍵來作為該設(shè)計的輸入設(shè)備。</p><p

9、>  數(shù)字電子密碼鎖的顯示信息電路可采用LED數(shù)碼顯示管和液晶屏顯示兩種。液晶顯示具有高速顯示、可靠性高、易于擴展和升級的特點,但是普通的液晶存在亮度低、對復(fù)雜環(huán)境適應(yīng)能力差的特點,但是在本設(shè)計中任然使用LED數(shù)碼管。</p><p>  根據(jù)以上選定的輸入設(shè)備與與顯示器件,并考慮到現(xiàn)實各項密碼鎖功能的具體要求,與系統(tǒng)的設(shè)計要求,系統(tǒng)設(shè)計采用自頂向下的設(shè)計方案。整個密碼鎖系統(tǒng)的總體總體框圖如圖3.1所示。&

10、lt;/p><p>  圖3.1電子密碼鎖系統(tǒng)總體框圖</p><p><b>  第4章 功能模塊</b></p><p><b>  4.1 輸入模塊</b></p><p><b>  1)功能介紹</b></p><p>  輸入時有三個撥碼鍵控制

11、輸入,每個撥碼各控制一位密碼,對于其中一個撥碼鍵每撥一次碼按一次按鍵,表示輸入一位,當(dāng)輸入四位時輸出一位數(shù),用“888”作為初始密碼。</p><p>  2)輸入模塊與仿真圖形</p><p>  單脈沖控制如圖4.1如下圖</p><p><b>  圖4.1</b></p><p>  上圖為單脈沖控制輸入,當(dāng)M給

12、一上升沿信號將在PUL輸出一位與之對應(yīng)的高或低電平。</p><p>  四位串行輸入并行輸出寄存器如下圖4.2</p><p><b>  圖4.2</b></p><p>  上圖為4為串行輸入并行輸出寄存器,它由4個D觸發(fā)組成,當(dāng)reset為高電平時,每給一脈沖輸入數(shù)據(jù)將向右移一位二值代碼,它能同時復(fù)位</p><p&

13、gt;<b>  3)程序的輸入</b></p><p>  在文本區(qū)內(nèi)輸入程序,程序如下: </p><p><b>  單脈沖信號控制</b></p><p><b>  puls.vhd</b></p><p>  LIBRARY IEEE;</p><

14、;p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY puls IS</p><p>  PORT (PUL,M:IN STD_LOGIC;</p><p>  Q:OUT STD_LOGIC);</p><p><b>  END puls;</b></p&g

15、t;<p>  ARCHITECTURE BEHAVE OF puls IS</p><p>  SIGNAL TEMP:STD_LOGIC;</p><p><b>  BEGIN</b></p><p>  PROCESS(M)</p><p><b>  BEGIN</b><

16、;/p><p>  IF M'EVENT AND M='1' THEN</p><p>  IF PUL='1' THEN </p><p>  TEMP<='1';</p><p>  ELSE TEMP<='0';</p><p>&l

17、t;b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p><b>  Q<=TEMP;</b></p><p>  END BEHAVE;</p><p>  

18、4位串行輸入并行輸出寄存器</p><p>  shifter.vhd</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY shifter IS</p><p><b>  PORT</b>

19、</p><p>  (din:INSTD_LOGIC;</p><p>  reset,CLK: INSTD_LOGIC;</p><p>  qout: buffer STD_LOGIC_VECTOR(0 TO 3)</p><p><b>  );</b></p><p>  END s

20、hifter;</p><p>  ARCHITECTURE act OF shifter IS</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK)</p><p>  VARIABLE q:STD_LOGIC_VECTOR(0 TO 3);</p><

21、p><b>  BEGIN</b></p><p>  IF reset='0' THEN </p><p>  q:=(others=>'0');</p><p><b>  ELSE</b></p><p>  if clk'event and

22、 clk='1' then</p><p>  q(3):=q(2);</p><p>  q(2):=q(1);</p><p>  q(1):=q(0);</p><p>  q(0):=din;</p><p><b>  END IF;</b></p><

23、;p><b>  END IF;</b></p><p><b>  qout<=q;</b></p><p>  END PROCESS;</p><p>  END architecture act;</p><p><b>  4.2 控制模塊</b>&l

24、t;/p><p><b>  1)功能介紹</b></p><p>  開鎖時輸入密碼后,撥動 RT鍵使其為高電平,而CHANGE為低電平檢測,密碼正確時開鎖,輸出LOCKOPEN燈滅,LOCKCLOSE燈亮,表示開鎖成功。當(dāng)密碼輸入錯誤時,LOCKOPEN燈亮,LOCKCLOSE燈滅,表示開鎖失敗。當(dāng)改變密碼時,按下CHANGE鍵使其為高電平,而RT為低電平時,可改變密

25、碼。按下REST可清除前面的輸入值,清除為“888”。</p><p>  2)控制模塊與仿真圖形</p><p>  輸入譯碼器圖4.3,如下圖</p><p><b>  圖4.3</b></p><p>  上圖為譯碼器將4位二值代碼轉(zhuǎn)化成BCD碼從“0000”~“1001”表示</p><p&

26、gt;<b>  0~9。</b></p><p>  表4-1輸入譯碼的真值表</p><p>  輸入 輸出</p><p>  D C B A Y1 Y2 Y3 Y4 字形</p>

27、<p>  0 0 0 0 0 0 0 0 0</p><p>  0 0 0 1 0 0 0 1 1</p><p>  0 0 1 0 0 0

28、 1 0 2</p><p>  0 0 1 1 0 0 1 1 3</p><p>  0 1 0 0 0 1 0 0 4</p><p>

29、  0 1 0 1 0 1 0 1 5 </p><p>  0 1 1 0 0 1 1 0 6</p><p>  0 1 1 1 0 1 1

30、 1 7 </p><p>  1 0 0 0 1 0 0 0 8 </p><p>  1 0 0 1 1 0 0 1 9</p><p><b

31、>  表4-1</b></p><p>  總功能控制模塊圖4.4,如下圖</p><p><b>  圖4.4</b></p><p>  當(dāng)CHANGE為高電平且rt為低電平時開始輸入密碼這時lockopen為高電平,而lockclose為低電平,當(dāng)rt為高電平,change為低電平時開始檢測密碼,如上圖開始密碼為“108

32、”當(dāng)再次出現(xiàn)“108”時lockopen為高電平,而lockclose為低電平,當(dāng)密碼錯誤時lockopen為低電平,而lockclose為高電平。</p><p>  4選1選擇器與掃描器圖4.5,如下圖</p><p><b>  圖4.5</b></p><p>  如上圖多路選擇器可以從多組數(shù)據(jù)來源中選取一組送入目的地,在本設(shè)計中利用多

33、路選擇器做掃描電路來分別驅(qū)動輸出裝置,可以將低成本消耗,如上圖當(dāng)輸入“819”時,在時鐘地控制下qout將輸出“819”,而與之對應(yīng)的sel掃描對應(yīng)的數(shù)碼管。</p><p>  在文本區(qū)內(nèi)輸入程序,程序如下:</p><p><b>  輸入譯碼器</b></p><p>  KEY.vhd </p>

34、<p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL; </p><p>  ENTITY KEY IS</p><p>  PORT(clk:IN STD_LOGIC;</p><p>  data:IN STD_LOGIC_VECTOR(3 DOWNTO 0);&l

35、t;/p><p>  q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p>  END ENTITY KEY;</p><p>  ARCHITECTURE ART OF KEY IS</p><p

36、><b>  BEGIN</b></p><p>  PROCESS(clk,data)IS</p><p><b>  BEGIN</b></p><p>  IF clk'EVENT AND clk='1' THEN</p><p>  CASE data IS&l

37、t;/p><p>  WHEN "0000"=>q<="0000";q1<="0000";</p><p>  WHEN "0001"=>q<="0001";q1<="0001";</p><p>  WHEN &q

38、uot;0010"=>q<="0010";q1<="0010";</p><p>  WHEN "0011"=>q<="0011";q1<="0011";</p><p>  WHEN "0100"=>q<=&qu

39、ot;0100";q1<="0100";</p><p>  WHEN "0101"=>q<="0101";q1<="0101";</p><p>  WHEN "0110"=>q<="0110";q1<="0

40、110";</p><p>  WHEN "0111"=>q<="0111";q1<="0111";</p><p>  WHEN "1000"=>q<="1000";q1<="1000";</p><p&

41、gt;  WHEN "1001"=>q<="1001";q1<="1001";</p><p>  WHEN OTHERS=>q<="0000";q1<="0000";</p><p><b>  END CASE;</b></

42、p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE ART;</p><p><b>  總功能控制模塊</b></p><p>  Eleclock.vhd</p>&

43、lt;p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY Eleclock IS</p><p>  PORT(NB:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  NS:IN STD_LOGIC

44、_VECTOR(3 DOWNTO 0);</p><p>  NG:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  CLK:IN STD_LOGIC;</p><p>  CHANGE,RT: IN STD_LOGIC;</p><p>  DB:OUT STD_LOGIC_VECTOR(3 DOWNT

45、O 0);</p><p>  DS:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  DG:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  LOCKOPEN,LOCKCLOSE:OUT STD_LOGIC);</p><p>  END ENTITY Eleclo

46、ck;</p><p>  ARCHITECTURE ART OF Eleclock IS</p><p>  COMPONENT Key IS</p><p>  PORT(CLK:IN STD_LOGIC;</p><p>  DATA:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p&

47、gt;  Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  Q1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)</p><p><b>  );</b></p><p>  END COMPONENT Key;</p><p>  SIGNAL ENABLE,

48、C0,C1,S,ENABLE1:STD_LOGIC;</p><p>  SIGNAL TB,TS,TG,D_B,D_S,D_G:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  ENABLE<=CHANGE AND(NOT RT);</p>&l

49、t;p>  ENABLE1<=RT AND(NOT CHANGE);</p><p>  U0:KEY PORT MAP(CLK=>CLK,DATA=>NB,Q=>DB,Q1=>D_B);</p><p>  U1:KEY PORT MAP(CLK=>CLK,DATA=>NS,Q=>DS,Q1=>D_S);</p>

50、<p>  U2:KEY PORT MAP(CLK=>CLK,DATA=>NG,Q=>DG,Q1=>D_G);</p><p>  PROCESS(CLK,D_B,D_S,D_G) IS</p><p><b>  BEGIN</b></p><p>  IF CLK'EVENT AND CLK=&#

51、39;1' THEN</p><p>  IF ENABLE='1' THEN</p><p><b>  TB<=D_B;</b></p><p><b>  TS<=D_S;</b></p><p><b>  TG<=D_G;</b&g

52、t;</p><p><b>  END IF;</b></p><p>  IF ENABLE1='1' THEN</p><p>  IF ( TB<=D_B AND TS<=D_S AND TG<=D_G) THEN</p><p>  LOCKOPEN<='1

53、9;;</p><p>  LOCKCLOSE<='0';</p><p><b>  ELSE</b></p><p>  LOCKOPEN<='0';</p><p>  LOCKCLOSE<='1';</p><p><

54、b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE ART;</p><p&g

55、t;  4選1選擇器與掃描器</p><p><b>  sel.vhd</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_ARITH.ALL;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p&

56、gt;  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY sel IS</p><p>  PORT(QIN1,QIN2,QIN3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  CLK,RST:IN STD_LOGIC;</p><p>  QOUT:

57、OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  sel:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p><b>  END sel;</b></p><p>  ARCHITECTURE ART OF sel IS</p><p><b&

58、gt;  BEGIN</b></p><p>  PROCESS(CLK,RST)</p><p>  VARIABLE CNT:INTEGER RANGE 0 TO 2;</p><p><b>  BEGIN</b></p><p>  IF (RST='0') THEN</p>

59、;<p><b>  CNT:=0;</b></p><p>  sel <="00000000";</p><p>  QOUT<="0000";</p><p>  ELSIF CLK'EVENT AND CLK='1' THEN</p>

60、<p>  IF CNT=2 THEN</p><p><b>  CNT:=0;</b></p><p><b>  ELSE</b></p><p>  CNT:=CNT+1;</p><p><b>  END IF;</b></p><p

61、>  CASE CNT IS</p><p>  WHEN 0=>QOUT<=QIN1;</p><p>  sel <="11111110";</p><p>  WHEN 1=>QOUT<=QIN2;</p><p>  sel<="11111101";&l

62、t;/p><p>  WHEN 2=>QOUT<=QIN3;</p><p>  sel<="11111011";</p><p>  WHEN OTHERS=>QOUT<="0000";</p><p>  sel<="11111111";</

63、p><p><b>  END CASE;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE ART;</p><p><b>  4.3 顯示模塊</

64、b></p><p><b>  1)功能介紹</b></p><p>  將密碼用BCD七段數(shù)碼管顯示</p><p>  2)顯示模塊與仿真波形圖4.6,如下圖</p><p><b>  圖4.6</b></p><p>  上圖將BCD碼轉(zhuǎn)化到七段譯碼電路上&l

65、t;/p><p>  表4-2 BCD-七段數(shù)碼管的真值表</p><p>  輸入 輸出</p><p>  D C B A Y1 Y2 Y3 Y4 Y5 Y6 Y7 字形</p><p>  0 0

66、 0 0 1 1 1 1 1 1 0 0</p><p>  0 0 0 1 0 1 1 0 0 0 0 1</p><p>  0 0 1 0 1 1 0 1 1

67、0 1 2</p><p>  0 0 1 1 0 1 1 1 0 0 1 3</p><p>  0 1 0 0 0 1 1 0 0 1 1 4</p><p>  0 1

68、 0 1 1 0 1 1 0 1 1 5</p><p>  0 1 1 0 1 0 1 1 1 1 1 6</p><p>  0 1 1 1 1 1 1 0 0

69、0 0 7</p><p>  1 0 0 0 1 1 1 1 1 1 1 8</p><p>  1 0 0 1 1 1 1 0 0 1 1 9</p><p><b>  

70、表4-2</b></p><p>  在文本區(qū)內(nèi)輸入程序,程序如下:</p><p><b>  Seg7.vhd</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE

71、.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY Seg7 IS</p><p>  PORT(num:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  led:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p><b>  EN

72、D Seg7;</b></p><p>  ARCHITECTURE ACT OF Seg7 IS</p><p><b>  BEGIN</b></p><p>  LED<="1111110"WHEN num="0000"ELSE</p><p>  &quo

73、t;0110000"WHEN num ="0001"ELSE</p><p>  "1101101"WHEN num ="0010"ELSE</p><p>  "1111001"WHEN num ="0011"ELSE</p><p>  "01

74、10011"WHEN num ="0100"ELSE</p><p>  "1011011"WHEN num ="0101"ELSE</p><p>  "1011111"WHEN num ="0110"ELSE</p><p>  "111000

75、0"WHEN num ="0111"ELSE</p><p>  "1111111"WHEN num ="1000"ELSE</p><p>  "1111011"WHEN num ="1001"ELSE</p><p>  "1110111&qu

76、ot;WHEN num ="1010"ELSE</p><p>  "0011111"WHEN num ="1011"ELSE</p><p>  "1001110"WHEN num ="1100"ELSE</p><p>  "0111101"W

77、HEN num ="1101"ELSE</p><p>  "1001111"WHEN num ="1110"ELSE</p><p>  "1000111"WHEN num ="1111";</p><p><b>  END ACT;</b>

78、</p><p>  第5章 總體設(shè)計電路圖</p><p><b>  1)功能介紹</b></p><p>  將各個模塊連接在一起實現(xiàn)。</p><p><b>  2)頂層文件如下:</b></p><p><b>  3)波形仿真如下:</b>

79、</p><p><b>  圖5﹒1</b></p><p>  當(dāng)change為高電平,rt為低電平時,輸入“952”驗證,當(dāng)再次輸入“952”時鎖打開,設(shè)計正確。</p><p>  第6章 設(shè)計心得體會</p><p>  通過為期兩個星期的實訓(xùn),雖然時間倉促,而且還加上考試,可以說是很匆忙的完成了此次的在線系統(tǒng)

80、編程課程設(shè)計;不言而喻,完成的質(zhì)量也可想而知了,但倉促中也學(xué)到了很多東西。在前面的EDA實驗中,我初步認識了用Quartus 2,并大概了學(xué)會應(yīng)用了它,</p><p>  但在這次的實訓(xùn)中使我更加全面的了解了Quartus 2,而且更深一步的掌握了這個軟件。</p><p><b>  參考文獻</b></p><p>  [1] 閻石主編.

81、《數(shù)字電子技術(shù)基礎(chǔ)》(第五版).高等教等育出版社.,2007</p><p>  [2] 李國麗 朱維勇 何劍春.《EDA與數(shù)字系統(tǒng)設(shè)計》(第2版).機械工業(yè)出版社.,2002</p><p>  [3] 宋武烈,等.《EDA技術(shù)實用教程》. 湖北科學(xué)技術(shù)出版社 ,2006</p><p>  [4]譚會生,等 .《 EDA技術(shù)綜合應(yīng)用實例與分析》.西安電子科技出版

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論