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

下載本文檔

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

文檔簡介

1、<p>  2012--2013學(xué)年第 一 學(xué)期 物電 學(xué)院期末考試卷</p><p>  EDA大作業(yè) 《設(shè)計制作電子表》 (課程論文等試卷樣式)</p><p>  學(xué)號: 姓名: 班級: </p><p><b>  成績:</b></p>

2、;<p><b>  評語:</b></p><p><b>  (考試題目及要求)</b></p><p>  利用VHDL語言設(shè)計一個電子時鐘,可以顯示時、分、秒,具有時間設(shè)置功能,要求走時誤差不大于每天10秒??刹捎脭?shù)碼管或液晶顯示,最好設(shè)計出個性化顯示界面。</p><p><b>  注意

3、事項:</b></p><p>  1.上述三題任選一題,采用標(biāo)準(zhǔn)的作業(yè)考核類封面,A4打印。</p><p>  2.第一題40分,液晶+3分,個性化界面+3分。</p><p>  3.第二題45分,幅度調(diào)整+3分,頻率測量及顯示+5分。</p><p>  4.第三題48分,頻率分段設(shè)置+3分,頻率微調(diào)+5分,頻率范圍酌情加

4、分。</p><p>  5.雷同的程序和算法滿分值只計原題分值的三分之二,將依據(jù)設(shè)計報告的質(zhì)量和實驗結(jié)果的描述計分。設(shè)計上的創(chuàng)新會酌情加分,實現(xiàn)上的偏離會酌情扣分。</p><p>  6.本門課程成績中,實驗操作和實驗報告占50%,本次作業(yè)考核占50%。</p><p><b>  目 錄</b></p><p>&

5、lt;b>  一、設(shè)計要求1</b></p><p><b>  二、設(shè)計思路1</b></p><p><b>  三、程序設(shè)計2</b></p><p>  1.置數(shù)還是計數(shù)2</p><p>  2.在哪一位置數(shù)2</p><p><b

6、>  3.計數(shù)單位2</b></p><p><b>  4.秒3</b></p><p><b>  5.分4</b></p><p><b>  6.時4</b></p><p><b>  7.數(shù)碼管顯示5</b><

7、/p><p><b>  四、仿真結(jié)果6</b></p><p><b>  五、實驗結(jié)果8</b></p><p><b>  1.連線8</b></p><p><b>  2.設(shè)計結(jié)果8</b></p><p><b

8、>  六、實驗心得9</b></p><p><b>  電子表源程序10</b></p><p><b>  設(shè)計制作電子表</b></p><p><b>  一、設(shè)計要求</b></p><p>  利用VHDL語言設(shè)計一個電子時鐘,可以顯示時、分、

9、秒,具有時間設(shè)置功能,要求走時誤差不大于每天10秒??刹捎脭?shù)碼管或液晶顯示,最好設(shè)計出個性化顯示界面。</p><p><b>  二、設(shè)計思路</b></p><p>  電子表其實質(zhì)為計數(shù)器,計數(shù)單位為1秒。由秒,分,時組成,秒和分是60進(jìn)制,用十進(jìn)制和六進(jìn)制組成,時是24進(jìn)制,直接設(shè)計一個24進(jìn)制計數(shù)器即可。要讓結(jié)果顯示出來,則用七段式數(shù)碼管輸出顯示計數(shù)值。此電

10、子表需要有置數(shù)功能,加一個控制開關(guān),當(dāng)開關(guān)為低電平時計數(shù),當(dāng)開關(guān)為高電平時置數(shù)。設(shè)計思路如下圖所示:</p><p><b>  三、程序設(shè)計</b></p><p><b>  1.置數(shù)還是計數(shù)</b></p><p>  電子表有計數(shù)和指數(shù)兩種狀態(tài),工作時執(zhí)行計數(shù)還是執(zhí)行置數(shù)則由一控制使能端EN決定,當(dāng)EN為低電平時,

