數(shù)字電路與邏輯設(shè)計(jì)實(shí)驗(yàn)報(bào)告簡(jiǎn)易電磁爐控制器的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
數(shù)字電路與邏輯設(shè)計(jì)實(shí)驗(yàn)報(bào)告簡(jiǎn)易電磁爐控制器的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
數(shù)字電路與邏輯設(shè)計(jì)實(shí)驗(yàn)報(bào)告簡(jiǎn)易電磁爐控制器的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
數(shù)字電路與邏輯設(shè)計(jì)實(shí)驗(yàn)報(bào)告簡(jiǎn)易電磁爐控制器的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
數(shù)字電路與邏輯設(shè)計(jì)實(shí)驗(yàn)報(bào)告簡(jiǎn)易電磁爐控制器的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、北京郵電大學(xué) 數(shù)字電路實(shí)驗(yàn)北京郵電大學(xué)數(shù)字電路與邏輯設(shè)計(jì)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:簡(jiǎn)易電磁爐控制器的設(shè)計(jì)與實(shí)現(xiàn) 班級(jí):2011211122學(xué)號(hào):班內(nèi)序號(hào):姓名:指導(dǎo)老師: 目錄一、報(bào)告概要 1、課題名稱2、報(bào)告摘要3、關(guān)鍵字二、設(shè)計(jì)任務(wù)和要求三、系統(tǒng)設(shè)計(jì) 1、設(shè)計(jì)思路2、總體框圖(1) 系統(tǒng)結(jié)構(gòu)框圖(2) 模塊劃分方框圖(3) ASM圖(4) MDS圖3、分塊設(shè)計(jì)(1)分頻模塊(2)烹飪模式模塊(3)火力調(diào)節(jié)模塊(4)時(shí)間控制模塊(5)數(shù)碼管模塊(6)關(guān)機(jī)模塊 (7)防抖模塊4、總體設(shè)計(jì)四、實(shí)現(xiàn)功能說明 1、已完成功能 2、器件的資源占用情況 3、關(guān)鍵波形仿真圖及波形分析 4、必要的測(cè)試方法 五、故障

2、及問題分析六、實(shí)驗(yàn)總結(jié)與結(jié)論七、所用元器件及測(cè)試儀表清單八、完整源程序九、參考文獻(xiàn)一、報(bào)告概要 1、課題名稱 簡(jiǎn)易電磁爐控制器的設(shè)計(jì)與實(shí)現(xiàn)2、 報(bào)告摘要本次實(shí)驗(yàn)通過VHDL語言編程,Quartus II仿真及開發(fā)板上調(diào)試,模仿電磁爐的各種基本功能,包括烹飪模式選擇,火力調(diào)節(jié),定時(shí)及不定時(shí)選擇,數(shù)碼管、點(diǎn)陣顯示、蜂鳴器提示等功能。充分運(yùn)用模塊編程的思想,利用狀態(tài)機(jī)及自頂向下的設(shè)計(jì)方法,實(shí)現(xiàn)任務(wù)所要求的全部基本功能,并且在原有功能上實(shí)現(xiàn)了部分拓展。3、關(guān)鍵字 電磁爐控制器,VHDL,自頂向下2、 設(shè)計(jì)任務(wù)和要求 基本要求:1、烹飪模式選擇:電磁爐的烹飪模式有火鍋、煎炒、爆炒、煲湯和蒸燉五檔可選。用

3、一個(gè)按鍵(BTN7)實(shí)現(xiàn)烹飪檔位的選擇(按下此鍵,依上述順序依次變化),用點(diǎn)陣顯示當(dāng)前的烹調(diào)檔位(火鍋顯示H、煎炒顯示J、爆炒顯示B、煲湯顯示T、蒸燉顯示Z),烹調(diào)檔位的選擇按鍵同時(shí)也是加熱的開始按鍵,即烹調(diào)檔位選定的同時(shí)電磁爐就以最大功率開始加熱,沒有選擇時(shí)電磁爐處于停止?fàn)顟B(tài),點(diǎn)陣不顯示。 2、火力調(diào)節(jié):電磁爐的火力分5檔可調(diào): 1900W-1500W-1100W-600W-100W,用數(shù)碼管DISP3-DISP0顯示當(dāng)前的火力,用兩個(gè)按鍵(BTN6和BTN5)實(shí)現(xiàn)火力的增加或減少,烹調(diào)過程中,除爆炒模式外,其它模式均可以隨時(shí)可以調(diào)節(jié)火力,爆炒模式只能以最高功率加熱。 3、定時(shí)功能:用一個(gè)按

