eda課程設(shè)計(jì)報(bào)告--1616點(diǎn)陣顯示_第1頁(yè)
已閱讀1頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì) 報(bào) 告</p><p>  課程名稱(chēng) 數(shù)字系統(tǒng)與邏輯設(shè)計(jì) </p><p>  課題名稱(chēng) 16*16點(diǎn)陣顯示 </p><p>  專(zhuān) 業(yè) 通信工程 </p><p>  班 級(jí)

2、 </p><p>  學(xué) 號(hào) </p><p>  姓 名 </p><p>  指導(dǎo)教師 </p><p>  2013年 7 月 7 日</p>

3、<p>  《數(shù)字系統(tǒng)與邏輯設(shè)計(jì)》課程設(shè)計(jì)任務(wù)書(shū)</p><p><b>  一 、設(shè)計(jì)目的</b></p><p>  全面熟悉、掌握VHDL語(yǔ)言基本知識(shí),掌握利用VHDL語(yǔ)言對(duì)常用的的組合邏輯電路和時(shí)序邏輯電路編程,把編程和實(shí)際結(jié)合起來(lái),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動(dòng)手能力,培養(yǎng)使用設(shè)計(jì)綜合電路的能力,養(yǎng)成提供文

4、檔資料的習(xí)慣和規(guī)范編程的思想。 </p><p><b>  二、設(shè)計(jì)要求</b></p><p>  1、設(shè)計(jì)正確,方案合理。</p><p>  2、程序精煉,結(jié)構(gòu)清晰。</p><p>  3、設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說(shuō)明,用戶(hù)使用說(shuō)明,源程序清單及程序框圖。</p><p>&l

5、t;b>  4、上機(jī)演示。</b></p><p>  5、有詳細(xì)的文檔。文檔中包括設(shè)計(jì)思路、設(shè)計(jì)仿真程序、仿真結(jié)果及相應(yīng)的分析與結(jié)論。 </p><p><b>  三、進(jìn)度安排</b></p><p>  第十九周 星期一: 課題講解,查閱資料</p><p>  星期二: 總體設(shè)計(jì),詳細(xì)設(shè)計(jì)

6、</p><p>  星期三: 編程,上機(jī)調(diào)試、修改程序</p><p>  星期四: 上機(jī)調(diào)試、完善程序</p><p><b>  星期五: 答辯</b></p><p>  星期六-星期天:撰寫(xiě)課程設(shè)計(jì)報(bào)告</p><p><b>  附:</b></p&g

7、t;<p>  課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書(shū)、目錄、正文、評(píng)分、附件(A4大小的圖紙及程序清單)。 </p><p>  正文的格式:一級(jí)標(biāo)題用3號(hào)黑體,二級(jí)標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體;行距為22。</p><p>  正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫(huà)出模塊圖);三、主要功能的實(shí)現(xiàn);四、系統(tǒng)調(diào)試與仿真;五、總結(jié)與體會(huì);六、附件

8、(所有程序的原代碼,要求對(duì)程序?qū)懗霰匾淖⑨專(zhuān)?;七、評(píng)分表</p><p><b>  目錄</b></p><p>  1. 16*16點(diǎn)陣顯示的總體設(shè)計(jì)2</p><p>  1.1 16*16點(diǎn)陣顯示的原理2</p><p>  1.2 設(shè)計(jì)要求3</p><p>  1.3 基本設(shè)計(jì)

9、思路3</p><p>  2 16*16點(diǎn)陣顯示的功能實(shí)現(xiàn)3</p><p>  2.1 本次設(shè)計(jì)的基本原理:3</p><p>  2.2 系統(tǒng)的總體框圖4</p><p>  3 模塊功能實(shí)現(xiàn)4</p><p>  3.1 八進(jìn)制計(jì)數(shù)器4</p><p>  3.2十六進(jìn)制計(jì)

10、數(shù)器7</p><p>  3.3 每來(lái)一千個(gè)時(shí)鐘輸出一個(gè)數(shù)8</p><p>  3.4字體顯示設(shè)計(jì)9</p><p>  4 系統(tǒng)的調(diào)試與仿真13</p><p>  4.1創(chuàng)建工程13</p><p>  4.2 編譯前設(shè)置13</p><p>  4.3 開(kāi)始調(diào)試與仿真13

11、</p><p>  5 用戶(hù)使用說(shuō)明15</p><p>  6 心得體會(huì):16</p><p><b>  7 附錄17</b></p><p>  1. 16*16點(diǎn)陣顯示的總體設(shè)計(jì)</p><p>  1.1 16*16點(diǎn)陣顯示的原理</p><p>  本實(shí)

