




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、物理與電子工程學院數字電路課程設計報告書 設計題目: 數字顯示電路設計 專 業: 自動化 班 級: 10級1班 學生姓名: 李想 學 號: 2110341106 指導教師: 胡林 年 月 日物理與電子工程學院 課程設計任務書專業: 自動化 班級: 10級2班 學生姓名李想學號2110341106課程名稱數字電路設計題目數字顯示電路設計設計目的、主要內容(參數、方法)及要求1、課程設計是專業課學習過程中一個非常重要的環節。本次課程設計的目的是熟悉和掌握數字顯示電路的應用方法,為今后的工作和學習打下堅實的基礎。2、理解數字顯示電路的原理。3、掌握數字顯示電路的應用范圍、核心儀器及應用電路。4、檢索
2、閱讀與課程設計課題相關的國內科技文獻,書寫并按時提交規范的課程設計。5、在調查、實驗、論文撰寫等環節中,應尊重事實、尊重實驗結果,嚴肅認真的的完成每一個環節的相關工作。6、課程設計應論述層次清晰,概念準確,語句通順。7、獨立完成課程設計的撰寫工作,不得抄襲和剽竊他人成果。8、符合課程設計寫作規范,整篇文章不少于3000字。工作量2周時間,每天3學時,共計42學時進度安排第1天:下達任務書第2-5天:搜集資料,完成課程設計的文獻查閱、試驗或調研工作。第6-8天:完成課程設計的初稿,并提交指導教師。第9-14天:完成課程設計的修改,最終定稿。主要參考資料1路勇.電子電路實驗及仿真M.北京:北京交通
3、大學出版社,2010.2孟濤.電工電子EDA實踐教程M.北京:機械工業出版社,2010.3高吉祥.電子技術基礎實驗與課程設計M.北京:電子工業出版社,20054候建軍.電子技術基礎實驗、綜合設計實驗與課程設計M.北京:高等教育出版社,2007. 指導教師簽字教研室主任簽字摘 要采用動態掃描的方式實現設計要求。動態掃描顯示需要由兩組信號來控制:一組是字段輸出口輸出的字形代碼,用來控制顯示的字形,稱為段碼;另一組是位輸出口輸出的控制信號,用來選擇第幾位數碼管工作,稱為位碼。各位數碼管的段線并聯,段碼的輸出對各位數碼管來說都是相同的。因此在同一時刻如果各位數碼管的位選線都處于選通狀態的話,6位數碼管
4、將顯示相同的字符。若要各位數碼管能夠顯示出與本位相應的字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線處于導通狀態,而其它各位的位選線處于關閉狀態。同時,段線上輸出相應位要顯示字符的字型碼。這樣在同一時刻,只有選通的那一位顯示出字符,而其它各位則是熄滅的,如此循環下去,就可以使各位數碼管顯示出將要顯示的字符。 MAX+PLUS II 是一個完全集成化的可編程邏輯環境,能滿足用戶各種各樣的設計需要。它支持Altera公司不同結構的器件,可在多平臺上運行。MAX+PLUS II 具有突出的靈活性和高效性,為設計者提供了多種可自由選擇的設計方法和工具。豐富的圖形界面,可隨時訪問的在線幫
5、助文檔,使用戶能夠快速輕松地掌握和使用MAX+PLUSII軟件。 MAX+PLUSII 具有的強大功能極大地減輕了設計者的負擔,使設計者可以快速完成所需的設計,使用該軟件,用戶從開始設計邏輯電路到完成器件下載編程一般只需要數小時時間,其中設計的編譯時間往往僅需數分鐘。用于可在一個工作日內完成實現設計項目的多次修改,直至最終設計定型。 MAX+PLUS II 開發系統眾多突出的特點,使它深受廣大用戶的青睞。 關鍵詞:數字顯示電路;動態掃描;段碼目 錄第一章 設計任務11.1 項目名稱:設計數字顯示電路11.2項目設計說明11.2.1設計任務和要求11.2.2進度安排11.3項目總體功能模塊圖2第
6、二章 需求分析22.1問題基本描述22.2系統模塊分解32.3系統各模塊功能的基本要求3第三章 設計原理33.1 設計原理33.2 MAXPLUSII介紹4第四章 系統功能模塊設計54.1.1數碼管位選控制模塊流程圖54.1.2輸入輸出引腳及其功能說明54.1.3程序代碼實現64.2數據選擇模塊74.2.1.數據選擇模(八選一模塊)塊流程圖74.2.2輸入輸出引腳及其功能說明74.2.3程序代碼實現74.3七段譯碼器模塊84.3.1七段譯碼器模塊模塊流程圖84.3.2輸入輸出引腳及其功能說明84.3.3程序代碼實現8第五章調試并分析結果95.1輸入說明95.2預計輸出95.3測試結果記錄95.
7、4測試結果分析10第六章 結論106.1心得體會10參 考 文 獻11附 錄12第一章 設計任務1.1 項目名稱:設計數字顯示電路本項目的主要內容是設計并實現8位數碼管輪流顯示8個數字。該電路將所學的數字電路與系統大部分知識和VHDL語言結合。1.2項目設計說明1.2.1設計任務和要求A、用CPLD設計一個八位數碼管顯示電路;B、8位數碼管輪流顯示8個數字,選擇合適的時鐘脈沖頻率實現8個數碼 管同時被點亮的視覺效果。1.2.2進度安排第一周至第二周每周二2課時,共10課時。具體安排為:第一周至第三周 6課時自行設計、第四周實驗結果驗收、第五周交報告并進行答辯。1.3項目總體功能模塊圖第二章 需
8、求分析2.1問題基本描述基本系統流程圖如下2.2系統模塊分解動態掃描顯示電路的主要組成為:計數器、顯示譯碼器、32選4數據選擇器、掃描電路組成。2.3系統各模塊功能的基本要求1、計數器:CN8模塊輸入信號是時鐘脈clk,每遇到一個時鐘脈沖clk上升沿時,內部累 加器便加一,再把累加器所得結果與2進制數的形式輸出。要顯示8位數字,所以用3位2進制數作為輸出。輸出信號為cout0.2。2、八選一數據選擇模塊:模塊輸入信號一個是數據選擇器的地址碼SEL2.0,另一部分是數據信息A3.0F3.0.地址碼是SEL2.0來自時鐘脈沖計數器CN6,由地址碼SEL2.0決定輸出哪個輸入數據。輸出信號是q3.0
9、; 3、掃描顯示譯碼器:完成對7字段數碼管顯示的控制。第三章 設計原理3.1 設計原理采用動態掃描的方式實現設計要求。動態掃描顯示需要由兩組信號來控制:一組是字段輸出口輸出的字形代碼,用來控制顯示的字形,稱為段碼;另一組是位輸出口輸出的控制信號,用來選擇第幾位數碼管工作,稱為位碼。各位數碼管的段線并聯,段碼的輸出對各位數碼管來說都是相同的。因此在同一時刻如果各位數碼管的位選線都處于選通狀態的話,6位數碼管將顯示相同的字符。若要各位數碼管能夠顯示出與本位相應的字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線處于導通狀態,而其它各位的位選線處于關閉狀態。同時,段線上輸出相應位要顯示字
10、符的字型碼。這樣在同一時刻,只有選通的那一位顯示出字符,而其它各位則是熄滅的,如此循環下去,就可以使各位數碼管顯示出將要顯示的字符。雖然這些字符是在不同時刻出現的,而且同一時刻,只有一位顯示,其它各位熄滅,但由于數碼管具有余輝特性和人眼有視覺暫留現象,只要每位數碼管顯示間隔足夠短,給人眼的視覺印象就會是連續穩定地顯示。總之,多個數碼管動態掃描顯示,是將所有數碼管的相同段并聯在一起,通過選通信號分時控制各個數碼管的公共端,循環一次點亮多個數碼管,并利用人眼的視覺暫留現象,只要掃描的頻率較大,將看不到閃爍現象。將會看到6個數碼管持續穩定點亮的現象。3.2 MAXPLUSII介紹 MAX+PLUS
11、II 是一個完全集成化的可編程邏輯環境,能滿足用戶各種各樣的設計需要。它支持Altera公司不同結構的器件,可在多平臺上運行。MAX+PLUS II 具有突出的靈活性和高效性,為設計者提供了多種可自由選擇的設計方法和工具。豐富的圖形界面,可隨時訪問的在線幫助文檔,使用戶能夠快速輕松地掌握和使用MAX+PLUSII軟件。 MAX+PLUSII 具有的強大功能極大地減輕了設計者的負擔,使設計者可以快速完成所需的設計,使用該軟件,用戶從開始設計邏輯電路到完成器件下載編程一般只需要數小時時間,其中設計的編譯時間往往僅需數分鐘。用于可在一個工作日內完成實現設計項目的多次修改,直至最終設計定型。 MAX+
12、PLUS II 開發系統眾多突出的特點,使它深受廣大用戶的青睞。 MAX+PLUSII支持 Altera公司的 Classic、ACEX 1K、 MAX 3000、 MAX 5000、 MAX 7000、 MAX 9000、 FLEX 6000和 FLEX 10K等系列的可編程邏輯器件,門數為600250000門,提供了工業界真正與結構無關的可編程邏輯設計環境。MAX+PLUSII的編輯器還提供了強大的邏輯綜合與優化功能以減輕用戶的設計負擔。MAX+PLUSII軟件的設計輸入、處理、校驗功能完全集成于可編程邏輯開發工具內,從而可以更快的進行調試,縮短開發周期。設計者可以從各種設計輸入、編輯、校
13、驗及器件編程工具中作出選擇,形成用戶風格的開發環境,必要時還可以在保留原始功能的基礎上添加新的功能。由于MAX+PLUSII支持多種器件系列,設計者無須學習新的開發工具即可對新結構的器件進行開發。MAX+PLUSII軟件支持多種HDL的設計輸入,包括標準的VHDL、 Verilog HDL及Altera公司自己開發的硬件描述語言AHDL。MAX+PLUS II 由設計輸入、項目處理、項目檢驗和器件編程等4部分組成,所有這些部分都集成在一個可視化的操作環境下。MAX+PLUS II 管理窗口包括項目路徑、工作文件標題條、MAX+PLUS II菜單條、快捷工具條和工作區等幾個部分。設置好授權碼后,
14、啟動MAX+PLUS II即進入MAX+PLUS II 管理窗口,如圖6.4所示。MAX+PLUS II 還為用戶提供了功能強大的在線幫助功能。通過使用在線幫助,用戶可以獲得設計中所需的全部信息。第四章 系統功能模塊設計4.1計數(數碼管位選控制)模塊數碼管位選控制模塊流程圖 4.1.2輸入輸出引腳及其功能說明CN8模塊輸入信號是時鐘脈沖clk,每遇到一個時鐘脈沖clk上升沿時,內部累加器便加一,再把累加器所得結果與2進制數的形式輸出。要顯示八位數字,所以用3位2進制數作為輸出。輸出信號為cout0.2。總之是通過輸入輸出信號來對數碼管進行位選控制。4.1.3程序代碼實現library iee
15、e;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cn8 is port(clr,start,clk: in bit; cout: out std_logic_vector(2 downto 0));end cn8;architecture a of cn8 is signal temp:std_logic_vector(2 downto 0);begin process(clk,clr) begin if clr='0' then temp<="000" cout
16、<='0' elsif (clk'event and clk='1') then if start='0' then if temp>="111" then temp<="000" cout<='1' else temp<=temp+1; cout<='0' end if; end if; end if; end process; cout<=temp; end a;4.2數據選擇模塊4.2.1.數據選擇模(八選一模塊)塊流程
17、圖4.2.2輸入輸出引腳及其功能說明SEL81模塊輸入信號一個是數據選擇器SEL81的地址碼SEL2.0,另一部分是數據信息A3.0H3.0.地址碼是SEL2.0來自時鐘脈沖計數器CN8,由地址碼SEL2.0決定輸出哪個輸入數據。輸出信號是q3.0。4.2.3程序代碼實現Library ieee;Use ieee.std_logic_1164.all;Entity sel81 is Port(sel:in std_logic_vector(2 downto 0); A,b,c,d,e,f,g,h:in std_logic_vector(3 downto 0); Q:out std_logic_
18、vector(3 downto 0); End sel81;Architecture rtl of sel81 isbegin Process(a,b,c,d,e,f,g,h,sel) Variable cout:std_logic_vector(3 downto 0); Begin Case(sel)is When"000"=>cout:=a; When"001"=>cout:=b;When"010"=>cout:=c; When"011"=>cout:=d; When"100&
19、quot;=>cout:=e; When"101"=>cout:=f; When"110"=>cout:=g; When others =>cout:=h; End case; Q<=cout; End process;End rtl;4.3七段譯碼器模塊4.3.1七段譯碼器模塊模塊流程圖4.3.2輸入輸出引腳及其功能說明DISP模塊是七段譯碼器,將輸入的4位二進制數轉換為數碼顯示管對應的數字。例如輸入為4進制數0000的時候,使數碼顯示管顯示0,則要七段譯碼器輸出為011111。即g段為0,g段發光二極管不亮,其它發光二極
20、管被點亮,顯示效果為0。DISP模塊輸入信號D3.0,輸出信號是Q6.0。4.3.3程序代碼實現Library ieee;Use ieee.std_logic_1164.all;Entity disp is port(d:in std_logic_vector(3 downto 0); q:out std_logic_vector(6 downto 0); end disp; Architecture rtl of disp isBegin Process(d) Begin Case d is When"0000"=>q<="0111111"
21、 When"0001"=>q<="0000110" When"0010"=>q<="1011011" When"0011"=>q<="1001111" When"0100"=>q<="1100110" When"0101"=>q<="1101101" When"0110"=>q<="1111101
22、" When"0111"=>q<="0100111" When"1000"=>q<="1111111" When others=>q<="1101111" End case; End process;End rtl;第五章調試并分析結果5.1輸入說明clk時鐘輸入 Clr計數器清零(低電平有效) Start打開計數器(低電平有效)A3.0.H3.0 輸入要顯示的數字5.2預計輸出 Cout2.0數碼管位選控制 Q6.0數碼管段選控制5.3測試結果記錄
23、同時顯示0,1,2,3,4,5,6,7這八個不同的數字圖形到八個數碼管上。5.4測試結果分析 輸入一個時鐘,驅動計數器工作。選用模值為8的計數器,依次控制8個數碼管的亮滅,使得某一時刻有且僅有一個數碼管點亮,同時產生對應的,將點亮的數碼管賦值顯示為相應的數碼予以顯示。由于掃描頻率較高,8位數碼管序列將顯示持續穩定的0至7的數碼。第六章 結論6.1心得體會在課程設計之前,我學過51單片機,對硬件與軟件的聯系有初步的了解,其次我的題目相對較簡單-設計8位數碼管動態顯示電路,所以上手特別的快。在編寫程序之前,我到實驗室實地考察了一下試驗箱,發現8位數碼管實驗無法實現,只能實現6位,開關實現數碼管數字
24、變換也不現實,單單8位數碼管的數字就需要32個開關控制,試驗箱遠遠達不到這個要求,因此,我就設計全軟件來控制并且做得非常成功。最后驗收時聽老師分析,全軟件的程序有很大的缺陷,然后對我的設計又進一步的改進,用開關來進行控制。總之,通過這次課程設計,我對EDA技術有了更進一步的了解。也知道了如何把vhdl的程序裝到實驗的硬件中,然后如何的連接實驗箱上的管腳。 通過在上網查詢本次實驗相關資料。豐富了對EDA的了解。參 考 文 獻1路勇.電子電路實驗及仿真M.北京:北京交通大學出版社,2010.2孟濤.電工電子EDA實踐教程M.北京:機械工業出版社,2010.3高吉祥.電子技術基礎實驗與課程設計M.北
25、京:電子工業出版社,20054候建軍.電子技術基礎實驗、綜合設計實驗與課程設計M.北京:高等教育出版社,2007.附 錄課程設計中的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity div2k isport(clk_in : in std_logic; clk_out : out std_logic);end;architecture a of div2k issignal cnt : integer range 0 to 999;signal clk_tmp : std_l
26、ogic;beginprocess(clk_in)beginif (clk_in'event and clk_in='1') thenif cnt=999 thencnt<=0; clk_tmp<= not clk_tmp;elsecnt<=cnt+1;end if;end if;end process;clk_out<=clk_tmp;end;-BLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-USE IEEE.STD_numeric_stdEN
27、TITY scan_led IS PORT ( CLK : IN STD_LOGIC; SG : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); BT : OUT STD_LOGIC_VECTOR(2 DOWNTO 0) ); END;ARCHITECTURE arc OF scan_led IScomponent div2kport(clk_in: in std_logic; clk_out: out std_logic);end component; SIGNAL CNT6 : INTEGER RANGE 0 TO 5; SIGNAL A : INTEGER RANGE
28、 0 TO 5;SIGNAL COUNT : INTEGER RANGE 0 TO 5000 := 0;SIGNAl FLAG : INTEGER RANGE 0 TO 10 := 0; SIGNAl FLAG_A : INTEGER RANGE 0 TO 15;SIGNAL clk_tmp: STD_LOGIC;BEGINu1:div2k port map(clk_in=>CLK,clk_out=>clk_tmp);-3線至6線譯碼器-A為位碼-P1:process(CNT6) BEGIN CASE CNT6 IS WHEN 0 => BT <= "000&
29、quot; ; A <= 0 ; WHEN 1 => BT <= "001" ; A <= 1 ; WHEN 2 => BT <= "010" ; A <= 2 ; WHEN 3 => BT <= "011" ; A <= 3 ; WHEN 4 => BT <= "100" ; A <= 4 ; WHEN 5 => BT <= "101" ; A <= 5 ; WHEN OTHERS => NU
30、LL ; END CASE ; END PROCESS P1;-拓展模塊-P2:process(clk_tmp) BEGIN IF clk_tmp'EVENT AND clk_tmp = '1' THEN -實現模6計數器 if CNT6 = 5 then CNT6 <= 0; else CNT6 <= CNT6 + 1; end if;IF (FLAG = 11) THEN-設置標志FLAG <= 0; END IF;IF COUNT = 5000 THEN-另一個時鐘COUNT <= 0; FLAG <= FLAG + 1; -當記滿5
31、000時左移動一位 ELSECOUNT <= COUNT + 1;END IF; END IF; END PROCESS P2;P3:process(A)BEGIN FLAG_A <= (A + FLAG) ;-0-F循環顯示 CASE FLAG_A IS WHEN 0 => SG <= "1111110" -0 -共陰abcdefg WHEN 1 => SG <= "0110000" -1 WHEN 2 => SG <= "1101101" -2 WHEN 3 => SG <
32、;= "1111001" -3 WHEN 4 => SG <= "0110011" -4 WHEN 5 => SG <= "1011011" -5WHEN 6 => SG <= "1011111" -6 WHEN 7 => SG <= "1110000" -7WHEN 8 => SG <= "1111111" -8 WHEN 9 => SG <= "1111011" -9 WHEN 10 => SG <= "1110111" -A WHEN 11 => SG <= "0011111" -BWHEN 12 =>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文學語言的交流與傳播試題及答案
- 微服務架構基礎知識試題及答案
- 人工智能領域的倫理與社會責任的試題及答案
- 虛構與現實的糾纏試題及答案
- 基于數字孿生的醫療設備研發與測試流程優化
- WPS課程設計與調查2025年考試探索試題及答案
- 現代漢語考試備考心理的科學引導試題及答案
- 計算機一級Photoshop圖像表現力試題及答案
- 考生必看2025年稅法的考點剖析及試題及答案
- 某年度醫院潔凈手術部競爭策略分析報告
- 涉密文件借閱登記表
- 脊髓損傷康復講義
- 布草洗滌服務方案完整版
- 氣體安全知識培訓(72張)課件
- 電子類產品結構設計標準-
- 音樂神童莫扎特詳細介紹和作品欣賞課件
- 共線向量與共面向量全面版課件
- JJG(晉) 22-2021 車用甲醇燃料加注機檢定規程
- 《紅樓夢:金陵十二釵判詞賞析》示范PPT課件
- 起重信號工、司索工安全教育培訓試題帶答案
- 大連市住宅小區物業收費等級標準
評論
0/150
提交評論