4、鍵(BTN4)實(shí)現(xiàn)定時(shí)設(shè)置,按下定時(shí)鍵,蜂鳴器響一聲,每按一次定時(shí)鍵,定時(shí)時(shí)間以5-10-30-60秒鐘的順序依次遞增,定時(shí)設(shè)定完畢后,電磁爐開始倒計(jì)時(shí)。用數(shù)碼管DISP5和DISP4顯示定時(shí)檔位和倒計(jì)時(shí)的過程,倒計(jì)時(shí)時(shí)間到后,電磁爐自動(dòng)停止加熱并關(guān)機(jī)。 4、不進(jìn)行定時(shí)操作時(shí),電磁爐以默認(rèn)加熱時(shí)間進(jìn)行加熱。蒸燉模式的默認(rèn)時(shí)間為20秒鐘;爆炒模式的默認(rèn)時(shí)間是3秒鐘,爆炒3秒鐘后自動(dòng)返回煎炒模式;其他模式的默認(rèn)時(shí)間為90秒。 5、用點(diǎn)亮的發(fā)光二極管LD4表示開機(jī)加熱,熄滅表示關(guān)機(jī)。 6、設(shè)置關(guān)閉鍵,任何時(shí)候按下關(guān)閉鍵即可將電磁爐關(guān)機(jī)。擴(kuò)展功能:1、倒計(jì)時(shí)過程中通過8個(gè)發(fā)光二級(jí)管顯示倒計(jì)時(shí)進(jìn)度。2、

5、模式顯示部分將點(diǎn)陣分為左右兩半,采用不同的顏色顯示。3、倒計(jì)時(shí)結(jié)束后放一段樂曲提示。(未實(shí)現(xiàn))三、系統(tǒng)設(shè)計(jì) 1、設(shè)計(jì)思路簡(jiǎn)易電磁爐的設(shè)計(jì)過程采用自頂向下設(shè)計(jì)方法,從目的,即整個(gè)系統(tǒng)功能出發(fā),按一定規(guī)則將系統(tǒng)劃分為若干個(gè)子系統(tǒng)和功能模塊,并且繼續(xù)劃分成更小的模塊,直到每部分都能較為簡(jiǎn)單的實(shí)現(xiàn)。在實(shí)驗(yàn)中,先根據(jù)要實(shí)現(xiàn)的功能,將整個(gè)程序設(shè)計(jì)成了烹飪模式選擇、火力調(diào)節(jié)、時(shí)間調(diào)節(jié)(倒計(jì)時(shí)與否)、微波爐狀態(tài)切換這4個(gè)主要的子系統(tǒng),同時(shí)設(shè)計(jì)適合不同模塊工作的分頻部分和與之相對(duì)應(yīng)的顯示部分。在這些子系統(tǒng)的設(shè)計(jì)中,最常用到的是利用狀態(tài)機(jī)的原理實(shí)現(xiàn)電磁爐各個(gè)狀態(tài)之間的轉(zhuǎn)換。如狀態(tài)選擇部分通過按鍵BTN4實(shí)現(xiàn)火鍋、

6、煎炒、爆炒、蒸燉和煲湯的切換;火力選擇部分通過按鍵實(shí)現(xiàn)1900W到100W的切換。 2、總體框圖 (1)系統(tǒng)結(jié)構(gòu)圖 (2) 系統(tǒng)邏輯劃分方框圖(3)ASM圖(4)MDS圖 3、分塊設(shè)計(jì) (1)分頻模塊 這部分按照教學(xué)網(wǎng)站上所給的50M分頻器的實(shí)例設(shè)計(jì)了三個(gè)分頻器,利用輸入的50MHz時(shí)鐘,分頻后為1Hz、100Hz、1000Hz時(shí)鐘。代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MDCL ISPORT(CLK: IN STD_LOGIC;-時(shí)鐘);END MDCL;ARC

