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

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  設(shè)計(jì)功能要求3</b></p><p>  方案分析選擇與系統(tǒng)框圖4</p><p><b>  模塊功能分析6</b></p><p><b>  仿真\下載結(jié)果9</b>&

2、lt;/p><p><b>  主要經(jīng)驗(yàn)10</b></p><p><b>  操作指南11</b></p><p><b>  相關(guān)代碼12</b></p><p><b>  設(shè)計(jì)功能要求</b></p><p><b

3、>  一.設(shè)計(jì)任務(wù)</b></p><p>  數(shù)字鐘不僅可以通過數(shù)字直觀地顯示日歷,時(shí)間,用音樂及語言報(bào)時(shí),還可以定時(shí)發(fā)出各種聲,光,電信號,以及啟動(dòng)各種設(shè)備實(shí)現(xiàn)實(shí)時(shí)控制,時(shí)間順序控制.如作息時(shí)間自動(dòng)打鈴,家電設(shè)備自動(dòng)定時(shí)啟動(dòng)/停止,生產(chǎn)過程順序控制等,用途很廣.本課題的要求是:</p><p>  1/設(shè)計(jì)一個(gè)具有時(shí),分,秒計(jì)時(shí),6位數(shù)字顯示的時(shí)鐘電路.</p&

4、gt;<p>  2/具有快速校準(zhǔn)時(shí),分的校時(shí)功能.</p><p>  3/具有仿電臺的自動(dòng)整點(diǎn)報(bào)時(shí)功能或者發(fā)出與整點(diǎn)數(shù)目相等的音響聲.</p><p>  4/具有一定的擴(kuò)展功能</p><p><b>  二.設(shè)計(jì)要求</b></p><p>  1/分析設(shè)計(jì)任務(wù),擬定多種設(shè)計(jì)方案,根據(jù)當(dāng)時(shí)的制作條件

5、選擇其中一種方案繪制系統(tǒng)框圖和設(shè)計(jì)流程.</p><p>  2/設(shè)計(jì)各部分單元電路或編寫VHDL描述程序,計(jì)算元器件參數(shù),確定元器件型號和數(shù)量,提出元件清單.</p><p>  3/安裝調(diào)試硬件電路或制作CPLD/FPGA為基礎(chǔ)的專用集成芯片ASIC.</p><p>  4/對制作的電路進(jìn)行功能測試,分析各項(xiàng)技術(shù)指標(biāo),或?qū)HDL描述進(jìn)行功能仿真,對ASIC作

6、硬件測試或脫機(jī)運(yùn)行.</p><p>  5/總結(jié)設(shè)計(jì)各環(huán)節(jié)的資料,整理打印出設(shè)計(jì)報(bào)告(含原理電路,仿真波形).交驗(yàn)并演示設(shè)計(jì)制作的電路裝置.</p><p>  方案分析選擇與系統(tǒng)框圖</p><p><b>  方案分析選擇</b></p><p>  1/使用的是開發(fā)板,故選擇編寫VHDL描述程序,并結(jié)合Altiu

7、mDesigner中提供的元件繪制原理圖,下載到開發(fā)板上.</p><p>  2/開發(fā)板上的資源包括:LCD顯示屏,蜂鳴器,鍵盤,撥盤開關(guān),各種頻率的方波信號,各種對外接口,LED燈等.</p><p>  根據(jù)板上資源和需要實(shí)現(xiàn)的功能,我選擇了使用以下板上資源,并實(shí)現(xiàn)以下功能:</p><p>  LCD顯示屏---用于顯示時(shí)分秒計(jì)時(shí)</p>&l

8、t;p>  蜂鳴器---用于整點(diǎn)報(bào)時(shí)與鬧鈴功能</p><p>  撥盤開關(guān)---用于時(shí)間設(shè)定,鬧鈴設(shè)定與聲音開關(guān)</p><p>  方波信號---經(jīng)過分頻后作為時(shí)鐘信號輸入和蜂鳴器發(fā)聲</p><p><b>  系統(tǒng)原理框圖</b></p><p><b>  硬件原理圖</b><

