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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì)</p><p>  2011年 3 月11日</p><p><b>  課程設(shè)計(jì)任務(wù)書(shū)</b></p><p>  課程 EDA技術(shù)課程設(shè)計(jì)</p><p><b>  題目 電子密碼鎖</b></p><p>  專(zhuān)業(yè) 電

2、子信息工程 姓名 學(xué)號(hào) </p><p>  主要內(nèi)容、基本要求、主要參考資料等</p><p><b>  主要內(nèi)容:</b></p><p>  設(shè)計(jì)一個(gè)密碼鎖的控制電路,第一個(gè)按鈕觸動(dòng)后的5秒內(nèi)若未將鎖打開(kāi),則電路自動(dòng)復(fù)位并進(jìn)入自鎖狀態(tài),當(dāng)輸入正確代碼時(shí),輸出開(kāi)鎖信號(hào)以推動(dòng)執(zhí)行機(jī)構(gòu)工作。</p><p&g

3、t;<b>  基本要求:</b></p><p>  1、設(shè)計(jì)一個(gè)密碼鎖的控制電路,當(dāng)輸入正確代碼時(shí),輸出開(kāi)鎖信號(hào)以推動(dòng)執(zhí)行機(jī)構(gòu)工作,用紅燈亮、綠燈熄滅表示關(guān)鎖,用綠燈亮、紅燈熄滅表示開(kāi)鎖;</p><p>  2、在鎖的控制電路中儲(chǔ)存一個(gè)可以修改的4位代碼,當(dāng)開(kāi)鎖按鈕開(kāi)關(guān)(設(shè)置成8位,其中實(shí)際有效為4位,其余為虛設(shè))的輸入代碼等于儲(chǔ)存代碼時(shí),開(kāi)鎖;</p&g

4、t;<p>  3、從第一個(gè)按鈕觸動(dòng)后的5秒內(nèi)若未將鎖打開(kāi),則電路自動(dòng)復(fù)位并進(jìn)入自鎖狀態(tài),使之無(wú)法再打開(kāi),并由揚(yáng)聲器發(fā)出持續(xù)20秒的報(bào)警信號(hào),并輸出一個(gè)信號(hào)推動(dòng)LED不斷閃爍。</p><p><b>  主要參考資料:</b></p><p>  [1] 潘松著.EDA技術(shù)實(shí)用教程(第二版). 北京:科學(xué)出版社,2005.</p><

5、;p>  [2] 康華光主編.電子技術(shù)基礎(chǔ) 模擬部分. 北京:高教出版社,2006.</p><p>  [3] 閻石主編.數(shù)字電子技術(shù)基礎(chǔ). 北京:高教出版社,2003.</p><p>  完成期限 2010.3.11 </p><p>  指導(dǎo)教師 </p><p>  專(zhuān)

6、業(yè)負(fù)責(zé)人 </p><p>  2010年 3月7日</p><p><b>  總體設(shè)計(jì)思想: </b></p><p>  本課程設(shè)計(jì)主要是基于VHDL文本輸入法設(shè)計(jì)電子密碼鎖,隨著社會(huì)物質(zhì)財(cái)富的日益增長(zhǎng),安全防盜已成為全社會(huì)關(guān)注的問(wèn)題?;贓DA技術(shù)設(shè)計(jì)的電子密碼鎖,以其價(jià)格便宜、安全可靠、使用方便,受

7、到了人們的普遍關(guān)注。而以現(xiàn)場(chǎng)可編程邏輯器件(FPGA)為設(shè)計(jì)載體,以硬件描述語(yǔ)言(VHDE)為主要表達(dá)方式,以QuartusⅡ開(kāi)發(fā)軟件和GW48EDA開(kāi)發(fā)系統(tǒng)為設(shè)計(jì)工具設(shè)計(jì)的電子密碼鎖,由于其能夠?qū)崿F(xiàn)數(shù)碼輸入、數(shù)碼清除、密碼解除、密碼更改、密碼上鎖和密碼解除等功能,因此,能夠滿足社會(huì)對(duì)安全防盜的要求。</p><p>  1.系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)的基本功能</p><p>  密碼輸入:每按下一個(gè)

