【正文】
END CASE。 col=00000000。 row=11111101。 WHEN 6=fun1_tmp3=7。 col=00010100。 row=11110111。 WHEN 4=fun1_tmp3=5。 col=00010000。 row=11011111。 WHEN 2=fun1_tmp3=3。 col=00111100。 row=01111111。 WHEN s1= J CASE fun1_tmp3 IS WHEN 0=fun1_tmp3=1。 row=11111110。 WHEN others=fun1_tmp3=0。 col=00100100。 row=11111011。 WHEN 5=fun1_tmp3=6。 col=00111100。 row=11101111。 WHEN 3=fun1_tmp3=4。 col=00100100。 row=10111111。 WHEN 1=fun1_tmp3=2。 H col=00000000。 col=00000000。039。139。 p5:PROCESS(clk,state,led) 點(diǎn)陣顯示 BEGIN IF(clk39。 END IF。 END IF。 END IF。) THEN state=s0。 and temp2=39。 WHEN s4 = IF(modelSel=39。 ELSE state=s3。039。139。 END IF。) THEN state=s3。and temp2=39。 WHEN s2 = IF(modelSel=39。 ELSE state=s1。039。139。 END IF。) THEN state=s1。 and temp2=39。 ELSE CASE state IS WHEN s0 = IF(modelSel=39。139。 END IF。139。139。) THEN temp2 =modelSel。EVENT AND clk=39。 END PROCESS p3。 powerled=led。039。139。139。139。139。139。 p3:PROCESS(clk,power,led) 電源控制 BEGIN IF(clk39。 end if。 END IF。 ELSE ge=ge1。 ELSIF (ge = 0 AND shi = 0) THEN finish=39。) THEN IF(ge = 0 AND shi /= 0) THEN ge=9。 IF (led=39。139。 end if。 else clock2 = 39。 if(COUNT2 = 49999) then clock2 = 39。 else COUNT2 = COUNT2 + 1。 end if。 finish=39。) THEN ge=setge。 OR sig =39。) then IF (timeset=39。event and clk = 39。 end process p1。 END CASE。 BEGIN p1:PROCESS(ge,shi,state,modelSel,jump) begin IF (ge = 0 AND shi = 0) THEN CASE state IS WHEN s2 =jump=1。 signal ge:INTEGER RANGE 0 TO 9。 SIGNAL sig: STD_LOGIC。 SIGNAL fun1_tmp3:INTEGER RANGE 0 TO 7。 signal temp3 : std_logic。 signal temp1 : std_logic。 設(shè)定時(shí)間的個(gè)位 SIGNAL setshi: INTEGER RANGE 0 TO 9。 表示跳轉(zhuǎn) SIGNAL finish: STD_LOGIC。 產(chǎn)生 clock1 過程中用到的信號(hào) SIGNAL jump: INTEGER range 0 to 1。 1Hz 時(shí)鐘信號(hào) SIGNAL clock2: STD_LOGIC。 時(shí)間選擇信號(hào) SIGNAL led: STD_LOGIC。 SIGNAL pre_time: state_type3。 SIGNAL fire: state_type2。 SIGNAL state: state_type1。 蜂鳴器控制 END dcl。 數(shù)碼管顯示控制 powerled: OUT STD_LOGIC。 點(diǎn)陣顯示的行列控制 time1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)。 定時(shí)設(shè)置 power: IN STD_LOGIC。 增加火力 fireDown: IN STD_LOGIC。 時(shí)鐘輸入 modelSel: IN STD_LOGIC。 USE 。 八、參考文獻(xiàn) 《數(shù)字電路與邏輯設(shè)計(jì)實(shí)驗(yàn)教程》 ———— 北京郵電大學(xué)電路實(shí)驗(yàn)中心 《 VHDL 硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)》 侯伯亨 西安電子科技大學(xué)出版社 《數(shù)字邏輯設(shè)計(jì)實(shí)驗(yàn)技術(shù)與 EDA 工具》 ———— 北京郵電大學(xué) 九、源程序 LIBRARY IEEE。但是我還是堅(jiān)持了下來。這次代碼有 386 行。 三、代碼優(yōu)化問題。而不是把書上的理解了,就照搬過來。 二、分頻問題。 一、如果我能把我的代碼分塊寫的話,出現(xiàn)問題的時(shí)候也不會(huì)牽一發(fā)動(dòng)全身。最終驗(yàn)收成功。可能實(shí)際與理論還是有一定差距的。最后終于發(fā)現(xiàn)是我的分頻有問題。 第四次實(shí)驗(yàn)就要驗(yàn)收了,可是我的倒計(jì)時(shí)出了問題,一直顯示不了,上面的故障分析中也有提到。解決了一整天都沒有成功。 第二次實(shí)驗(yàn)結(jié)束的時(shí)候,我的小程序大部分可以運(yùn)行了。后來終于覺得自己可以開動(dòng)了。但是,看到那么多功 能還是有點(diǎn)懵的。 七、實(shí)驗(yàn)總結(jié)和心得體會(huì) 在本次的數(shù)字電路綜合實(shí)驗(yàn)中,我選擇的題目是設(shè)計(jì)實(shí)現(xiàn)微波爐控制器。 4.【問題】蜂鳴器剛開始是響的,但是加上消抖后,就不響了。 3.【問題】在設(shè)置關(guān)機(jī)鍵的時(shí)候,每次關(guān)機(jī),再開機(jī),不能恢復(fù)到初始狀態(tài),而是停留在關(guān)機(jī)前的狀態(tài)。后來改成24999 之后