12、驗(yàn)主要完成漢字字符在LED 上的顯示,16*16 掃描LED 點(diǎn)陣的工作原理與8 位掃描數(shù)碼管類(lèi)似,只是顯示的方式與結(jié)果不一樣而已。16*16 點(diǎn)陣由此256 個(gè)LED 通過(guò)排列組合而形成16 行*16 列的一個(gè)矩陣式的LED 陣列,俗稱(chēng)16*16 點(diǎn)陣。單個(gè)led的原理結(jié)構(gòu)圖如下所示:</p><p>  其中Rn端為高電平且Cn端為低電平時(shí),電路形成一個(gè)回路,則LED顯示為燈亮。。16*16 點(diǎn)陣也就是由16

13、 行和16 列的LED 組成,其中每一行的所有16 個(gè)LED的Rn 端并聯(lián)在一起,每一列的所有16 個(gè)LED 的Cn 端并聯(lián)在一起。通過(guò)給Rn 輸入一個(gè)高電平,也就相當(dāng)于給這一列所有LED 輸入了一個(gè)高電平,這時(shí)只要某個(gè)LED 的Cn 端輸入一個(gè)低電平時(shí),對(duì)應(yīng)的LED 就會(huì)被點(diǎn)亮。具體的電路如下:</p><p>  且每一秒換一個(gè)字。點(diǎn)陣LED一般采用掃描式顯示,實(shí)際運(yùn)用分為三種方式: </p>

14、<p><b>  (1)點(diǎn)掃描</b></p><p><b> ?。?)行掃描</b></p><p><b>  (3)列掃描</b></p><p>  若使用第一種方式,其掃描頻率必須大于16×64=1024Hz,周期小于1ms即可。若使用第二和第三種方式,則頻率必須大于

15、16×8=128Hz,周期小于7.8ms即可符合視覺(jué)暫留要求。此外一次驅(qū)動(dòng)一列或一行(8顆LED)時(shí)需外加驅(qū)動(dòng)電路提高電流,否則LED亮度會(huì)不足。</p><p>  16×16掃描LED點(diǎn)陣的工作原理同8位掃描數(shù)碼管類(lèi)似。它有16個(gè)共陰極輸出端口,每個(gè)共陰極對(duì)應(yīng)有16個(gè)LED顯示燈,所以其掃描譯碼地址需4位信號(hào)線(xiàn)(SEL0-SEL3),其漢字掃描碼由16位段地址(0-15)輸入。 通過(guò)時(shí)鐘的

16、每列掃描顯示完整漢字。</p><p><b>  1.2 設(shè)計(jì)要求</b></p><p>  使用FPGA設(shè)計(jì)一個(gè)16×16的點(diǎn)陣顯示的控制器,使點(diǎn)陣顯示器以?xún)煞N花樣顯示“湖南工程學(xué)院”, </p><p>  1.3 基本設(shè)計(jì)思路</p><p>  使用FPGA設(shè)計(jì)一個(gè)16×16的點(diǎn)陣顯示的控

17、制器,使點(diǎn)陣顯示器以?xún)煞N花樣顯示“湖南工程學(xué)院”。</p><p>  這樣這些字就好象是被我們當(dāng)作了固定模型了。但如何點(diǎn)亮這些燈呢,這就要求有一個(gè)脈沖循環(huán)掃描的電路,我們采用列掃描,當(dāng)掃描的和我們先設(shè)計(jì)好的字模型的高電平相匹配時(shí),燈就相應(yīng)的點(diǎn)亮。由于掃描的速度很快,我們?nèi)说难劬Σ⒉粫?huì)感到燈的閃爍,所以每掃描完16列就會(huì)顯示在我們眼中一個(gè)字了。但要所有的字母就可以依次的顯示出來(lái)并不停的循環(huán)顯示,就還要再有一個(gè)時(shí)序

18、控制電路來(lái)控制。此時(shí)序控制電路象一個(gè)計(jì)數(shù)器,有自動(dòng)清零的功能,這樣就可以實(shí)現(xiàn)循環(huán)的效果了。其設(shè)計(jì)原理圖框圖如下</p><p>  2 16*16點(diǎn)陣顯示的功能實(shí)現(xiàn)</p><p>  2.1 本次設(shè)計(jì)的基本原理:</p><p>  LED點(diǎn)陣每個(gè)點(diǎn)都有一個(gè)紅色的發(fā)光二極管。點(diǎn)陣內(nèi)的二極管間的連接都是行共陽(yáng),列共陰。本實(shí)驗(yàn)采用共陰,當(dāng)二極管的共陽(yáng)極為高電平,共陰