8、數(shù)字鍵,就輸入一個(gè)數(shù)值,并在顯示器上顯示出該數(shù)值。同時(shí)將先前輸入的數(shù)據(jù)依次左移一個(gè)數(shù)字位置。</p><p>  密碼清除:按下清除鍵可清除前面所有的輸入值,清除成為“0000”。</p><p>  密碼更改:按下更改鍵可將目前數(shù)據(jù)設(shè)定為新的密碼。</p><p>  密碼上鎖:按下上鎖鍵可將密碼鎖上鎖。</p><p>  密碼解除:按下

9、解除鍵首先檢查輸入的密碼是否正確,密碼正確即解鎖。</p><p>  2. 電子密碼鎖的結(jié)構(gòu)原理</p><p>  根據(jù)系統(tǒng)設(shè)計(jì)要求,系統(tǒng)設(shè)計(jì)采用自頂向下的設(shè)計(jì)方法。2.1 電子密碼鎖的整體結(jié)構(gòu)</p><p>  (1)密碼鎖輸入模塊</p><p>  密碼鎖的輸入模塊由時(shí)序產(chǎn)生電路、鍵盤(pán)掃描電路、鍵盤(pán)譯碼電路和按鍵存儲(chǔ)電路組成

10、。如下圖示:</p><p><b>  圖1</b></p><p><b>  時(shí)序產(chǎn)生電路</b></p><p>  產(chǎn)生電路中使用的三種不同頻率的工作脈沖波形,即系統(tǒng)時(shí)鐘脈沖、彈跳消除取樣信號(hào)和鍵盤(pán)掃描信號(hào)。</p><p><b>  鍵盤(pán)掃描電路</b></

11、p><p>  掃描電路的作用是提供鍵盤(pán)掃描信號(hào),掃描信號(hào)變化順序依次是1110—1101—1011—0111—1110.-----依序地周而復(fù)始。</p><p><b>  c.鍵盤(pán)譯碼電路</b></p><p>  上述鍵盤(pán)中的按鍵分為數(shù)字按鍵和文字按鍵,每一個(gè)按鍵可能負(fù)責(zé)不同的功能,例如清除鍵、上鎖鍵和解鎖鍵等。數(shù)字按鍵主要是用來(lái)輸入數(shù)字

12、的,但是鍵盤(pán)所產(chǎn)生的輸出是無(wú)法直接拿來(lái)用作密碼鎖控制電路的輸入的;另外,不同的按鍵具有不同的功能,所以必須由鍵盤(pán)譯碼電路來(lái)規(guī)劃每個(gè)按鍵的輸出形式,以便執(zhí)行相應(yīng)的動(dòng)作。</p><p><b>  按鍵存儲(chǔ)電路</b></p><p>  因?yàn)槊恳淮螔呙钑?huì)產(chǎn)生新的按鍵數(shù)據(jù),可能會(huì)覆蓋前面的數(shù)據(jù),所以需要一個(gè)按鍵存儲(chǔ)電路。將整個(gè)鍵盤(pán)掃描完畢后的結(jié)果記錄下來(lái)。</p&

13、gt;<p>  按鍵位置與數(shù)碼關(guān)系(表)圖2</p><p>  圖3所示是密碼鎖輸入模塊的仿真波形</p><p>  二、設(shè)計(jì)步驟和調(diào)試過(guò)程</p><p>  密碼鎖的控制電路是整個(gè)電路的控制中心,主要完成對(duì)數(shù)字按鍵輸入和功能按鍵輸入的響應(yīng)控制。</p><p>  a.?dāng)?shù)字按鍵輸入的響應(yīng)控制</p>&l