11、電子表計數(shù),當(dāng)EN為高電平時,電子表置數(shù)。</p><p><b>  2.在哪一位置數(shù)</b></p><p>  該電子表有秒低位,秒高位,分低位,分高位,時低位,時高位組成,共有六位,置數(shù)由位選決定給哪一位置數(shù)。設(shè)置一個三位的二進(jìn)制開關(guān)p2,p1,p0,通過編碼電路實現(xiàn)選擇置數(shù)位。</p><p> ?、?當(dāng)p2p1p0為“000”時,不

12、選擇任何位,此時電子表只是停止計數(shù),不置數(shù)。</p><p> ?、?當(dāng)p2p1p0為“001”時,秒低位置數(shù)。</p><p> ?、?當(dāng)p2p1p0為“010”時,秒高位置數(shù)。</p><p> ?、?當(dāng)p2p1p0為“011”時,分低位置數(shù)。</p><p> ?、?當(dāng)p2p1p0為“100”時,分高位置數(shù)。</p>&l

13、t;p> ?、?當(dāng)p2p1p0為“101”時,時低位置數(shù)。</p><p> ?、?當(dāng)p2p1p0為“110”時,時高位置數(shù)。</p><p><b>  關(guān)鍵程序:</b></p><p>  if t'event and t='1' then </p><p>  if en='

14、0' then </p><p><b>  計數(shù)語句</b></p><p>  elsif en='1' and p="001" then s0<=num;</p><p><b>  end if;</b></p><p><b> 

15、 end if;</b></p><p><b>  3.計數(shù)單位</b></p><p>  首先脈沖頻率要足夠大,提供一個較快的掃描頻率,時數(shù)碼管穩(wěn)定地顯示計數(shù)值。計數(shù)單位為1秒,對脈沖clk 進(jìn)行分頻,得到周期為1秒的計數(shù)單位t。程序中對clk進(jìn)行512分頻,所以需要一個相近的脈沖,試驗箱上的CLK4的頻率范圍為625KHz~19.5Hz,通過跳線帽

16、選擇可以調(diào)出624Hz的頻率。所以脈沖頻率選用624Hz。</p><p><b>  關(guān)鍵程序:</b></p><p>  if clk'event and clk='1' then</p><p>  count:=count+1;</p><p><b>  end if;<

17、;/b></p><p>  t<=count(9);</p><p><b>  4.秒</b></p><p>  秒是60進(jìn)制的,可以用一個十進(jìn)制計數(shù)器和一個六進(jìn)制計數(shù)器實現(xiàn)。秒的低位為十進(jìn)制,當(dāng)?shù)?0個計數(shù)單位到達(dá)時,計數(shù)值清零,并產(chǎn)生一個進(jìn)位信號,用以更高位的計數(shù),而其他時候進(jìn)位信號為低電平,既沒有進(jìn)位輸出。秒的高位為六進(jìn)

18、制,每一個來自低位的進(jìn)位信號高電平到達(dá)時計一次數(shù),當(dāng)?shù)诹鶄€進(jìn)位信號到達(dá)時,計數(shù)值清零,同樣的產(chǎn)生一個進(jìn)位信號。</p><p><b>  關(guān)鍵程序:</b></p><p>  -----秒低位--------</p><p>  ss0:process(t) is </p><p><b>  begin

19、</b></p><p>  if t'event and t='1' then </p><p>  if en='0' then </p><p>  if s0=9 then s0<=0;</p><p>  c0<='1'; ---進(jìn)位</p>

20、<p>  else s0<=s0+1;</p><p><b>  c0<='0';</b></p><p><b>  end if;</b></p><p>  elsif en='1' and p="001" then s0<=nu

21、m;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p>  -------秒高位----</p><p>  ss1:process(c0) is </p

22、><p><b>  begin </b></p><p>  if c0'event and c0='1' then </p><p>  if en='0' then</p><p>  if s1=5 then s1<=0;</p><p>  c1

23、<='1'; ---進(jìn)位</p><p>  else s1<=s1+1;</p><p><b>  c1<='0';</b></p><p><b>  end if;</b></p><p>  elsif en='1' and

24、 p="010" then s1<=num;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p><b>  5.分</b></p&

