版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)數(shù)顯示電路設(shè)計(jì)課 程: VHDL數(shù)字系統(tǒng)設(shè)計(jì)與測(cè)試?yán)?師: 學(xué) 號(hào): 姓 名: 推薦精選計(jì)數(shù)顯示電路設(shè)計(jì)一 設(shè)計(jì)要求設(shè)計(jì)輸出為3位BCD碼的計(jì)數(shù)顯示電路。由三個(gè)模塊構(gòu)成:十進(jìn)制計(jì)數(shù)器(BCD_CNT)、分時(shí)總線切換電路(SCAN)和七段顯示譯碼器電路(DEC_LED)。BCD碼計(jì)數(shù)電路從0計(jì)到9然后返回到0從新計(jì)數(shù)。3位BCD碼計(jì)數(shù)器可以實(shí)現(xiàn)從0到999的十進(jìn)制計(jì)數(shù)。要將計(jì)數(shù)過(guò)程用七段顯示LED數(shù)碼管顯示出來(lái),這里采用動(dòng)態(tài)分時(shí)總線切換電路對(duì)數(shù)碼管進(jìn)行掃描,對(duì)數(shù)碼管依次分時(shí)選中進(jìn)行輸出計(jì)數(shù)的個(gè)、十、百位的數(shù)據(jù)。框圖如圖1:圖1二 設(shè)計(jì)原理圖2是源程序的RTL級(jí)電路圖(RTL Viewer )。
2、整個(gè)設(shè)計(jì)分十進(jìn)制計(jì)數(shù)器模塊(BCD_CNT)、分時(shí)總線切換電路模塊(SCAN)和七段顯示譯碼器電路模塊(DEC_LED)構(gòu)成??偟妮斎霝槭M(jìn)制計(jì)數(shù)器時(shí)鐘clk,異步復(fù)位清零信號(hào)reset,分時(shí)總線切換電路時(shí)鐘CL。在reset信號(hào)為0期間,在每個(gè)clk的上升沿計(jì)數(shù)器將加1。在每個(gè)cl的上升沿將會(huì)改變對(duì)三個(gè)數(shù)碼管的掃描選通??偟妮敵鰹閿?shù)碼管選通信號(hào)sel(三位),輸出到七段數(shù)碼管的數(shù)據(jù)信號(hào)ledout(七位)。圖2為了檢驗(yàn)系統(tǒng)的正確與否,這里還添加了四個(gè)輸出:十進(jìn)制計(jì)數(shù)器輸出c1(四位)、c2(四位)、c3(四位),分時(shí)總線切換電路一個(gè)輸出q(四位),它是對(duì)計(jì)數(shù)器輸出c1、c2、c3進(jìn)行分時(shí)輸出
3、。分時(shí)選通個(gè)、十、百位的數(shù)碼管并將相應(yīng)要顯示的數(shù)據(jù)輸出到七段顯示譯碼器電路(DEC_LED),由此實(shí)現(xiàn)數(shù)碼管的動(dòng)態(tài)掃描顯示。推薦精選三 VHDL實(shí)現(xiàn)(1)頂層模塊:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity top is -定義了一個(gè)頂層的模塊topport(clk,reset:in std_logic; CL:in std_logic; c1,c2,c3:out std_logic_vector(3 downto 0);
4、 ledout:out std_logic_vector(6 downto 0); q:out std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0);end top;architecture content of top issignal c1_1,c2_1,c3_1:std_logic_vector(3 downto 0);signal q_1:std_logic_vector(3 downto 0);-因?yàn)閏1,c2,c3,q是中間信號(hào)量,也是輸出,故引入c1_1,c2_1,c3_1q_1作為中間變量compo
5、nent BCD_CNT is -定義元件BCD_CNT port(clk,reset:in std_logic; c1,c2,c3:out std_logic_vector(3 downto 0);end component;component SCAN is -定義元件SCANport( c1,c2,c3:in std_logic_vector(3 downto 0); CL:in std_logic; q:out std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0);end component;compone
6、nt DEC_LED is -定義元件DEC_LEDport( q:in std_logic_vector(3 downto 0); ledout:out std_logic_vector(6 downto 0);end component;beginu1: BCD_CNT port map (clk,reset,c1_1,c2_1,c3_1); -調(diào)用元件實(shí)例BCD_CNTu2: SCAN port map(c1_1,c2_1,c3_1,CL,q_1,sel); -調(diào)用元件實(shí)例SCANu3: DEC_LED port map(q_1,ledout); -調(diào)用元件實(shí)例DEC_LED推薦精選c1
7、<=c1_1; -中間變量值賦給輸出c2<=c2_1;c3<=c3_1;q <=q_1; end content;(2)十進(jìn)制計(jì)數(shù)器電路(BCD_CNT)模塊:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity BCD_CNT is port(clk,reset:in std_logic; c1,c2,c3:out std_logic_vector(3 downto 0);end BCD_CNT;archi
8、tecture cnt of BCD_CNT issignal cn1,cn2,cn3:std_logic_vector(3 downto 0); begin cnt1:process(clk,reset) begin if(reset='1') then cn1<="0000" elsif(clk'event and clk='1') then if(cn1<9) then cn1<=cn1+1; else cn1<="0000" end if; end if; end process c
9、nt1; c1<=cn1; -個(gè)位計(jì)數(shù) cnt2:process(cn1(3),reset) -cn1(3)是clk的十分頻 begin if(reset='1') then cn2<="0000" elsif(cn1(3)'event and cn1(3)='0') then if(cn2<9) then cn2<=cn2+1; else cn2<="0000" end if; end if; end process cnt2; c2<=cn2; -十位計(jì)數(shù) cnt3:proc
10、ess(cn2(3),reset) -cn2(3)是clk的一百分頻 begin if(reset='1') then cn3<="0000" elsif(cn2(3)'event and cn2(3)='0') then if(cn3<9) then cn3<=cn3+1;推薦精選 else cn3<="0000" end if; end if; end process cnt3; c3<=cn3; -百位計(jì)數(shù)end cnt;(3)分時(shí)總線切換電路(SCAN)模塊:library i
11、eee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity SCAN is port( c1,c2,c3:in std_logic_vector(3 downto 0); cl:in std_logic; q:out std_logic_vector(3 downto 0); sel:out std_logic_vector(2 downto 0); end SCAN;architecture one of SCAN issignal cnt:std_lo
12、gic_vector(1 downto 0);signal q_temp:std_logic_vector(3 downto 0);signal sel_temp:std_logic_vector(2 downto 0); begin p1:process(cl) -模3計(jì)數(shù)器 begin if(cl'event and cl='1') then if(cnt<2) then cnt<=cnt+1; else cnt<="00" end if; end if; end process p1; p2:process(cnt) begi
13、n case cnt is -產(chǎn)生分時(shí)切換信號(hào)q_temp; when "00" => q_temp<=c1; sel_temp<="001" when "01" => q_temp<=c2; sel_temp<="010" when "10" => q_temp<=c3; sel_temp<="100" when others=> null; end case; end process p2;推薦精選 q<=
14、q_temp; sel<=sel_temp;end one;(4)七段顯示譯碼器電路(DEC_LED)模塊:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity DEC_LED is port( q:in std_logic_vector(3 downto 0); ledout:out std_logic_vector(6 downto 0);end DEC_LED;architecture one of DEC_LED is
15、 begin process(q) -七段譯碼電路 begin case q is when "0000" => ledout<="0111111" when "0001" => ledout<="0000110" when "0010" => ledout<="1011011" when "0011" => ledout<="1001111" when "0100"
16、=> ledout<="1100110" when "0101" => ledout<="1101101" when "0110" => ledout<="1111101" when "0111" => ledout<="0000111" when "1000" => ledout<="1111111" when "1001" =>
17、 ledout<="1101111" when others => null; end case; end process;end one; 四 仿真結(jié)果及分析圖2是電路的總體輸入輸出仿真波形。推薦精選圖3由圖3可以看出,當(dāng)掃描頻率CL很大的時(shí)候,sel從1、2、4變化,即在一個(gè)時(shí)刻,sel只有一位為高,計(jì)數(shù)器的輸出只有一位C1或C2或C3選中,并且正確的輸出。當(dāng)復(fù)位信號(hào)reset先為高的時(shí)候清零,當(dāng)變?yōu)榈偷臅r(shí)候隨著clk上升沿到來(lái)計(jì)數(shù)器開(kāi)始計(jì)數(shù),從000999,c1為個(gè)位,十位為c2,c3是百位。計(jì)數(shù)器為0時(shí),ledout輸出為十六進(jìn)制3F(2進(jìn)制0111111),為1時(shí)輸出為為06H,等等,輸出正確。五 仿真結(jié)果的討論由分析可知,掃描時(shí)鐘CL必須要
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 有關(guān)幼兒園防洪澇災(zāi)害應(yīng)急預(yù)案(3篇)
- 領(lǐng)工資委托書(shū)
- 舞蹈培訓(xùn)班合作協(xié)議(3篇)
- 直播流程方案
- 門(mén)診的年終總結(jié)
- 酒店員工述職報(bào)告匯編5篇
- 珍愛(ài)生命主題班會(huì)教案
- 23.5 位似圖形 同步練習(xí)
- 江西上饒市2024-2025七年級(jí)歷史期中試卷(含答案)
- 河北省秦皇島市盧龍縣2024-2025學(xué)年七年級(jí)上學(xué)期期中生物試題
- 我國(guó)陸軍專(zhuān)業(yè)知識(shí)講座
- 貨車(chē)安全隱患排查表
- 教師專(zhuān)業(yè)成長(zhǎng)概述教師專(zhuān)業(yè)發(fā)展途徑PPT培訓(xùn)課件
- 球磨機(jī)安裝專(zhuān)項(xiàng)施工方案
- 2023年山東省港口集團(tuán)有限公司招聘筆試題庫(kù)及答案解析
- GB/T 27689-2011無(wú)動(dòng)力類(lèi)游樂(lè)設(shè)施兒童滑梯
- GB/T 25217.10-2019沖擊地壓測(cè)定、監(jiān)測(cè)與防治方法第10部分:煤層鉆孔卸壓防治方法
- GB/T 20284-2006建筑材料或制品的單體燃燒試驗(yàn)
- GB/T 15604-2008粉塵防爆術(shù)語(yǔ)
- 高中英語(yǔ) 必修一知識(shí)點(diǎn)(北師大版)課件
- 溝通技巧(直接可以授課用)
評(píng)論
0/150
提交評(píng)論