




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、北京郵電大學實 驗 報 告實驗名稱:數碼管掃描顯示控制器設計與實現 學 院:信息與通信工程學院 班 級: 2011XXXXXX 姓 名: XXX 學 號: 日 期:2013年5月 一實驗目的1. 掌握VHDL語言的語法規范,掌握時序電路描述方法2. 掌握多個數碼管動態掃描顯示的原理及設計方法二實驗所用儀器及元器件1. 計算機2. 直流穩壓電源3. 數字系統與邏輯設計實驗開發板三實驗任務要求1. 用VHDL語言設計并實現六個數碼管串行掃描電路,要求同時顯示0,1,2,3,4,5這六個不同的數字圖形到六個數碼管上,仿真下載驗證其功能。2. 用VHDL語言設計并實現六個數碼管滾動顯示電路。(選作)I
2、. 循環滾動,始終點亮6個數碼管,左出右進。狀態為:012345123450234501345012450123501234012345II. 向左滾動,用全滅的數碼管充右邊,直至全部變滅,然后再依次從右邊一個一個地點亮。狀態為:01234512345X2345XX345XXX45XXXX5XXXXXXXXXXXXXXXX0XXXX01XXX012XX0123X01234012345,其中X表示數碼管不顯示。四實驗設計思路及過程1.實驗原理為使得輸入控制電路簡單且易于實現,采用動態掃描的方式實現設計要求。動態掃描顯示需要由兩組信號來控制:一組是字段輸出口輸出的字形代碼,用來控制顯示的字形,稱為
3、段碼;另一組是位輸出口輸出的控制信號,用來選擇第幾位數碼管工作,稱為位碼。各位數碼管的段線并聯,段碼的輸出對各位數碼管來說都是相同的。因此在同一時刻如果各位數碼管的位選線都處于選通狀態的話,6位數碼管將顯示相同的字符。若要各位數碼管能夠顯示出與本位相應的字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線處于導通狀態,而其它各位的位選線處于關閉狀態。同時,段線上輸出相應位要顯示字符的字型碼。這樣在同一時刻,只有選通的那一位顯示出字符,而其它各位則是熄滅的,如此循環下去,就可以使各位數碼管顯示出將要顯示的字符。雖然這些字符是在不同時刻出現的,而且同一時刻,只有一位顯示,其它各位熄滅,但
4、由于數碼管具有余輝特性和人眼有視覺暫留現象,只要每位數碼管顯示間隔足夠短,給人眼的視覺印象就會是連續穩定地顯示。總之,多個數碼管動態掃描顯示,是將所有數碼管的相同段并聯在一起,通過選通信號分時控制各個數碼管的公共端,循環一次點亮多個數碼管,并利用人眼的視覺暫留現象,只要掃描的頻率大于50Hz,將看不到閃爍現象。6個數碼管則需要50*6=300Hz以上才能看到持續穩定點亮的現象。2.設計思路設計時序電路,選用模值為6的計數器,通過一個3線至6線譯碼器,產生段碼,依次控制6個LED的亮滅,使得某一時刻有且僅有一個LED點亮,同時產生對應的,將點亮的LED數碼管賦值顯示為相應的數碼予以顯示。由于掃描
5、頻率較高,6位LED數碼管序列將顯示持續穩定的0至5的數碼。3.VHDL代碼A.實驗任務1實現代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY GKY07P14 IS PORT(clk,clear:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); countout:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END GKY07P14;ARCHITECTURE behave OF GKY07P14 IS SIGN
6、AL q_temp:STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0); SIGNAL cnt:INTEGER RANGE 0 TO 5;BEGIN p1:PROCESS(clk) BEGIN IF(clkEVENT AND clk=1)THEN IF(cnt=5)THEN cnt=0; ELSE cnt=cnt+1; END IF; END IF; END PROCESS; p2:PROCESS(cnt) BEGIN IF(clear=0)THEN countcount=101111;q_tempco
7、unt=110111;q_tempcount=111011;q_tempcount=111101;q_tempcount=111110;q_tempcount=011111;q_temp=1111110; END CASE; END IF; END PROCESS; countout=count; q=q_temp;END behave; 代碼說明通過分頻器輸入產生選通脈沖,控制0至5號LED數碼管依次亮滅,同時使用數碼顯示信號使得數碼管顯示相應數碼。實現時通過連接引入分頻信號,通過數據選擇器選擇數碼管。計數器信號觸發數據選擇器,賦值給位碼觸發數碼管顯示數碼。最終實現動態掃描顯示數字序列。B.
8、實驗任務2-I實現代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY GKY07P14 IS PORT( clk,clear:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); countout:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END GKY07P14;ARCHITECTURE behave OF GKY07P14 IS SIGNAL q_temp:STD_LOGIC_VECTOR(6 DOWNTO 0
9、); SIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0); SIGNAL cnt,cnt1:INTEGER RANGE 0 TO 5; SIGNAL tmp:INTEGER RANGE 0 TO 15999; signal clk1:STD_LOGIC;BEGIN p0:PROCESS(clk,clear) BEGIN IF clear=0 THEN tmp=0; ELSIF clkEVENT AND clk=1 THEN IF tmp=15999 THEN tmp=0; ELSE tmp=tmp+1; END IF; END IF; END PROCESS p
10、0; p1:PROCESS(tmp) BEGIN IF clkEVENT AND clk=1 THEN IF tmp1000 THEN clk1=0; ELSE clk1=1; END IF; END IF; END PROCESS p1; p2:PROCESS(clk) BEGIN IF(clkEVENT AND clk=1)THEN IF(cnt=5)THEN cnt=0; ELSE cnt=cnt+1; END IF; END IF; END PROCESS p2; p3:PROCESS(clk1) BEGIN IF(clk1EVENT AND clk1=1)THEN IF(cnt1=5
11、)THEN cnt1=0; ELSE cnt1=cnt1+1; END IF; END IF; END PROCESS p3; p4:PROCESS(cnt,cnt1) BEGIN IF(clear=0)THEN q_tempq_tempq_tempq_tempq_tempq_tempq_tempq_tempq_tempq_tempq_tempq_tempq_tempq_temp=0000000; END CASE; END IF; END PROCESS p4; q=q_temp; p5:PROCESS(cnt) BEGIN IF(clear=0)THEN countcountcountco
12、untcountcountcountcount=111111; END CASE; END IF; END PROCESS p5; countout=count;END behave; 代碼說明代碼主體和實驗任務1中一致,基本思想也一致。為實現移位,關鍵改動為新增一個計數器,技術周期遠遠大于掃描周期,這樣,在一個大的計數周期內,對于要顯示的6位數碼進行動態掃描(和實驗任務1中相同),顯示出6種移位狀態中的一種;通過計數器,實現循環移位。C.實驗任務2-II實現代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGN
13、ED.ALL;ENTITY GKY07P14 IS PORT( clk,clear:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); countout:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END GKY07P14;ARCHITECTURE behave OF GKY07P14 IS SIGNAL q_temp:STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0); SIGNAL cnt,cnt1:INTEGER RANGE 0
14、 TO 11; SIGNAL tmp:INTEGER RANGE 0 TO 15999; signal clk1:STD_LOGIC;BEGIN p0:PROCESS(clk,clear) BEGIN IF clear=0 THEN tmp=0; ELSIF clkEVENT AND clk=1 THEN IF tmp=15999 THEN tmp=0; ELSE tmp=tmp+1; END IF; END IF; END PROCESS p0; p1:PROCESS(tmp) BEGIN IF clkEVENT AND clk=1 THEN IF tmp1000 THEN clk1=0;
15、ELSE clk1=1; END IF; END IF; END PROCESS p1; p2:PROCESS(clk) BEGIN IF(clkEVENT AND clk=1)THEN IF(cnt=11)THEN cnt=0; ELSE cnt=cnt+1; END IF; END IF; END PROCESS p2; p3:PROCESS(clk1) BEGIN IF(clk1EVENT AND clk1=1)THEN IF(cnt1=11)THEN cnt1=0; ELSE cnt1=cnt1+1; END IF; END IF; END PROCESS p3; p4:PROCESS
16、(cnt,cnt1) BEGIN IF(clear=0)THEN q_tempq_tempq_tempq_tempq_tempq_tempq_tempq_temp=0000000; END CASE; END IF; END PROCESS p4; q=q_temp; p5:PROCESS(cnt) BEGIN IF(clear=0)THEN countcountcountcountcountcountcountcount=111111; END CASE; END IF; END PROCESS p5; countout123450-234501-345012-450123-501234-0
17、12345共六個狀態.從圖中可以清楚地看出這六個狀態轉移過程中, 發光二極管管腳的變化情況.輸入時鐘信號后,6個數碼管的選通控制端在同一時刻始終保持一個低電平其余高電平,在0-5對應的數碼管上輸出實驗設定的數字并且由地位向高位依次循環移動. 3.實驗任務2-II由波形圖可以清楚地看到12個狀態的波形,當時鐘clk變化一些周期之后,波形就轉到下一個狀態.如圖所示.狀態轉移關系: 012345-12345X-2345XX-345XXX-45XXXX-5XXXXXX-XXXXXX-XXXXX0 -XXXX01-XXX012-XX0123-X01234-012345六故障及問題分析我在課前完成了代碼的
18、編寫,剛開始時使用枚舉法,雖然原理簡單易于編寫,但代碼較為冗長。后來在一位同學的啟發下嘗試用上述方法編寫,代碼大為簡化。并且在課前仿真,波形都沒有問題。但在課上下載時卻遇見了問題。第一個沒有問題,第二個出現的問題是:能夠實現顯示數字的左移,但無法同時顯示所有的數據,只能顯示當前狀態下的數碼管所顯示的數據。出現這種現象,說明時鐘頻率的選擇有問題,同時也解釋了為什么仿真時沒有問題。因為時鐘頻率選得太低,所以在人眼看來,數字無法全部顯示。通過添加中間變量cnt,最終解決了這個問題。七實驗總結與結論經過邏輯分析,編寫VHDL代碼,然后調試,進行波形仿真,最后下載到實驗板實現,一系列工序之后,成功實現了本實驗。我深深的感受到進行數字電路實驗,理論分析是十分重要的一環,只有邏輯分析透徹無誤了,才能用語言進行描述,進而用硬件實現。這次實驗讓我對VHDL這樣一門硬件描述語言有了更加深刻的認識。語言是描述設計者邏輯思想的,有什么
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 證券從業資格證職場需求試題及答案
- 理財師備考期間考生的個人特質與學習方式相結合研究試題及答案
- 2024年項目管理專業知識培訓試題及答案
- 注冊會計師考試心理應對試題及答案
- 證券從業資格證名師講解試題及答案
- 項目計劃調整的最佳實踐考題及答案
- 板材防霉處理方案范本
- 項目執行過程中的復盤與反思機制試題及答案
- 管道工程安全風險防范與控制考核試卷
- 糧油企業生產流程優化與成本控制考核試卷
- DBJ51T 108-2018 四川省建筑巖土工程測量標準
- 2025年國家保密基本知識考試題庫及答案
- 2024年四川省成都市武侯區中考化學二模試卷附解析
- 《大學生創新創業基礎》全套教學課件
- CB/T 3784-1996木材產品物資分類與代碼
- 外科學試題庫及答案(共1000題)
- PRS-778S500-100-090721技術使用說明書
- 求一個數比另一個數多幾少幾應用題
- 職業衛生健康題庫
- 廣東省建設工程造價咨詢服務收費項目和收費標準表[粵價函(2011)742號]
- ERP系統編碼規則0002
評論
0/150
提交評論