19、極為低電平時(shí),所接點(diǎn)發(fā)光;反之處于截止?fàn)顟B(tài),不放光。本實(shí)驗(yàn)采取行掃描方式,用列給文字信息,利用周期為1s的脈沖來(lái)控制所顯示的字。</p><p>  本設(shè)計(jì)由8進(jìn)制計(jì)數(shù)器(CNT8),16進(jìn)制計(jì)數(shù)器(CNT16),字體顯示驅(qū)動(dòng)(XIANSHI)和列驅(qū)動(dòng)(HANG)組成。</p><p>  2.2 系統(tǒng)的總體框圖</p><p><b>  3 模塊功能實(shí)

20、現(xiàn)</b></p><p>  3.1 八進(jìn)制計(jì)數(shù)器</p><p>  .六進(jìn)制計(jì)數(shù)器當(dāng)每一個(gè)時(shí)鐘上升沿到來(lái)時(shí),計(jì)數(shù)器就記一次數(shù)。其程序如 下:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use

21、 ieee.std_logic_unsigned.all;</p><p>  entity yangwei is</p><p>  port(clk:in std_logic;</p><p>  datain:buffer std_logic_vector(3 downto 0));</p><p>  end yangwei;<

22、/p><p>  architecture b of yangwei is</p><p><b>  begin</b></p><p>  process(clk)</p><p><b>  begin</b></p><p>  if clk'event and

23、clk='1' then </p><p>  if datain=7 then datain<="0000" ; </p><p>  else datain<=datain+1;</p><p><b>  end if;</b></p><p><b&g

24、t;  end if;</b></p><p>  end process;</p><p><b>  end b;</b></p><p><b>  其仿真波形:</b></p><p>  datain為列驅(qū)動(dòng)控制器,該模塊控制所亮的行,當(dāng)輸出為1000000000000000時(shí)

25、,給點(diǎn)陣的第一行高電平,輸出為0100000000000000時(shí),給點(diǎn)陣的第二行高電平,依次類(lèi)推,逐次給每行高電平。其程序如下</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><

26、;p>  ENTITY yw IS</p><p>  PORT(datain : IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  row : OUT STD_LOGIC_VECTOR(15 DOWNTO 0));</p><p>  END ENTITY yw;</p><p>  ARCHITE

27、CTURE BEHV OF yw IS</p><p><b>  BEGIN</b></p><p>  PROCESS(datain)</p><p><b>  BEGIN</b></p><p>  case datain is</p><p>  when &quo

28、t;0000"=> row<="1000000000000000";</p><p>  when "0001"=> row<="0100000000000000";</p><p>  when "0010"=> row<="00100000000000

29、00";</p><p>  when "0011"=> row<="0001000000000000";</p><p>  when "0100"=> row<="0000100000000000";</p><p>  when "010

30、1"=> row<="0000010000000000";</p><p>  when "0110"=> row<="0000001000000000";</p><p>  when "0111"=> row<="0000000100000000&qu

31、ot;;</p><p>  when "1000"=> row<="0000000010000000";</p><p>  when "1001"=> row<="0000000001000000";</p><p>  when "1010&quo

32、t;=> row<="0000000000100000";</p><p>  when "1011"=> row<="0000000000010000";</p><p>  when "1100"=> row<="0000000000001000";&

33、lt;/p><p>  when "1101"=> row<="0000000000000100";</p><p>  when "1110"=> row<="0000000000000010";</p><p>  when "1111"=&g

34、t; row<="0000000000000001";</p><p>  when others=> row<="0000000000000000";</p><p><b>  END case;</b></p><p>  end process;</p><p

35、>  END ARCHITECTURE BEHV;</p><p><b>  其仿真波形:</b></p><p>  這為行掃描輸出,當(dāng)輸出為0001時(shí),給點(diǎn)陣的第一行高電平,輸出為0010時(shí),給點(diǎn)陣的第二行高電平,依次類(lèi)推,逐次給每行高電平。</p><p>  3.2十六進(jìn)制計(jì)數(shù)器</p><p>  CO