25、gt;<p>  分與秒類似,也是一個60進(jìn)制的計數(shù)器,可用十進(jìn)制和六進(jìn)制組合實現(xiàn)。這里不再贅述。</p><p><b>  6.時</b></p><p>  時位不同于秒和分,因為時的低位不是任何進(jìn)制的計數(shù)器,因此不能像上面那樣用兩個計數(shù)器組合,而只能將時的高低位作為一個整體,為一個二十四進(jìn)制計數(shù)器,接受來自分位的進(jìn)位信號,計數(shù)滿24時清零。由于數(shù)

26、碼管只能顯示0~9的數(shù)字,所以數(shù)碼管顯示時仍然要分高低位分別顯示。對于如何用兩個數(shù)碼管顯示著24個數(shù),用分段的方法解決。</p><p>  h表示時位的計數(shù)值 ,h1表示時的高位,h0表示時的低位</p><p>  h在0~9范圍內(nèi),則h1=0,h0=h;</p><p>  h在10~19范圍內(nèi),則h1=1,h0=h-10;</p><p&

27、gt;  h在20~23范圍內(nèi),則h1=2,h0=h-20;</p><p><b>  關(guān)鍵程序:</b></p><p>  hh:process(c3,h) is</p><p><b>  begin </b></p><p>  if c3'event and c3='1&

28、#39; then</p><p>  if h=23 then h<=0;</p><p>  else h<=h+1;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p><b> 

29、 case h is</b></p><p>  when 0 to 9 =>h1<=0;h0<=h;</p><p>  when 10 to 19 =>h1<=1;h0<=h-10;</p><p>  when 20 to 23 =>h1<=2;h0<=h-20;</p><

30、p>  when others =>null;</p><p><b>  end case;</b></p><p>  end process;</p><p><b>  7.數(shù)碼管顯示</b></p><p>  秒分時個兩位,分與秒,時與分之間用短線隔開,所以需要用8個數(shù)碼管,

31、從右到左分別為秒低位,秒高位,短線,分低位,分高位,短線,時低位,時高位。</p><p><b>  關(guān)鍵程序:</b></p><p>  process(clk,w) is</p><p><b>  begin</b></p><p>  if clk'event and clk=&

32、#39;1' then</p><p>  if w="111" then w<="000";</p><p><b>  else</b></p><p><b>  w<=w+1;</b></p><p><b>  end

33、 if;</b></p><p><b>  end if;</b></p><p><b>  case w is</b></p><p>  when "000"=>n<=s0;</p><p>  when "001"=>n

34、<=s1;</p><p>  when "010"=>n<=10; ---第10種狀態(tài),顯示分與秒之間的短線。</p><p>  when "011"=>n<=m0;</p><p>  when "100"=>n<=m1;</p><p&

35、gt;  when "101"=>n<=10; ---第10種狀態(tài),顯示時與分之間的短線。</p><p>  when "110"=>n<=h0;</p><p>  when "111"=>n<=h1;</p><p>  when others=>null;

36、</p><p><b>  end case;</b></p><p>  end process;</p><p><b>  sel<=w;</b></p><p><b>  四、仿真結(jié)果</b></p><p>  1.clk分頻后用以計

37、數(shù),s0為十進(jìn)制,仿真結(jié)果如下:</p><p><b>  2.s1為六進(jìn)制</b></p><p><b>  3.m0為十進(jìn)制</b></p><p><b>  4.m1為六進(jìn)制</b></p><p>  5.h為二十四進(jìn)制 </p><p>

38、<b>  五、實驗結(jié)果</b></p><p><b>  1.連線</b></p><p>  設(shè)定器件為EPM7128LC84-6,按分配好的引腳在試驗箱上連線。輸入管腳有:脈沖clk,使能控制端en,置數(shù)選擇p2p1p0,置數(shù)端x3x2x1x0。輸出管腳有:數(shù)碼管位選輸出sel~sel0,數(shù)碼管段選輸出d6~d0。</p>

