新聞中心

        EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > Verilog HDL基礎(chǔ)教程之:實例5 交通燈控制器

        Verilog HDL基礎(chǔ)教程之:實例5 交通燈控制器

        作者: 時間:2013-08-22 來源:網(wǎng)絡(luò) 收藏

        的內(nèi)容及目標

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

        1.的主要訓(xùn)練內(nèi)容

        通過 語言設(shè)計一個簡易的交通等控制器,實現(xiàn)一個具有兩個方向、共8個燈并具有時間倒計時功能的交通燈功能。

        2.實例目標

        通過本實例,讀者應(yīng)達到下面的目標。

        掌握設(shè)計一個交通等控制器的方法。

        初步掌握語言的設(shè)計方法。

        原理簡介

        交通燈是城市交通中不可缺少的重要工具,是城市交通秩序的重要保障。本實例就是實現(xiàn)一個常見的十字路口交通燈功能。讀者通過學(xué)習(xí)這個交通燈控制器,可以實現(xiàn)一個更加完整的交通燈。例如實現(xiàn)實時配置各種燈的時間,手動控制各個燈的狀態(tài)等。

        一個十字路口的交通一般分為兩個方向,每個方向具有紅燈、綠燈和黃燈3種,另外每個方向還具有左轉(zhuǎn)燈,因此每個方向具有4個燈。

        這個交通燈還為每一個燈的狀態(tài)設(shè)計了倒計時數(shù)碼管顯示功能。可以為每一個燈的狀態(tài)設(shè)置一個初始值,燈狀態(tài)改變后,開始按照這個初始值倒計時。倒計時歸零后,燈的狀態(tài)將會改變至下一個狀態(tài)。

        值得注意的是,交通燈兩個方向的燈的狀態(tài)是相關(guān)的。也就是說,每個方向的燈的狀態(tài)影響著另外一個方向的燈的狀態(tài),這樣才能夠協(xié)調(diào)兩個方向的車流。如果每個方向的燈是獨立變化的,那么交通燈就沒有了意義。

        如表1所示是兩個方向(假設(shè)為A,B方向)燈的狀態(tài)的對應(yīng)情況。

        表1 交通燈兩個方向燈狀態(tài)對應(yīng)表

        方向A

        方向B

        紅燈亮

        黃燈亮或綠燈亮

        直行綠燈亮

        紅燈亮

        黃燈亮

        紅燈亮

        左轉(zhuǎn)燈

        紅燈亮

        在實際的交通系統(tǒng)中,直行綠燈、左轉(zhuǎn)綠燈和紅燈的變化之間都應(yīng)該有黃燈作為緩沖,以保證交通的安全。因此假如我們假設(shè)方向A的黃燈亮的時間持續(xù)5s,直行綠燈燈亮的時間持續(xù)40s,左轉(zhuǎn)燈燈亮的時間持續(xù)15s,則方向B紅燈燈亮的時間持續(xù)為(直行綠燈+黃燈+左轉(zhuǎn)綠燈+黃燈)所消耗的時間,一共為65s。

        同樣假設(shè)方向B黃燈亮的時間持續(xù)5s,直行綠燈燈亮的時間持續(xù)30s,左轉(zhuǎn)燈燈亮的時間持續(xù)15s,則方向B紅燈燈亮的時間持續(xù)為(直行綠燈+黃燈+左轉(zhuǎn)綠燈+黃燈)所消耗的時間,一共為55s。

        具體時間參數(shù)的設(shè)定讀者可以根據(jù)需要進行修改,但是一定要保證兩個方向的燈的狀態(tài)符合表1的要求。

        代碼分析

        下面給出交通燈控制器的Verilog 源代碼,首先介紹交通燈端口信號的定義及說明,讀者可以通過這些端口將此交通燈模塊實例化至自己的工程設(shè)計中。

        • CLK:同步時鐘。
        • EN:使能信號,為高電平時,控制器開始工作。
        • LAMPA:控制A方向4盞燈的狀態(tài);其中,LAMPA0~LAMPA3分別控制A 方向的左拐燈、綠燈、黃燈和紅燈。
        • LAMPB:控制B方向4盞燈的狀態(tài);其中,LAMPB0~LAMPB3分別控制B 方向的左拐燈、綠燈、黃燈和紅燈。
        • ACOUNT:用于A方向燈的時間顯示,8位,可驅(qū)動兩個數(shù)碼管。
        • BCOUNT:用于B方向燈的時間顯示,8位,可驅(qū)動兩個數(shù)碼管。


        上一頁 1 2 下一頁

        關(guān)鍵詞: Verilog HDL 基礎(chǔ)教程 實例

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 新乐市| 怀安县| 万安县| 格尔木市| 昌吉市| 丰顺县| 安宁市| 保定市| 鄂伦春自治旗| 西吉县| 舟山市| 建始县| 团风县| 偃师市| 讷河市| 张家口市| 阿图什市| 镇安县| 茶陵县| 阿拉善左旗| 通榆县| 黔南| 色达县| 集安市| 巫溪县| 库伦旗| 陆良县| 四平市| 郯城县| 昭通市| 多伦县| 昌邑市| 裕民县| 隆化县| 公主岭市| 将乐县| 德庆县| 宜都市| 广汉市| 马山县| 海南省|