關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 利用有限狀態機的交通燈控制系統設計與仿真

        利用有限狀態機的交通燈控制系統設計與仿真

        作者: 時間:2012-03-09 來源:網絡 收藏

        h.JPG
        將編譯后的程序進行,得到燈控制與倒計時模塊波形圖如圖3所示。由波形可以看出,燈按St0→*St1→St2→St3 →St0順序進行循環。light按主路紅、主路黃、主路綠、支路紅、支路黃、支路綠的順序排列。如在St0下,light的值為“001100 ”,當hold緊急情況信號為高電平時,主路、支路均亮紅燈,并且停止倒計時。當rst復位信號為高電平時,恢復到初態。

        本文引用地址:http://www.104case.com/article/160987.htm

        c.JPG



        3 頂層文件的及仿真
        將分頻模塊和顯示控制模塊均分別用VHDL進行編程、仿真,檢查其功能正確性,并包裝元件入庫建立元件符號。在上述3個模塊完成之后,按照圖1所示電路結構,用原理圖輸入方式進行連接,構成的頂層文件,并在Quartus II平臺上進行編譯、仿真,引腳鎖定,得到仿真波形如圖4所示,圖中信號light、a(b)、dec7sa(dec7sb)分別用二進制、十進制、十六進制表示。

        b.JPG


        從仿真波形中可以看出:當復位信號rst=1有效時,電路復位,此時light復位為“001100”,置a方向和b方向計數器為最大值24和29;當rst=0無效,緊急信號hold=1有效時,light為“100100”表示兩路紅燈均亮的狀態;當rst=0,hold=0時,恢復電路原來的light為“001100”狀態,a和b進行倒計時計數。7段顯示譯碼器a方向的dec7sa和b方向的dec7sb分別顯示計數器a和b的數值,如當a計數到21時,dec7sa的高位2和低位1的0gfedcba=01011011B(5B)和00000110 B(06),即5806,同理當b計數到26時,dec7sb的值為5B7D,所以交通燈的仿真結果完全正確。
        最后將頂層文件下載到可編程邏輯器件EP1C12Q240C8中,經測試,交通燈正常工作,完全符合要求。

        4 結束語
        狀態機及其設計技術是數字系統中實現高效率、高可靠性邏輯控制的重要途徑。在交通燈控制系統設計中,通過對控制功能的分析和實際狀態的選擇,把交通燈的控制歸納為4種工作狀態,并建立狀態轉移關系,較為準確、直觀的反映了實際需求。在用VHDL語言設計實現交通燈控制系統時,既有傳統的基于邏輯單元構建的整體組成結構方式,也有純軟件編程實現的邏輯模塊。設計方法靈活、實現簡單、性能穩定的特點。
        以上狀態機的設計方法具有通用性,對于較為復雜的狀態機可采用多個進程,分別完成任意復雜組合邏輯和時序邏輯,包括進程間狀態值的傳遞以及狀態轉換值的輸出,對類似含有邏輯控制功能的系統,通過自頂向下設計、分步實現,是切實可行的方法。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 馆陶县| 鄂托克旗| 洛宁县| 甘洛县| 彝良县| 信宜市| 万年县| 滕州市| 卢龙县| 建德市| 冷水江市| 朔州市| 张家口市| 宝山区| 台南县| 图木舒克市| 年辖:市辖区| 若尔盖县| 阿合奇县| 刚察县| 雷山县| 德格县| 衡山县| 建瓯市| 江阴市| 白城市| 吉木萨尔县| 孟连| 灵山县| 烟台市| 屏东市| 滨州市| 印江| 珲春市| 花莲市| 昆山市| 沾化县| 盐亭县| 黄龙县| 综艺| 翁牛特旗|