9、/p><p><b>  模塊功能分析</b></p><p><b>  計(jì)時(shí)模塊</b></p><p>  計(jì)時(shí)模塊具有時(shí),分,秒的計(jì)時(shí)功能,每收到一個(gè)時(shí)鐘信號,秒個(gè)位計(jì)算加一,在各個(gè)位加滿時(shí),重新置零,并向下一位進(jìn)一.同時(shí),輸出端口會把秒個(gè)位,秒十位,分個(gè)位,分十位,時(shí)個(gè)位,時(shí)十位的8位數(shù)字信號輸出到各個(gè)模塊.<

10、/p><p><b>  顯示模塊</b></p><p>  LCD顯示模塊需要將顯示代碼與位置代碼輸入控制模塊并給與脈沖,就會在相應(yīng)的位置顯示相應(yīng)的字符,為了使得顯示沒有滯后,因此給較高的脈沖頻率.因?yàn)槲覀円@示時(shí)分秒一共6位數(shù)字,因此需要寫一個(gè)LCD掃描輸出模塊,時(shí)刻顯示變化的時(shí)間. LCD掃描輸出需要把計(jì)時(shí)模塊輸出的8位BCD碼加上48轉(zhuǎn)化為ASC2碼.并且在時(shí)分

11、秒之間加入冒號區(qū)分.</p><p><b>  存儲器模塊</b></p><p>  存儲器模塊的地址信號為計(jì)時(shí)模塊的分個(gè)位,分十位,時(shí)個(gè)位,時(shí)十位有效位,寫入的信號由撥盤開關(guān)sw4控制,輸出的信號到聲音模塊的使能.寫入開關(guān)由撥盤開關(guān)sw3控制.在需要鬧鈴的時(shí)間寫入一,那么就會讀出一,對聲音模塊使能,使其發(fā)聲.</p><p><b&

12、gt;  整點(diǎn)報(bào)時(shí)模塊</b></p><p>  整點(diǎn)報(bào)時(shí)模塊的輸入取上圖的幾個(gè)關(guān)鍵數(shù)據(jù),當(dāng)這些數(shù)據(jù)都為1時(shí),此時(shí)為整點(diǎn)報(bào)時(shí)的時(shí)間,則對聲音模塊使能,使其發(fā)聲.</p><p><b>  聲音模塊</b></p><p>  聲音模塊包括音調(diào)選擇以及開關(guān)整點(diǎn)報(bào)時(shí)與鬧鈴的模塊.用來實(shí)現(xiàn)不同的要求與功能.</p>&l

13、t;p><b>  仿真\下載結(jié)果</b></p><p><b>  計(jì)時(shí)模塊仿真圖</b></p><p><b>  下載結(jié)果</b></p><p>  第一次下載的時(shí)候,因?yàn)楹芏嗟胤蕉疾恢?不是沒接好線就是沒有改名字,造成編譯正常但是無法下載的結(jié)果.后來通過自己的摸索與請教他人,終于

14、實(shí)現(xiàn)了下載.但是下載后又發(fā)現(xiàn)了許多意想不到的錯(cuò)誤.用了很長的時(shí)間,我才把這些都弄清楚并且解決掉.最后終于實(shí)現(xiàn)了自己的預(yù)定功能.</p><p><b>  主要經(jīng)驗(yàn) </b></p><p>  在電子技術(shù)課程設(shè)計(jì)之前,我先做了單片機(jī)課程設(shè)計(jì).做單片機(jī)課程設(shè)計(jì)的時(shí)候,是一邊拿著板子一邊不斷下載測試,一點(diǎn)點(diǎn)完善程序的,但是當(dāng)我做電子技術(shù)課程設(shè)計(jì)時(shí),因?yàn)榘遄硬辉谏磉?所以

15、自己在寢室寫的程序無法驗(yàn)證.因此在這些地方浪費(fèi)了很多時(shí)間,直到我在實(shí)驗(yàn)室待了兩天時(shí)間,才把問題解決掉.所以我明白,做這種設(shè)計(jì),必須不斷的實(shí)踐測試,才能知道自己不足在哪里,才知道設(shè)計(jì)有什么不完善的地方.無論做什么事,如果你手邊有實(shí)驗(yàn)的條件,那么做什么事,學(xué)習(xí)什么東西都可以事半功倍.</p><p>  還有,經(jīng)驗(yàn)很重要.如果是一開始什么都沒有做過,那么各種各樣的問題會接踵而來,而且你不知道從何解決.但是當(dāng)你有了經(jīng)驗(yàn)