36、UNT16.vhd是16進(jìn)制的計(jì)數(shù)器,其輸出端控制行和列驅(qū)動(dòng)控制器的輸出數(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 yw

37、IS</p><p>  PORT( CLK : IN STD_LOGIC;</p><p>  datain : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p>  END ENTITY yw;</p><p>  ARCHITECTURE BEHV OF yw IS</p><p&

38、gt;  SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK)</p><p><b>  BEGIN</b></p><p>  IF (CLK'EVENT AND

39、 CLK='1') THEN</p><p>  CQI<=CQI+1;</p><p><b>  END IF;</b></p><p>  datain<=CQI;</p><p>  END PROCESS;</p><p>  END ARCHITECTURE

40、 BEHV;</p><p><b>  仿真如下</b></p><p>  3.3 每來(lái)一千個(gè)時(shí)鐘輸出一個(gè)數(shù)</p><p>  Signal c : integer ranger 0 to 1024;</p><p>  B:process(clk)</p><p><b>  b

41、egin</b></p><p>  if clk'event and clk='1' then</p><p>  datain<=datain+1 ;</p><p>  if c<1000 then </p><p><b>  c<=c+1;</b></

42、p><p><b>  else </b></p><p><b>  c<=0;</b></p><p>  if we<5 then we<=we+1;</p><p>  else we<="000";</p><p><b

43、>  end if;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  該程序的作用主要是每來(lái)一個(gè)時(shí)鐘時(shí),c的值加一,直到C的值>1000時(shí),則C清零,再?gòu)男录舆^(guò)。且輸入下一個(gè)數(shù),換句話(huà)說(shuō),就是經(jīng)過(guò)一千次的時(shí)鐘上升沿,

44、輸出一個(gè)數(shù)。</p><p><b>  3.4字體顯示設(shè)計(jì)</b></p><p>  在字體顯示控制器,we控制的是所顯示的字。例如當(dāng)we為000時(shí),表示顯示第一個(gè)字;當(dāng)we為001H時(shí),表示顯示第二個(gè)字,依次類(lèi)推。WEI控制所顯示的為字的第幾行,例如當(dāng)datain為0000時(shí),表示輸出字的第一行文字信息;datain為0001時(shí),表示輸出字的第二行文字信息,依次

45、類(lèi)推。其描述如下:</p><p>  PROCESS(we,datain)</p><p><b>  begin</b></p><p>  case we is</p><p>  when "000"=></p><p>  case datain is</

46、p><p>  when "0000" =>dout<="0000000000000000"; </p><p>  when "0001" =>dout<="0100000000001000"; </p><p>  when "0010"

47、 =>dout<="0010000000001111"; </p><p>  when "0011" =>dout<="0001000010001001";</p><p>  when "0100" =>dout<="0000000010001001&quo

48、t;;</p><p>  when "0101" =>dout<="0100000010001111";</p><p>  when "0110" =>dout<="0010011111111001";</p><p>  when "0111&

49、quot; =>dout<="0001000010001001";</p><p>  when "1000" =>dout<="0000000010001111";</p><p>  when "1001" =>dout<="000000111110100

50、1";</p><p>  when "1010" =>dout<="0000101000101001";</p><p>  when "1011" =>dout<="0001001000101001";</p><p>  when "

51、1100" =>dout<="0010001111101001";</p><p>  when "1101" =>dout<="0100000000010011";</p><p>  when "1110" =>dout<="0100000000

52、100001";</p><p>  when "1111" =>dout<="0000000000000000"; </p><p>  when others=>dout<=null; end case;</p><p>  When &q

53、uot;001"=></p><p>  case datain is</p><p>  when "0000" =>dout<="0000000000000000";</p><p>  when "0001" =>dout<="0000000001

54、000000";</p><p>  when "0010" =>dout<="0000000010000000";</p><p>  when "0011" =>dout<="0001111111111000";</p><p>  when &

55、quot;0100" =>dout<="0000001000000000";</p><p>  when "0101" =>dout<="0000010000000000";</p><p>  when "0110" =>dout<="00001

56、11111111000";</p><p>  when "0111" =>dout<="0000101000101000";</p><p>  when "1000" =>dout<="0000100101001000";</p><p>  w

57、hen "1001" =>dout<="0000101111101000";</p><p>  when "1010" =>dout<="0000100010001000";</p><p>  when "1011" =>dout<="

58、0000101111101000";</p><p>  when "1100" =>dout<="0000100010001000";</p><p>  when "1101" =>dout<="0000100010001000";</p><p&g

59、t;  when "1110" =>dout<="0000000000000000";</p><p>  when "1111" =>dout<="0000000000000000";</p><p>  when others=>dout<=null; end cas

60、e;</p><p>  When "010"=></p><p>  case datain is</p><p>  when "0000" =>dout<="0000000000000000"; </p><p>  when "0001"

