在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關(guān) 閉

            新聞中心

            EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 自動(dòng)售貨機(jī)控制模塊 VHDL 程序設(shè)計(jì)及 FPGA 實(shí)現(xiàn)

            自動(dòng)售貨機(jī)控制模塊 VHDL 程序設(shè)計(jì)及 FPGA 實(shí)現(xiàn)

            作者: 時(shí)間:2011-01-02 來(lái)源:網(wǎng)絡(luò) 收藏

            1)狀態(tài)定義:S0表示初態(tài),S1表示投入5角硬幣,S2表示投入1元硬幣,S3表示投入1元5角硬幣,S4表示投入2元硬幣。

            本文引用地址:http://www.biyoush.com/article/162525.htm


            2)輸入信號(hào):取投幣信號(hào)為輸入邏輯變量,用兩位的矢量state_inputs表示。state_inputs(0)表示投入1元硬幣,state_inputs(1)表示投入5角硬幣。輸入信號(hào)為1表示投入硬幣,輸入信號(hào)為0表示未投入硬幣。


            3)輸出信號(hào):給出礦泉水和找零為兩個(gè)輸出變量,用兩位的矢量comb_outputs表示。comb_outputs(0)表示輸出貨物,comb_outputs(1)表示找5角零錢。輸出信號(hào)為1表示輸出貨物或找零,輸出信號(hào)為0表示不輸出貨物或不找零。


            根據(jù)圖1所示的狀態(tài)轉(zhuǎn)換圖,用VHDL中的CASE_WHEN結(jié)構(gòu)和IF_THEN_ELSE語(yǔ)句實(shí)現(xiàn)控制功能,源程序如下:
            LIBRARY IEEE; --庫(kù)和程序包的使用說(shuō)明
            USE IEEE.STD_LOGIC_1164.ALL;
            ENTITY sellmachine IS --實(shí)體定義
            PORT(clk,reset: IN std_logic;
            state_inputs:IN std_logic_vector(0 TO 1);
            comb_outputs:OUT std_logic_vector(0 TO 1));
            END sellmachine;
            ARCHITECTURE state OF sellmachine IS --結(jié)構(gòu)體
            TYPE fsm_st IS (S0,S1,S2,S3,S4); --狀態(tài)枚舉類型定義
            SIGNAL current_state,next_state:fsm_st; --狀態(tài)信號(hào)的定義
            BEGIN
            reg:PROCESS(reset,clk) --時(shí)序進(jìn)程
            BEGIN
            IF reset='1' THEN current_state=S0; --異步復(fù)位
            ELSIF rising_edge(clk) THEN
            current_state=next_state; --狀態(tài)轉(zhuǎn)換
            END IF;
            END PROCESS;
            corn:PROCESS(current_state,state_inputs) --組合進(jìn)程
            BEGIN
            CASE current_state IS
            WHEN S0=>comb_outputs=00; --現(xiàn)態(tài)S0
            IF state_inputs=00 THEN next_state=S0; --輸入不同,次態(tài)不同
            ELSIF state_inputs=01 THEN next_state=S1;
            ELSIF state_inputs=10 THEN next_state=S2;
            END IF;
            WHEN S1=>comb_outputs=00; --現(xiàn)態(tài)S1
            IF state_inputs=00 THEN next_state=S1; --輸入不同,次態(tài)不同
            ELSIF state_inputs=01 THEN next_state=S2;
            ELSIF state_inputs=10 THEN next_state=S3;
            END IF;
            WHEN S2=>comb_outputs=00; --現(xiàn)態(tài)S2
            IF state_inputs=00 THEN next_state=S2; --輸入不同,次態(tài)不同
            ELSIF state_inputs=01 THEN next_state=S3;
            ELSIF state_inputs=10 THEN next_state=S4;
            END IF;
            WHEN S3=>comb_outputs=10; --現(xiàn)態(tài)S3
            IF state_inputs=00 THEN next_state=S0; --輸入不同,次態(tài)不同
            ELSIF state_inputs=01 THEN next_state=S1;
            ELSIF state_inputs=10 THEN next_state=S2;
            END IF;
            WHEN S4=>comb_outputs=11; --現(xiàn)態(tài)S4
            IF state_inputs=00 THEN next_state=S0; --輸入不同,次態(tài)不同
            ELSIF state_inputs=01 THEN next_state=S1;
            ELSIF state_inputs=10 THEN next_state=S2;
            END IF;
            END CASE;
            END PROCESS;
            END state;



            關(guān)鍵詞: 收發(fā)器

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