




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、北京郵電大學(xué)實 驗 報 告實驗名稱:數(shù)碼管掃描顯示控制器設(shè)計與實現(xiàn) 學(xué) 院:信息與通信工程學(xué)院 班 級: 2011XXXXXX 姓 名: XXX 學(xué) 號: 日 期:2013年5月 一實驗?zāi)康?. 掌握VHDL語言的語法規(guī)范,掌握時序電路描述方法2. 掌握多個數(shù)碼管動態(tài)掃描顯示的原理及設(shè)計方法二實驗所用儀器及元器件1. 計算機(jī)2. 直流穩(wěn)壓電源3. 數(shù)字系統(tǒng)與邏輯設(shè)計實驗開發(fā)板三實驗任務(wù)要求1. 用VHDL語言設(shè)計并實現(xiàn)六個數(shù)碼管串行掃描電路,要求同時顯示0,1,2,3,4,5這六個不同的數(shù)字圖形到六個數(shù)碼管上,仿真下載驗證其功能。2. 用VHDL語言設(shè)計并實現(xiàn)六個數(shù)碼管滾動顯示電路。(選作)I
2、. 循環(huán)滾動,始終點(diǎn)亮6個數(shù)碼管,左出右進(jìn)。狀態(tài)為:012345123450234501345012450123501234012345II. 向左滾動,用全滅的數(shù)碼管充右邊,直至全部變滅,然后再依次從右邊一個一個地點(diǎn)亮。狀態(tài)為:01234512345X2345XX345XXX45XXXX5XXXXXXXXXXXXXXXX0XXXX01XXX012XX0123X01234012345,其中X表示數(shù)碼管不顯示。四實驗設(shè)計思路及過程1.實驗原理為使得輸入控制電路簡單且易于實現(xiàn),采用動態(tài)掃描的方式實現(xiàn)設(shè)計要求。動態(tài)掃描顯示需要由兩組信號來控制:一組是字段輸出口輸出的字形代碼,用來控制顯示的字形,稱為
3、段碼;另一組是位輸出口輸出的控制信號,用來選擇第幾位數(shù)碼管工作,稱為位碼。各位數(shù)碼管的段線并聯(lián),段碼的輸出對各位數(shù)碼管來說都是相同的。因此在同一時刻如果各位數(shù)碼管的位選線都處于選通狀態(tài)的話,6位數(shù)碼管將顯示相同的字符。若要各位數(shù)碼管能夠顯示出與本位相應(yīng)的字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線處于導(dǎo)通狀態(tài),而其它各位的位選線處于關(guān)閉狀態(tài)。同時,段線上輸出相應(yīng)位要顯示字符的字型碼。這樣在同一時刻,只有選通的那一位顯示出字符,而其它各位則是熄滅的,如此循環(huán)下去,就可以使各位數(shù)碼管顯示出將要顯示的字符。雖然這些字符是在不同時刻出現(xiàn)的,而且同一時刻,只有一位顯示,其它各位熄滅,但
4、由于數(shù)碼管具有余輝特性和人眼有視覺暫留現(xiàn)象,只要每位數(shù)碼管顯示間隔足夠短,給人眼的視覺印象就會是連續(xù)穩(wěn)定地顯示??傊鄠€數(shù)碼管動態(tài)掃描顯示,是將所有數(shù)碼管的相同段并聯(lián)在一起,通過選通信號分時控制各個數(shù)碼管的公共端,循環(huán)一次點(diǎn)亮多個數(shù)碼管,并利用人眼的視覺暫留現(xiàn)象,只要掃描的頻率大于50Hz,將看不到閃爍現(xiàn)象。6個數(shù)碼管則需要50*6=300Hz以上才能看到持續(xù)穩(wěn)定點(diǎn)亮的現(xiàn)象。2.設(shè)計思路設(shè)計時序電路,選用模值為6的計數(shù)器,通過一個3線至6線譯碼器,產(chǎn)生段碼,依次控制6個LED的亮滅,使得某一時刻有且僅有一個LED點(diǎn)亮,同時產(chǎn)生對應(yīng)的,將點(diǎn)亮的LED數(shù)碼管賦值顯示為相應(yīng)的數(shù)碼予以顯示。由于掃描
5、頻率較高,6位LED數(shù)碼管序列將顯示持續(xù)穩(wěn)定的0至5的數(shù)碼。3.VHDL代碼A.實驗任務(wù)1實現(xiàn)代碼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; 代碼說明通過分頻器輸入產(chǎn)生選通脈沖,控制0至5號LED數(shù)碼管依次亮滅,同時使用數(shù)碼顯示信號使得數(shù)碼管顯示相應(yīng)數(shù)碼。實現(xiàn)時通過連接引入分頻信號,通過數(shù)據(jù)選擇器選擇數(shù)碼管。計數(shù)器信號觸發(fā)數(shù)據(jù)選擇器,賦值給位碼觸發(fā)數(shù)碼管顯示數(shù)碼。最終實現(xiàn)動態(tài)掃描顯示數(shù)字序列。B.
8、實驗任務(wù)2-I實現(xiàn)代碼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; 代碼說明代碼主體和實驗任務(wù)1中一致,基本思想也一致。為實現(xiàn)移位,關(guān)鍵改動為新增一個計數(shù)器,技術(shù)周期遠(yuǎn)遠(yuǎn)大于掃描周期,這樣,在一個大的計數(shù)周期內(nèi),對于要顯示的6位數(shù)碼進(jìn)行動態(tài)掃描(和實驗任務(wù)1中相同),顯示出6種移位狀態(tài)中的一種;通過計數(shù)器,實現(xiàn)循環(huán)移位。C.實驗任務(wù)2-II實現(xiàn)代碼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共六個狀態(tài).從圖中可以清楚地看出這六個狀態(tài)轉(zhuǎn)移過程中, 發(fā)光二極管管腳的變化情況.輸入時鐘信號后,6個數(shù)碼管的選通控制端在同一時刻始終保持一個低電平其余高電平,在0-5對應(yīng)的數(shù)碼管上輸出實驗設(shè)定的數(shù)字并且由地位向高位依次循環(huán)移動. 3.實驗任務(wù)2-II由波形圖可以清楚地看到12個狀態(tài)的波形,當(dāng)時鐘clk變化一些周期之后,波形就轉(zhuǎn)到下一個狀態(tài).如圖所示.狀態(tài)轉(zhuǎn)移關(guān)系: 012345-12345X-2345XX-345XXX-45XXXX-5XXXXXX-XXXXXX-XXXXX0 -XXXX01-XXX012-XX0123-X01234-012345六故障及問題分析我在課前完成了代碼的
18、編寫,剛開始時使用枚舉法,雖然原理簡單易于編寫,但代碼較為冗長。后來在一位同學(xué)的啟發(fā)下嘗試用上述方法編寫,代碼大為簡化。并且在課前仿真,波形都沒有問題。但在課上下載時卻遇見了問題。第一個沒有問題,第二個出現(xiàn)的問題是:能夠?qū)崿F(xiàn)顯示數(shù)字的左移,但無法同時顯示所有的數(shù)據(jù),只能顯示當(dāng)前狀態(tài)下的數(shù)碼管所顯示的數(shù)據(jù)。出現(xiàn)這種現(xiàn)象,說明時鐘頻率的選擇有問題,同時也解釋了為什么仿真時沒有問題。因為時鐘頻率選得太低,所以在人眼看來,數(shù)字無法全部顯示。通過添加中間變量cnt,最終解決了這個問題。七實驗總結(jié)與結(jié)論經(jīng)過邏輯分析,編寫VHDL代碼,然后調(diào)試,進(jìn)行波形仿真,最后下載到實驗板實現(xiàn),一系列工序之后,成功實現(xiàn)了本實驗。我深深的感受到進(jìn)行數(shù)字電路實驗,理論分析是十分重要的一環(huán),只有邏輯分析透徹?zé)o誤了,才能用語言進(jìn)行描述,進(jìn)而用硬件實現(xiàn)。這次實驗讓我對VHDL這樣一門硬件描述語言有了更加深刻的認(rèn)識。語言是描述設(shè)計者邏輯思想的,有什么
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中級財務(wù)會計知到課后答案智慧樹章節(jié)測試答案2025年春上海財經(jīng)大學(xué)浙江學(xué)院
- 湖北生態(tài)工程職業(yè)技術(shù)學(xué)院《數(shù)學(xué)物理方法》2023-2024學(xué)年第二學(xué)期期末試卷
- 大連商務(wù)職業(yè)學(xué)院《計算機(jī)輔助設(shè)計基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 公路養(yǎng)護(hù)安全現(xiàn)場檢查計劃
- 公共交通智能監(jiān)控管理制度
- 姜餅屋知識內(nèi)容調(diào)查問卷
- 浙江省慈溪市2024-2025學(xué)年高三上學(xué)期期末測試數(shù)學(xué)試卷(解析版)
- 高中數(shù)學(xué)分層練習(xí)(壓軸題)05:解析幾何(30題)【含解析】
- 回填溝渠的施工方案
- 2025年碩師計劃筆試試題及答案
- 循環(huán)系統(tǒng)-解剖結(jié)構(gòu)
- 光伏發(fā)電工程施工主要施工工藝及技術(shù)方案
- 校園艾滋病結(jié)核病課件
- 語文學(xué)習(xí)任務(wù)群解讀
- 2024春蘇教版《亮點(diǎn)給力大試卷》數(shù)學(xué)六年級下冊(全冊有答案)
- 《知識產(chǎn)權(quán)執(zhí)法》課件
- 成人重癥患者鎮(zhèn)痛管理(專家共識)
- 澳大利亞11天自由行行程單英文版
- 員工守則十條
- 【中國民航安檢的發(fā)展現(xiàn)狀及發(fā)展建議4000字(論文)】
- 房地產(chǎn)市場調(diào)研表格
評論
0/150
提交評論