版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《EDA技術(shù)及應(yīng)用》</p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 題 目: 八位數(shù)碼管掃描顯示電路的設(shè)計(jì) </p><p> 院 (系): 機(jī)電與自動(dòng)化學(xué)院 </p><p> 專業(yè)班級(jí): 電氣自動(dòng)化技術(shù)1001 <
2、;/p><p> 學(xué)生姓名: </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 2012年 6月10日至2012年 6月23日</p><
3、p> 《EDA技術(shù)及應(yīng)用》課程設(shè)計(jì)任務(wù)書</p><p><b> 目 錄</b></p><p> 1.課程設(shè)計(jì)題目及要求...............................................7</p><p> 1.1課程設(shè)計(jì)題目...................................
4、.................7</p><p> 1.2課程設(shè)計(jì)要求....................................................7</p><p> 1.3系統(tǒng)總體方案設(shè)計(jì)................................................7</p><p> 2. LED的工作原理
5、...................................................8</p><p> 2.1 LED工作原理....................................................8</p><p> 2.2 LED動(dòng)態(tài)掃描顯示原理...........................................
6、.9</p><p> 3.系統(tǒng)設(shè)計(jì).........................................................9</p><p> 3.1硬件電路設(shè)計(jì)....................................................9</p><p> 3.2 VHDL代碼設(shè)計(jì)...........
7、........................................9</p><p> 4.運(yùn)行調(diào)試......................................................,,13</p><p> 4.1時(shí)序仿真.......................................................13</
8、p><p> 4.2 硬件邏輯驗(yàn)證..................................................,15</p><p> 4.3調(diào)試結(jié)果分析...................................................16</p><p> 4.4 調(diào)試中出現(xiàn)的問題及解決方法..............
9、.......................16</p><p> 5 總結(jié)..............................................,,,,,,,,,,,,,,,16</p><p> 6.參考文獻(xiàn).........................................................17</p><p
10、> 7. 附錄1系統(tǒng)硬件電路圖............................................18</p><p> 附錄2實(shí)物照片..................................................19</p><p> 1.課程設(shè)計(jì)題目及要求</p><p><b> 1.1課程設(shè)計(jì)
11、題目</b></p><p> 八位數(shù)碼管靜態(tài)掃描顯示電路的設(shè)計(jì)</p><p><b> 1.2課程設(shè)計(jì)要求</b></p><p> 本課題要求掌握使用Quartus II設(shè)計(jì)數(shù)字系統(tǒng)的設(shè)計(jì)思路和設(shè)計(jì)方法。學(xué)習(xí)VHDL基本邏輯電路的綜合設(shè)計(jì)應(yīng)用。掌握VHDL語(yǔ)言的語(yǔ)法規(guī)范,掌握時(shí)序電路描述方法。掌握多個(gè)數(shù)碼管動(dòng)態(tài)掃描顯示的
12、原理及設(shè)計(jì)方法。</p><p> 設(shè)計(jì)一個(gè)八位數(shù)碼管共陰極動(dòng)態(tài)掃描顯示控制電路,要求顯示學(xué)生自己的學(xué)號(hào)。利用實(shí)驗(yàn)室設(shè)備完成系統(tǒng)設(shè)計(jì)并進(jìn)行運(yùn)行調(diào)試。</p><p> 1.3系統(tǒng)總體方案設(shè)計(jì)</p><p> 設(shè)計(jì)流程圖如下: 首先,我們要對(duì)所要設(shè)計(jì)的八位數(shù)碼管靜態(tài)掃描顯示電路充分理解,同時(shí)在了解了所給的硬件器材的基礎(chǔ)上需進(jìn)行“源程序的編輯和編譯”——用
13、一定的邏輯表達(dá)手段將設(shè)計(jì)表達(dá)出來;其次要進(jìn)行“邏輯綜合”——將用一定的邏輯表達(dá)手段表達(dá)出來的設(shè)計(jì),經(jīng)過一系列的操作,分解成一系列的基本邏輯電路及對(duì)應(yīng)關(guān)系;然后要進(jìn)行“目標(biāo)器件的布線∕適配”——在選定的目標(biāo)器件中建立這些基本邏輯電路及對(duì)應(yīng)關(guān)系;最后,目標(biāo)器件的編程下載——將前面的軟件設(shè)計(jì)經(jīng)過編程變成具體的設(shè)計(jì)系統(tǒng),同時(shí)在設(shè)計(jì)過程中要進(jìn)行有關(guān)“仿真”——模擬有關(guān)設(shè)計(jì)結(jié)果,看是否與設(shè)計(jì)構(gòu)想相符。</p><p><
14、;b> 系統(tǒng)結(jié)構(gòu)框圖如下:</b></p><p> 2. LED的工作原理</p><p> 2.1 LED工作原理</p><p> LED為分段式半導(dǎo)體顯示器,通常稱為七段發(fā)光二極管顯示器。下圖為七段發(fā)光二極管顯示器共陰極和共陽(yáng)極的電路圖。對(duì)共陰極顯示器的公共端應(yīng)接地,給a-g輸入相應(yīng)高電平,對(duì)應(yīng)字段的發(fā)光二極管顯示十進(jìn)制數(shù);對(duì)共陽(yáng)極
15、的公共端應(yīng)接+5V電源,給a-g輸入端相應(yīng)低電平,對(duì)應(yīng)字段的發(fā)光二極管也顯示十進(jìn)制數(shù)。</p><p> 2.2 LED動(dòng)態(tài)掃描顯示原理</p><p> LED有段碼和位碼之分,所謂段碼就是讓LED顯示出“8.”的八位數(shù)據(jù),一般情況下要通過一個(gè)譯碼電路,將輸入的4位2進(jìn)制數(shù)轉(zhuǎn)換為與LED顯示對(duì)應(yīng)的8位段碼。位碼也就是LED的顯示使能端,對(duì)于共陽(yáng)級(jí)的LED而言,高電平使能。要讓8個(gè)LE
16、D同時(shí)工作,顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個(gè)LED,并在使能每一個(gè)LED的同時(shí),輸入所需顯示的數(shù)據(jù)對(duì)應(yīng)的8位段碼。雖然8個(gè)LED是依次顯示,但是受視覺分辨率的影響,看到的現(xiàn)象是8個(gè)LED同時(shí)工作。</p><p> 多個(gè)數(shù)碼管動(dòng)態(tài)掃描顯示,是將所有數(shù)碼管的相同段并聯(lián)在一起,通過選通信號(hào)分時(shí)控制各個(gè)數(shù)碼管的公共端,循環(huán)點(diǎn)亮多個(gè)數(shù)碼管,并利用人眼的視覺暫留現(xiàn)象,只要掃描的頻率大于50Hz,將看不到閃爍現(xiàn)象。&l
17、t;/p><p><b> 3 系統(tǒng)設(shè)計(jì)</b></p><p> 3.1 硬件電路設(shè)計(jì)</p><p> 3.2 VHDL程序設(shè)計(jì)</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p&
18、gt; use ieee.std_logic_arith.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> use ieee.std_logic_signed.all;</p><p> entity scan_seg8 is</p><p> port(clk3,clk
19、5:in std_logic;</p><p> rst: in std_logic;</p><p> seg_da:out std_logic_vector(7 downto 0);</p><p> seg_sel:out std_logic_vector(2 downto 0)</p><p><b> );<
20、/b></p><p> end scan_seg8;</p><p> architecture ado of scan_seg8 is</p><p> signal seg_buf1,seg_buf2,seg_buf3,seg_buf4,seg_buf0:std_logic_vector(3 downto 0);</p><p&
21、gt; signal seg_buf5,seg_buf6,seg_buf7,seg_buf8:std_logic_vector(3 downto 0);</p><p> signal seg_cnt:std_logic_vector(2 downto 0);</p><p> signal seg_temp:std_logic_vector(3 downto 0);</p&g
22、t;<p> signal clk:std_logic;</p><p><b> begin</b></p><p> process(clk5)</p><p><b> begin</b></p><p> if clk5'event and clk5='
23、;1' then</p><p> clk<=not clk;</p><p><b> end if;</b></p><p> end process;</p><p> process(clk5,rst)</p><p><b> begin</b&g
24、t;</p><p> if clk5' event and clk5='1' then</p><p> if clk='1' then</p><p> seg_buf1<="0010";</p><p> seg_buf2<="0010"
25、;</p><p> seg_buf3<="1000";</p><p> seg_buf4<="0010";</p><p> seg_buf5<="0000";</p><p> seg_buf6<="0001";</p&
26、gt;<p> seg_buf7<="0000";</p><p> seg_buf8<="0010";</p><p><b> else</b></p><p> seg_buf1<="1111";</p><p>
27、 seg_buf2<="1111";</p><p> seg_buf3<="1111";</p><p> seg_buf4<="1111";</p><p> seg_buf5<="1111";</p><p> seg_buf
28、6<="1000";</p><p> seg_buf7<="0001";</p><p> seg_buf8<="0000";</p><p><b> end if;</b></p><p><b> end if;<
29、;/b></p><p> end process;</p><p> process (clk3,rst)</p><p><b> begin</b></p><p> if clk3' event and clk3='1' then</p><p>
30、if rst='1' then</p><p> seg_cnt<="000";</p><p><b> else</b></p><p> seg_cnt<=seg_cnt+1;</p><p><b> end if;</b></p
31、><p><b> end if;</b></p><p> end process;</p><p> seg_sel<=seg_cnt;</p><p> process(seg_cnt,seg_buf1,seg_buf2,seg_buf3,seg_buf4,seg_buf5,seg_buf6,seg_bu
32、f7,seg_buf8)</p><p><b> begin</b></p><p> case seg_cnt is</p><p> when o"0" => seg_temp<=seg_buf1;</p><p> when o"1" => seg
33、_temp<=seg_buf2; </p><p> when o"2" => seg_temp<=seg_buf3; </p><p> when o"3" => seg_temp<=seg_buf4; </p><p> when o"4" => seg_
34、temp<=seg_buf5; </p><p> when o"5" => seg_temp<=seg_buf6;</p><p> when o"6" => seg_temp<=seg_buf7; </p><p> when o"7" => seg_tem
35、p<=seg_buf8;</p><p> when others=> seg_temp<="XXXX";</p><p><b> end case;</b></p><p> end process;</p><p> process(seg_temp)</p>
36、;<p><b> begin</b></p><p> case seg_temp is</p><p> when "0000"=> seg_da<="00111111";</p><p> when "0001"=> seg_da<=
37、"00000110";</p><p> when "0010"=> seg_da<="01011011";</p><p> when "0011"=> seg_da<="01001111";</p><p> when "0
38、100"=> seg_da<="01100110";</p><p> when "0101"=> seg_da<="01101101";</p><p> when "0110"=> seg_da<="01111101";</p>
39、;<p> when "0111"=> seg_da<="00000111";</p><p> when "1000"=> seg_da<="01111111";</p><p> when "1001"=> seg_da<=&quo
40、t;01101111";</p><p> when "1010"=> seg_da<="01110111";</p><p> when "1011"=> seg_da<="01111100";</p><p> when "1100&
41、quot;=> seg_da<="00111001";</p><p> when "1101"=> seg_da<="01011110";</p><p> when "1110"=> seg_da<="01111001";</p>&
42、lt;p> when "1111"=> seg_da<="00000000";</p><p> when others=> null;</p><p><b> end case;</b></p><p> end process;</p><p>
43、; end architecture ado; </p><p><b> 4 運(yùn)行調(diào)試</b></p><p><b> 4.1 時(shí)序仿真</b></p><p> ?。?) 建立波形文件。選擇File項(xiàng)及其New,再選擇New窗中的Waveform Editer..項(xiàng),打開波形編輯窗。</p>
44、<p> ?。?)輸入信號(hào)節(jié)點(diǎn)。在波形編輯窗的上方選擇Node項(xiàng),在下拉菜單中選擇輸入信號(hào),在彈出的窗口中首先點(diǎn)擊List鍵,這時(shí)左窗口將列出設(shè)計(jì)所以信號(hào)節(jié)點(diǎn)。由于設(shè)計(jì)者有時(shí)只需要觀察其中部分信號(hào)的波形,因此要利用中間的“=>”鍵將需要觀察的信號(hào)選到右欄中,然后點(diǎn)擊OK鍵即可將測(cè)試信號(hào)。</p><p> (3)設(shè)置波形參量。波形編輯窗中已經(jīng)調(diào)入了所有節(jié)點(diǎn)信號(hào),在為編輯窗輸出信號(hào)測(cè)試前,首先
45、設(shè)定相關(guān)的仿真參數(shù)。</p><p> (4)設(shè)定仿真時(shí)間寬度。選擇File項(xiàng)及其End time選項(xiàng),在End time選擇窗中選擇適當(dāng)?shù)姆抡鏁r(shí)間域,以便有足夠長(zhǎng)的觀察時(shí)間。 (5)波形文件存盤。選擇File項(xiàng)及其Save as選項(xiàng),按OK鍵即可。</p><p> ?。?)運(yùn)行仿真器,觀察分析波形。選中“processing”菜單下的“start siulation”,直到出
46、現(xiàn)“simulation was successful”對(duì)話框。把所有的參數(shù)都設(shè)定好了之后,就可以觀察相關(guān)的波形了。 </p><p> 4.2 硬件邏輯驗(yàn)證</p><p> ?。?)確認(rèn)已經(jīng)打開了工程scan_seg8。</p><p> ?。?)打開“assignments”菜單下的“pins”命令,打開引腳鎖定窗口。</p><p
47、> (3)用鼠標(biāo)雙擊“to”欄中的“<<new>>”,再出現(xiàn)的下拉欄中選擇本工程要鎖定的端口信號(hào)名(例如clk),然后雙擊對(duì)應(yīng)的“l(fā)ocation”欄中的“<<new>>”,在出現(xiàn)的下拉欄中選擇對(duì)應(yīng)端口信號(hào)名的器件引腳(例如對(duì)應(yīng)clk,應(yīng)選擇29)。</p><p> ?。?)按前面提到的引腳信息添加鎖定引腳,全部輸入后單擊工具欄上的保存按鈕,保存引腳設(shè)置。
48、當(dāng)冒個(gè)引腳鎖定后,我們?cè)凇皌o”欄下看到該引腳將是斜體顯示的,其他未鎖定引腳則是正體顯示。保持完畢,必須再編譯適配一次,才能將引腳鎖定到最終的下載文件中,此后就可以將編譯好的sof文件下載到實(shí)驗(yàn)系統(tǒng)的FPGA中去了。</p><p><b> 4.3調(diào)試結(jié)果分析</b></p><p> 將生成的sof文件通過下載線下載到實(shí)驗(yàn)箱中,進(jìn)行相關(guān)的調(diào)試后正確顯示了自己的
49、學(xué)號(hào)。比如我的學(xué)號(hào)為20102822018,8位數(shù)碼管顯示的內(nèi)容應(yīng)為20102822,018xxxxx。那么實(shí)驗(yàn)就已經(jīng)成功了。</p><p> 4.4 調(diào)試中出現(xiàn)的問題及解決方法</p><p> 由于是第一次做這種課程設(shè)計(jì)。所以,難免會(huì)遇到一些問題。在將程序下載到試驗(yàn)箱上時(shí),沒有能如期望那樣顯示自己的學(xué)號(hào)。然后,我又從程序出發(fā)檢查了一遍,發(fā)現(xiàn)沒有錯(cuò)誤,然后我又進(jìn)行了一次功能仿真發(fā)現(xiàn)
50、波形圖也沒有問題。所以,我就可以大膽的排除程序錯(cuò)誤而導(dǎo)致的結(jié)果。既然程序沒有錯(cuò)誤,想必應(yīng)該是在傳輸程序的這個(gè)環(huán)節(jié)出了問題。我又從選擇的芯片入手,發(fā)現(xiàn)芯片選擇沒有問題,而且各項(xiàng)參數(shù)設(shè)置也沒有問題。我開始懷疑是不是芯片上的管腳設(shè)置上出現(xiàn)了問題。于是,再請(qǐng)教了幾位同學(xué)之后我發(fā)現(xiàn)果然管腳設(shè)置上出了問題,當(dāng)我將錯(cuò)誤的地方修改過后終于在硬件電路上看到了自己期望的結(jié)果。</p><p><b> 5 總結(jié)</
51、b></p><p> 通過此次實(shí)驗(yàn)我們進(jìn)一步掌握QUARTUS II的的使用方法以及使用的各種規(guī)章流程。同時(shí),通過此次實(shí)驗(yàn)也加強(qiáng)了我對(duì)于VHDL 這門語(yǔ)言的更深刻的認(rèn)識(shí),讓我從感性上感知到了VHDL語(yǔ)言的獨(dú)特之處。以前在課堂上總是聽老說VHDL 語(yǔ)言與其他語(yǔ)言的不同就是VHDL 是面向硬件的語(yǔ)言,它是會(huì)占硬件電路大小的,之前我還是沒能體會(huì)到這句話的含義。當(dāng)通過這次試驗(yàn)后,我終于體會(huì)到了這句話的含義。&l
52、t;/p><p> VHDL是EDA技術(shù)的重要組成部分,其具有與具體硬件電路無關(guān)和與設(shè)計(jì)平臺(tái)無關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語(yǔ)言易讀性和層次化,結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力。</p><p> 通過這次實(shí)驗(yàn)不僅讓我專業(yè)知識(shí)得到了提高,同時(shí)也讓我自身的一些不良習(xí)慣,像馬虎,沒有耐心等得到改善。在設(shè)計(jì)時(shí)我們共同討論,互相學(xué)習(xí),互相借鑒,讓我們同學(xué)之間
53、,師生之間關(guān)系變得更融洽!</p><p><b> 6. 參考文獻(xiàn)</b></p><p> 【1】 鄭燕,赫建國(guó). 基于VHDL與Quartus II軟件的可編程邏輯器件應(yīng)用于開發(fā).北京:國(guó)防工業(yè)出版社,2011.</p><p> 【2】Altera. Pin Information for the Cyclone III EP3C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 八位七段數(shù)碼管動(dòng)態(tài)顯示電路設(shè)計(jì)
- 兩位數(shù)碼管顯示課程設(shè)計(jì)
- 兩位數(shù)碼管顯示設(shè)計(jì)-課程設(shè)計(jì)
- 數(shù)字電子課程設(shè)計(jì)--八位數(shù)字搶答器
- 兩位數(shù)碼管顯示設(shè)計(jì)-課程設(shè)計(jì)報(bào)告
- 數(shù)碼管顯示課程設(shè)計(jì)報(bào)告
- plc數(shù)碼管顯示課程設(shè)計(jì)
- eda技術(shù)課程設(shè)計(jì)--數(shù)碼管顯示數(shù)字鐘設(shè)計(jì)
- pic課程設(shè)計(jì)--多位數(shù)碼管循環(huán)顯示
- 數(shù)碼管學(xué)號(hào)滾動(dòng)顯示課程設(shè)計(jì)
- 課程設(shè)計(jì)---單只數(shù)碼管循環(huán)顯示設(shè)計(jì)
- 4位dip開關(guān)控制數(shù)碼管顯示系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--兩位數(shù)碼管顯示設(shè)計(jì)
- 8位數(shù)碼管秒表計(jì)時(shí)顯示
- 單片機(jī)課程設(shè)計(jì)-8位8段led數(shù)碼管動(dòng)態(tài)掃描顯示解讀
- 兩位數(shù)碼管顯示設(shè)計(jì)課程設(shè)計(jì)說明書
- 兩位數(shù)碼管顯示課程設(shè)計(jì)說明書
- 課程設(shè)計(jì)---4位數(shù)碼塊動(dòng)態(tài)顯示驅(qū)動(dòng)電路設(shè)計(jì)
- 八位數(shù)據(jù)串行輸入并行輸出邏輯設(shè)計(jì)
- 八位數(shù)據(jù)串行輸入并行輸出邏輯設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論