【文章內(nèi)容簡(jiǎn)介】
DATATMP = (others = 39。039。)。 ELSE IF KEY(3)39。EVENT AND KEY(3) = 39。139。 THEN 設(shè)置分的十位 IF DATATMP(15 DOWNTO 12) = 0101 THEN 5 自動(dòng)跳轉(zhuǎn)到 0 DATATMP(15 DOWNTO 12) = 0000。 ELSE DATATMP(15 DOWNTO 12) = DATATMP(15 DOWNTO 12) + 1。 END IF。 否則自動(dòng)加 1 END IF。 IF KEY(2)39。EVENT AND KEY(2) = 39。139。 THEN 設(shè)置分的個(gè)位 IF DATATMP(11 DOWNTO 8) = 1001 THEN 9 自動(dòng)跳轉(zhuǎn)到 0 DATATMP(11 DOWNTO 8) = 0000。 ELSE DATATMP(11 DOWNTO 8) = DATATMP(11 DOWNTO 8) + 1。 END IF。 否則自動(dòng)加 1 END IF。 IF KEY(1)39。EVENT AND KEY(1) = 39。139。 THEN 設(shè)置秒的十位 IF DATATMP(7 DOWNTO 4) = 0101 THEN 5 自動(dòng)跳轉(zhuǎn)到 0 DATATMP(7 DOWNTO 4) = 0000。 ELSE DATATMP(7 DOWNTO 4) = DATATMP(7 DOWNTO 4) + 1。 END IF。 否則自動(dòng)加 1 END IF。 IF KEY(0)39。EVENT AND KEY(0) = 39。139。 THEN 設(shè)置秒的個(gè)位 IF DATATMP(3 DOWNTO 0) = 1001 THEN 9 自動(dòng)跳轉(zhuǎn)到 0 DATATMP(3 DOWNTO 0) = 0000。 ELSE DATATMP(3 DOWNTO 0) = DATATMP(3 DOWNTO 0) + 1。 END IF。 END IF。 否則自動(dòng)加 1 END IF。 13 DATA = DATATMP。 END PROCESS。 PROCESS(SET_T,RESET) 設(shè)置時(shí)間和復(fù)位進(jìn)程 BEGIN IF RESET = 39。139。 THEN 復(fù)位時(shí)設(shè)置時(shí)間變?yōu)榈碗娖? SET_T0 = 39。039。 ELSIF SET_T39。EVENT AND SET_T = 39。139。 THEN 按下 SET_T 鍵時(shí) SET_T0 = NOT SET_T0。 SET_T 非它前之狀態(tài) END IF。 IF SET_T0 = 39。139。 THEN LED_SET_T = 39。139。 賦予 SET_T 持續(xù)電平 ELSE LED_SET_T = 39。039。 賦予 SET_T 持續(xù)電平 END IF。 END PROCESS。 PROCESS(CLK,CUR,SET_T,START,TEST,DONE) IS BEGIN NXT=IDLE。 將 IDLE 載入 NXT LD_TEST=39。039。 復(fù)位 LD_DONE=39。039。 LD_CLK=39。039。 COOK=39。039。 CASE CUR IS WHEN LAMP_TEST= 譯碼器顯示測(cè)試狀態(tài) LD_TEST=39。139。 COOK=39。039。 WHEN SET_CLOCK= 烹調(diào)時(shí)間測(cè)試狀態(tài) LD_CLK=39。139。 COOK=39。039。 WHEN DONE_MSG= 完成信息顯示狀態(tài) LD_DONE=39。039。 COOK=39。039。 WHEN IDLE= 初始狀態(tài)定義 IF TEST=39。139。 THEN NXT=LAMP_TEST。 設(shè)置 TEST LD_TEST=39。139。 ELSIF SET_T0=39。139。 THEN 設(shè)置 SET_T NXT=SET_CLOCK。 LD_CLK=39。139。 ELSIF START=39。139。 AND DONE=39。039。 THEN 設(shè)置計(jì)時(shí)模式 NXT=TIMER。 COOK=39。139。 END IF。 WHEN TIMER= 14 IF DONE=39。139。 THEN 設(shè)置計(jì)時(shí)完成 NXT=DONE_MSG。 LD_DONE=39。039。 ELSE NXT=TIMER。 COOK=39。139。 END IF。 WHEN OTHERS=NULL。 END CASE。 END PROCESS。 END rtl。 數(shù)據(jù)裝載的符號(hào)圖 loaderins tD AT AI N [ 15. . 0]LD _T ESTLD _C LKLD _D ON ED AT AOU T [ 15. . 0]LOAD 數(shù)據(jù)裝載的源程序 數(shù)據(jù)裝載電路的 VHDL 實(shí)現(xiàn)如下 : LIBRARY IEEE。 USE 。 USE 。 ENTITY loader IS PORT( DATAIN:IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 輸入 16 位數(shù)據(jù) LD_TEST:IN STD_LOGIC。 LD_CLK:IN STD_LOGIC。 LD_DONE:IN STD_LOGIC。 DATAOUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0)。 輸出 16 位數(shù)據(jù) LOAD:OUT STD_LOGIC