關 閉

        新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁晋县| 万盛区| 西畴县| 桑植县| 秀山| 宣汉县| 普兰县| 赤水市| 瑞丽市| 吴川市| 谷城县| 嘉祥县| 咸丰县| 桂阳县| 万全县| 吴堡县| 高密市| 集贤县| 陇西县| 灵川县| 肥乡县| 筠连县| 乡宁县| 获嘉县| 景东| 瑞金市| 湄潭县| 秦安县| 鄂托克前旗| 富裕县| 三亚市| 永胜县| 苗栗市| 大埔区| 杭锦后旗| 玉环县| 辉县市| 葫芦岛市| 额尔古纳市| 辽宁省| 太保市|