14、t;p>  如果按下數(shù)字鍵,第一個(gè)數(shù)字會(huì)從顯示器的最右端開(kāi)始顯示,此后每新按下一個(gè)數(shù)字時(shí),顯示器上的數(shù)字必須左移一位,一邊將新的數(shù)字顯示出來(lái)。</p><p>  假如要更改輸入的數(shù)字,可以按倒退按鍵來(lái)清除前一個(gè)輸入的數(shù)字,或者按清除鍵清除所有輸入的數(shù)字,再重新輸入四位數(shù)。</p><p>  由于這里設(shè)計(jì)的是一個(gè)四位的電子密碼鎖,所以當(dāng)輸入的數(shù)字鍵超過(guò)四個(gè)時(shí),電路不予理會(huì),而且不再

15、顯示第四個(gè)以后的數(shù)字。</p><p>  b.功能按鍵輸入響應(yīng)控制</p><p>  清除鍵:清除所有的輸入數(shù)字,即做歸零動(dòng)作。</p><p>  上鎖鍵:按下此鍵時(shí)可將密碼鎖的門(mén)上鎖(上鎖前必須先設(shè)定一個(gè)四位的電子密碼)。</p><p>  解除鍵:按下此建輝檢查輸入的密碼是否正確,若密碼正確無(wú)誤則解鎖。</p>&l

16、t;p>  圖4所示是密碼鎖控制模塊的仿真波形</p><p>  (3)密碼鎖譯碼模塊:本電子密碼鎖的顯示模塊比較簡(jiǎn)單,其作用是將控制模塊的BCD碼輸出轉(zhuǎn)換為7段顯示編碼,然后驅(qū)動(dòng)數(shù)碼管,其仿真波形如圖5所示。</p><p>  電子密碼鎖的整合和驗(yàn)證要完成電子密碼鎖的設(shè)計(jì),還必須將上述三個(gè)功能模塊進(jìn)行整合。三、結(jié)論及心得體會(huì)</p><p>  此

17、次的設(shè)計(jì)是參考了《EDA技術(shù)實(shí)驗(yàn)與課程設(shè)計(jì)》里的程序,不過(guò)由于程序里面出現(xiàn)了不少的語(yǔ)法錯(cuò)誤,使得在編譯時(shí)出現(xiàn)了20多個(gè)錯(cuò)誤,不過(guò)在看過(guò)書(shū)后,細(xì)心地檢查過(guò)程序后方能糾正過(guò)來(lái)。在糾正的過(guò)程中獲益良多。 在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言VHDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。感覺(jué)EDA還是很有研究?jī)r(jià)值的,能大大的減少設(shè)計(jì)

18、者的工作量。</p><p>  從編寫(xiě)程序到完成此次課程設(shè)計(jì),親自操作軟件起來(lái)從生硬到熟練,現(xiàn)在能較嫻熟的運(yùn)用QuartusⅡ。</p><p><b>  附:VHDL源程序</b></p><p><b>  密碼鎖輸入模塊</b></p><p>  LIBRARY IEEE ; <

19、;/p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_ARITH.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY SR IS</p><p>  PORT(CL

20、K_1K: IN STD_LOGIC;</p><p>  KEY_IN: IN STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p>  DATA_N: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  DATA_F: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p>

21、;<p>  FLAG_N: OUT STD_LOGIC;</p><p>  FLAG_F: OUT STD_LOGIC;</p><p>  CQD: OUT STD_LOGIC;</p><p>  KSEL: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  CSR: OUT STD

22、_LOGIC_VECTOR(1 DOWNTO 0));</p><p><b>  END SR;</b></p><p>  ARCHITECTURE ONE OF SR IS</p><p>  SIGNAL C_QD: STD_LOGIC;</p><p>  SIGNAL C_SR: STD_LOGIC_VECT

23、OR(1 DOWNTO 0); </p><p>  SIGNAL N,F: STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL FN,FF: STD_LOGIC;</p><p>  SIGNAL SEL: STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL

24、 Q: STD_LOGIC_VECTOR(5 DOWNTO 0);</p><p>  SIGNAL C: STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p><b>  BEGIN </b></p><p>  DATA_N<=N;</p><p>  DATA_F<=F;</

