




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實 驗 報 告實驗名稱:數碼管掃描顯示控制器設計與實現 學 院: 信息與通信工程學院 班 級: 姓 名: 學 號: 日 期: 2021年5月 索 引 TOC o 1-3 h z u HYPERLINK l _Toc263168746 一實驗目的 PAGEREF _Toc263168746 h 3 HYPERLINK l _Toc263168747 二實驗所用儀器及元器件 PAGEREF _Toc263168747 h 3 HYPERLINK l _Toc263168748 三實驗任務要求 PAGEREF _Toc263168748 h 3 HYPERLINK l _Toc263168749 四
2、實驗設計思路及過程 PAGEREF _Toc263168749 h 4 HYPERLINK l _Toc263168750 1.實驗原理 PAGEREF _Toc263168750 h 4 HYPERLINK l _Toc263168751 2.設計思路 PAGEREF _Toc263168751 h 4 HYPERLINK l _Toc263168752 代碼 PAGEREF _Toc263168752 h 5 HYPERLINK l _Toc263168753 A.實驗任務1 PAGEREF _Toc263168753 h 5 HYPERLINK l _Toc263168754 B.實驗任
3、務2-I PAGEREF _Toc263168754 h 8 HYPERLINK l _Toc263168755 C.實驗任務2-II PAGEREF _Toc263168755 h 11 HYPERLINK l _Toc263168756 五仿真波形及分析 PAGEREF _Toc263168756 h 12 HYPERLINK l _Toc263168757 1.仿真波形 PAGEREF _Toc263168757 h 12 HYPERLINK l _Toc263168758 實驗任務1 PAGEREF _Toc263168758 h 12 HYPERLINK l _Toc26316875
4、9 實驗任務2-I PAGEREF _Toc263168759 h 13 HYPERLINK l _Toc263168760 3.波形分析 PAGEREF _Toc263168760 h 17 HYPERLINK l _Toc263168761 實驗任務1 PAGEREF _Toc263168761 h 17 HYPERLINK l _Toc263168762 實驗任務2-I PAGEREF _Toc263168762 h 17 HYPERLINK l _Toc263168763 六故障及問題分析 PAGEREF _Toc263168763 h 18 HYPERLINK l _Toc26316
5、8764 1.頻率設置問題 PAGEREF _Toc263168764 h 18 HYPERLINK l _Toc263168765 2.觸發問題 PAGEREF _Toc263168765 h 18 HYPERLINK l _Toc263168766 3.邏輯實現問題 PAGEREF _Toc263168766 h 18 HYPERLINK l _Toc263168767 七本實驗總結與結論 PAGEREF _Toc263168767 h 19 HYPERLINK l _Toc263168768 八學期總結 PAGEREF _Toc263168768 h 19 HYPERLINK l _To
6、c263168769 九參考文獻 PAGEREF _Toc263168769 h 19一實驗目的掌握VHDL語言的語法標準,掌握時序電路描述方法掌握多個數碼管動態掃描顯示的原理及設計方法二實驗所用儀器及元器件計算機直流穩壓電源數字系統與邏輯設計實驗開發板三實驗任務要求用VHDL語言設計并實現六個數碼管串行掃描電路,要求同時顯示0,1,2,3,4,5這六個不同的數字圖形到六個數碼管上,仿真下載驗證其功能。用VHDL語言設計并實現六個數碼管滾動顯示電路。(選作)循環滾動,始終點亮6個數碼管,左出右進。狀態為:012345123450234501345012450123501234012345向左滾
7、動,用全滅的數碼管充右邊,直至全部變滅,然后再依次從右邊一個一個地點亮。狀態為:01234512345X2345XX345XXX45XXXX5XXXXXXXXXXXXXXXX0XXXX01XXX012XX0123X01234012345,其中X表示數碼管不顯示。四實驗設計思路及過程為使得輸入控制電路簡單且易于實現,采用動態掃描的方式實現設計要求。動態掃描顯示需要由兩組信號來控制:一組是字段輸出口輸出的字形代碼,用來控制顯示的字形,稱為段碼;另一組是位輸出口輸出的控制信號,用來選擇第幾位數碼管工作,稱為位碼。各位數碼管的段線并聯,段碼的輸出對各位數碼管來說都是一樣的。因此在同一時刻如果各位數碼管
8、的位選線都處于選通狀態的話,6位數碼管將顯示一樣的字符。假設要各位數碼管能夠顯示出與本位相應的字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線處于導通狀態,而其它各位的位選線處于關閉狀態。同時,段線上輸出相應位要顯示字符的字型碼。這樣在同一時刻,只有選通的那一位顯示出字符,而其它各位那么是熄滅的,如此循環下去,就可以使各位數碼管顯示出將要顯示的字符。雖然這些字符是在不同時刻出現的,而且同一時刻,只有一位顯示,其它各位熄滅,但由于數碼管具有余輝特性和人眼有視覺暫留現象,只要每位數碼管顯示間隔足夠短,給人眼的視覺印象就會是連續穩定地顯示。總之,多個數碼管動態掃描顯示,是將所有數碼管的
9、一樣段并聯在一起,通過選通信號分時控制各個數碼管的公共端,循環一次點亮多個數碼管,并利用人眼的視覺暫留現象,只要掃描的頻率大于50Hz,將看不到閃爍現象。6個數碼管那么需要50*6=300Hz以上才能看到持續穩定點亮的現象。2.設計思路設計時序電路,輸入時鐘經過一個分頻器,產生2kHz的掃描信號作為時鐘,驅動計數器工作。選用模值為6的計數器,通過一個3線至6線譯碼器,產生段碼,依次控制6個LED的亮滅,使得某一時刻有且僅有一個LED點亮,同時產生對應的,將點亮的LED數碼管賦值顯示為相應的數碼予以顯示。由于掃描頻率較高,6位LED數碼管序列將顯示持續穩定的0至5的數碼。實現代碼-2kHz 分頻
10、器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_logic;beginprocess(clk_in)beginif (clk_inevent and clk_in=1) thenif cnt
11、=999 thencnt=0; clk_tmp= not clk_tmp;elsecnt=cnt+1;end if;end if;end process;clk_outCLK,clk_out=clk_tmp);P1:process(CNT6) BEGIN CASE CNT6 IS -3線至6線譯碼器 WHEN 0 = BT = 011111 ; A BT = 101111 ; A BT = 110111 ; A BT = 111011 ; A BT = 111101 ; A BT = 111110 ; A NULL ; END CASE ; END PROCESS P1;P2:process(
12、clk_tmp) BEGIN IF clk_tmpEVENT AND clk_tmp = 1 THEN -實現模6計數器CNT6 = CNT6 + 1; if CNT6 = 5 thenCNT6 SG SG SG SG SG SG NULL ; END CASE ; END PROCESS P3; END arc;代碼說明通過分頻器輸入產生選通脈沖,控制0至5號LED數碼管依次亮滅,同時使用數碼顯示信號使得數碼管顯示相應數碼。實現時通過連接引入分頻信號,通過數據選擇器選擇數碼管。計數器信號觸發數據選擇器,賦值給位碼觸發數碼管顯示數碼。最終實現動態掃描顯示數字序列。實現代碼LIBRARY IEE
13、E;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY scan_led_2 IS PORT ( CLK : IN STD_LOGIC; SG : OUT STD_LOGIC_VECTOR(6 DOWNTO 0); BT : OUT STD_LOGIC_VECTOR(5 DOWNTO 0) ); END;ARCHITECTURE arc OF scan_led_2 IScomponent div2kport(clk_in: in std_logic; clk_out: out std_logic);end com
14、ponent; SIGNAL CNT6 : INTEGER RANGE 0 TO 6; SIGNAL A : INTEGER RANGE 0 TO 5;SIGNAL COUNT : INTEGER RANGE 0 TO 5001 := 0;SIGNAl FLAG : INTEGER RANGE 0 TO 7 := 0; SIGNAl FLAG_A : INTEGER RANGE 0 TO 5;SIGNAL clk_tmp : STD_LOGIC;BEGINu1:div2k port map(clk_in=CLK,clk_out=clk_tmp);P1:process(CNT6) BEGIN C
15、ASE CNT6 IS WHEN 0 = BT = 011111 ; A BT = 101111 ; A BT = 110111 ; A BT = 111011 ; A BT = 111101 ; A BT = 111110 ; A NULL ; END CASE ; END PROCESS P1;P2:process(clk_tmp) BEGIN IF clk_tmpEVENT AND clk_tmp = 1 THEN -實現模6計數器CNT6 = CNT6 + 1; if CNT6 = 5 then CNT6 = 0;end if;IF (FLAG = 6) THEN-設置標志 FLAG
16、= 0; END IF;IF COUNT = 5000 THEN-相當于另一個時鐘COUNT = 0;-計數周期為5000FLAG = FLAG + 1; -當記滿5000時左移動一位 ELSECOUNT = COUNT + 1;-不滿5000繼續計數END IF; END IF; END PROCESS P2;P3:process(A)BEGIN FLAG_A SG SG SG SG SG SG NULL ; END CASE ; END PROCESS P3; END arc;代碼說明代碼主體和實驗任務1中一致,根本思想也一致。為實現移位,關鍵改動為新增一個計數器,技術周期遠遠大于掃描周期
17、,這樣,在一個大的計數周期內,對于要顯示的6位數碼進展動態掃描和實驗任務1中一樣,顯示出6種移位狀態中的一種;在下一個大的周期內,利用FLAG標志,并使用求余運算將顯示位的數碼移位,比方,大的計數周期為0時,FLAG為0,顯示“012345六位數碼,大的周期為1時,FALG為1,此時各位求余即FLAG_A求余對應的數碼為123450,顯示的數碼也就為“123450。以此類推,實現循環移位。實現代碼P2:process(clk_tmp) BEGIN IF clk_tmpEVENT AND clk_tmp = 1 THEN CNT6 = CNT6 + 1; -模6計數器if CNT6 = 6 th
18、enCNT6 = 0;end if;IF (FLAG = 7) THEN FLAG_SC = 1; -序列反移位標志END IF;IF (FLAG = 0) THEN FLAG_SC = 0; -序列左移位標志END IF;IF COUNT = 5000 THENCOUNT = 0;IF FLAG_SC = 1 THENFLAG = FLAG - 1 ; -記滿大周期序列反移位ELSEFLAG = FLAG + 1 ; -記滿大周期序列左移位END IF;ELSECOUNT = COUNT + 1;END IF;IF FLAG_SC = 1 THENFLAG_A = A - FLAG ;-序列
19、反移位ELSEFLAG_A = A + FLAG ;-序列左移位END IF; END IF; END PROCESS P2;代碼說明此處為關鍵局部代碼,其余代碼同實驗任務2-I中根本一樣。實現根本思路為:先左移位,方法同實驗任務2-I,進展加運算,稍有不同為左移出的數碼不從右移入,因而沒有取余運算,大于6的數碼狀態為滅燈,實現了左移且右端數碼依次熄滅。待全部燈熄滅此時FLAG已經加到了7后數碼依次從右移入,此時進展減運算加減運算由FLAG_SC控制,右端數碼最先到達0,顯示數碼“0,然后是右端第二位到達0,顯示數碼“0,右端第一位為1,顯示數碼“1,其余燈滅,以此類推,實現了右端逐位移入數碼
20、的功能。五仿真波形及分析實驗任務1實驗任務2-I實驗任務1由波形可見,隨著時鐘模六計數的不斷重復,0至5號LED數碼管依次翻開,其余管熄滅,同時,數碼管顯示數字從0至5依次出現,兩者保持同步,即n號管亮時顯示的數碼為n。這樣每計數6次循環依次,可知仿真結果正確。當掃描速度很快時,人眼將能看到持續穩定的0至5號數碼顯示。在實驗室實際測試時,下載到電路板測試成功,完成實驗任務。實驗任務2-I為了使仿真結果便于打印,這里修改了COUNT值為6,也即在一個大的計數周期內,只掃描一遍實際實現時需要動態掃描屢次,如同實驗任務1,產生穩定顯示,只需把COUNT值加大即可。由波形可見,隨著大計數周期的增加,依
21、次產生012345123450234501345012450123501234012345 ,這樣便實現了循環移位。實驗室實測時,加大COUNT值為5000,觀察到穩定持續的周期循環移位的數碼顯示,完成實驗任務。六故障及問題分析1.頻率設置問題當頻率設置過高時,計數周期將大大增加,每個周期內的掃描次數也增加,但考慮到人眼的分辨能力,頻率只需大于300Hz即可,過大將增大系統開銷,故采用2kHz分頻器。2.觸發問題初始編寫代碼時,誤將COUNT計數器放入p3進程中,導致觸發邏輯錯誤,大周期計數不工作,顯示數碼不能移位。后將模6和模5000兩個計數器同時放入p2進程,統一使用一個時鐘邊沿觸發,這樣
22、符合了同步時序電路設計的根本思想,觸發正確,顯示數碼才正常移位。3.邏輯實現問題實驗任務2-II中,為節省硬件開銷,擯棄使用過多CASE語句產生大量數據選擇器的窮舉法,采用一個加法器和一個減法器代替,小周期計數器控制每位數碼的顯示,大周期計數器控制數碼的移位,加法器實現左移出,減法器實現右移入,綜合起來實現實驗任務要求。邏輯分析包括硬件分析均無問題,但實際下載到電路板上實現時,局部移位出現亂碼。在實驗室規定的時間內沒能調試成功,真是遺憾。分析問題可能出在移位時間的選擇上,需要再從仿真波形著手,仔細分析邏輯中的小BUG。七本實驗總結與結論1.經過邏輯分析,編寫VHDL代碼,然后調試,進展波形仿真,最后下載到實驗板實現,一系列工序之后,成功實現了本實驗要求的比做任務1和選作任務2-I,選作任務2-II邏輯上稍有問題,還需進一步改良編碼,仿真測試。2.進展數字電路實驗,理論分析是十分重要的一環,只有邏輯分析透徹無誤了,才能用語言進展描述,進而用硬件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Tetrahydrofolic-acid-13C6-L-5-6-7-8-Tetrahydrofolic-acid-sup-13-sup-C-sub-6-sub-生命科學試劑-MCE
- 幼兒園2025年元旦親子活動方案設計與實施
- 漁業資源增殖放流工作方案
- 企業融資經理試題及答案
- 儀表電纜試題及答案
- 政治思想工作題庫及答案
- 2025年農產品質量安全追溯體系與農業生態保護研究
- 應用安全管理試題及答案
- 2023保密考試題庫及答案
- 2025年免疫治療在自身免疫性聽力損失治療中的應用前景
- 奇妙的植物世界
- 中文版匹茲堡睡眠質量指數量表 (PSQI)1-2-10
- 供應商糾正措施表
- 路燈控制器的設計與仿真
- 3D打印技術3Done電子教案(續)
- 新生入學報到證明(新生)
- 來料質量異常反饋單
- n系列蒸汽型溴化鋰吸收式冷水機組f.ju.1
- 會展策劃與管理高水平專業群建設項目建設方案
- 2021-2022學年江蘇省揚州市高一下學期期末地理試題
- 司爐崗位應急處置卡(燃氣)參考
評論
0/150
提交評論