<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的電梯控制器系統(tǒng)設(shè)計(jì)

          基于FPGA的電梯控制器系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2012-03-12 來源:網(wǎng)絡(luò) 收藏

          c. 模塊和指示模塊:該模塊根據(jù)各層按鈕被按下的情況,控制電梯運(yùn)行,并設(shè)置指示燈。模塊定義如下:

            module Lift_cONtrol(

            keyclk, //處理按鍵時(shí)鐘

            liftclk, //電梯運(yùn)行控制時(shí)鐘

            reset, //電梯復(fù)位按鈕,復(fù)位后電梯停在一樓;

            stop_r, //電梯內(nèi)各層按鍵信息

            up_r, //電梯外各層向上按鍵信息

            down_r, //電梯外各層向下按鍵信息

            position, //當(dāng)前樓層位置,每1位代表1層,當(dāng)相應(yīng)的位置1時(shí)表示電梯運(yùn)行至該層;

            stoplight, //內(nèi)部各層按鈕指示燈,每1位代表1層,當(dāng)相應(yīng)位置1時(shí)表示指示該層指示燈亮;

            uplight, //除頂層外各層外部按鈕指示燈,每1位代表1層,當(dāng)相應(yīng)位置1時(shí)表示該層up燈亮;

            downlight, //除首層外各層外部按鈕指示燈,每1位代表1層,當(dāng)相應(yīng)的位置1時(shí)表示該層的down指示燈亮;

            doorlight); //用于開門指示燈,為1表示開門,為0表示關(guān)門


          d. 顯示模塊:該模塊用于譯碼顯示當(dāng)前電梯所在樓層,模塊定義如下:

            module Display(liftclk,position,disp);

          2.2 模塊設(shè)計(jì)與實(shí)現(xiàn)

          對于分頻器模塊、按鍵請求模塊、模塊和指示模塊和顯示模塊這四個(gè)模塊,模塊和指示模塊涉及到電梯各種運(yùn)行情況的處理,其算法是最復(fù)雜的,也是最容易出錯(cuò)的。本文采用使用有限狀態(tài)機(jī)來設(shè)計(jì)該模塊,具體的算法描述如下。

          將電梯運(yùn)行定義為7個(gè)狀態(tài),具體的狀態(tài)定義如下:

            S0:onfloor1,表示在樓層1;

            S1:dooropen_up,上升過程中,電梯開門5s;

            S2:doorclose_up,上升過程中,電梯關(guān)門;

            S3:up_lift,表示電梯上升一層;

            S4:dooropen_down,下降過程中,電梯開門5s;

            S5:doorclose_down,下降過程中,電梯關(guān)門;

            S6:down_lift,表示電梯下降一層。



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();