854611221微波爐定時(shí)控制器的設(shè)計(jì)(含程序 仿真)EDA課程設(shè)計(jì)_第1頁
854611221微波爐定時(shí)控制器的設(shè)計(jì)(含程序 仿真)EDA課程設(shè)計(jì)_第2頁
854611221微波爐定時(shí)控制器的設(shè)計(jì)(含程序 仿真)EDA課程設(shè)計(jì)_第3頁
854611221微波爐定時(shí)控制器的設(shè)計(jì)(含程序 仿真)EDA課程設(shè)計(jì)_第4頁
854611221微波爐定時(shí)控制器的設(shè)計(jì)(含程序 仿真)EDA課程設(shè)計(jì)_第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、sopc/eda綜合課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目: 微波爐控制與設(shè)計(jì)設(shè) 計(jì) 者: 鐘鵬 學(xué) 號(hào): 37 班 級(jí): 測(cè)控081 指導(dǎo)老師: 王忠鋒 完成時(shí)間: 2011-1-7設(shè)計(jì)報(bào)告綜合測(cè)試總評(píng)格式(10)內(nèi)容(40)圖表(10)答辯(20)平時(shí)(20)25目錄第一章 微波爐定時(shí)控制器的設(shè)計(jì)方案分析31.1 系統(tǒng)設(shè)計(jì)的要求31.2 系統(tǒng)總體功能描述31.3 各模塊的功能實(shí)現(xiàn)4第二章 微波爐定時(shí)控制器的設(shè)計(jì)步驟62.1狀態(tài)控制器的設(shè)計(jì)62.1.1 controllor狀態(tài)換圖及端口圖62.2數(shù)據(jù)裝載器loader的設(shè)計(jì)72.3烹調(diào)計(jì)時(shí)器counter的設(shè)計(jì)72.3.1烹調(diào)計(jì)時(shí)器的內(nèi)部組成原理圖82.4顯

2、示譯碼器ymq47的設(shè)計(jì)82.5鎖存器的設(shè)計(jì)9第三章 微波爐控制器的vhdl源程序103.1各模塊的vhdl源程序10第四章 總體原理圖214.1 總體功能的頂層原理圖21第五章 系統(tǒng)功能的仿真驗(yàn)證225.1 狀態(tài)控制電路仿真波形圖225.2數(shù)據(jù)裝載電路的仿真225.3 計(jì)時(shí)電路仿真235.4微波爐控制器顯示仿真245.5scq的仿真圖245.6總體功能的仿真分析25結(jié)束語26參考文獻(xiàn)27 第一章 微波爐定時(shí)控制器的設(shè)計(jì)方案分析1.1 系統(tǒng)設(shè)計(jì)的要求 現(xiàn)需設(shè)計(jì)一個(gè)微波爐控制器wblcontrollor,其外部接口如下圖所示。通過該控制器再配以4個(gè)七段數(shù)碼二極管完成微波爐的定時(shí)及信息顯示。各信號(hào)

3、的功能及要求如下: clk是秒時(shí)鐘脈沖輸入,它接收每秒一個(gè)時(shí)鐘脈沖的節(jié)拍信號(hào)。reset為復(fù)位信號(hào),高電平有效,用于芯片的復(fù)位功能。test為測(cè)試信號(hào),高電平有效,用于測(cè)試4個(gè)七段數(shù)碼二極管工作是否正常。start為開始加熱信號(hào),高電平有效,set_t信號(hào)為定時(shí)設(shè)置信號(hào),高電平時(shí)可以設(shè)置定時(shí)時(shí)間,data為定時(shí)的時(shí)間,cook為 加熱輸出(用指示燈代替),另外四個(gè)輸出分別表示顯示的定時(shí)時(shí)間的分和秒。其他功能自行擴(kuò)展并設(shè)計(jì)。1.2 系統(tǒng)總體功能描述現(xiàn)需設(shè)計(jì)的微波爐控制器wblcontrollor的外部接口如圖1-1所示,通過該控制器,再配以七段數(shù)碼二極管完成微波爐的定時(shí)信息和信息的顯示。 圖1-