7、HITECTURE WY OF MDCL ISSIGNAL CNT1: INTEGER RANGE 0 TO 24999999; -頻率1Hz計(jì)數(shù)SIGNAL CNT100: INTEGER RANGE 0 TO 249999; -頻率100Hz計(jì)數(shù)SIGNAL CNT1000: INTEGER RANGE 0 TO 24999; -頻率1000Hz計(jì)數(shù)SIGNAL CLK_FP: STD_LOGIC_VECTOR (2 DOWNTO 0); -分頻后的時(shí)鐘信號(hào)BEGINP1:PROCESS(CLK)BEGINIF CLK'EVENT AND CLK = '1' THE

8、NIF CNT1 = 24999999 THENCNT1<=0;CLK_FP(0)<= NOT CLK_FP(0);END IF;CNT1 <= CNT1 + 1;END IF;END PROCESS P1;P2:PROCESS(CLK)BEGINIF CLK'EVENT AND CLK = '1' THENIF CNT100 = 249999 THENCNT100<=0;CLK_FP(1)<= NOT CLK_FP(1);END IF;CNT100 <= CNT100 + 1;END IF;END PROCESS P2;P3:PRO

9、CESS(CLK)BEGINIF CLK'EVENT AND CLK = '1' THENIF CNT1000 = 24999 THENCNT1000<=0;CLK_FP(2)<= NOT CLK_FP(2);END IF;CNT1000 <= CNT1000 + 1;END IF;END PROCESS P3;END WY(2)烹飪模式選擇模塊模式選擇是核心模塊之一,也是程序的入口之處。在這個(gè)模塊中根據(jù)BTN7的變化,利用狀態(tài)機(jī)改變MOSHI端口上電平的輸出,由于有六個(gè)狀態(tài)(外加一個(gè)等待狀態(tài)),故MOSHI為三變量組成的向量。烹飪選擇后MOSHI信號(hào)

10、交由點(diǎn)陣顯示部分顯示輸出。模式選擇代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MDCL IS PORT(CLK: IN STD_LOGIC;-時(shí)鐘MOSHI: IN STD_LOGIC;-模式選擇BTN7: IN STD_LOGIC;-模式更改按鍵);END MDCL;ARCHITECTURE WY OF MDCL IS TYPE STATE_TYPE IS (WAIT,HG,JC,BC,BT,ZD);SIGNAL CLK_FP: STD_LOGIC_VECTOR (2

11、 DOWNTO 0); -分頻后的時(shí)鐘信號(hào)SIGNAL MOSHI: STATE_TYPE; -加熱模式SIGNAL CURRENT_STATE: STD_LOGIC; -當(dāng)前狀態(tài),是否為等待SIGNAL MSXZ: STD_LOGIC_VECTOR(2 DOWNTO 0); -加熱模式的狀態(tài)組合BEGIN P1:PROCESS(CLK_FP(0),BTN7)BEGINIF(CURRENT_STATE= '0') THENIF ( CLK_FP(0)'EVENT AND CLK_FP(0) = 1 ) THENCASE MOSHI IS WHEN WAIT =>

12、IF( BTN7 = '1') THEN MOSHI<= HG ;MSXZ<= "001"CURRENT_STATE <= '1' END IF; WHEN HG => IF( BTN7 = '1') THEN MOSHI<= JC ; MSXZ<= "010"CURRENT_STATE <= '1' END IF ; WHEN JC => IF( BTN7 = '1') THEN MOSHI<= BC ; MSXZ<

13、;= "011"CURRENT_STATE <= '1' END IF ; WHEN BC => IF( BTN7 = '1') THEN MOSHI<= BT ; MSXZ<= "100"CURRENT_STATE <= '1' END IF ; WHEN BT => IF( BTN7 = '1') THEN MOSHI<= ZD ; MSXZ<= "101"CURRENT_STATE <= '1'

14、END IF ; WHEN ZD => IF( BTN7 = '1') THEN MOSHI<= HG ; MSXZ<= "001"CURRENT_STATE <= '1' END IF ;END CASE;END IF;END IF;END PROCESS; END WY點(diǎn)陣掃描與數(shù)碼管原理類似,數(shù)碼管為位選每時(shí)刻選通一位,推送八位序列控制顯示;而點(diǎn)陣掃描為對(duì)每一行進(jìn)行選通,即對(duì)行掃描,列信息即為控制顯示。需要特別注意的是,點(diǎn)陣(0,0)的位置在左下角。點(diǎn)陣顯示代碼如下:LIBRARY IEEE;USE IEEE.S

15、TD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MDCL ISPORT(CLK: IN STD_LOGIC;-時(shí)鐘ROW: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);COL: OUT STD_LOGIC_VECTOR(7 DOWNTO 0););END MDCL;ARCHITECTURE WY OF MDCL ISSIGNAL CLK_FP: STD_LOGIC_VECTOR (2 DOWNTO 0); -分頻后的時(shí)鐘信號(hào)SIGNAL MSXZ: STD_LOGIC_VECTOR(2 DOWNTO 0);

