【正文】
end process。 c3=39。event and c2=39。 end if。 then if en=39。139。 then if s1=5 then s1=0。 end if。139。 end process。 進(jìn)位信號(hào) signal w:std_logic_vector(2 downto 0)。 掃描 d:out std_logic_vector(6 downto 0))。 use 。輸入管腳有:脈沖 clk,使能控制端 en,置數(shù)選擇 p2p1p0,置數(shù)端 x3x2x1x0。 第 10 種狀態(tài),顯示時(shí)與分之間的短線。 end if。 end process。 case h is when 0 to 9 =h1=0。對(duì)于如何用兩個(gè)數(shù)碼管顯示著 24 個(gè)數(shù),用 分段的方法 解決 。 and p=010 then s1=num。 c1=39。 end if。 進(jìn)位 else s0=s0+1。 關(guān)鍵程序: 秒低位 ss0:process(t) is begin if t39。event and clk=39。 and p=001 then s0=num。 ⑦ 當(dāng) p2p1p0 為“ 110”時(shí), 時(shí)高 位置數(shù)。 一位 置數(shù) 該電子表有秒低位,秒高位,分低位,分高位,時(shí)低位,時(shí)高位組成,共有六位,置數(shù)由位選決定 給哪一位置數(shù)。 ,實(shí)驗(yàn)操作和實(shí)驗(yàn)報(bào)告占 50%,本次作業(yè)考核占 50%?;?VHDL 語言的電子表設(shè)計(jì) 20xx20xx 學(xué)年第 一 學(xué)期 物電 學(xué)院 期末考試卷 EDA 大作業(yè) 《 設(shè)計(jì)制作電子表 》 (課程論文等試卷樣式) 學(xué)號(hào) : 姓名 : 班級(jí) : 成績: 評(píng)語: (考試題目及要求) 利用 VHDL 語言設(shè)計(jì)一個(gè)電子時(shí)鐘,可以顯示時(shí)、分、秒,具有時(shí)間設(shè)置功能,要求走時(shí)誤差不大于每天 10 秒。設(shè)計(jì)上的創(chuàng)新會(huì)酌情加分,實(shí)現(xiàn)上的偏離會(huì)酌情扣分。設(shè)計(jì)思路 如下圖所示: 基于 VHDL 語言的電子表設(shè)計(jì) 2 三、 程序設(shè)計(jì) 電子表有計(jì)數(shù)和指數(shù)兩種狀態(tài),工作時(shí)執(zhí)行計(jì)數(shù)還是執(zhí)行置數(shù)則由一控制使能端 EN 決定,當(dāng) EN 為低電平時(shí),電子表計(jì)數(shù),當(dāng) EN 為高電平時(shí),電子表置數(shù)。 ⑥ 當(dāng) p2p1p0 為“ 101”時(shí), 時(shí) 低位置數(shù)。139。 關(guān)鍵程序: if clk39。秒的高位為六進(jìn)制,每一個(gè)來自低位的進(jìn)位信號(hào) 高電平到達(dá)時(shí)計(jì)一次數(shù), 當(dāng)?shù)诹鶄€(gè)進(jìn)位信號(hào) 到達(dá)時(shí) ,計(jì)數(shù)值清零,同樣的產(chǎn)生一個(gè)進(jìn)位信號(hào) 。139。 end if。 then if s1=5 then s1=0。139。由于數(shù)碼管只能顯示 0~9的數(shù)字,所以數(shù)碼管顯示時(shí)仍然要分高低位分別顯示。 end if。 end case。 end if。 when 101=n=10。 四、仿真結(jié)果 分頻后用以計(jì)數(shù), s0 為十進(jìn)制,仿真結(jié)果如下: 為六進(jìn)制 基于 VHDL 語言的電子表設(shè)計(jì) 7 3. m0 為 十進(jìn)制 4. m1 為六進(jìn)制 5. h 為二十四進(jìn)制 基于 VHDL 語言的電子表設(shè)計(jì) 8 五、實(shí)驗(yàn)結(jié)果 設(shè)定器件為 EPM7128LC846,按分配好的引腳在試驗(yàn)箱上連線 。基于 VHDL 語言的電子表設(shè)計(jì) 10 七、附錄 電子表源程序: library ieee。置數(shù)值 sel:out std_logic_vector(2 downto 0)。 signal c0,c1,c2,c3:std_logic。 t=count(9)。 c0=39。 and p=001 then s0=num。039。 elsif en=39。139。039。 分高位 mm1:process(c2) is begin if c239。 進(jìn)位 else m1=m1+1。 end if。 end if。 end case。 when 0110=num=6。event and clk=39。