4、1 wblcontrollor的端口圖 各信號(hào)功能及要求如下:clk是秒時(shí)鐘脈沖輸入,它接收每秒一個(gè)時(shí)鐘脈沖的節(jié)拍信號(hào)。reset為復(fù)位信號(hào),高電平有效,用于芯片的復(fù)位功能。test信號(hào)是測(cè)試信號(hào),高電平有效,用于測(cè)試七段數(shù)碼管工作是否正常。set_t是烹調(diào)時(shí)間設(shè)置控制信號(hào),高電平有效。data0是一個(gè)16為總線輸入信號(hào),輸入所設(shè)置的時(shí)間長(zhǎng)短,它由高到低分為4組,每一組是bcd碼輸入,分別表示分、秒十位、個(gè)位的數(shù)字,如12分59秒。start是烹調(diào)開始的控制信號(hào),高電平有效。cook是烹調(diào)進(jìn)行信號(hào),外接用于控制烹調(diào)的繼電器開關(guān),高電平時(shí)表明烹調(diào)已經(jīng)開始或正在進(jìn)行,低電平表示烹調(diào)結(jié)束或沒有進(jìn)行。

5、min_0,min_1,sec_0,sec_1是四組七位總線信號(hào),分別接4個(gè)七段數(shù)碼管,動(dòng)態(tài)的顯示完成烹調(diào)所剩的時(shí)間及測(cè)試狀態(tài)信息“0000”,烹調(diào)完畢的狀態(tài)信息“done”. 該微波爐控制器wblcontrollor的具體功能要求如下9:上電后系統(tǒng)首先處于復(fù)位狀態(tài)。在工作是首先按set_t鍵設(shè)置烹調(diào)時(shí)間,此時(shí)系統(tǒng)輸入data0的數(shù)據(jù)作為烹調(diào)所需的時(shí)間,然后系統(tǒng)自動(dòng)回到復(fù)位狀態(tài),同時(shí)4個(gè)七段數(shù)碼管顯示時(shí)間信息。在按start鍵后系統(tǒng)進(jìn)入烹調(diào)狀態(tài)。cook信號(hào)開始為高電平,此時(shí)4個(gè)七段數(shù)碼管每隔一秒鐘變化一次,用以刷新還剩剩余多少時(shí)間結(jié)束烹調(diào)。烹調(diào)結(jié)束后,cook信號(hào)變?yōu)榈碗娖剑瑫r(shí)4個(gè)七段數(shù)碼

6、管組合在一起顯示“done”的信息,然后系統(tǒng)回到復(fù)位狀態(tài)。系統(tǒng)可以通過按reset鍵隨時(shí)回到復(fù)位狀態(tài)。在復(fù)位狀態(tài)下,按test鍵在4個(gè)數(shù)碼管上會(huì)顯示“0000”的信息,它可以測(cè)試4個(gè)七段數(shù)碼管工作是否正常。1.3 各模塊的功能實(shí)現(xiàn)根據(jù)該微波爐定時(shí)控制器的設(shè)計(jì)要求,本系統(tǒng)有四個(gè)模塊:狀態(tài)控制模塊controllor,數(shù)據(jù)裝載模塊loader,烹調(diào)計(jì)時(shí)模塊counter,顯示譯碼模塊ymq47,鎖存器模塊scq。 (1)狀態(tài)控制器模塊是控制微波爐工作過程中的狀態(tài)轉(zhuǎn)換,并發(fā)出有關(guān)的控制信息,輸入信號(hào)為clk,test,set_t,start,teset,done和sel.輸出信號(hào)為ld_done,l

