實驗四數碼管掃描顯示控制器設計與實現_第1頁
實驗四數碼管掃描顯示控制器設計與實現_第2頁
實驗四數碼管掃描顯示控制器設計與實現_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1. 實驗四數碼管掃描顯示控制器設計與實現一、實驗目的掌握VHDL語言的語法規(guī)范,掌握時序電路描述方法。2. 掌握多個數碼管動態(tài)掃描現實的原理及設計方法。1. 二、實驗所用儀器及元器件計算機:裝有Quartus軟件,為VHDL語言提供操作場所。2. 直流穩(wěn)壓電源:通過USB接口實現,為實驗開發(fā)板提供穩(wěn)定電源。3. 數字系統與邏輯設計實驗開發(fā)板:使試驗結果下載到開發(fā)板上,實現整個實驗的最終結果。三、實驗原理多個數碼管動態(tài)掃描顯示,是將所有數碼管的相同段并聯在一起,通過選通信號分時控制各個數碼管的公共端,循環(huán)依次點亮多個數碼管,利用人眼的視覺暫留現象,只要掃描的頻率大丁50HZ,將看不到閃爍現象。

2、如下圖10-1,是多個數碼管動態(tài)掃描顯示的電路連接圖。當閃爍顯示的發(fā)光二極管閃爍頻率較高時我們將觀察到持續(xù)點亮的現象。同理,當多個數碼管依次顯示,當切換速度夠快時,我們將觀察到所有數碼管都是同事在顯示。一個數碼管要穩(wěn)定顯示要求顯示頻率>50hz,那么6個數碼管則需要50*6=300hz以上才能看到持續(xù)穩(wěn)定點亮的現象。圖10-1中,cat1cat6是數碼管選通控制信號,分別對應丁6個共陰極數碼管的公共端,當catn='此其對應的數碼管被點亮。因此,通過控制cat1cat6,就可以控制6個數碼管循環(huán)依次點亮,圖10-2為cat1cat6的時序關系圖。四、實驗內容用VHDL語言設計并實

3、現六個數碼管申行掃描電路,要求同時顯示0、1、2、3、4、5這6個不同的數字圖形到6個數碼管上,仿真并下載驗證其功能。1. 用VHDL語言設計并實現六個數碼管滾動顯示電路。(1)循環(huán)左滾動,始終點亮6個數碼管,左出右進。狀態(tài)為:01234A12345A2345013450145012"50123U012345(2)向左滾動,用全滅的數碼管填充右邊,直至全部變滅,然后再一次從右邊一個一個的點亮。狀態(tài)為01234A123452345XQ345XXX>45XXXX5XXXXXXXXXXXXXXXX0XXXX01XXX01AXX012AX0123A012345,其中“X”表示數碼管不顯