16、后,就可以很快知道究竟在什么地方出現(xiàn)了問題.在開始階段,如果有一個(gè)老師,那一定是無比幸運(yùn)的事情.他能夠告訴你你需要知道什么,能夠告訴你如何發(fā)現(xiàn)錯(cuò)誤,那樣就節(jié)省了很多自己摸索的時(shí)間.</p><p>  最后一點(diǎn),要知道規(guī)則,如果連語言規(guī)則和軟件規(guī)則都不知道,那么怎么能好好地設(shè)計(jì)呢?靠自己的摸索想要摸索規(guī)則不是不可以,但是也會花太多的時(shí)間.所以如果在開始階段能夠看幾本基礎(chǔ)的書,不需要記住,只要有印象,那么以后在碰到

17、問題的時(shí)候就知道在哪里可以找到解決方法,就可以容易地學(xué)習(xí)好這個(gè)課程.</p><p>  總結(jié)起來,電子技術(shù)課程設(shè)計(jì)的學(xué)習(xí),如果有3點(diǎn)條件,就可以比較簡單的入門了.</p><p>  1/看關(guān)于語言規(guī)則,軟件操作的書.熟悉基礎(chǔ).</p><p>  2/多做實(shí)驗(yàn),從實(shí)驗(yàn)中獲得豐富的經(jīng)驗(yàn).</p><p>  3/多向別人請教.</p

18、><p><b>  操作指南</b></p><p>  本設(shè)計(jì)使用撥盤開關(guān)作為控制輸入.</p><p>  sw0為LCD燈開關(guān),打上為關(guān),打下為開.</p><p>  sw1為鬧鈴開關(guān),打上為關(guān),打下開.</p><p>  sw2為整點(diǎn)報(bào)時(shí)開關(guān), 打上為關(guān),打下開.</p>

19、<p>  sw3為鬧鈴寫入開關(guān),打上為關(guān),打下為RAM寫入模式,此時(shí)可以利用sw4設(shè)定鬧鈴.</p><p>  sw4為鬧鈴設(shè)定開關(guān),在sw3為寫入時(shí)有效,打上為取消鬧鈴,打下為設(shè)定鬧鈴.</p><p>  sw5為時(shí)調(diào)整,打上為關(guān),打下為開始時(shí)調(diào)整,此時(shí)分秒均置為零,時(shí)以每秒1的速度增加.</p><p>  sw6為分十位調(diào)整, 打上為關(guān),打下為

20、開始分十位調(diào)整,此時(shí)分個(gè)位和秒均置為零,分十位以每秒1的速度增加.</p><p>  sw7為分十位調(diào)整, 打上為關(guān),打下為開始分個(gè)位調(diào)整,此時(shí)秒均置為零,分個(gè)位以每秒1的速度增加.</p><p>  提醒,調(diào)整時(shí)間時(shí),應(yīng)按一下順序調(diào)整.時(shí)-分十位-分個(gè)位</p><p><b>  相關(guān)代碼</b></p><p>

21、;  整點(diǎn)報(bào)時(shí)音調(diào)選擇模塊</p><p><b>  chose.vhd</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_arith.all;</p><p

22、>  use ieee.std_logic_unsigned.all;</p><p>  entity chose is</p><p><b>  port</b></p><p><b>  (</b></p><p>  en,chosein,clkin1,clkin2:</p&

23、gt;<p>  in std_logic;</p><p><b>  clkout:</b></p><p>  out std_logic</p><p><b>  );</b></p><p>  end chose;</p><p>  archit

24、ecture change of chose is</p><p><b>  begin</b></p><p>  process(clkin1,clkin2,en,chosein)</p><p><b>  begin</b></p><p><b>  if en='1&

25、#39;</b></p><p><b>  then</b></p><p>  if chosein='1'</p><p><b>  then</b></p><p>  clkout<=clkin1;</p><p><b&g

26、t;  else</b></p><p>  clkout<=clkin2;</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  clkout<='1';</p><p>

27、;<b>  end if;</b></p><p>  end process;</p><p>  end change;</p><p><b>  計(jì)時(shí)模塊</b></p><p>  counter.vhd</p><p>  library ieee;</p

28、><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 counter is</p><p><b&g

29、t;  port</b></p><p><b>  (</b></p><p>  clk,changemint,changemino,changeh:</p><p>  in std_logic;</p><p>  so,st,mino,mint,ho,ht:</p><p>

30、  buffer std_logic_vector(7 downto 0)</p><p><b>  );</b></p><p>  end counter;</p><p>  architecture add of counter is</p><p><b>  begin</b><