16、 -加熱模式的狀態(tài)組合SIGNAL DZSM: STD_LOGIC_VECTOR(2 DOWNTO 0); -點(diǎn)陣輔助掃描顯示SIGNAL CURRENT_STATE: STD_LOGIC; -當(dāng)前狀態(tài),是否為等待P1:PROCESS(CLK_FP(2),MSXZ)BEGINIF (CLK_FP(2)'EVENT AND CLK_FP(2)='1') THENIF CURRENT_STATE ='1' THENCASE MSXZ ISWHEN "001"=> CASE DZSM ISWHEN "000" =&

17、gt; DZSM <="001" ROW <="01111111" COL<="01100110"WHEN "001" => DZSM <="010" ROW <="10111111" COL<="01100110"WHEN "010" => DZSM <="011" ROW <="11011111" COL<="0110

18、0110"WHEN "011" => DZSM <="100" ROW <="11101111" COL<="01111110"WHEN "100" => DZSM <="101" ROW <="11110111" COL<="01111110"WHEN "101" => DZSM <="110" ROW <="

19、11111011" COL<="01100110"WHEN "110" => DZSM <="111" ROW <="11111101" COL<="01100110"WHEN "111" => DZSM <="000" ROW <="11111110" COL<="01100110"END CASE;WHEN "010"=>

20、CASE DZSM ISWHEN "000" => DZSM <="001" ROW <="01111111" COL<="00111110"WHEN "001" => DZSM <="010" ROW <="10111111" COL<="00001100"WHEN "010" => DZSM <="011" ROW <=&quo

21、t;11011111" COL<="00001100"WHEN "011" => DZSM <="100" ROW <="11101111" COL<="00001100"WHEN "100" => DZSM <="101" ROW <="11110111" COL<="00001100"WHEN "101" => DZSM &

22、lt;="110" ROW <="11111011" COL<="01101100"WHEN "110" => DZSM <="111" ROW <="11111101" COL<="00111100"WHEN "111" => DZSM <="000" ROW <="11111110" COL<="00011000"

23、END CASE;WHEN "011"=> CASE DZSM ISWHEN "000" => DZSM <="001" ROW <="01111111" COL<="01111100"WHEN "001" => DZSM <="010" ROW <="10111111" COL<="01000010"WHEN "010" => DZSM

24、 <="011" ROW <="11011111" COL<="01000010"WHEN "011" => DZSM <="100" ROW <="11101111" COL<="01111100"WHEN "100" => DZSM <="101" ROW <="11110111" COL<="01000010&quo

25、t;WHEN "101" => DZSM <="110" ROW <="11111011" COL<="01000010"WHEN "110" => DZSM <="111" ROW <="11111101" COL<="01000010"WHEN "111" => DZSM <="000" ROW <="11111110

26、" COL<="01111100"END CASE;WHEN "100"=> CASE DZSM ISWHEN "000" => DZSM <="001" ROW <="01111111" COL<="01111110"WHEN "001" => DZSM <="010" ROW <="10111111" COL<="01111110&q

27、uot;WHEN "010" => DZSM <="011" ROW <="11011111" COL<="00011000"WHEN "011" => DZSM <="100" ROW <="11101111" COL<="00011000"WHEN "100" => DZSM <="101" ROW <="111101

28、11" COL<="00011000"WHEN "101" => DZSM <="110" ROW <="11111011" COL<="00011000"WHEN "110" => DZSM <="111" ROW <="11111101" COL<="00011000"WHEN "111" => DZSM <=&quo

29、t;000" ROW <="11111110" COL<="00011000"END CASE;WHEN "101"=> CASE DZSM ISWHEN "000" => DZSM <="001" ROW <="01111111" COL<="11111111"WHEN "001" => DZSM <="010" ROW <="1011

30、1111" COL<="00000010"WHEN "010" => DZSM <="011" ROW <="11011111" COL<="00000100"WHEN "011" => DZSM <="100" ROW <="11101111" COL<="00001000"WHEN "100" => DZSM <=&q

31、uot;101" ROW <="11110111" COL<="00010000"WHEN "101" => DZSM <="110" ROW <="11111011" COL<="00100000"WHEN "110" => DZSM <="111" ROW <="11111101" COL<="01000000"WHEN &

32、quot;111" => DZSM <="000" ROW <="11111110" COL<="11111111"END CASE;WHEN OTHERS => CASE DZSM ISWHEN "000" => DZSM <="001" ROW <="01111111" COL<="00000000"WHEN "001" => DZSM <="01

33、0" ROW <="10111111" COL<="00000000"WHEN "010" => DZSM <="011" ROW <="11011111" COL<="00000000"WHEN "011" => DZSM <="100" ROW <="11101111" COL<="00000000"WHEN "1

34、00" => DZSM <="101" ROW <="11110111" COL<="00000000"WHEN "101" => DZSM <="110" ROW <="11111011" COL<="00000000"WHEN "110" => DZSM <="111" ROW <="11111101" COL<

35、="00000000"WHEN "111" => DZSM <="000" ROW <="11111110" COL<="00000000"END CASE;END CASE;ELSECASE DZSM ISWHEN "000" => DZSM <="001" ROW <="01111111" COL<="00000000"WHEN "001" =&

36、gt; DZSM <="010" ROW <="10111111" COL<="00000000"WHEN "010" => DZSM <="011" ROW <="11011111" COL<="00000000"WHEN "011" => DZSM <="100" ROW <="11101111" COL<="0000

37、0000"WHEN "100" => DZSM <="101" ROW <="11110111" COL<="00000000"WHEN "101" => DZSM <="110" ROW <="11111011" COL<="00000000"WHEN "110" => DZSM <="111" ROW <="

38、11111101" COL<="00000000"WHEN "111" => DZSM <="000" ROW <="11111110" COL<="00000000"END IF;END IF;END PROCESS;END WY; (3)火力選擇模塊火力選擇模塊的由兩個(gè)按鍵(BTN6和BTN5)實(shí)現(xiàn)火力的增加或減少,時(shí)鐘信號(hào)給的是1KHz。顯示部分需要數(shù)碼管DISP3-DISP0顯示當(dāng)前的火力檔位,輸出為09的數(shù)字型,輸出部分由單獨(dú)的數(shù)碼管顯示模塊完成

39、這里不做詳述。根據(jù)火力大小種類可知:三變量組合(狀態(tài)機(jī))即可滿足。注意:烹飪模式類型對(duì)火力選擇的影響:爆炒模式不能改變火力,只能以最高功率加熱?;鹆x擇代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MDCL IS PORT(CLK: IN STD_LOGIC;-時(shí)鐘HUOLI: IN STD_LOGIC;-火力選擇BTN6: IN STD_LOGIC;-火力增強(qiáng)按鍵BTN5: IN STD_LOGIC;-火力減小按鍵);END MDCL;ARCHITECTURE WY O

40、F MDCL IS TYPE HUOLI_TYPE IS (1900W,1500W,1100W,600W,100W);SIGNAL CLK_FP: STD_LOGIC_VECTOR (2 DOWNTO 0); -分頻后的時(shí)鐘信號(hào)SIGNAL HLMOSHI: HUOLI_TYPE; -加熱模式SIGNAL CURRENT_STATE: STD_LOGIC; -當(dāng)前狀態(tài),是否為等待SIGNAL MSXZ: STD_LOGIC_VECTOR(2 DOWNTO 0); -加熱模式的狀態(tài)組合SIGNAL HLXZ: STD_LOGIC_VECTOR(2 DOWNTO 0); -火力大小的狀態(tài)組合BEG

41、IN P1:PROCESS(CLK_FP(0),BTN6,BTN5)BEGINIF (CURRENT_STATE = '1') THEN IF(MSXZ /= "011") THENIF ( CLK_FP(0)'EVENT AND CLK_FP(0) = 1 ) THENCASE HLMOSHI IS WHEN 1900W => IF( BTN6 = '0' AND BTN5 = '1') THEN HLMOSHI<= 1500W;ELSE HLMOSHI <= 1900W ;HLXZ<= &#

42、39;001' END IF; WHEN 1500W => IF( BTN6 = '0' AND BTN5 = '1') THEN HLMOSHI<= 1100W;ELSEIF (BTN6 = '1' AND BTN5 = 0) THEN HLMOSHI <= 1900W; ELSE HLMOSHI <=1500;HLXZ<= '010' END IF; WHEN 1100W => IF( BTN6 = '0' AND BTN5 = '1') THEN H

43、LMOSHI<= 600W;ELSEIF (BTN6 = '1' AND BTN5 = 0) THEN HLMOSHI <= 1500W;ELSE HLMOSHI <=1100;HLXZ<= '011' END IF;WHEN 600W => IF( BTN6 = '0' AND BTN5 = '1') THEN HLMOSHI<= 100W;ELSEIF (BTN6 = '1' AND BTN5 = 0) THEN HLMOSHI <= 1100W; ELSE HLMOS

44、HI <=600;HLXZ<= '100' END IF;WHEN 100W => IF (BTN6 = '1' AND BTN5 = 0) THEN HLMOSHI <= 600W; ELSE HLMOSHI <=100;HLXZ<= '101' END IF;END CASE;END IF; ELSE HLMOSHI <=1900W; END IF;END IF;END PROCESS; END WY(4)時(shí)間模塊該模塊包含的內(nèi)容豐富,可以劃分為定時(shí)、不定時(shí)部分以及數(shù)碼管顯示部分和倒計(jì)時(shí)選擇部分。定時(shí)

45、、不定時(shí)部分由另一段代碼完成,用來根據(jù)是否輸入BTN4以及BTN4的此數(shù)判斷需要倒計(jì)時(shí)的時(shí)間(更改TIME)。代碼中的TIME代表不同的倒計(jì)時(shí),綜合考慮了定時(shí)和非定時(shí)兩種狀態(tài),依次是3s、5s、10s、20s、30s、60s、90s七種狀態(tài)。主要代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MDCL ISPORT(CLK: IN STD_LOGIC;-時(shí)鐘);END MDCL;ARCHITECTURE WY OF MDCL ISSIGNAL CLK_FP: STD_LOG

46、IC_VECTOR (2 DOWNTO 0); -分頻后的時(shí)鐘信號(hào)SIGNAL CAT: STD_LOGIC_VECTOR (2 DOWNTO 0); -位選信號(hào)SIGNAL TIME: STD_LOGIC_VECTOR(2 DOWNTO 0); -與加熱有關(guān)的時(shí)間狀態(tài)SIGNAL CURRENT_STATE: STD_LOGIC; -當(dāng)前狀態(tài),是否為等待SIGNAL DISP5: STD_LOGIC_VECTOR (7 DOWNTO 0); -倒計(jì)時(shí)高位SIGNAL DISP4: STD_LOGIC_VECTOR (7 DOWNTO 0); -倒計(jì)時(shí)低位SIGNAL END: STD_LOG

47、IC; - 時(shí)間終止信號(hào);P1:PROCESS(CLK_FP(0),MSXZ)BEGINIF CLK_FP(0)'EVENT AND CLK_FP(0)= '1' THEN IF CURRUNT_STATE = '1' THEN CASE TIME ISWHEN "001" => -3SDISP5 <= "11111100"CASE DISP4 IS WHEN "11110010" => DISP4 <= "11011010" -3-2WHEN &qu

48、ot;11011010" => DISP4 <= "01100000" -2-1WHEN "01100000" => DISP4 <= "11111100" -1-0WHEN OTHERS => DISP4 <="00000000"END CASE;WHEN "010" => -5SDISP5 <= "11111100"CASE DISP4 IS WHEN "10110110" => DISP

49、4 <= "01100110"-5-4WHEN "01100110" => DISP4 <= "11110010"-4-3WHEN "11110010" => DISP4 <= "11011010" -3-2WHEN "11011010" => DISP4 <= "01100000" -2-1WHEN "01100000" => DISP4 <= "11111100&quo

50、t; -1-0WHEN OTHERS => DISP4 <="00000000"END CASE;WHEN "011" => -10SCASE DISP5 ISWHEN "01100000" => DISP5 <= "11111100" -1-0WHEN OTHERS => DISP4 <="00000000"END CASE;CASE DISP4 ISWHEN "11110110" => DISP4 <= "1

51、1111110" -9-8WHEN "11111110" => DISP4 <= "11100000" -8-7WHEN "11100000" => DISP4 <= "10111110" -7-6WHEN "10111110" => DISP4 <= "10110110" -6-5WHEN "10110110" => DISP4 <= "01100110" -5-4WHEN &

52、quot;01100110" => DISP4 <= "11110010" -4-3WHEN "11110010" => DISP4 <= "11011010" -3-2WHEN "11011010" => DISP4 <= "01100000" -2-1WHEN "01100000" => DISP4 <= "11111100" -1-0WHEN OTHERS => DISP4 <=

53、"00000000"WHEN "100" => -20SCASE DISP4 IS WHEN "11110110" => DISP4 <= "11111110" -9-8WHEN "11111110" => DISP4 <= "11100000" -8-7WHEN "11100000" => DISP4 <= "10111110" -7-6WHEN "10111110" =&

54、gt; DISP4 <= "10110110" -6-5WHEN "10110110" => DISP4 <= "01100110" -5-4WHEN "01100110" => DISP4 <= "11110010" -4-3WHEN "11110010" => DISP4 <= "11011010" -3-2WHEN "11011010" => DISP4 <= "01

55、100000" -2-1WHEN "01100000" => DISP4 <= "11111100" -1-0WHEN "11111100" => IF DISP5 /= "11111100" THEN DISP4 <= "11110110" ELSE DISP4 <= "00000000" WHEN OTHERS => DISP4 <= "00000000"END CASE;CASE DISP5 IS

56、WHEN "11011010" => IF DISP4 ="11111100" THEN DISP5 <= "01100000" -2-1WHEN "01100000" => IF DISP4 ="11111100" THEN DISP5 <= "11111100" -1-0WHEN OTHERS => DISP5 <= "00000000"END CASE;WHEN "101" => -30S

57、CASE DISP4 IS WHEN "11110110" => DISP4 <= "11111110" -9-8WHEN "11111110" => DISP4 <= "11100000" -8-7WHEN "11100000" => DISP4 <= "10111110" -7-6WHEN "10111110" => DISP4 <= "10110110" -6-5WHEN "

58、;10110110" => DISP4 <= "01100110" -5-4WHEN "01100110" => DISP4 <= "11110010" -4-3WHEN "11110010" => DISP4 <= "11011010" -3-2WHEN "11011010" => DISP4 <= "01100000" -2-1WHEN "01100000" => DI

59、SP4 <= "11111100" -1-0WHEN "11111100" => IF DISP5 /= "11111100" THEN DISP4 <= "11110110" ELSE DISP4 <= "00000000" WHEN OTHERS => DISP4 <= "00000000"END CASE;CASE DISP5 IS WHEN "11110010" => IF DISP4 ="111

60、11100" THEN DISP5 <= "11011010" -3-2WHEN "11011010" => IF DISP4 ="11111100" THEN DISP5 <= "01100000" -2-1WHEN "01100000" => IF DISP4 ="11111100" THEN DISP5 <= "11111100" -1-0WHEN OTHERS => DISP5 <= "

61、00000000"END CASE;WHEN "110" => -60SCASE DISP4 IS WHEN "11110110" => DISP4 <= "11111110" -9-8WHEN "11111110" => DISP4 <= "11100000" -8-7WHEN "11100000" => DISP4 <= "10111110" -7-6WHEN "10111110"

62、 => DISP4 <= "10110110" -6-5WHEN "10110110" => DISP4 <= "01100110" -5-4WHEN "01100110" => DISP4 <= "11110010" -4-3WHEN "11110010" => DISP4 <= "11011010" -3-2WHEN "11011010" => DISP4 <= "

63、;01100000" -2-1WHEN "01100000" => DISP4 <= "11111100" -1-0WHEN "11111100" => IF DISP5 /= "11111100" THEN DISP4 <= "11110110" ELSE DISP4 <= "00000000" WHEN OTHERS => DISP4 <= "00000000"END CASE;CASE DISP5

64、IS WHEN "10111110" => IF DISP4 ="11111100" THEN DISP5 <= "10110110" -6-5WHEN "10110110" => IF DISP4 ="11111100" THEN DISP5 <= "01100110" -5-4WHEN "01100110" => IF DISP4 ="11111100" THEN DISP5 <= "1

65、1110010" -4-3WHEN "11110010" => IF DISP4 ="11111100" THEN DISP5 <= "11011010" -3-2WHEN "11011010" => IF DISP4 ="11111100" THEN DISP5 <= "01100000" -2-1WHEN "01100000" => IF DISP4 ="11111100" THEN DISP

66、5 <= "11111100" -1-0WHEN OTHERS => DISP5 <= "00000000"END CASE;WHEN "111" => -90SCASE DISP4 IS WHEN "11110110" => DISP4 <= "11111110" -9-8WHEN "11111110" => DISP4 <= "11100000" -8-7WHEN "11100000"

67、 => DISP4 <= "10111110" -7-6WHEN "10111110" => DISP4 <= "10110110" -6-5WHEN "10110110" => DISP4 <= "01100110" -5-4WHEN "01100110" => DISP4 <= "11110010" -4-3WHEN "11110010" => DISP4 <= "

68、;11011010" -3-2WHEN "11011010" => DISP4 <= "01100000" -2-1WHEN "01100000" => DISP4 <= "11111100" -1-0WHEN "11111100" => IF DISP5 /= "11111100" THEN DISP4 <= "11110110" ELSE DISP4 <= "00000000" W

69、HEN OTHERS => DISP4 <= "00000000"END CASE;CASE DISP5 IS WHEN "11110110" => IF DISP4 ="11111100" THEN DISP5 <= "11111110" -9-8WHEN "11111110" => IF DISP4 ="11111100" THEN DISP5 <= "11100000" -8-7WHEN "1110000

70、0" => IF DISP4 ="11111100" THEN DISP5 <= "10111110" -7-6WHEN "10111110" => IF DISP4 ="11111100" THEN DISP5 <= "10110110" -6-5WHEN "10110110" => IF DISP4 ="11111100" THEN DISP5 <= "01100110" -5-4WHE

71、N "01100110" => IF DISP4 ="11111100" THEN DISP5 <= "11110010" -4-3WHEN "11110010" => IF DISP4 ="11111100" THEN DISP5 <= "11011010" -3-2WHEN "11011010" => IF DISP4 ="11111100" THEN DISP5 <= "01100000" -2-1WHEN "01100000" => IF DISP4 ="11111100" THEN DISP5 <= "11111100" -1-0WHEN OTHERS => DISP5 <= "00000000"END CASE;WHEN OTHERS => DISP5 <= "11111100" DISP4 <= "11111100"END CASE;END IF;END IF;IF (D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論