25、p><p>  FLAG_N<=FN;</p><p>  FLAG_F<=FF;</p><p>  CQD<=C_QD;</p><p>  CSR<=C_SR;</p><p>  KSEL<=SEL;</p><p>  C(0)<=KEY_IN(0);&

26、lt;/p><p>  C(1)<=KEY_IN(1);</p><p>  C(2)<=KEY_IN(2);</p><p>  COUNTER: BLOCK IS</p><p><b>  BEGIN </b></p><p>  PROCESS(CLK_1K)IS </p&g

27、t;<p><b>  BEGIN</b></p><p>  IF(CLK_1K'EVENT AND CLK_1K='1')THEN</p><p><b>  Q<=Q+1;</b></p><p><b>  END IF;</b></p>

28、<p>  C_QD<=Q(3);</p><p>  C_SR<=Q(5 DOWNTO 4);</p><p>  END PROCESS;</p><p>  SEL<="1110" WHEN C_SR=0 ELSE</p><p>  "1101" WHEN C_S

29、R=1 ELSE</p><p>  "1011" WHEN C_SR=2 ELSE</p><p>  "0111" WHEN C_SR=3 ELSE</p><p><b>  "1111";</b></p><p>  END BLOCK COUNTER;

30、</p><p>  KEY_DECODER: BLOCK</p><p>  SIGNAL Z: STD_LOGIC_VECTOR(4 DOWNTO 0);</p><p><b>  BEGIN </b></p><p>  PROCESS(C_QD)</p><p><b>  B

31、EGIN</b></p><p>  Z<=C_SR&C;</p><p>  IF(C_QD'EVENT AND C_QD='1') THEN</p><p><b>  CASE Z IS</b></p><p>  WHEN"11101"=>

32、;N<="0000";</p><p>  WHEN"00011"=>N<="0001";</p><p>  WHEN"00101"=>N<="0010";</p><p>  WHEN"00110"=>N&l

33、t;="0011";</p><p>  WHEN"01011"=>N<="0100";</p><p>  WHEN"01101"=>N<="0101";</p><p>  WHEN"01110"=>N<=&

34、quot;0110";</p><p>  WHEN"10011"=>N<="0111";</p><p>  WHEN"10101"=>N<="1000";</p><p>  WHEN"10110"=>N<="

35、;1001";</p><p>  WHEN OTHERS=>N<="1111";</p><p><b>  END CASE;</b></p><p><b>  END IF;</b></p><p>  IF C_QD'EVENT AND C

36、_QD='1' THEN</p><p>  CASE Z IS </p><p>  WHEN"11011"=>F<="0100";</p><p>  WHEN"11110"=>F<="0001";</p><p>  

37、WHEN OTHERS=>F<="1000";</p><p><b>  END CASE;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  FN<=NOT(N(3)AND N(2)

38、AND N(1)AND N(0));</p><p>  FF<=F(2) OR F(0);</p><p>  END BLOCK KEY_DECODER;</p><p>  END ARCHITECTURE ONE;</p><p><b>  密碼鎖控制模塊</b></p><p>

39、  LIBRARY IEEE ; </p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_ARITH.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY CTRL IS</p

40、><p>  PORT (DATA_N: IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  DATA_F: IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  FLAG_N: IN STD_LOGIC;</p><p>  FLAG_F: IN STD_LOGIC;</p

41、><p>  MIMAIN: BUFFER STD_LOGIC;</p><p>  SETIN: BUFFER STD_LOGIC;</p><p>  OLD: BUFFER STD_LOGIC;</p><p>  CQD: IN STD_LOGIC;</p><p>  ENLOCK: OUT STD_LOGIC;

42、</p><p>  DATA_BCD: OUT STD_LOGIC_VECTOR(15 DOWNTO 0));</p><p>  END ENTITY CTRL;</p><p>  ARCHITECTURE ONE OF CTRL IS</p><p>  SIGNAL ACC,REG: STD_LOGIC_VECTOR(15 DOWN

43、TO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(CQD,FLAG_F) IS </p><p><b>  BEGIN </b></p><p>  IF CQD'EVENT AND CQD='0' THEN </p&g

44、t;<p>  IF FLAG_F='1' THEN </p><p>  IF(DATA_F="0100") THEN </p><p>  ACC<="1111111111111111";</p><p>  MIMAIN<='0'; SETIN<='

45、0'; OLD<='0';</p><p>  ELSIF(DATA_F="0001") THEN</p><p>  IF(MIMAIN='0' AND SETIN='0') THEN</p><p>  CASE ACC(7 DOWNTO 0) IS</p><

46、p>  WHEN"00010001"=>ENLOCK<='1';</p><p>  WHEN"10011001"=>MIMAIN<='1'; ACC<="1111111111111111";</p><p>  WHEN"01010101"=

47、>SETIN<='1'; ACC<="1111111111111111"; </p><p><b>  OLD<='1';</b></p><p>  WHEN OTHERS=>NULL;</p><p><b>  END CASE;</b&g

48、t;</p><p>  ELSIF(MIMAIN='1') THEN </p><p>  IF ACC=REG THEN</p><p>  ENLOCK<='0';</p><p>  MIMAIN<='0';</p><p><b>  EL

49、SE</b></p><p>  MIMAIN<='0';</p><p><b>  END IF;</b></p><p>  ELSIF(SETIN='1') THEN</p><p>  IF(OLD='1') THEN</p>&l

50、t;p>  IF(ACC=REG) THEN</p><p><b>  OLD<='0';</b></p><p><b>  ELSE</b></p><p>  SETIN<='0';</p><p><b>  OLD<=&#

51、39;0';</b></p><p><b>  END IF;</b></p><p><b>  ELSE</b></p><p>  IF(ACC<"1001100110011001") THEN</p><p><b>  REG<

52、;=ACC;</b></p><p>  SETIN<='0';</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p>

53、<p><b>  END IF;</b></p><p>  ELSIF FLAG_N='1' THEN </p><p>  ACC<=ACC(11 DOWNTO 0)&DATA_N;</p><p><b>  END IF;</b></p><p>&

54、lt;b>  END IF;</b></p><p>  END PROCESS;</p><p>  DATA_BCD<=ACC;</p><p>  END ARCHITECTURE ONE;</p><p><b>  密碼鎖譯碼模塊</b></p><p>  LI

55、BRARY IEEE ; </p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY YM IS</p><p>  PORT(DATA_BCD: IN STD_LOGIC_VECTOR(3 DOWN

56、TO 0);</p><p>  DOUT7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p><b>  END YM;</b></p><p>  ARCHITECTURE ONE OF YM IS</p><p><b>  BEGIN</b></p

57、><p>  PROCESS(DATA_BCD)</p><p><b>  BEGIN</b></p><p>  CASE DATA_BCD IS</p><p>  WHEN"0000"=>DOUT7<="0111111";</p><p> 

58、 WHEN"0001"=>DOUT7<="0000110";</p><p>  WHEN"0010"=>DOUT7<="1011011";</p><p>  WHEN"0011"=>DOUT7<="1001111";</p&g

59、t;<p>  WHEN"0100"=>DOUT7<="1100110";</p><p>  WHEN"0101"=>DOUT7<="1101101";</p><p>  WHEN"0110"=>DOUT7<="1111101&

60、quot;;</p><p>  WHEN"0111"=>DOUT7<="0000111";</p><p>  WHEN"1000"=>DOUT7<="1111111";</p><p>  WHEN"1001"=>DOUT7<=

61、"1101111";</p><p>  WHEN OTHERS=>DOUT7<="0000000";</p><p><b>  END CASE;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE ONE;&

62、lt;/p><p><b>  主要參考資料:</b></p><p>  [1] 潘松著.EDA技術(shù)實(shí)用教程(第二版). 北京:科學(xué)出版社,2005.</p><p>  [2] 康華光主編.電子技術(shù)基礎(chǔ) 模擬部分. 北京:高教出版社,2006.</p><p>  [3] 閻石主編.數(shù)字電子技術(shù)基礎(chǔ). 北京:高教出版社,

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論