7、d_test,ld_clk,pt,wb等。根據(jù)輸入的控制信號(hào)來完成完成狀態(tài)轉(zhuǎn)換;ld_done指示loader裝入烹調(diào)完畢的狀態(tài)信息“done”的顯示驅(qū)動(dòng)信息數(shù)據(jù);ld_clk指示loader裝入設(shè)置的烹飪時(shí)間數(shù)據(jù);ld_test指示loader裝入用于測(cè)試的數(shù)據(jù)“0000”以顯示驅(qū)動(dòng)信息數(shù)據(jù);cook指示烹調(diào)正在進(jìn)行中,并提示計(jì)數(shù)器進(jìn)行減計(jì)數(shù),pt和wb是兩種狀態(tài)的選擇顯示信息。(2)數(shù)據(jù)裝載器loader的功能是根據(jù)controllor發(fā)出的控制信號(hào)選擇定時(shí)時(shí)間,測(cè)試數(shù)據(jù)或烹調(diào)完成信息的裝入。當(dāng)ld_done為高電平時(shí),輸出烹調(diào)完畢的信息數(shù)據(jù);ld_clk為高電平時(shí),輸出設(shè)置的烹飪時(shí)間數(shù)據(jù)

8、;ld_test為高電平是,輸出測(cè)試的數(shù)據(jù)。輸出信號(hào)load用于指示counter將處于數(shù)據(jù)裝入狀態(tài)。(3)計(jì)時(shí)器counter的功能是負(fù)責(zé)烹調(diào)過程中的時(shí)間遞減計(jì)數(shù),并提供烹調(diào)完成時(shí)的狀態(tài)信號(hào)供controllor產(chǎn)生烹調(diào)完成信號(hào)。load為高電平時(shí)完成裝入功能,cook為高電平時(shí)執(zhí)行逆計(jì)數(shù)功能。輸出done指示烹調(diào)完成。min_1,min_0,sec_1,sec_0為完成烹調(diào)所剩的時(shí)間及測(cè)試狀信息“0000”,烹調(diào)完畢的狀態(tài)信息“done”的bcd碼信息。(4)顯示譯碼器ymq47的功能是負(fù)責(zé)將各種顯示信息的bcd碼轉(zhuǎn)換成七段數(shù)碼管顯示的驅(qū)動(dòng)信息編碼。需要譯碼的信息有:數(shù)字0-9,字母d,o

9、,n,e。 1-2 ymq47原理圖第二章 微波爐定時(shí)控制器的設(shè)計(jì)步驟2.1狀態(tài)控制器的設(shè)計(jì) 狀態(tài)控制器的功能是控制微波爐工作過程中的狀態(tài)轉(zhuǎn)換,并發(fā)出有關(guān)的控制信息,因此可以用一個(gè)狀態(tài)機(jī)來實(shí)現(xiàn)。經(jīng)過對(duì)微波爐工作過程中的狀態(tài)轉(zhuǎn)換條件及輸出信號(hào)進(jìn)行分析,我們可以得到其狀態(tài)轉(zhuǎn)換圖如圖2-1所示。2.1.1 controllor狀態(tài)換圖及端口圖 lamp_testset_clockdone_msgtimeridle圖2-1 controllor的狀態(tài)轉(zhuǎn)換圖說明:set_t烹調(diào)時(shí)間設(shè)置狀態(tài),lamp_test數(shù)碼管測(cè)試狀態(tài);done_msg完成信息顯示狀態(tài),timer減數(shù)定時(shí)狀態(tài)。controllor的

