2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩8頁(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ù)電課程設(shè)計(jì)</p><p><b>  題目:電子密碼鎖</b></p><p>  課程名稱: 數(shù)字電路課程設(shè)計(jì) </p><p>  學(xué)院系:電子信息與電氣工程學(xué)部</p><p>  專 業(yè): 自動(dòng)化 </p><p>  班 級(jí): 電自1

2、001 </p><p><b>  題目:電子密碼鎖</b></p><p><b>  1 設(shè)計(jì)要求</b></p><p><b>  一.基本功能</b></p><p>  1、設(shè)計(jì)一個(gè)密碼鎖,開(kāi)鎖代碼為8位二進(jìn)制數(shù),通過(guò)串行以按鍵的形式輸 入,要求

3、能夠顯示當(dāng)前輸入的位數(shù),但不顯示輸入的具體密碼。</p><p>  2、當(dāng)輸入代碼的位數(shù)和給定的密碼一致,按下開(kāi)鎖鍵,用LED顯示開(kāi)鎖成功。如果密碼不正確,提示開(kāi)鎖不成功,當(dāng)連續(xù)三次密碼輸入錯(cuò)誤,不允許再輸入密碼,并且提示報(bào)警。不同的提示可用不同的LED閃爍頻率或花型顯示來(lái)表示。</p><p>  3、開(kāi)鎖的密碼可以進(jìn)行設(shè)置,但設(shè)置的前提是原來(lái)密碼必須輸入正確。</

4、p><p><b>  二.?dāng)U展功能</b></p><p>  運(yùn)用PS2接口,通過(guò)鍵盤來(lái)輸入密碼。</p><p>  2 設(shè)計(jì)分析及系統(tǒng)方案設(shè)計(jì)</p><p>  密碼鎖控制器是硬件與軟件的結(jié)合。根據(jù)設(shè)計(jì)要求,以FPGA芯片和VHDL語(yǔ)言設(shè)計(jì)此電子密碼鎖。</p><p><b> 

5、 本演示系統(tǒng)實(shí)現(xiàn)了:</b></p><p>  輸入密碼正確后,正確小燈(green)亮,錯(cuò)誤小燈(red)不亮;</p><p>  當(dāng)輸入密碼正確后,可修改密碼,可使用want開(kāi)關(guān)正確進(jìn)行密 碼修改功能,而后密碼被重新設(shè)定為新的密碼,當(dāng)密碼輸入錯(cuò)誤的時(shí)候并不可以修改密碼,此時(shí)即使按下want鍵也不好 用;&

6、lt;/p><p>  輸入錯(cuò)誤密碼,正確小燈(green)不亮,錯(cuò)誤小燈(red)亮;</p><p>  按下reset后,密碼歸為初始密碼;</p><p>  輸入密碼時(shí),同時(shí)數(shù)碼管顯示輸入密碼個(gè)數(shù),不顯示具體密碼;</p><p>  顯示連續(xù)輸入錯(cuò)誤密碼次數(shù),用數(shù)碼管顯示,次數(shù)小于3時(shí),自動(dòng)進(jìn)入下一次輸入狀態(tài),錯(cuò)誤次數(shù)大于等于3,

7、即以1HZ頻率閃爍的LED燈提示報(bào)警報(bào)警,且無(wú)法再次輸入密碼,直到按下reset.</p><p>  3系統(tǒng)以及模塊硬件電路設(shè)計(jì)</p><p>  用VHDL設(shè)計(jì)電子密碼鎖方案:作為通用電子密碼鎖,主要由 3 個(gè)部分組成:數(shù)字密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。</p><p><b>  3.1系統(tǒng)總框圖</b></

8、p><p><b>  3.2密碼提示電路</b></p><p>  七段數(shù)碼管是電子開(kāi)發(fā)過(guò)程中常用的輸出顯示設(shè)備。在本設(shè)計(jì)中使用的是1個(gè)共陽(yáng)極型七段數(shù)碼管。其單個(gè)靜態(tài)數(shù)碼管如下圖3.6所示。</p><p>  由于七段數(shù)碼管公共端連接到GND(共陽(yáng)極型),當(dāng)數(shù)碼管的中的一個(gè)段被輸入低電平,則相應(yīng)的這一段被點(diǎn)亮。反之則不亮。共陽(yáng)極性的數(shù)碼管與之

