實(shí)驗(yàn)四數(shù)碼管掃描顯示控制器設(shè)計(jì)與實(shí)現(xiàn)_第1頁
實(shí)驗(yàn)四數(shù)碼管掃描顯示控制器設(shè)計(jì)與實(shí)現(xiàn)_第2頁
實(shí)驗(yàn)四數(shù)碼管掃描顯示控制器設(shè)計(jì)與實(shí)現(xiàn)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

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

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

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

4、示。1. 五、實(shí)驗(yàn)設(shè)計(jì)思路及過程實(shí)現(xiàn)六個數(shù)碼管串行掃描電路的思路及代碼: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;六個數(shù)碼管滾動電路的思路及代碼: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;六、實(shí)驗(yàn)結(jié)果及分析:六個數(shù)碼管串行掃描電路仿真結(jié)果結(jié)果分析:2.六個數(shù)碼管滾動顯示電路結(jié)果:廠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:珂結(jié)果分析:1. 七、故障及問題分析每次實(shí)驗(yàn)中都應(yīng)該注意到VHDL的文件名應(yīng)與實(shí)體名一致,如果不一致編譯會報錯。我在實(shí)驗(yàn)過程中雖然原理圖設(shè)計(jì)名與工程名相同,但在其后某程序名上犯了錯誤,導(dǎo)致出錯。2. 在仿真波形的觀察中,一定要調(diào)節(jié)好zoom一選項(xiàng),縮放出便于觀察的波形。3. 在命名過程一定要注意規(guī)范,不要出現(xiàn)非法字符。在做10進(jìn)制計(jì)數(shù)器時,由于板的固有頻率為晶振的頻率50兆赫茲,所以當(dāng)以微秒級的時鐘去自動跳變太快根本無法看清,應(yīng)該加一段程序令時鐘在微秒級跳變25兆次時外部時鐘

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論