版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 課程名稱 數(shù)字系統(tǒng)與邏輯設(shè)計(jì) </p><p> 課題名稱 16*16點(diǎn)陣顯示 </p><p> 專 業(yè) 通信工程 </p><p> 班 級 通信工程10
2、01班 </p><p> 學(xué) 號(hào) </p><p> 姓 名 </p><p> 指導(dǎo)教師 </p><p> 2012年 7月 2日</p><p&g
3、t; 《數(shù)字系統(tǒng)與邏輯設(shè)計(jì)》課程設(shè)計(jì)任務(wù)書</p><p><b> 一 、設(shè)計(jì)目的</b></p><p> 全面熟悉、掌握VHDL語言基本知識(shí),掌握利用VHDL語言對常用的的組合邏輯電路和時(shí)序邏輯電路編程,把編程和實(shí)際結(jié)合起來,熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效方法,進(jìn)一步提高上機(jī)動(dòng)手能力,培養(yǎng)使用設(shè)計(jì)綜合電路的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)
4、范編程的思想。 </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ì)說明,用戶使用說明,源程序清單及程序框圖。</p><p><b>
5、 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ì)</p&g
6、t;<p> 星期三: 編程,上機(jī)調(diào)試、修改程序</p><p> 星期四: 上機(jī)調(diào)試、完善程序</p><p><b> 星期五: 答辯</b></p><p> 星期六-星期天:撰寫課程設(shè)計(jì)報(bào)告</p><p><b> 附:</b></p><
7、p> 課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書、目錄、正文、評分、附件(A4大小的圖紙及程序清單)。 </p><p> 正文的格式:一級標(biāo)題用3號(hào)黑體,二級標(biāo)題用四號(hào)宋體加粗,正文用小四號(hào)宋體;行距為22。</p><p> 正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實(shí)現(xiàn);四、系統(tǒng)調(diào)試與仿真;五、總結(jié)與體會(huì);六、附件(所有程序的原代
8、碼,要求對程序?qū)懗霰匾淖⑨專?;七、評分表。</p><p><b> 目 錄</b></p><p> 一.課題要求………………………………………………1</p><p> 1.1 問題描述…………………………………………1</p><p> 1,2 功能描述…………………………………………2</p&g
9、t;<p> 二.程序設(shè)計(jì)原理…………………………………………2</p><p> 三.系統(tǒng)子程序設(shè)計(jì)………………………………………3</p><p> 3.1 8進(jìn)制計(jì)數(shù)器設(shè)計(jì)………………………………3</p><p> 3.2 16進(jìn)制計(jì)數(shù)器設(shè)計(jì)………………………………3</p><p> 3.3 列驅(qū)動(dòng)設(shè)計(jì)………
10、………………………………4</p><p> 3.4 字體顯示設(shè)計(jì)……………………………………6</p><p> 3.5 頂層文件設(shè)計(jì)……………………………………10</p><p> 四.程序框圖………………………………………………12</p><p> 五.用戶使用說明…………………………………………14</p>
11、<p> 六.心得體會(huì)………………………………………………16</p><p> 七.源程序清單……………………………………………17</p><p> 八.評分表…………………………………………………26</p><p><b> 一、課題要求</b></p><p><b> 1.1問題
12、描述:</b></p><p> 本實(shí)驗(yàn)主要完成漢字字符在LED 上的顯示,16*16 掃描LED 點(diǎn)陣的工作原理與8 位掃描數(shù)碼管類似,只是顯示的方式與結(jié)果不一樣而已。下面就本實(shí)驗(yàn)系統(tǒng)的16*16 點(diǎn)陣的工件原理做一些簡單的說明。16*16 點(diǎn)陣由此256 個(gè)LED 通過排列組合而形成16 行*16 列的一個(gè)矩陣式的LED 陣列,俗稱16*16 點(diǎn)陣。單個(gè)的LED 的電路如下圖11-1 所示:&l
13、t;/p><p> 圖11-1 單個(gè)LED 電路圖</p><p> 由上圖可知,對于單個(gè)LED 的電路圖當(dāng)Rn 輸入一個(gè)高電平,同時(shí)Cn 輸入一個(gè)低電平時(shí),電路形成一個(gè)回路,LED 發(fā)光。也就是LED 點(diǎn)陣對應(yīng)的這個(gè)點(diǎn)被點(diǎn)亮。16*16 點(diǎn)陣也就是由16 行和16 列的LED 組成,其中每一行的所有16 個(gè)LED的Rn 端并聯(lián)在一起,每一列的所有16 個(gè)LED 的Cn 端并聯(lián)在一起。通過
14、給Rn 輸入一個(gè)高電平,也就相當(dāng)于給這一列所有LED 輸入了一個(gè)高電平,這時(shí)只要某個(gè)LED 的Cn 端輸入一個(gè)低電平時(shí),對應(yīng)的LED 就會(huì)被點(diǎn)亮。具體的電路如下圖11-2所示:</p><p> 圖11-2 16*16 點(diǎn)陣電路原理圖</p><p> 在點(diǎn)陣上顯示一字符是根據(jù)其字符在點(diǎn)陣上的顯示的點(diǎn)的亮滅來表示的,如下圖11-3 所示:</p><p> 圖
15、11-3 字符在點(diǎn)陣上的顯示</p><p> 在上圖中,顯示的是一個(gè)“漢”字,只要將被“漢”字所覆蓋的區(qū)域的點(diǎn)點(diǎn)亮,則在點(diǎn)陣中就會(huì)顯示一個(gè)“漢”字。根據(jù)前面我們所介紹的點(diǎn)陣顯示的原理,當(dāng)我們選中第一列后,根據(jù)要顯示漢字的第一列中所需要被點(diǎn)亮的點(diǎn)對應(yīng)的Rn置為高電平,則在第一列中需要被點(diǎn)亮的點(diǎn)就會(huì)被點(diǎn)亮。依此類推,顯示第二列、第三列……第N 列中需要被點(diǎn)亮的點(diǎn)。然后根據(jù)人眼的視覺原理,將每一列顯示的點(diǎn)的間隔時(shí)間
16、設(shè)為一定的值,那么我們就會(huì)感覺顯示一個(gè)完整的不閃爍的漢字。同時(shí)也可以按照這個(gè)原理來顯示其它的漢字。下圖11-4 是一個(gè)漢字顯示所需要的時(shí)序圖:</p><p> 圖11-4 顯示時(shí)序圖</p><p><b> 1.2功能描述:</b></p><p> 本實(shí)驗(yàn)的示例程序依次顯示的是“湖南工程學(xué)院”,要求每隔一秒換下一個(gè)字顯示。</
17、p><p><b> 二 程序設(shè)計(jì)原理</b></p><p> LED點(diǎn)陣每個(gè)點(diǎn)都有一個(gè)紅色的發(fā)光二極管。點(diǎn)陣內(nèi)的二極管間的連接都是行共陽,列共陰。本實(shí)驗(yàn)采用共陰,當(dāng)二極管的共陽極為高電平,共陰極為低電平時(shí),所接點(diǎn)發(fā)光;反之處于截止?fàn)顟B(tài),不放光。本實(shí)驗(yàn)采取行掃描方式,用列給文字信息,利用周期為1s的脈沖來控制所顯示的字。</p><p>
18、 本設(shè)計(jì)由8進(jìn)制計(jì)數(shù)器(CNT8),16進(jìn)制計(jì)數(shù)器(CNT16),字體顯示驅(qū)動(dòng)(XIANSHI)和列驅(qū)動(dòng)(HANG)組成。</p><p> 三 系統(tǒng)子程序設(shè)計(jì)</p><p> 3.1 8進(jìn)制計(jì)數(shù)器設(shè)計(jì)</p><p> CNT8.vhd是8進(jìn)制的計(jì)數(shù)器,其每計(jì)一次數(shù),輸出一個(gè)字。例如當(dāng)計(jì)數(shù)為“000B”時(shí)顯示“湖”,當(dāng)計(jì)數(shù)為“001B”時(shí)顯示“南”。給
19、其脈沖周期為1S。其描述如下:</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY CNT8 IS</p><p> POR
20、T( CLK1: IN STD_LOGIC;</p><p> QOUT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0));</p><p> END ENTITY CNT8;</p><p> ARCHITECTURE BEHV OF CNT8 IS</p><p> SIGNAL CQI : STD_LOGI
21、C_VECTOR(2 DOWNTO 0);</p><p><b> BEGIN</b></p><p> PROCESS(CLK1)</p><p><b> BEGIN</b></p><p> IF (CLK1'EVENT AND CLK1='1') THEN&
22、lt;/p><p> CQI<=CQI+1;</p><p><b> END IF;</b></p><p> QOUT<=CQI;</p><p> END PROCESS;</p><p> END ARCHITECTURE BEHV;</p><p&g
23、t; 3.2 16進(jìn)制計(jì)數(shù)器設(shè)計(jì)</p><p> COUNT16.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_UNSI
24、GNED.ALL;</p><p> ENTITY CNT16 IS</p><p> PORT( CLK : IN STD_LOGIC;</p><p> QOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p> END ENTITY CNT16;</p><p>
25、 ARCHITECTURE BEHV OF CNT16 IS</p><p> SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b> BEGIN</b></p><p> PROCESS(CLK)</p><p><b> BEGIN</
26、b></p><p> IF (CLK'EVENT AND CLK='1') THEN</p><p> CQI<=CQI+1;</p><p><b> END IF;</b></p><p> QOUT<=CQI;</p><p> END
27、PROCESS;</p><p> END ARCHITECTURE BEHV;</p><p> 圖3-1 CNT16.vhd仿真波形圖</p><p><b> 3.3 列驅(qū)動(dòng)設(shè)計(jì)</b></p><p> HANG.vhd為列驅(qū)動(dòng)控制器,該模塊控制所亮的行,當(dāng)輸出為0001H時(shí),給點(diǎn)陣的第一行高電平,輸出為
28、0010H時(shí),給點(diǎn)陣的第二行高電平,依次類推,逐次給每行高電平。其描述如下</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY HANG IS<
29、/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 HANG;</p><p> ARCHITECTURE BEHV OF HANG IS&
30、lt;/p><p> SIGNAL HANG : STD_LOGIC_VECTOR(15 DOWNTO 0);</p><p><b> BEGIN</b></p><p> PROCESS(DATAIN)</p><p><b> BEGIN</b></p><p>
31、 CASE DATAIN IS</p><p> WHEN "0000"=> ROW<="1000000000000000";</p><p> WHEN "0001"=> ROW<="0100000000000000";</p><p> WHEN &qu
32、ot;0010"=> ROW<="0010000000000000";</p><p> WHEN "0011"=> ROW<="0001000000000000";</p><p> WHEN "0100"=> ROW<="0000100000000
33、000";</p><p> WHEN "0101"=> ROW<="0000010000000000";</p><p> WHEN "0110"=> ROW<="0000001000000000";</p><p> WHEN "01
34、11"=> ROW<="0000000100000000";</p><p> WHEN "1000"=> ROW<="0000000010000000";</p><p> WHEN "1001"=> ROW<="0000000001000000&q
35、uot;;</p><p> WHEN "1010"=> ROW<="0000000000100000";</p><p> WHEN "1011"=> ROW<="0000000000010000";</p><p> WHEN "1100&qu
36、ot;=> ROW<="0000000000001000";</p><p> WHEN "1101"=> ROW<="0000000000000100";</p><p> WHEN "1110"=> ROW<="0000000000000010";
37、</p><p> WHEN "1111"=> ROW<="0000000000000001";</p><p> WHEN OTHERS=> ROW<="0000000000000000";</p><p> END CASE;END PROCESS;</p>
38、<p> END ARCHITECTURE BEHV;</p><p> 圖3-2 HANG.vhd仿真波形圖</p><p> 3.4 字體顯示設(shè)計(jì)</p><p> XIANSHI.vhd為字體顯示控制器,SHI控制的是所顯示的字。例如當(dāng)SHI為00H時(shí),表示顯示第一個(gè)字;當(dāng)SHI為01H時(shí),表示顯示第二個(gè)字,依次類推。WEI控制所顯示的為字的
39、第幾行,例如當(dāng)WEI為0000B時(shí),表示輸出字的第一行文字信息;WEI為0001B時(shí),表示輸出字的第二行文字信息,依次類推。其描述如下:</p><p> LIBRARY ieee;</p><p> USE ieee.std_logic_1164.all;</p><p> ENTITY XIANSHI IS</p><p> PO
40、RT(WEI : IN STD_LOGIC_VECTOR(3 downto 0);</p><p> SHI : IN STD_LOGIC_VECTOR(2 downto 0);</p><p> Q : OUT STD_LOGIC_VECTOR(15 downto 0));</p><p> END XIANSHI;</p><p&g
41、t; ARCHITECTURE XIANSHI_architecture OF XIANSHI IS</p><p><b> BEGIN</b></p><p> process(shi,wei)</p><p> variable b:std_logic_vector(15 downto 0);</p><p&
42、gt;<b> begin</b></p><p> case shi is</p><p> When "000"=></p><p> case wei is</p><p> when "0000" =>b:="000000000000000
43、0"; </p><p> when "0001" =>b:="0100000000001000"; </p><p> when "0010" =>b:="0010000000001111"; </p><p> when "0011"
44、; =>b:="0001000010001001";</p><p> when "0100" =>b:="0000000010001001";</p><p> when "0101" =>b:="0100000010001111";</p>&l
45、t;p> when "0110" =>b:="0010011111111001";</p><p> when "0111" =>b:="0001000010001001";</p><p> when "1000" =>b:="00000000
46、10001111";</p><p> when "1001" =>b:="0000001111101001";</p><p> when "1010" =>b:="0000101000101001";</p><p> when "1011&
47、quot; =>b:="0001001000101001";</p><p> when "1100" =>b:="0010001111101001";</p><p> when "1101" =>b:="0100000000010011";</p>
48、<p> when "1110" =>b:="0100000000100001";</p><p> when "1111" =>b:="0000000000000000"; </p><p> when others=>
49、null; end case;</p><p> When "001"=></p><p> case wei is</p><p> when "0000" =>b:="0000000000000000";</p><p> when "0001&q
50、uot; =>b:="0000000001000000";</p><p> when "0010" =>b:="0000000010000000";</p><p> when "0011" =>b:="0001111111111000";</p>
51、<p> when "0100" =>b:="0000001000000000";</p><p> when "0101" =>b:="0000010000000000";</p><p> when "0110" =>b:="00001
52、11111111000";</p><p> when "0111" =>b:="0000101000101000";</p><p> when "1000" =>b:="0000100101001000";</p><p> when "10
53、01" =>b:="0000101111101000";</p><p> when "1010" =>b:="0000100010001000";</p><p> when "1011" =>b:="0000101111101000";</p&
54、gt;<p> when "1100" =>b:="0000100010001000";</p><p> when "1101" =>b:="0000100010001000";</p><p> when "1110" =>b:="0
55、000000000000000";</p><p> when "1111" =>b:="0000000000000000";</p><p> when others=>null; end case;</p><p> When "010"=></p>
56、<p> case wei is</p><p> when "0000" =>b:="0000000000000000"; </p><p> when "0001" =>b:="0000000000001000"; </p><p> when &q
57、uot;0010" =>b:="0111111111111100"; </p><p> when "0011" =>b:="0000000100000000"; </p><p> when "0100" =>b:="0000000100000000"
58、; </p><p> when "0101" =>b:="0000000100000000"; </p><p> when "0110" =>b:="0000000100000000"; </p><p> when "0111" =>
59、;b:="0000000100000000"; </p><p> when "1000" =>b:="0000000100000000"; </p><p> when "1001" =>b:="0000000100000000"; </p><p&
60、gt; when "1010" =>b:="0000000100000000"; </p><p> when "1011" =>b:="0000000100000000"; </p><p> when "1100" =>b:="0000000100
61、000100"; </p><p> when "1101" =>b:="1111111111111110"; </p><p> when "1110" =>b:="0000000000000000"; </p><p> when "1111
62、" =>b:="0000000000000000"; </p><p> when others=>null; end case;</p><p> When "011"=></p><p> case wei is</p>&
63、lt;p> when "0000" =>b:="0000000000000000";</p><p> when "0001" =>b:="0000010000000000";</p><p> when "0010" =>b:="0000100
64、000000000";</p><p> when "0011" =>b:="0001000011111000";</p><p> when "0100" =>b:="0111000010001000";</p><p> when "0101
65、" =>b:="0001000010001000";</p><p> when "0110" =>b:="0001000011111000";</p><p> when "0111" =>b:="0111111000000000";</p>
66、;<p> when "1000" =>b:="0001000111111100";</p><p> when "1001" =>b:="0011100000100000";</p><p> when "1010" =>b:="010
67、1010111111100";</p><p> when "1011" =>b:="1001010000100000";</p><p> when "1100" =>b:="1001001000100000";</p><p> when "
68、1101" =>b:="0001000111111100";</p><p> when "1110" =>b:="0001000000000000";</p><p> when "1111" =>b:="0000000000000000";</
69、p><p> when others=>null; end case;</p><p> When "100"=></p><p> case wei is</p><p> when "0000" =>b:="0010001000001000"; </
70、p><p> when "0001" =>b:="0001000100001000"; </p><p> when "0010" =>b:="0000000000000000"; </p><p> when "0011" =>b:=&qu
71、ot;0000000000100000"; </p><p> when "0100" =>b:="0111111111111110"; </p><p> when "0101" =>b:="0100000000000010"; </p><p> wh
72、en "0110" =>b:="1000000000000100"; </p><p> when "0111" =>b:="0001111111100000"; </p><p> when "1000" =>b:="0000000001000000&
73、quot;; </p><p> when "1001" =>b:="0000000110000100"; </p><p> when "1010" =>b:="1111111111111110"; </p><p> when "1011"
74、 =>b:="0000000100000000"; </p><p> when "1100" =>b:="0000000100000000"; </p><p> when "1101" =>b:="0000000100000000"; </p>&
75、lt;p> when "1110" =>b:="0000010100000000"; </p><p> when "1111" =>b:="0000001000000000"; </p><p> when others=>n
76、ull; end case;</p><p> When "101"=></p><p> case wei is</p><p> when "0000" =>b:="0000000000000000";</p><p> when "0001&qu
77、ot; =>b:="0000100001100000";</p><p> when "0010" =>b:="0001010000010000";</p><p> when "0011" =>b:="0010001011111110";</p>
78、<p> when "0100" =>b:="0010001100000001";</p><p> when "0101" =>b:="0011110100111001";</p><p> when "0110" =>b:="001011
79、0000000000";</p><p> when "0111" =>b:="0010001011111110";</p><p> when "1000" =>b:="0011101000101000";</p><p> when "100
80、1" =>b:="0010010000101000";</p><p> when "1010" =>b:="0010000000101000";</p><p> when "1011" =>b:="0010000001101000";</p&g
81、t;<p> when "1100" =>b:="0010000001001010";</p><p> when "1101" =>b:="0010000010001111";</p><p> when "1110" =>b:="00
82、00000000000000";</p><p> when "1111" =>b:="0000000000000000";</p><p> when others=>null; end case;</p><p> when others=>null;</p><p&
83、gt;<b> end case;</b></p><p><b> q<=b;</b></p><p> end process;</p><p> END XIANSHI_architecture;</p><p><b> 3.5頂層文件設(shè)計(jì)</b><
84、;/p><p> JUZHEN16.vhd是頂層文件設(shè)計(jì),文件在實(shí)體中首先定義了頂層設(shè)計(jì)元件的端口信號(hào),然后在architecture和begin之間利用component語句對準(zhǔn)備調(diào)用的元件做了聲明,并定義了c,d兩個(gè)信號(hào)作為器件內(nèi)部的連接線。最后利用端口映射語句PORT MAP()將兩個(gè)計(jì)數(shù)器和列驅(qū)動(dòng),字體顯示驅(qū)動(dòng)連接起來構(gòu)成一個(gè)完整的器件。</p><p> LIBRARY IEEE
85、;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY JUZHEN16 IS </p><p> PORT (a,b : IN STD_LOGIC ;</p><p>
86、 Q1,W1: OUT STD_LOGIC_VECTOR(15 DOWNTO 0));</p><p> END ENTITY JUZHEN16;</p><p> ARCHITECTURE JZ16 OF JUZHEN16 IS </p><p> COMPONENT CNT8</p><p> PORT( CLK1: IN ST
87、D_LOGIC;</p><p> QOUT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0));</p><p> END COMPONENT;</p><p> COMPONENT CNT16</p><p> PORT( CLK : IN STD_LOGIC;</p><p> QO
88、UT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p> END COMPONENT;</p><p> COMPONENT HANG</p><p> PORT(DATAIN : IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> ROW : OUT STD_L
89、OGIC_VECTOR(15 DOWNTO 0));</p><p> END COMPONENT;</p><p> COMPONENT XIANSHI</p><p> PORT(WEI : IN STD_LOGIC_VECTOR(3 downto 0);</p><p> SHI : IN STD_LOGIC_VECTOR(
90、2 downto 0);</p><p> Q : OUT STD_LOGIC_VECTOR(15 downto 0));</p><p> END COMPONENT;</p><p> SIGNAL c: STD_LOGIC_VECTOR(3 downto 0);</p><p> SIGNAL d: STD_LOGIC_VECT
91、OR(2 downto 0);</p><p><b> BEGIN </b></p><p> U1: CNT8 PORT MAP( CLK1=>b,QOUT=>d );</p><p> U2: CNT16 PORT MAP( CLK=>a,QOUT=>c );</p><p> U
92、3: HANG PORT MAP(datain=>c,ROW=>Q1);</p><p> U4: XIANSHI PORT MAP (wei=>c,shi=>d,Q=>W1);</p><p> END ARCHITECTURE JZ16;</p><p> 圖3.3 頂層仿真圖</p><p><
93、b> 四 程序框圖</b></p><p><b> 五.用戶使用說明</b></p><p> 先將各個(gè)引腳按引腳分配表分配好,再將該源程序下載到試驗(yàn)箱里,再按相應(yīng)操作將“湖南工程學(xué)院”顯示出來即可。</p><p> 16*16 LED點(diǎn)陣顯示引腳分配</p><p> 16×
94、16 點(diǎn)陣LED 模塊</p><p><b> 時(shí)鐘:</b></p><p><b> 圖3.4 引腳分配</b></p><p> 圖3.5 實(shí)驗(yàn)箱顯示圖</p><p><b> 六 心得體會(huì) </b></p><p> 這次做EDA
95、課設(shè)的報(bào)告,是有關(guān)16*16點(diǎn)陣的顯示的。起初并不知道這個(gè)程序該怎么寫,但通過艱苦的鉆研,并運(yùn)用以前老師教過的知識(shí),仔細(xì)的想了一遍,覺得應(yīng)該構(gòu)建很多實(shí)現(xiàn)功能的模塊,來分別對要求的相應(yīng)的功能一一實(shí)現(xiàn),于是開始構(gòu)建基本的框架,并一個(gè)一個(gè)的將它編寫出來。盡管在此期間,遇到了很多困難,但通過自己的不懈努力,和老師的耐心指導(dǎo),并在課外積極的請教班上的同學(xué)一些不懂的地方,逐漸明白了自己的一些不解之處,既鞏固了以前學(xué)的EDA知識(shí),也認(rèn)識(shí)到了這門課程的
96、博大精深,使我們知道要學(xué)的東西還有很多。我們也從中懂得了做一件事情,真的要有足夠的耐心和克服困難的勇氣。</p><p> 我們不知道我們接下來的學(xué)期里會(huì)有多少課程設(shè)計(jì),但我們已經(jīng)有足夠面對它的勇氣,從中學(xué)會(huì)的有關(guān)做事情的一些態(tài)度和方法,將對我們終身受用,以便我們能在社會(huì)里創(chuàng)造更好的成就,為社會(huì)做出更多的貢獻(xiàn),所以真心的感謝所有老師,是你們讓我有了體驗(yàn)的機(jī)會(huì),讓我懂得了做事不可能一蹴而就,需要有耐心和毅力,當(dāng)然
97、這也是當(dāng)前社會(huì)追求人才所要求的。</p><p><b> 七 源程序清單</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p>&
98、lt;p> ENTITY CNT8 IS</p><p> PORT( CLK1: IN STD_LOGIC;</p><p> QOUT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0));</p><p> END ENTITY CNT8;</p><p> ARCHITECTURE BEHV OF C
99、NT8 IS</p><p> SIGNAL CQI : STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p><b> BEGIN</b></p><p> PROCESS(CLK1)</p><p><b> BEGIN</b></p><p&g
100、t; IF (CLK1'EVENT AND CLK1='1') THEN</p><p> CQI<=CQI+1;</p><p><b> END IF;</b></p><p> QOUT<=CQI;</p><p> END PROCESS;</p>&l
101、t;p> END ARCHITECTURE BEHV;</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY CNT16 IS</p>
102、;<p> PORT( CLK : IN STD_LOGIC;</p><p> QOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p> END ENTITY CNT16;</p><p> ARCHITECTURE BEHV OF CNT16 IS</p><p> SI
103、GNAL 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 CLK=
104、39;1') THEN</p><p> CQI<=CQI+1;</p><p><b> END IF;</b></p><p> QOUT<=CQI;</p><p> END PROCESS;</p><p> END ARCHITECTURE BEHV;<
105、;/p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY HANG IS</p><p> PORT(DATAIN : IN STD_
106、LOGIC_VECTOR(3 DOWNTO 0);</p><p> ROW : OUT STD_LOGIC_VECTOR(15 DOWNTO 0));</p><p> END ENTITY HANG;</p><p> ARCHITECTURE BEHV OF HANG IS</p><p> SIGNAL HANG : STD_
107、LOGIC_VECTOR(15 DOWNTO 0);</p><p><b> BEGIN</b></p><p> PROCESS(DATAIN)</p><p><b> BEGIN</b></p><p> CASE DATAIN IS</p><p> WH
108、EN "0000"=> ROW<="1000000000000000";</p><p> WHEN "0001"=> ROW<="0100000000000000";</p><p> WHEN "0010"=> ROW<="0010000
109、000000000";</p><p> WHEN "0011"=> ROW<="0001000000000000";</p><p> WHEN "0100"=> ROW<="0000100000000000";</p><p> WHEN &q
110、uot;0101"=> ROW<="0000010000000000";</p><p> WHEN "0110"=> ROW<="0000001000000000";</p><p> WHEN "0111"=> ROW<="000000010000
111、0000";</p><p> WHEN "1000"=> ROW<="0000000010000000";</p><p> WHEN "1001"=> ROW<="0000000001000000";</p><p> WHEN "1
112、010"=> ROW<="0000000000100000";</p><p> WHEN "1011"=> ROW<="0000000000010000";</p><p> WHEN "1100"=> ROW<="0000000000001000&
113、quot;;</p><p> WHEN "1101"=> ROW<="0000000000000100";</p><p> WHEN "1110"=> ROW<="0000000000000010";</p><p> WHEN "1111&q
114、uot;=> ROW<="0000000000000001";</p><p> WHEN OTHERS=> ROW<="0000000000000000";</p><p> END CASE;END PROCESS;</p><p> END ARCHITECTURE BEHV;</p&
115、gt;<p> LIBRARY ieee;</p><p> USE ieee.std_logic_1164.all;</p><p> ENTITY XIANSHI IS</p><p> PORT(WEI : IN STD_LOGIC_VECTOR(3 downto 0);</p><p> SHI : IN
116、STD_LOGIC_VECTOR(2 downto 0);</p><p> Q : OUT STD_LOGIC_VECTOR(15 downto 0));</p><p> END XIANSHI;</p><p> ARCHITECTURE XIANSHI_architecture OF XIANSHI IS</p><p>&l
117、t;b> BEGIN</b></p><p> process(shi,wei)</p><p> variable b:std_logic_vector(15 downto 0);</p><p><b> begin</b></p><p> case shi is</p>
118、<p> When "000"=></p><p> case wei is</p><p> when "0000" =>b:="0000000000000000"; </p><p> when "0001" =>b:="010000
119、0000001000"; </p><p> when "0010" =>b:="0010000000001111"; </p><p> when "0011" =>b:="0001000010001001";</p><p> when "0
120、100" =>b:="0000000010001001";</p><p> when "0101" =>b:="0100000010001111";</p><p> when "0110" =>b:="0010011111111001";</p
121、><p> when "0111" =>b:="0001000010001001";</p><p> when "1000" =>b:="0000000010001111";</p><p> when "1001" =>b:="
122、0000001111101001";</p><p> when "1010" =>b:="0000101000101001";</p><p> when "1011" =>b:="0001001000101001";</p><p> when &qu
123、ot;1100" =>b:="0010001111101001";</p><p> when "1101" =>b:="0100000000010011";</p><p> when "1110" =>b:="0100000000100001";&l
124、t;/p><p> when "1111" =>b:="0000000000000000"; </p><p> when others=>null; end case;</p><p> When "001"=></p>
125、<p> case wei is</p><p> when "0000" =>b:="0000000000000000";</p><p> when "0001" =>b:="0000000001000000";</p><p> when &quo
126、t;0010" =>b:="0000000010000000";</p><p> when "0011" =>b:="0001111111111000";</p><p> when "0100" =>b:="0000001000000000";<
127、;/p><p> when "0101" =>b:="0000010000000000";</p><p> when "0110" =>b:="0000111111111000";</p><p> when "0111" =>b:=&qu
128、ot;0000101000101000";</p><p> when "1000" =>b:="0000100101001000";</p><p> when "1001" =>b:="0000101111101000";</p><p> when
129、"1010" =>b:="0000100010001000";</p><p> when "1011" =>b:="0000101111101000";</p><p> when "1100" =>b:="0000100010001000"
130、;</p><p> when "1101" =>b:="0000100010001000";</p><p> when "1110" =>b:="0000000000000000";</p><p> when "1111" =>b:
131、="0000000000000000";</p><p> when others=>null; end case;</p><p> When "010"=></p><p> case wei is</p><p> when "0000" =>b:
132、="0000000000000000"; </p><p> when "0001" =>b:="0000000000001000"; </p><p> when "0010" =>b:="0111111111111100"; </p><p>
133、 when "0011" =>b:="0000000100000000"; </p><p> when "0100" =>b:="0000000100000000"; </p><p> when "0101" =>b:="0000000100000
134、000"; </p><p> when "0110" =>b:="0000000100000000"; </p><p> when "0111" =>b:="0000000100000000"; </p><p> when "1000&qu
135、ot; =>b:="0000000100000000"; </p><p> when "1001" =>b:="0000000100000000"; </p><p> when "1010" =>b:="0000000100000000"; </p>
136、;<p> when "1011" =>b:="0000000100000000"; </p><p> when "1100" =>b:="0000000100000100"; </p><p> when "1101" =>b:="1
137、111111111111110"; </p><p> when "1110" =>b:="0000000000000000"; </p><p> when "1111" =>b:="0000000000000000"; <
138、/p><p> when others=>null; end case;</p><p> When "011"=></p><p> case wei is</p><p> when "0000" =>b:="0000000000000000";</
139、p><p> when "0001" =>b:="0000010000000000";</p><p> when "0010" =>b:="0000100000000000";</p><p> when "0011" =>b:="
140、;0001000011111000";</p><p> when "0100" =>b:="0111000010001000";</p><p> when "0101" =>b:="0001000010001000";</p><p> when &q
141、uot;0110" =>b:="0001000011111000";</p><p> when "0111" =>b:="0111111000000000";</p><p> when "1000" =>b:="0001000111111100";&
142、lt;/p><p> when "1001" =>b:="0011100000100000";</p><p> when "1010" =>b:="0101010111111100";</p><p> when "1011" =>b:=&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計(jì)-- 1616點(diǎn)陣顯示
- eda課程設(shè)計(jì)報(bào)告--1616點(diǎn)陣顯示
- 課程設(shè)計(jì)--led1616點(diǎn)陣顯示設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--1616點(diǎn)陣顯示實(shí)驗(yàn)
- sopceda綜合課程設(shè)計(jì)---1616的點(diǎn)陣顯示設(shè)計(jì)
- eda課程設(shè)計(jì)--led點(diǎn)陣顯示控制
- 16×16點(diǎn)陣eda課程設(shè)計(jì)報(bào)告
- 16乘16點(diǎn)陣顯示單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---16乘16點(diǎn)陣顯示
- 16*16點(diǎn)陣課程設(shè)計(jì)
- 51單片機(jī)led1616點(diǎn)陣滾動(dòng)顯示c程序
- 16乘16點(diǎn)陣設(shè)計(jì)課程設(shè)計(jì)
- 16x16點(diǎn)陣課程設(shè)計(jì)--16×16點(diǎn)陣led電子顯示屏的設(shè)計(jì)
- 16x32點(diǎn)陣課程設(shè)計(jì)
- led16x16點(diǎn)陣課程設(shè)計(jì)--16×16點(diǎn)陣led電子顯示屏的設(shè)計(jì)
- 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)---12864點(diǎn)陣lcd的顯示
- 8×8點(diǎn)陣led數(shù)碼圖形顯示的課程設(shè)計(jì)
- 16x16點(diǎn)陣微機(jī)課程設(shè)計(jì)
- 單片機(jī)原理與應(yīng)用課程設(shè)計(jì)---16x16點(diǎn)陣顯示
- eda課程設(shè)計(jì)--心電圖顯示
評論
0/150
提交評論