61、; =>dout<="0000000000001000"; </p><p>  when "0010" =>dout<="0111111111111100"; </p><p>  when "0011" =>dout<="0000000100000000&

62、quot;; </p><p>  when "0100" =>dout<="0000000100000000"; </p><p>  when "0101" =>dout<="0000000100000000"; </p><p>  when "

63、;0110" =>dout<="0000000100000000"; </p><p>  when "0111" =>dout<="0000000100000000"; </p><p>  when "1000" =>dout<="0000000

64、100000000"; </p><p>  when "1001" =>dout<="0000000100000000"; </p><p>  when "1010" =>dout<="0000000100000000"; </p><p>  

65、when "1011" =>dout<="0000000100000000"; </p><p>  when "1100" =>dout<="0000000100000100"; </p><p>  when "1101" =>dout<=&qu

66、ot;1111111111111110"; </p><p>  when "1110" =>dout<="0000000000000000"; </p><p>  when "1111" =>dout<="0000000000000000";

67、 </p><p>  when others=>dout<=null; end case;</p><p>  When "011"=></p><p>  case datain is</p><p>  when "0000" =>dout<=

68、"0000000000000000";</p><p>  when "0001" =>dout<="0000010000000000";</p><p>  when "0010" =>dout<="0000100000000000";</p>&

69、lt;p>  when "0011" =>dout<="0001000011111000";</p><p>  when "0100" =>dout<="0111000010001000";</p><p>  when "0101" =>dout

70、<="0001000010001000";</p><p>  when "0110" =>dout<="0001000011111000";</p><p>  when "0111" =>dout<="0111111000000000";</p&g

71、t;<p>  when "1000" =>dout<="0001000111111100";</p><p>  when "1001" =>dout<="0011100000100000";</p><p>  when "1010" =>

72、;dout<="0101010111111100";</p><p>  when "1011" =>dout<="1001010000100000";</p><p>  when "1100" =>dout<="1001001000100000";<

73、;/p><p>  when "1101" =>dout<="0001000111111100";</p><p>  when "1110" =>dout<="0001000000000000";</p><p>  when "1111"

74、 =>dout<="0000000000000000";</p><p>  when others=>dout<=null;end case;</p><p>  When "100"=></p><p>  case datain is</p><p>  when &

75、quot;0000" =>dout<="0010001000001000"; </p><p>  when "0001" =>dout<="0001000100001000"; </p><p>  when "0010" =>dout<="000

76、0000000000000"; </p><p>  when "0011" =>dout<="0000000000100000"; </p><p>  when "0100" =>dout<="0111111111111110"; </p><p&g

77、t;  when "0101" =>dout<="0100000000000010"; </p><p>  when "0110" =>dout<="1000000000000100"; </p><p>  when "0111" =>dout<

78、="0001111111100000"; </p><p>  when "1000" =>dout<="0000000001000000"; </p><p>  when "1001" =>dout<="0000000110000100"; </p>

79、;<p>  when "1010" =>dout<="1111111111111110"; </p><p>  when "1011" =>dout<="0000000100000000"; </p><p>  when "1100" =&g

80、t;dout<="0000000100000000"; </p><p>  when "1101" =>dout<="0000000100000000"; </p><p>  when "1110" =>dout<="0000010100000000";

81、 </p><p>  when "1111" =>dout<="0000001000000000"; </p><p>  when others=>dout<=null; end case;</p><p>  When "101&quo

82、t;=></p><p>  case datain is</p><p>  when "0000" =>dout<="0000000000000000";</p><p>  when "0001" =>dout<="0000100001100000"

83、;;</p><p>  when "0010" =>dout<="0001010000010000";</p><p>  when "0011" =>dout<="0010001011111110";</p><p>  when "0100&q

84、uot; =>dout<="0010001100000001";</p><p>  when "0101" =>dout<="0011110100111001";</p><p>  when "0110" =>dout<="0010110000000000

85、";</p><p>  when "0111" =>dout<="0010001011111110";</p><p>  when "1000" =>dout<="0011101000101000";</p><p>  when "1

86、001" =>dout<="0010010000101000";</p><p>  when "1010" =>dout<="0010000000101000";</p><p>  when "1011" =>dout<="00100000011

87、01000";</p><p>  when "1100" =>dout<="0010000001001010";</p><p>  when "1101" =>dout<="0010000010001111";</p><p>  when &q

88、uot;1110" =>dout<="0000000000000000";</p><p>  when "1111" =>dout<="0000000000000000"; </p><p>  when others=>dout<=null; end case