31、/p><p>  process(clk,so,st,mino,mint,ho,ht,changemint,changemino,changeh)</p><p><b>  begin</b></p><p>  if rising_edge(clk)</p><p><b>  then</b>&l

32、t;/p><p><b>  so<=so+1;</b></p><p>  if so=x"09"</p><p><b>  then</b></p><p><b>  st<=st+1;</b></p><p>  s

33、o<=x"00";</p><p><b>  end if;</b></p><p>  if (st=x"05" and so=x"09") or changemino='1'</p><p><b>  then</b></p&g

34、t;<p>  mino<=mino+1;</p><p>  st<=x"00";</p><p>  so<=x"00";</p><p><b>  end if;</b></p><p>  if (mino=x"09"

35、and st=x"05" and so=x"09") or changemint='1'or (changemino='1' and mino=x"09")</p><p><b>  then</b></p><p>  mint<=mint+1;</p>

36、<p>  mino<=x"00";</p><p>  st<=x"00";</p><p>  so<=x"00";</p><p><b>  end if;</b></p><p>  if (mint=x"05

37、" and mino=x"09" and st=x"05" and so=x"09") or changeh='1' or (changemint='1' and mint=x"05") or (changemino='1' and mino=x"09" and mint

38、=x"5")</p><p><b>  then</b></p><p><b>  ho<=ho+1;</b></p><p>  mint<=x"00";</p><p>  mino<=x"00";</p&g