10、端口圖如下圖所示: 圖2-2 controllor的端口圖2.2數(shù)據(jù)裝載器loader的設(shè)計(jì)loader的輸入、輸出端口如圖2-3所示,根據(jù)其應(yīng)完成的邏輯功能,它本質(zhì)上就是一個(gè)三選一數(shù)據(jù)選擇器。數(shù)據(jù)選擇是指經(jīng)過選擇,把多個(gè)通道的數(shù)據(jù)傳送到唯一的公共數(shù)據(jù)通道上去。實(shí)現(xiàn)數(shù)據(jù)選擇功能的邏輯電路稱為數(shù)據(jù)選擇器。它的作用相當(dāng)于多個(gè)輸入的單刀多擲開關(guān)。數(shù)據(jù)選擇器的電路結(jié)構(gòu)一般由與或門陣列組成,也有用傳輸門開關(guān)和門電路混合而成的。 數(shù)據(jù)選擇器的應(yīng)用很廣,它可以作二進(jìn)制比較器、二進(jìn)制發(fā)生器、圖形發(fā)生電路、順序選擇電路。本設(shè)計(jì)采用一個(gè)進(jìn)程來完成,但由于三個(gè)被選擇的數(shù)據(jù)只有一個(gè)來自輸入端口,因此另兩個(gè)被選擇的數(shù)據(jù)

11、則通過在進(jìn)程的說明部分定義兩個(gè)常數(shù)來產(chǎn)生。由于用于顯示“8888”的常數(shù)all 8需分解成4個(gè)8,分別經(jīng)過四個(gè)4-7譯碼器譯碼后才是真正的顯示驅(qū)動(dòng)信息編碼,因此該常數(shù)應(yīng)是4個(gè)分段的4位bcd碼,故應(yīng)設(shè)為“1000100010001000”。同理,顯示“done”的常數(shù)done可設(shè)為“1010101111001101”,其中d,o,n,e的bcd碼分別為:“1010”、“1011”、“1100”、“1101”。 該模塊主要實(shí)現(xiàn)對(duì)狀態(tài)控制器發(fā)出的狀態(tài)信息的相應(yīng)數(shù)據(jù)的裝載功能。 圖2-3 loader的端口圖2.3烹調(diào)計(jì)時(shí)器counter的設(shè)計(jì)計(jì)數(shù)是一種最簡(jiǎn)單基本的運(yùn)算,計(jì)數(shù)器就是實(shí)現(xiàn)這種運(yùn)算的邏輯

12、電路。計(jì)數(shù)器在數(shù)字系統(tǒng)中主要是對(duì)脈沖的個(gè)數(shù)進(jìn)行計(jì)數(shù),以實(shí)現(xiàn)測(cè)量、計(jì)數(shù)和控制的功能,同時(shí)兼有分頻功能。計(jì)數(shù)器是由基本的計(jì)數(shù)單元和一些控制門所組成,計(jì)數(shù)單元?jiǎng)t由一系列具有存儲(chǔ)信息功能的各類觸發(fā)器構(gòu)成,這些觸發(fā)器有rs觸發(fā)器、t觸發(fā)器、d觸發(fā)器及jk觸發(fā)器等10。計(jì)數(shù)器在數(shù)字系統(tǒng)中應(yīng)用廣泛,如在電子計(jì)算機(jī)的控制器中對(duì)指令地址進(jìn)行計(jì)數(shù),以便順序取出下一條指令,在運(yùn)算器中作乘法、除法運(yùn)算時(shí)記下加法、減法次數(shù),又如在數(shù)字儀器中對(duì)脈沖的計(jì)數(shù)等等。計(jì)數(shù)器按計(jì)數(shù)進(jìn)制不同,可分為二進(jìn)制計(jì)數(shù)器、十進(jìn)制計(jì)數(shù)器、其他進(jìn)制計(jì)數(shù)器和可變進(jìn)制計(jì)數(shù)器,若按計(jì)數(shù)單元中各觸發(fā)器所接收計(jì)數(shù)脈沖和翻轉(zhuǎn)順序或計(jì)數(shù)功能來劃分,則有異步計(jì)數(shù)