89、;when others=>null;</p><p><b>  end case;</b></p><p>  end process;</p><p><b>  end one;</b></p><p>  4 系統(tǒng)的調(diào)試與仿真</p><p><b>

90、;  4.1創(chuàng)建工程</b></p><p>  在Quartus II 中新建一個(gè)VHDL File文件,將VHDL代碼輸入這個(gè)文件,并保存到工作目錄,名為yw。</p><p>  利用new preject wizard 工具創(chuàng)建一個(gè)工程,工程名為ywk,頂層文件實(shí)體名為 yw,并將上面創(chuàng)建的yw文件加入到工程中。</p><p><

91、;b>  4.2 編譯前設(shè)置</b></p><p>  選擇目標(biāo)芯片。用assignmemts-settings命令,彈出settings對(duì)話(huà)框,選擇目標(biāo)芯片為EP2C35F72C6。</p><p>  4.3 開(kāi)始調(diào)試與仿真</p><p>  整個(gè)系統(tǒng)的調(diào)試與仿真如下圖:</p><p><b>  調(diào)試失

92、?。?lt;/b></p><p><b>  找出并更改錯(cuò)誤</b></p><p><b>  則調(diào)試成功時(shí)</b></p><p><b>  此時(shí)調(diào)試成功</b></p><p><b>  仿真成功時(shí)的圖形</b></p>&

93、lt;p><b>  5 用戶(hù)使用說(shuō)明</b></p><p>  先將各個(gè)引腳按引腳分配表分配好,再將該源程序下載到試驗(yàn)箱里,再按相應(yīng)操作將“湖南工程學(xué)院”顯示出來(lái)即可。</p><p>  16*16 LED點(diǎn)陣顯示</p><p><b>  顯示:</b></p><p>  16&#

94、215;16 點(diǎn)陣LED 模塊</p><p><b>  6 心得體會(huì):</b></p><p>  這次做EDA課設(shè)的報(bào)告,是有關(guān)16*16點(diǎn)陣的顯示的??偣沧鲞@個(gè)EDA課程設(shè)計(jì)花了四天的時(shí)間。雖然很辛苦,很累人也很想放棄,但當(dāng)每次想要放棄想要不了了之的時(shí)候重新振奮心態(tài)開(kāi)始工作自己也每次都有不一樣的收獲,每次都能重新認(rèn)識(shí)自己,這次的課程設(shè)計(jì)就給了我這么的體會(huì)。&l

95、t;/p><p>  通過(guò)這次設(shè)計(jì),進(jìn)一步加深了對(duì)EDA的了解也從中獲益不少,不僅彌補(bǔ)了平時(shí)理論知識(shí)的一些不足,還使我們領(lǐng)悟到許多做人處事的道理,比如不懂時(shí)就去向他人詢(xún)問(wèn)能更快更好地解決困難,和別人互相幫助能使兩人更有效率的解決問(wèn)題。但要說(shuō)一下子就迷上了EDA什么的話(huà),這就有些什么自欺欺人了,但肯定的是對(duì)EDA這一科的感覺(jué)比從前好多了,這是毋庸置疑的。我想無(wú)論是誰(shuí),但真正想要去了解那個(gè)難題解決一些難題,并有所回報(bào)的話(huà)

96、,心里感覺(jué)不到激動(dòng)那是不可能的。就是因?yàn)檫@種經(jīng)歷讓我對(duì)這門(mén)課有了完全不懂得理解,覺(jué)得好好學(xué)好這門(mén)課,編寫(xiě)一些比較難的程序,也許還真的是挺好不過(guò)的。</p><p>  在這次課程設(shè)計(jì)中,碰到的困難是前所未有的,從來(lái)沒(méi)覺(jué)得有什么程序這么難寫(xiě),以前學(xué)習(xí)EDA這門(mén)課程時(shí)就覺(jué)得很難,現(xiàn)在到真正的做設(shè)計(jì)的時(shí)候更不知道如何著手,只有得從頭再慢慢邊學(xué)邊做了。我找了些關(guān)于EDA入門(mén)和電子設(shè)計(jì)的書(shū)來(lái)看。一看就是幾天,但還是沒(méi)能構(gòu)建

97、出整體思路。但這和以前那些實(shí)驗(yàn)課上的內(nèi)容相比簡(jiǎn)直就是天壤之別啊。雖然這的課程設(shè)計(jì)只有短短的四天,但是這依舊是身體和精神上的折磨,經(jīng)過(guò)了各種掙扎,甚至晚上還加班到一點(diǎn)鐘,還是不能全部理解,真是叫人不好受。好在老師的講解真的很容易讓人聽(tīng)懂,明明自己覺(jué)得很難得問(wèn)題在老師的一下子就覺(jué)得也就那樣,不過(guò)新的問(wèn)題也接連不斷的來(lái)。舊的解決了,新的又來(lái)了,想必自己也在這新與舊之間進(jìn)步了吧。</p><p>  本次設(shè)計(jì)使我對(duì)LED