39、<p><b>  連線照片如下:</b></p><p><b>  2.設(shè)計結(jié)果</b></p><p>  電子表實物照片如下:從左到右為時,分,秒。</p><p><b>  六、實驗心得</b></p><p>  本次實驗花費(fèi)了較長時間,剛開始想電子表就

40、是一個計數(shù)器,之前實驗做過計數(shù)器,應(yīng)該很快能做出來,但當(dāng)開始寫程序時發(fā)現(xiàn)有很多不同,也遇到了比較困難的問題,要讓計數(shù)單位為1秒,脈沖還要比較快,脈沖的選擇和分頻就是一個重要問題。還有時的高低位如何在數(shù)碼管上顯示出來的問題,因為時是二十四進(jìn)制的,自己想了很久也沒有辦法解決,后來請教同學(xué),經(jīng)同學(xué)點撥,采用分段賦值的方法讓時的地高位分別顯示。覺得自己還是思維方式太狹窄,解決問題的方法太單一,以后要擴(kuò)展思維,一條路行不通就換另一種方法,也許會更

41、簡單??偟膩碚f,本次設(shè)計受益匪淺,一方面鞏固了EDA所學(xué)知識,另一方面對自己的思維方式也有一些反思。七、附錄</p><p><b>  電子表源程序:</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use iee

42、e.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;</p><p>  entity dzb is </p><p>  port (clk:in std_logic; </p><p>  en:in std_logic; ---置數(shù)開關(guān)</p>

43、<p>  p:in std_logic_vector(2 downto 0);--置數(shù)選擇</p><p>  x:in std_logic_vector(3 downto 0);--置數(shù)值</p><p>  sel:out std_logic_vector(2 downto 0); ---掃描</p><p>  d:out std_logic_ve

44、ctor(6 downto 0));</p><p><b>  end dzb;</b></p><p>  architecture behaver of dzb is</p><p>  signal t:std_logic; --計數(shù)單位,即1秒</p><p>  signal num:integer rang

45、e 0 to 9;--置數(shù)值</p><p>  signal n:integer range 0 to 10; --數(shù)碼管顯示值</p><p>  signal s0,s1,m0,m1,h0,h1:integer range 0 to 10;--秒,分,時</p><p>  signal h:integer range 0 to 23; </p>

46、<p>  signal c0,c1,c2,c3:std_logic; ---進(jìn)位信號</p><p>  signal w:std_logic_vector(2 downto 0); --位選</p><p><b>  begin</b></p><p>  ------分頻----</p><p>  

47、fenpin:process(clk) is </p><p>  variable count:std_logic_vector(9 downto 0);</p><p><b>  begin</b></p><p>  if clk'event and clk='1' then</p><

48、;p>  count:=count+1;</p><p><b>  end if;</b></p><p>  t<=count(9);</p><p>  end process; </p><p>  -----秒低位--------</p><p>  ss0:process(

49、t) is </p><p><b>  begin </b></p><p>  if t'event and t='1' then </p><p>  if en='0' then </p><p>  if s0=9 then s0<=0;</p>&l

50、t;p>  c0<='1'; ---進(jìn)位</p><p>  else s0<=s0+1;</p><p><b>  c0<='0';</b></p><p><b>  end if;</b></p><p>  elsif en='

51、;1' and p="001" then s0<=num;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p>  -------秒高位----<

52、/p><p>  ss1:process(c0) is </p><p><b>  begin </b></p><p>  if c0'event and c0='1' then </p><p>  if en='0' then</p><p>  if

53、s1=5 then s1<=0;</p><p>  c1<='1'; ---進(jìn)位</p><p>  else s1<=s1+1;</p><p><b>  c1<='0';</b></p><p><b>  end if;</b><

54、;/p><p>  elsif en='1' and p="010" then s1<=num;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p&g

55、t;<p>  -------分低位-------</p><p>  mm0:process(c1) is </p><p><b>  begin </b></p><p>  if c1'event and c1='1' then </p><p>  if en='0

56、' then</p><p>  if m0=9 then m0<=0;</p><p>  c2<='1'; ---進(jìn)位</p><p>  else m0<=m0+1;</p><p><b>  c2<='0';</b></p><