39、t;<p>  st<=x"00";</p><p>  so<=x"00";</p><p><b>  end if;</b></p><p>  if( ho=x"09" and mint=x"05" and mino=x"

40、;09" and st=x"05" and so=x"09") or (changeh='1' and ho=x"09")</p><p><b>  then</b></p><p><b>  ht<=ht+1;</b></p>&

41、lt;p>  ho<=x"00";</p><p>  mino<=x"00";</p><p>  st<=x"00";</p><p>  so<=x"00";</p><p>  mint<=x"00"

42、;</p><p><b>  end if;</b></p><p>  if(ht=x"02" and ho=x"03" and mint=x"05" and mino=x"09" and st=x"05" and so=x"09") or (

43、changeh='1' and ht=x"02" and ho=x"03")</p><p><b>  then</b></p><p>  ht<=x"00";</p><p>  ho<=x"00";</p><

44、;p>  mino<=x"00";</p><p>  st<=x"00";</p><p>  so<=x"00";</p><p><b>  end if;</b></p><p><b>  end if;</b&

45、gt;</p><p>  end process;</p><p><b>  end add;</b></p><p><b>  聲音開關(guān)模塊</b></p><p><b>  onoff.vhd</b></p><p>  library ie

46、ee;</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 onoff is</p><p>

47、<b>  port</b></p><p><b>  (</b></p><p><b>  en,clkin:</b></p><p>  in std_logic;</p><p><b>  clkout:</b></p><

48、p>  out std_logic</p><p><b>  );</b></p><p>  end onoff;</p><p>  architecture en of onoff is</p><p><b>  begin</b></p><p>  pro

49、cess(clkin,en)</p><p><b>  begin</b></p><p><b>  if en='1'</b></p><p><b>  then</b></p><p>  clkout<=clkin;</p>&l

50、t;p><b>  else</b></p><p>  clkout<='1';</p><p><b>  end if;</b></p><p>  end process;</p><p><b>  end en;</b></p>

51、;<p><b>  鬧鈴音樂模塊</b></p><p><b>  ring.vhd</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_ar

52、ith.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity ring is</p><p><b>  port</b></p><p><b>  (</b></p><p>  clkin1,c

53、lkin2,clkin3,clkin4,clk,en:</p><p>  in std_logic;</p><p><b>  clkout:</b></p><p>  out std_logic</p><p><b>  );</b></p><p><b&g

54、t;  end ring;</b></p><p>  architecture change of ring is</p><p>  signal num : integer;</p><p><b>  begin</b></p><p>  process(clk,num,clkin1,clkin2,

55、clkin3,clkin4,en)</p><p><b>  begin</b></p><p><b>  if en='1'</b></p><p><b>  then</b></p><p>  if rising_edge(clk)</p>

56、;<p><b>  then</b></p><p>  num<=num+1;</p><p><b>  end if;</b></p><p><b>  if num=9</b></p><p><b>  then</b>&

57、lt;/p><p><b>  num<=0;</b></p><p><b>  end if;</b></p><p><b>  if num=1</b></p><p><b>  then</b></p><p>  c

58、lkout<=clkin1;</p><p>  elsif num=2</p><p><b>  then</b></p><p>  clkout<=clkin2;</p><p>  elsif num=3</p><p><b>  then</b>&l

59、t;/p><p>  clkout<=clkin3;</p><p>  elsif num=4</p><p><b>  then</b></p><p>  clkout<=clkin4;</p><p>  elsif num=5</p><p><b

60、>  then</b></p><p>  clkout<=clkin4;</p><p>  elsif num=6</p><p><b>  then</b></p><p>  clkout<=clkin3;</p><p>  elsif num=7<

61、/p><p><b>  then</b></p><p>  clkout<=clkin2;</p><p>  elsif num=8</p><p><b>  then</b></p><p>  clkout<=clkin1;</p><

62、p><b>  end if;</b></p><p><b>  else</b></p><p>  clkout<='1';</p><p><b>  end if;</b></p><p>  end process;</p>

63、<p>  end change;</p><p><b>  顯示掃屏模塊</b></p><p><b>  show.vhd</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p>

64、<p>  use ieee.std_logic_arith.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity show is</p><p><b>  port</b></p><p><b>  (</b>

65、;</p><p><b>  clk:</b></p><p>  in std_logic;</p><p>  data1,data2,data3,data4,data5,data6:</p><p>  in std_logic_vector(7 downto 0);</p><p>&l

66、t;b>  add:</b></p><p>  out std_logic_vector(3 downto 0);</p><p><b>  dataout:</b></p><p>  out std_logic_vector(7 downto 0)</p><p><b>  );&l

67、t;/b></p><p><b>  end show;</b></p><p>  architecture change of show is</p><p>  signal num : integer;</p><p><b>  begin</b></p><p

68、>  process(clk,data1,data2,data3,data4,data5,data6,num)</p><p><b>  begin</b></p><p>  if rising_edge(clk)</p><p><b>  then</b></p><p>  num&

69、lt;=num+1;</p><p><b>  if num=7</b></p><p><b>  then</b></p><p><b>  num<=0;</b></p><p><b>  end if;</b></p>&

70、lt;p><b>  end if;</b></p><p><b>  if num=0</b></p><p><b>  then</b></p><p>  add<=x"1";</p><p>  dataout<=data1+x

71、"30";</p><p>  elsif num=1</p><p><b>  then</b></p><p>  add<=x"2";</p><p>  dataout<=data2+x"30";</p><p> 

72、 elsif num=2</p><p><b>  then</b></p><p>  add<=x"3";</p><p>  dataout<=x"3a";</p><p>  elsif num=3</p><p><b> 

73、 then</b></p><p>  add<=x"4";</p><p>  dataout<=data3+x"30";</p><p>  elsif num=4</p><p><b>  then</b></p><p> 

74、 add<=x"5";</p><p>  dataout<=data4+x"30";</p><p>  elsif num=5</p><p><b>  then</b></p><p>  add<=x"6";</p>&

75、lt;p>  dataout<=x"3a";</p><p>  elsif num=6</p><p><b>  then</b></p><p>  add<=x"7";</p><p>  dataout<=data5+x"30"

76、;</p><p>  elsif num=7</p><p><b>  then</b></p><p>  add<=x"8";</p><p>  dataout<=data6+x"30";</p><p><b>  end

77、if;</b></p><p>  end process;</p><p>  end change;</p><p>  整點(diǎn)報(bào)時(shí)聲音使能模塊</p><p><b>  sound.vhd</b></p><p>  library ieee;</p><p&

78、gt;  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 sound is</p><p><b>  port</b

79、></p><p><b>  (</b></p><p><b>  timein:</b></p><p>  in std_logic_vector(7 downto 0);</p><p><b>  enout:</b></p><p>

80、  out std_logic</p><p><b>  );</b></p><p>  end sound;</p><p>  architecture en of sound is</p><p><b>  begin</b></p><p>  process(

81、timein)</p><p><b>  begin</b></p><p>  if timein=x"ff"</p><p><b>  then</b></p><p>  enout<='1';</p><p><b&

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論