13、器和同步計(jì)數(shù)器兩大類,以及加法計(jì)數(shù)器、減法計(jì)數(shù)器、加/減計(jì)數(shù)器等,如按預(yù)置和清除方式來分,則有并行預(yù)置、直接預(yù)置、異步清除和同步清除等差別,按權(quán)碼來分,則有“8421”碼,“5421”碼、余“3”碼等計(jì)數(shù)器,按集成度來分,有單、雙位計(jì)數(shù)器等等10。烹調(diào)計(jì)時(shí)器counter為減數(shù)計(jì)數(shù)器,其最大計(jì)時(shí)時(shí)間為59分59秒,因此我們可以用兩個(gè)鍵計(jì)數(shù)十進(jìn)制計(jì)數(shù)器cnt10和兩個(gè)減計(jì)數(shù)六進(jìn)制cnt6級(jí)聯(lián)構(gòu)成。2.3.1烹調(diào)計(jì)時(shí)器的內(nèi)部組成原理圖 烹調(diào)計(jì)時(shí)器counter的內(nèi)部組成原理圖如圖2-4所示。圖2-4 counter的內(nèi)部組成原理圖說明:clk為時(shí)鐘輸入信號(hào),load為裝載控制信號(hào),cook為使能信

14、號(hào),data15.0為數(shù)據(jù)輸入信號(hào), sec_1,sec_0,min_1,min_0分別為妙,分的十位個(gè)位的輸出,done為烹調(diào)狀態(tài)的信息指示信號(hào)。當(dāng)使能段信號(hào)有效,且時(shí)鐘上升沿來時(shí)計(jì)數(shù)器根據(jù)裝載數(shù)據(jù)的信息裝入數(shù)據(jù),并完成相應(yīng)的功能。2.4顯示譯碼器ymq47的設(shè)計(jì)本顯示譯碼器不但要對(duì)數(shù)字0-9進(jìn)行顯示譯碼,還要對(duì)字母d,o,n,e進(jìn)行顯示譯碼。其譯碼對(duì)照表如表2-1所示, 表2-1 ymq47的譯碼對(duì)照表顯示的數(shù)字或字母bcd編碼七段顯示驅(qū)動(dòng)編碼 000000111111 100010000110200101011011300111001111401001100110501011101101

15、 601101111101701110000111810001111111910011101111d10101011110o10111011100n11001010100e110111110012.5鎖存器的設(shè)計(jì) 鎖存器scq的輸入、輸出端口如圖2-5所示 圖2-5 scq的端口圖此單元主要用于完成定時(shí)時(shí)間到蜂鳴報(bào)警信息的實(shí)現(xiàn),當(dāng)時(shí)鐘上升沿到來且清零信號(hào)無效時(shí),同時(shí)cook信號(hào)開始有高電平變?yōu)榈碗娖綍r(shí),輸出信號(hào)則是蜂鳴器報(bào)警。其實(shí)質(zhì)就是一個(gè)d觸發(fā)器的功能。第三章 微波爐控制器的vhdl源程序3.1各模塊的vhdl源程序下面是各模塊的源程序:library ieee;-定義庫文件use ieee

16、.std_logic_1164.all;use ieee.std_logic_arith.all; entity controllor is port (reset:in std_logic;-復(fù)位信號(hào) set_t:in std_logic;-時(shí)間設(shè)置信號(hào) start:in std_logic;-開始烹調(diào)信號(hào) test:in std_logic;-顯示電路測(cè)試信號(hào) clk:in std_logic;-時(shí)鐘信號(hào) done:in std_logic;-完成信號(hào) sel:in std_logic; cook:out std_logic; ld_test:out std_logic; ld_clk:o

17、ut std_logic; ld_done:out std_logic; pt:out std_logic; wb:out std_logic); end entity controllor;architecture art of controllor is type state_type is (idle,lamp_test,set_clock,timer,done_msg);-狀態(tài) signal nxt_state ,curr_state:state_type; begin process(clk,reset) is begin if reset =1 then -清零 if sel=0t

18、hen pt=1;wb=0; else pt=0;wb=1 ; end if; curr_state=idle; elsif clk event and clk=1 then curr_state=nxt_state; end if; end process; process(clk, curr_state,set_t,start,test,done) is begin nxt_state=idle; ld_test=0; ld_done=0; ld_clk=0; cookld_test=1;cookld_clk=1;cookld_done=1;cook if (test=1) then -初