98、點(diǎn)陣顯示原理及電路結(jié)構(gòu)有一定的感性和理性認(rèn)識(shí),同時(shí)也對(duì)WORD的運(yùn)用有了大體的掌握;培養(yǎng)和鍛煉敢于我們的實(shí)際動(dòng)手做東西的能力。使我們的理論知識(shí)與實(shí)踐充分地結(jié)合,作到不僅具有專(zhuān)業(yè)知識(shí),而且還具有較強(qiáng)的實(shí)踐動(dòng)手能力??偟膩?lái)說(shuō),這次的課設(shè)我自己感覺(jué)不是很滿(mǎn)意,在課設(shè)中存在的問(wèn)題有太多了,而且很多是一些很簡(jiǎn)單的問(wèn)題,總之這次課設(shè)給自己磨練很多也很沉,還有希望在下次的課設(shè)中能更加熟練。</p><p><b> 

99、 7 附錄</b></p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity yw is</p><p>  port

100、( clk:in std_logic;</p><p>  dout:out std_logic_vector(15 downto 0);</p><p>  row:out std_logic_vector(15 downto 0));</p><p><b>  end yw;</b></p><p>  arch

101、itecture one of yw is</p><p>  signal we : std_logic_vector(2 downto 0);</p><p>  signal datain: std_logic_vector(3 downto 0);</p><p>  signal c : integer range 0 to 1023;</p>

102、;<p><b>  begin</b></p><p>  A:process(datain)</p><p><b>  begin</b></p><p>  case datain is</p><p>  when "0000"=> row<=

103、"1000000000000000";</p><p>  when "0001"=> row<="0100000000000000";</p><p>  when "0010"=> row<="0010000000000000";</p><p

104、>  when "0011"=> row<="0001000000000000";</p><p>  when "0100"=> row<="0000100000000000";</p><p>  when "0101"=> row<="

105、;0000010000000000";</p><p>  when "0110"=> row<="0000001000000000";</p><p>  when "0111"=> row<="0000000100000000";</p><p> 

106、 when "1000"=> row<="0000000010000000";</p><p>  when "1001"=> row<="0000000001000000";</p><p>  when "1010"=> row<="0000

107、000000100000";</p><p>  when "1011"=> row<="0000000000010000";</p><p>  when "1100"=> row<="0000000000001000";</p><p>  when

108、 "1101"=> row<="0000000000000100";</p><p>  when "1110"=> row<="0000000000000010";</p><p>  when "1111"=> row<="000000000

109、0000001";</p><p>  when others=> row<="0000000000000000";</p><p><b>  END case;</b></p><p>  end process A ;</p><p>  B:process(clk)<

110、;/p><p><b>  begin</b></p><p>  if clk'event and clk='1' then</p><p>  datain<=datain+1 ;</p><p>  if c<1000 then </p><p><b&

111、gt;  c<=c+1;</b></p><p><b>  else </b></p><p><b>  c<=0;</b></p><p>  if we<5 then we<=we+1;</p><p>  else we<="000&qu

112、ot;;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process B;</p><p>  PROCESS(w

113、e,datain)</p><p><b>  begin</b></p><p>  case we is</p><p>  when "000"=></p><p>  case datain is</p><p>  when "0000"

114、=>dout<="0000000000000000"; </p><p>  when "0001" =>dout<="0100000000001000"; </p><p>  when "0010" =>dout<="0010000000001111&quo

115、t;; </p><p>  when "0011" =>dout<="0001000010001001";</p><p>  when "0100" =>dout<="0000000010001001";</p><p>  when "0101

116、" =>dout<="0100000010001111";</p><p>  when "0110" =>dout<="0010011111111001";</p><p>  when "0111" =>dout<="00010000100010

117、01";</p><p>  when "1000" =>dout<="0000000010001111";</p><p>  when "1001" =>dout<="0000001111101001";</p><p>  when "

118、;1010" =>dout<="0000101000101001";</p><p>  when "1011" =>dout<="0001001000101001";</p><p>  when "1100" =>dout<="001000111

119、1101001";</p><p>  when "1101" =>dout<="0100000000010011";</p><p>  when "1110" =>dout<="0100000000100001";</p><p>  when