57、p><b>  end if;</b></p><p>  elsif en='1' and p="011" then m0<=num;</p><p><b>  end if;</b></p><p><b>  end if;</b></p&

58、gt;<p>  end process;</p><p>  --------分高位-----</p><p>  mm1:process(c2) is </p><p><b>  begin </b></p><p>  if c2'event and c2='1' then

59、</p><p>  if en='0' then</p><p>  if m1=5 then m1<=0;</p><p>  c3<='1'; ---進(jìn)位</p><p>  else m1<=m1+1;</p><p><b>  c3<=

60、9;0';</b></p><p><b>  end if;</b></p><p>  elsif en='1' and p="100" then m1<=num;</p><p><b>  end if;</b></p><p>

61、<b>  end if;</b></p><p>  end process;</p><p>  ---------時----</p><p>  hh:process(c3,h) is</p><p><b>  begin </b></p><p>  if c3&#

62、39;event and c3='1' then</p><p>  if h=23 then h<=0;</p><p>  else h<=h+1;</p><p><b>  end if;</b></p><p><b>  end if;</b></p&g

63、t;<p><b>  case h is</b></p><p>  when 0 to 9 =>h1<=0;h0<=h;</p><p>  when 10 to 19 =>h1<=1;h0<=h-10;</p><p>  when 20 to 23 =>h1<=2;h0<

64、;=h-20;</p><p>  when others =>null;</p><p><b>  end case;</b></p><p>  end process;</p><p>  -------置數(shù)----------</p><p>  zhizhu:process(x)

65、 is</p><p><b>  begin</b></p><p><b>  case x is</b></p><p>  when "0000"=>num<=0;</p><p>  when "0001"=>num<=1;&

66、lt;/p><p>  when "0010"=>num<=2;</p><p>  when "0011"=>num<=3;</p><p>  when "0100"=>num<=4;</p><p>  when "0101"

67、=>num<=5;</p><p>  when "0110"=>num<=6;</p><p>  when "0111"=>num<=7;</p><p>  when "1000"=>num<=8;</p><p>  when

68、"1001"=>num<=9; </p><p>  when others=>null; </p><p>  end case; </p><p>  end process;</p><p>  ----數(shù)碼管位選-----</p><p>  weixuan:proces

69、s(clk,w) is</p><p><b>  begin</b></p><p>  if clk'event and clk='1' then</p><p>  if w="111" then w<="000";</p><p><b

70、>  else</b></p><p><b>  w<=w+1;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p><b>  case w is</b>

71、;</p><p>  when "000"=>n<=s0;</p><p>  when "001"=>n<=s1;</p><p>  when "010"=>n<=10;</p><p>  when "011"=>

72、n<=m0;</p><p>  when "100"=>n<=m1;</p><p>  when "101"=>n<=10;</p><p>  when "110"=>n<=h0;</p><p>  when "111&qu

73、ot;=>n<=h1;</p><p>  when others=>null;</p><p><b>  end case;</b></p><p>  end process;</p><p><b>  sel<=w;</b></p><p>

74、  -------數(shù)碼管段選-------</p><p>  duanxuan:process(n) is</p><p><b>  begin</b></p><p>  case n is --gfedcba</p><p>  when 0=>d<="0111111";

75、 ----0 </p><p>  when 1=>d<="0000110"; ----1</p><p>  when 2=>d<="1011011"; ----2</p><p>  when 3=>d<="1001111"; ----3<

76、;/p><p>  when 4=>d<="1100110"; ----4</p><p>  when 5=>d<="1101101"; ----5</p><p>  when 6=>d<="1111101"; ----6</p>&

77、lt;p>  when 7=>d<="0000111"; ----7</p><p>  when 8=>d<="1111111"; ----8</p><p>  when 9=>d<="1101111"; ----9</p><p>  

78、when 10=>d<="1000000"; ----_</p><p>  when others=>null;</p><p><b>  end case;</b></p><p>  end process;</p><p>  end architecture be

溫馨提示

  • 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

提交評論