19、始狀態(tài) nxt_state=lamp_test; ld_test=1; elsif set_t=1 then nxt_state=set_clock; ld_clk=1; elsif (start=1)and(done=0) then nxt_state=timer; cook if done=1 then -減法計(jì)數(shù)定時(shí)狀態(tài) nxt_state=done_msg; ld_done=1; else nxt_state=timer; cook=1; end if; end case; end process; end architecture art; 數(shù)據(jù)裝載電路的vhdl實(shí)現(xiàn)library

20、ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;entity loader is port( datain:in std_logic_vector(15 downto 0); ld_test:in std_logic; ld_clk:in std_logic; ld_done: in std_logic; dataout:out std_logic_vector(15 downto 0); load:out std_logic );end loader;architecture rtl of loader is beg

21、in process(datain,ld_test,ld_clk,ld_done) constant alls: std_logic_vector(15 downto 0)-測(cè)試信息 :=1000100010001000; constant done:std_logic_vector(15 downto 0)-烹調(diào)完成信息 :=1010101111001101; variable temp:std_logic_vector(2 downto 0);begin load -測(cè)試 dataout -烹調(diào)完成 dataout -設(shè)置時(shí)間 dataoutnull; end case ;end proc

22、ess;end rtl;計(jì)時(shí)電路的vhdl實(shí)現(xiàn)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity cnt10 is port( clk:in std_logic; load:in std_logic; en:in std_logic; datain:in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0); carry_out:out std_logic); end cnt10;architecture rt

23、l of cnt10 issignal tmp:std_logic_vector(3 downto 0); begin process(clk,load,en ) begin if load=1thentmp=datain; elsif clkevent and clk=1then if en=1then if tmp=0000then tmp=1001;else tmp=tmp-1;end if ;end if ;end if;end process;process(clk,tmp) begin if clkevent and clk=1then if tmp=0000then carry_

24、out=1; else carry_out=0; end if; end if;end process; q=tmp;end rtl;-六進(jìn)制減法計(jì)數(shù)器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt6 is port( clk:in std_logic; load:in std_logic; en:in std_logic; datain:in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0);

25、carry_out:out std_logic );end cnt6;architecture rtl of cnt6 issignal tmp:std_logic_vector(3 downto 0 );begin process(clk,load,en )begin if load=1then tmp=datain; elsif clkevent and clk=1then if en=1then if tmp=0000then tmp=0101; else tmp=tmp-1; end if ; end if ; end if; end process; process(clk,tmp)

26、 begin if clkevent and clk =1then if tmp=0000 then carry_out=1; else carry_out=0; end if; end if; end process;q=tmp; end rtl;計(jì)時(shí)電路模塊設(shè)計(jì)library ieee;use ieee.std_logic_1164.all; entity counter is port ( cook:in std_logic; load:in std_logic; clk:in std_logic; data:in std_logic_vector(15 downto 0); sec0:

27、out std_logic_vector(3 downto 0); sec1:out std_logic_vector(3 downto 0); min0:out std_logic_vector(3 downto 0); min1:out std_logic_vector(3 downto 0); done:out std_logic ); end counter; architecture rtl of counter is -定義十進(jìn)制和六進(jìn)制計(jì)數(shù)器電路模塊 component cnt10 is port( clk:in std_logic; load:in std_logic; en:

28、in std_logic; datain:in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0); carry_out:out std_logic); end component cnt10; component cnt6 is port( clk:in std_logic; load:in std_logic; en:in std_logic; datain:in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0); carry_out