9、相反。</p><p>  在本次密碼鎖電路中,7段式數(shù)碼顯示管的作用一為提示當(dāng)前輸入的密碼為第幾個(gè),因?yàn)槊艽a有八位,很可能讓正在輸入密碼的人忘記輸入到了第幾位,而數(shù)顯管恰好起到了提示作用,此處的設(shè)計(jì)體現(xiàn)了其更加智能化和人性化的理念。二為提示輸入錯(cuò)誤密碼次數(shù),當(dāng)達(dá)到三次時(shí)將提示報(bào)警并不能再次輸入密碼,增加了密碼鎖的安全性能。</p><p>  圖2 單個(gè)數(shù)碼管管腳示意圖</p&

10、gt;<p>  3.3輸入密碼、更改密碼、復(fù)位密碼及報(bào)警電路</p><p>  此處電路的實(shí)現(xiàn)需要使用四個(gè)開(kāi)關(guān)及三個(gè)小燈。開(kāi)關(guān)SW依次實(shí)現(xiàn)的按鈕功能為用于輸入串行密碼(共8位)的密碼按鍵,復(fù)位成初始系統(tǒng)自帶密碼的RESET鍵,當(dāng)密碼輸正確的可以選擇設(shè)置新密碼的按鍵WANT,(當(dāng)密碼輸入不正確時(shí),此按鍵并不好用)。燈分別為紅燈綠燈用于報(bào)警電路提示此時(shí)輸入的密碼是正確的還是錯(cuò)誤的。同時(shí)在程序端口中需

11、要的相當(dāng)于時(shí)鐘CLK功能的按鍵,在外部輸入電路中起到的作用是相當(dāng)于按鍵確認(rèn)功能,每輸入一位密碼,確認(rèn)該密碼。在程序中需要count計(jì)數(shù)以保證達(dá)到8位密碼即判斷密碼輸入正確與否,未達(dá)到8位由外部人員繼續(xù)輸入直至到達(dá)8位。當(dāng)密碼三次輸入錯(cuò)誤,用1HZ頻率閃爍的小燈提示報(bào)警。</p><p><b>  3.4模擬電路</b></p><p><b>  3.4引

12、腳分布</b></p><p>  4 系統(tǒng)的VHDL設(shè)計(jì)</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity c

13、ode is</p><p>  port( clk0:in std_logic;</p><p>  clk:instd_logic;</p><p>  alarm:out std_logic;</p><p>  c:out std_logic_vector(6 downto 0):="1000000";-

14、-7段數(shù)顯管</p><p>  d:out std_logic_vector(6 downto 0):="1000000";</p><p>  k:instd_logic;--高電平表示輸入1</p><p>  green:out std_logic;--輸入正確時(shí)亮</p><p>  red:out std_l

15、ogic;--輸入錯(cuò)誤時(shí)亮</p><p>  reset:instd_logic;-- 按下時(shí)復(fù)位</p><p>  want:instd_logic);--是否修改密碼</p><p><b>  end;</b></p><p>  architecture a of code is</p>&

16、lt;p>  signalcode:std_logic_vector(7 downto0);--儲(chǔ)存密碼</p><p>  signalgetcode:std_logic_vector(7 downto0);--儲(chǔ)存修改后的密碼</p><p>  signalcounter:std_logic_vector(3 downto0);--計(jì)數(shù)</p>

17、;<p>  signalcounter2: std_logic_vector(3downto0);--計(jì)數(shù)錯(cuò)誤次數(shù)</p><p>  signalallow:std_logic;--是否允許修改密碼</p><p>  signal count:integer range 0 to 24999999;</p><p>  signal

18、clk_data:std_logic;</p><p><b>  begin</b></p><p>  process(clk,counter2)</p><p><b>  begin</b></p><p>  ifreset='1' then--按下reset后,密碼歸為