120、"1111" =>dout<="0000000000000000"; </p><p>  when others=>dout<=null; end case;</p><p>  When "001"=></p><p>  

121、case datain is</p><p>  when "0000" =>dout<="0000000000000000";</p><p>  when "0001" =>dout<="0000000001000000";</p><p>  when

122、"0010" =>dout<="0000000010000000";</p><p>  when "0011" =>dout<="0001111111111000";</p><p>  when "0100" =>dout<="0000

123、001000000000";</p><p>  when "0101" =>dout<="0000010000000000";</p><p>  when "0110" =>dout<="0000111111111000";</p><p>  

124、when "0111" =>dout<="0000101000101000";</p><p>  when "1000" =>dout<="0000100101001000";</p><p>  when "1001" =>dout<="

125、;0000101111101000";</p><p>  when "1010" =>dout<="0000100010001000";</p><p>  when "1011" =>dout<="0000101111101000";</p><p&

126、gt;  when "1100" =>dout<="0000100010001000";</p><p>  when "1101" =>dout<="0000100010001000";</p><p>  when "1110" =>dout<=

127、"0000000000000000";</p><p>  when "1111" =>dout<="0000000000000000";</p><p>  when others=>dout<=null; end case;</p><p>  When "010&q

128、uot;=></p><p>  case datain is</p><p>  when "0000" =>dout<="0000000000000000"; </p><p>  when "0001" =>dout<="0000000000001000&q

129、uot;; </p><p>  when "0010" =>dout<="0111111111111100"; </p><p>  when "0011" =>dout<="0000000100000000"; </p><p>  when "

130、0100" =>dout<="0000000100000000"; </p><p>  when "0101" =>dout<="0000000100000000"; </p><p>  when "0110" =>dout<="00000001

131、00000000"; </p><p>  when "0111" =>dout<="0000000100000000"; </p><p>  when "1000" =>dout<="0000000100000000"; </p><p>  w

132、hen "1001" =>dout<="0000000100000000"; </p><p>  when "1010" =>dout<="0000000100000000"; </p><p>  when "1011" =>dout<=&quo

133、t;0000000100000000"; </p><p>  when "1100" =>dout<="0000000100000100"; </p><p>  when "1101" =>dout<="1111111111111110"; </p>&l

134、t;p>  when "1110" =>dout<="0000000000000000"; </p><p>  when "1111" =>dout<="0000000000000000"; </p><p>  when o

135、thers=>dout<=null; end case;</p><p>  When "011"=></p><p>  case datain is</p><p>  when "0000" =>dout<="0000000000000000";</p>

136、<p>  when "0001" =>dout<="0000010000000000";</p><p>  when "0010" =>dout<="0000100000000000";</p><p>  when "0011" =>dou

137、t<="0001000011111000";</p><p>  when "0100" =>dout<="0111000010001000";</p><p>  when "0101" =>dout<="0001000010001000";</p&

138、gt;<p>  when "0110" =>dout<="0001000011111000";</p><p>  when "0111" =>dout<="0111111000000000";</p><p>  when "1000" =&g

139、t;dout<="0001000111111100";</p><p>  when "1001" =>dout<="0011100000100000";</p><p>  when "1010" =>dout<="0101010111111100";&l

140、t;/p><p>  when "1011" =>dout<="1001010000100000";</p><p>  when "1100" =>dout<="1001001000100000";</p><p>  when "1101"

141、 =>dout<="0001000111111100";</p><p>  when "1110" =>dout<="0001000000000000";</p><p>  when "1111" =>dout<="0000000000000000&quo

142、t;;</p><p>  when others=>dout<=null;end case;</p><p>  When "100"=></p><p>  case datain is</p><p>  when "0000" =>dout<="0010

143、001000001000"; </p><p>  when "0001" =>dout<="0001000100001000"; </p><p>  when "0010" =>dout<="0000000000000000"; </p><p>

144、;  when "0011" =>dout<="0000000000100000"; </p><p>  when "0100" =>dout<="0111111111111110"; </p><p>  when "0101" =>dout<=

145、"0100000000000010"; </p><p>  when "0110" =>dout<="1000000000000100"; </p><p>  when "0111" =>dout<="0001111111100000"; </p>

146、<p>  when "1000" =>dout<="0000000001000000"; </p><p>  when "1001" =>dout<="0000000110000100"; </p><p>  when "1010" =>

147、;dout<="1111111111111110"; </p><p>  when "1011" =>dout<="0000000100000000"; </p><p>  when "1100" =>dout<="0000000100000000";

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論