29、:out std_logic ); end component cnt6; signal clk0:std_logic; signal s0:std_logic; signal s1:std_logic; signal s2:std_logic; signal s3:std_logic;begin -元件例化 u1:cnt10 port map(clk,load,cook,data(3 downto 0),sec0,s0); u2:cnt6 port map(s0,load,cook,data(7 downto 4),sec1,s1); u3:cnt10 port map(s1,load,co

30、ok,data(11 downto 8),min0,s2); u4:cnt6 port map(s2,load,cook,data(15 downto 12),min1,s3); done=s0 and s1 and s2 and s3;end rtl;頂層模塊的vhdl實(shí)現(xiàn)library ieee;use ieee.std_logic_1164.all;entity top is port( data:in std_logic_vector(15 downto 0); reset:in std_logic; set_t:in std_logic; start:in std_logic; te

31、st:in std_logic; clk:in std_logic; cook:out std_logic; sec0:out std_logic_vector(3 downto 0); sec1:out std_logic_vector(3 downto 0); min0:out std_logic_vector(3 downto 0); min1:out std_logic_vector(3 downto 0); end top; architecture rtl of top is -定義狀態(tài)控制電路模塊 component controllor is port( reset: in s

32、td_logic; set_t:in std_logic; start:in std_logic; test:in std_logic; clk:in std_logic; done:in std_logic; cook:out std_logic; ld_test:out std_logic; ld_clk:out std_logic; ld_done:out std_logic); end component controllor; component loader is -定義數(shù)據(jù)裝載電路模塊 port( datain:in std_logic_vector(15 downto 0);

33、ld_test:in std_logic; ld_clk:in std_logic; ld_done:in std_logic; dataout:out std_logic_vector(15 downto 0); load:out std_logic); end component loader;-定義計(jì)時(shí)電路模塊 component counter is port( cook:in std_logic; load:in std_logic; clk:in std_logic; data:in std_logic_vector(15 downto 0); sec0:out std_logic

34、_vector(3 downto 0); sec1:out std_logic_vector(3 downto 0); min0:out std_logic_vector(3 downto 0); min1:out std_logic_vector(3 downto 0); done:out std_logic ); end component counter; signal cook_tmp:std_logic; signal test_tmp:std_logic; signal clk_tmp:std_logic; signal done_tmp:std_logic; signal loa

35、d_tmp:std_logic; signal done:std_logic;signal data_tmp:std_logic_vector(15 downto 0); begin cookdout7dout7dout7dout7dout7dout7dout7dout7dout7dout7dout7dout7dout7dout7dout7=0000000; end case; end process;end architecture art; -ymq47的源程序鎖存scq的vhdl實(shí)現(xiàn)library ieee;use ieee.std_logic_1164.all;use ieee.std

36、_logic_unsigned.all;entity scq is port( clk:in std_logic; done:in std_logic; clr:in std_logic; arlm: out std_logic);end entity;architecture art of scq isbegin process( clk,done,clr)begin if (done=1 and clr=0) then arlm=1; else arlm=0; end if ;end process;end;第四章 總體原理圖4.1 總體功能的頂層原理圖本頂層設(shè)計(jì)采用原理圖輸入的方式進(jìn)行設(shè)計(jì),本框圖有五個(gè)部分組成。然后對(duì)此圖進(jìn)行編譯仿真最終實(shí)現(xiàn)該微波爐定時(shí)控制器的各種功能。圖4-1頂層原理圖該頂層原理圖由以上的五個(gè)模塊組成,其中輸入端的控制模塊是主要功能的實(shí)現(xiàn)控制部分,由它發(fā)出控制信息來提示下面各模塊完成什么功能。其他模塊則根據(jù)控制信息成數(shù)據(jù)的裝載(裝入8888、done、時(shí)間數(shù)據(jù))、計(jì)時(shí)的遞減等功能。 輸出端則主要由譯碼器實(shí)現(xiàn)信息的顯示功能,并且指示控制器處于那種工作狀態(tài)下。第五章 系統(tǒng)功能的仿真驗(yàn)證5.1 狀態(tài)控制電路仿真波形圖 圖5-1 c

溫馨提示

  • 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. 人人文庫網(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)論