19、初始密碼</p><p>  getcode<="00000000";--初始密碼</p><p>  counter<="0000";--內(nèi)部計(jì)數(shù)</p><p>  counter2<="0000";</p><p>  code<="1

20、1001000";--密碼</p><p>  green<='0';</p><p><b>  red<='0';</b></p><p>  allow<='0';</p><p>  alarm<='0'; <

21、/p><p>  elsif clk'event and clk='1'then--輸入clk脈沖,則接收1位密碼</p><p>  if counter2="0011"then</p><p>  getcode<=getcode;</p><p><b>  else <

22、;/b></p><p>  getcode<=getcode(6 downto 0)&k;--將這1位密碼并入getcode中的最后一位</p><p>  if counter="1000"then</p><p>  ifcode=getcodethen</p><p>  green<

23、;='1';--正確燈亮</p><p>  red<='0';</p><p>  counter2<="0000";</p><p>  alarm<='0';</p><p>  allow<='1';--允許修改密碼</

24、p><p>  elsifallow='1' and want='1'then--如果允許輸入且想輸入</p><p>  code<=getcode;--輸入新密碼</p><p>  green<='0';</p><p><b>  red<='0

25、9;;</b></p><p>  alarm<='0';</p><p>  counter2<="0000";</p><p><b>  else</b></p><p>  allow<='0';</p><p

26、>  green<='0';</p><p>  red<='1';--錯(cuò)誤燈亮</p><p>  counter2<=counter2+1;--累加 </p><p><b>  end if;</b></p><p>  counter<=&q

27、uot;0000";--重新計(jì)數(shù)</p><p><b>  else</b></p><p>  counter2<=counter2;</p><p>  counter<=counter+1;--累加</p><p><b>  end if;</b></p>

28、;<p><b>  end if;</b></p><p><b>  end if;</b></p><p>  if counter2="0011"then</p><p>  alarm<=clk_data;</p><p><b>  

29、else</b></p><p>  alarm<='0';</p><p><b>  end if;</b></p><p>  end process;</p><p>  process(clk) </p><p><b>

30、;  begin</b></p><p>  if(counter="0000")then --7段數(shù)顯管顯示0到9</p><p>  c(6 downto 0)<="1000000";</p><p>  elsif (counter<="0001") then</p

31、><p>  c(6 downto 0)<="1111001";</p><p>  elsif (counter<="0010") then</p><p>  c(6 downto 0)<="0100100";</p><p>  elsif (counter&l

32、t;="0011") then</p><p>  c(6 downto 0)<="0110000";</p><p>  elsif (counter<="0100") then</p><p>  c(6 downto 0)<="0011001";</p>

33、;<p>  elsif (counter<="0101") then</p><p>  c(6 downto 0)<="0010010";</p><p>  elsif (counter<="0110") then</p><p>  c(6 downto 0)<

34、="0000010";</p><p>  elsif (counter<="0111") then</p><p>  c(6 downto 0)<="1111000";</p><p>  elsif (counter<="1000") then</p>

35、<p>  c(6 downto 0)<="0000000";</p><p>  elsif (counter<="1001") then</p><p>  c(6 downto 0)<="0011000";</p><p><b>  end if;</

36、b></p><p>  if(counter2="0000")then --7段數(shù)顯管顯示0到9</p><p>  d(6 downto 0)<="1000000";</p><p>  elsif (counter2<="0001") then</p><p

37、>  d(6 downto 0)<="1111001";</p><p>  elsif (counter2<="0010") then</p><p>  d(6 downto 0)<="0100100";</p><p>  elsif (counter2<="

38、0011") then</p><p>  d(6 downto 0)<="0110000";</p><p><b>  end if;</b></p><p>  end process;</p><p>  process(clk0,clk_data,count)

39、 </p><p><b>  begin </b></p><p>  if clk0'event and clk0='1' then</p><p>  if count=24999999 then </p><p>  count<=0; &

40、lt;/p><p>  clk_data<=not clk_data; </p><p>  else count<=count+1;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end

溫馨提示

  • 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)論