4、示。1. 五、實驗設計思路及過程實現六個數碼管串行掃描電路的思路及代碼:2. LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYljxh1ISPORT(clk:INSTD_LOGIC;clear:INSTD_LOGIC;b:OUTSTD_LOGIC_VECTOR(6downto0;c:OUTSTD_LOGIC_VECTOR(0to5;ENDljxh1;ARCHITECTUREaOFljxh1ISSIGNALtmp:INTEGERRANGE0TO5;SIGNALx:INTEGERRANGE0TO

5、5:=0;SIGNALs:INTEGERRANGE0TO10:=0;SIGNALclk_out:STD_LOGIC_VECTOR(0to5;BEGINp1:PROCESS(clear,clkBEGINIFclear='0'THENtmp<=0;ELSIFclk'eventANDclk='1'THENIFtmp=5THENtmp<=0;x<=x+1;ELSEtmp<=tmp+1;ENDIF;IFx=6THENx<=0;ENDIF;foriin0to5loopIFtmpclk_out(i<=T;ELSIFtmpclk_ou

6、t(i<='0'ELSEclk_out(i<=T;ENDIF;ENDloop;foriin0to5loopc(i<=clk_out(i;ENDloop;s<=tmp+x;CASEsISWHEN10=>b<="0110011”;-1WHEN9=>b<="1111001”;-2WHEN8=>b<="1101101”;-3WHEN7=>b<="0110000"-4WHEN6=>b<="1111110"-5WHEN0=>b<

7、;="1111110"-0WHEN1=>b<="0110000"-1WHEN2=>b<="1101101"-2WHEN3=>b<="1111001"-3WHEN4=>b<="0110011"-4WHEN5=>b<="1011011"-5ENDCASE;ENDIF;ENDPROCESSp1;ENDa;六個數碼管滾動電路的思路及代碼:libraryIEEE;UseIEEE.Std_Logic_1164.ALL;UseIE

8、EE.Std_Logic_Unsigned.All;entityV0711509isport(clk:INSTD_LOGIC;control1:INSTD_LOGIC;c:OUTSTD_LOGIC_VECTOR(5downto0;b:OUTSTD_LOGIC_VECTOR(6downto0;endV0711509;ArchitectureaOfV0711509IsSIGNALclkout:STD_LOGIC;signalstat:INTEGERRANGE0TO11;signalcount:INTEGERRANGE0TO5;signalck:INTEGERRANGE0TO50000;TYPEra

9、m_array1ISARRAY(0TO5OFSTD_LOGIC_VECTOR(6downto0;SIGNALlight1:ram_array1:=("1111110”,”0110000”,”1101101”,”1111001”,”0110011”,”1011011”;TYPEram_array2ISARRAY(0TO11OFSTD_LOGIC_VECTOR(6downto0;SIGNALlight2:ram_array2:=("1111110","0110000","1101101","1111001",

10、"0110011","1011011","0000000",”0000000”,”0000000”,”0000000”,”0000000”,”0000000”;COMPONENTdiv50mport(clk_in:instd_logic;clk_out:outstd_logic;ENDCOMPONENT;Beginu1:div50mPORTMAP(clk_in=>clk,clk_out=>clkout;p1:process(clkbeginifclk'eventandclk='1'thenifck=

11、50000thenck<=0;ifcount=5thencount<=0;elsecount<=count+1;endif;elseck<=ck+1;endif;endif;ifclkout'eventandclkout='1'thenifstat=11thenstat<=0;elsestat<=stat+1;endif;endif;CASEcountISWHEN0=>c<="011111"WHEN1=>c<="101111"WHEN2=>c<="1

12、10111"WHEN3=>c<="111011"WHEN4=>c<="111101"WHEN5=>c<="111110"WHENOTHERS=>c<="111111"ENDCASE;ifcontrol1='0'thenCASEcountISWHEN0=>b<=light1(statmod6;WHEN1=>b<=light1(stat+1mod6;WHEN2=>b<=light1(stat+2mod6;WHE

13、N3=>b<=light1(stat+3mod6;WHEN4=>b<=light1(stat+4mod6;WHEN5=>b<=light1(stat+5mod6;WHENOTHERS=>b<="0000000"ENDCASE;elseCASEcountISWHEN0=>b<=light2(statmod12;WHEN1=>b<=light2(stat+1mod12;WHEN2=>b<=light2(stat+2mod12;WHEN3=>b<=light2(stat+3mod12;

14、WHEN4=>b<=light2(stat+4mod12;WHEN5=>b<=light2(stat+5mod12;WHENOTHERS=>b<="0000000"ENDCASE;endif;ENDPROCESSp1;ENDa;六、實驗結果及分析:六個數碼管串行掃描電路仿真結果結果分析:2.六個數碼管滾動顯示電路結果:廠1廠LJLJU_JuU-1.一J_-一-LmJ_-一一jIi_jir,ir>1i-rtiit.(I八>'rrli)1tJIl-iIIIII>1'iiirrir.m.ri.Fp=j_TLp_TLprVpJLLH_pn.ri.:ii.!ii.ii1:珂結果分析:1. 七、故障及問題分析每次實驗中都應該注意到VHDL的文件名應與實體名一致,如果不一致編譯會報錯。我在實驗過程中雖然原理圖設計名與工程名相同,但在其后某程序名上犯了錯誤,導致出錯。2. 在仿真波形的觀察中,一定要調節(jié)好zoom一選項,縮放出便于觀察的波形。3. 在命名過程一定要注意規(guī)范,不要出現非法字符。在做10進制計數器時,由于板的固有頻率為晶振的頻率50兆赫茲,所以當以微秒級的時鐘去自動跳變太快根本無法看清,應該加一段程序令時鐘在微秒級跳變25兆次時外部時鐘

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論