盧建華*
?
Proteus在交通燈控制系統中的應用
盧建華*
(武漢科技大學計算機學院,湖北武漢,430065)
Proteus VSM是一款功能強大的電路仿真軟件,有效地利用Proteus VSM,能較好地解決硬件實驗條件不足的問題,讓學生方便地在個人電腦上完成計算機外圍電路的設計與運行。本文以十字路口交通燈控制系統為例,介紹了如何利用Proteus VSM軟件仿真設計計算機系統硬件電路的方法。
Proteus VSM;硬件設計;交通燈控制;仿真
在計算機硬件類課程的教學過程中,由于受實驗設備、實驗場地等因素的限制,實踐環節大多是紙上談兵,學生對所學內容沒有直觀認識,從而失去了興趣。引入Proteus VSM,使得學生可以隨時隨地在個人電腦上模擬試驗環節,大大地提升了學生對硬件類課程的學習興趣。
Proteus是由英國Labcenter Electronics公司開發的一款功能強大的EDA工具軟件,它集電路設計、分析、制板和仿真等功能于一身,不僅是模擬電路、數字電路、模/數混合電路的設計與仿真平臺,更是目前世界上最先進、最完整的多種微控制器系統的設計與仿真平臺。Proteus提供了大量的模擬與數字元器件及外圍設備、虛擬儀器,并且具有對常用控制芯片及其外圍電路組成的綜合系統的交互仿真功能。在當今的計算機專業教學過程中普遍存在著一種現象,就是學生對硬件類相關課程存在畏難情緒,學習興趣不高,主要原因是硬件類實驗環節受實驗設備、實驗場地的限制。學生對硬件系統的設計很難付諸實施,無法感受設計效果,不像計算機軟件,編制好應用程序,在個人電腦上就可以運行,看到運行結果。
把Proteus VSM引入到計算機硬件類課程的實踐教學環節,能夠讓學生不受實驗設備、實驗場地的限制,在個人電腦上輕松地完成各種控制系統的硬件設計、仿真運行,直觀地感受到設計的效果,可以大大地提升學生對計算機硬件類課程的學習興趣。
為了讓學生更好地理解所學的各種集成電路芯片的功能,并提高綜合運用各類芯片設計控制系統的能力,我們在課程設計中讓學生利用Proteus VSM設計一個十字路口交通燈控制系統。
設計的基本要求是:用Proteus VSM中提供的交通燈元器件模擬實際的交通燈,用七段數碼管顯示當前交通狀態的剩余時間。對交通燈各狀態之間轉換的具體要求如下:
(1)主干道和支干道交替允許通行,主干道每次放行45秒,支干道每次放行25秒。綠色交通燈亮表示允許通行,紅色交通燈亮表示禁止通行,每次從綠燈亮變為紅燈亮的過程中,亮黃燈5秒作為過渡。
(2)用倒計時方式顯示當前交通燈狀態的剩余時間。
(3)電路具有清零功能,使計數器從初始狀態開始計數,并顯示對應的交通燈狀態。
(4)提供人工干預控制選項,使得在特殊情況下能夠只允許主干道通行或者只允許支干道通行。
根據設計題目要求,該控制系統存在4種狀態:S0——主干道亮綠燈,支干道亮紅燈;S1——主干道亮黃燈,支干道亮紅燈;S2——支干道亮綠燈,主干道亮紅燈;S3——支干道亮黃燈,主干道亮紅燈,狀態轉換表如表1所示。

表1 交通燈控制器的狀態轉換表
根據4種狀態轉換的條件,可以畫出狀態轉換圖如圖1所示。十字路口交通指示燈采用交通燈專用器件Traffic Light,如圖2所示。

圖1 交通燈控制器狀態轉換圖

圖2 交通燈專用器件Traffic Light
(引腳送高電平時對應的燈亮)
選用兩片帶預置功能的BCD加/減計數器74HC190,根據設計要求,主干道的通行時間為45s,考慮裝入初值的過程需要占用1s的時間,所以在S0狀態時,對主干道計數器預置初值39用于亮綠燈的計時,減為0時轉換到S1狀態,再裝入4用于亮黃燈的計時,以滿足主干道通行45s的要求;同時,在S0狀態時對支干道計數器預置初值44用于亮紅燈的計時,以滿足主干道通行期間,支干道亮紅燈的要求。同理,從S1狀態過渡到S2狀態時,對支干道計數器預置初值19用于亮綠燈的計時,減為0時轉換到S3狀態,再裝入4用于亮黃燈的計時,以滿足支干道通行25s的要求;同時,在S2狀態時對主干道計數器預置初值24用于亮紅燈的計時,以滿足支干道通行期間,主干道亮紅燈的要求。圖3為裝入初值24的減1計數器單元電路,其中上面一片74HC190完成對十位的計數,下面一片完成對個位的計數。

圖3 初值為24的倒計時減1計數器電路
裝入計數初值后,個位減1計數器開始對輸入脈沖做減1計數,當個位減為0時,令十位計數器計數使能端有效,完成十位減1的操作。計數器的輸出鎖存到鎖存器74HC373的輸出端,提供給字形譯碼器74HC248進行譯碼,驅動數碼管顯示計數值。根據需要可設計同類型的計時單元電路,預置的初值分別設置為39、44、19、24,用作主干道綠燈、支干道紅燈、支干道綠燈、主干道紅燈的計時初值。黃燈亮5s的計時用另一片74HC190實現,并將其輸出分別送至主干道和支干道輸出顯示電路的個位字形譯碼器。
由于是多個單元電路分時有效,為字形譯碼器74HC248提供顯示數據,所以在計數器輸出端設置一片鎖存器74HC373,用于控制顯示器顯示哪個計數器的計數值。
狀態S0:初始狀態,主干道亮綠燈,數碼管從初值39開始倒計時顯示;支干道亮紅燈,數碼管從初值44開始倒計時顯示。當主干道計數器減到0而支干道計數器減到5時,切換到狀態S1。
狀態S1:主干道計數器從初值4開始倒計時,顯示黃燈,支干道繼續亮紅燈,當兩個計數器都減到0時,切換到狀態S2。
狀態S2:主干道亮紅燈,數碼管從初值24開始倒計時顯示;支干道亮綠燈,數碼管從初值19開始倒計時顯示。當支干道計數器減到0而主干道計數器減到5時,切換到狀態S3。
狀態S3:支干道計數器從初值4開始倒計時,顯示黃燈,主干道繼續亮紅燈,當兩個計數器都減到0時,切換到狀態S0,開始新一輪的狀態轉換。
表2列出了4種不同狀態下的交通燈控制信號,其中,J1612、J1611是狀態轉換計數器74HC161的輸出,GA、YA、RA和GB、YB、RB分別是主干道和支干道的綠燈、黃燈、紅燈的控制信號。

表2 4種不同狀態下的交通燈控制信號表
4種狀態之間的轉換由一片74HC161控制完成,其輸出經74HC139譯碼后產生主干道、支干道的綠、黃、紅三色交通燈的控制信號,電路如圖4所示。

圖4 由狀態輸出驅動主、支干道信號燈的電路
圖4中的RST按鈕實現對電路的復位,使電路進入初始狀態S0,然后在沒有人工干預的情況下,4種狀態自動轉換,狀態轉換計數器的使能端STen由圖5所示的電路產生。

圖5 狀態轉換計數器使能控制電路
圖5中J390~J396是狀態S0時,主干道綠燈減1計數器的輸出端。J190~J196是狀態S2時,支干道綠燈減1計數器的輸出端。J0~J3是狀態S1和S3時,黃燈減1計數器的輸出端。由兩個4選1的多路選擇器74HC153,在不同狀態下控制STen輸出高電平。也就是,在狀態S0(對應狀態計數器74HC161的輸出J1612、J1611=00)的40s減1計數器減到0,或在狀態S2(對應狀態計數器74HC161的輸出J1612、J1611=10)的20s減1計數器減到0時,使74HC153的輸出STen為高電平,從而使74HC161的輸出分別轉換為01和11,即完成了從S0到S1、從S2到S3的狀態轉換。同理,當狀態為S1和S3(對應狀態計數器74HC161的輸出J1612、J1611分別是01和11)時,若5s減1計數器減到0,則Sten為高電平,從而完成從S1到S2、從S3到S0的狀態轉換。
在特殊情況下,如果需要單邊通行,則采用人工干預,設置兩個開關,通過開關的狀態控制電路進入主干道單邊通行,或者支干道單邊通行,并阻止電路進行狀態轉換。
在非人工干預情況下,4個狀態自動轉換,仿真運行效果如圖6所示。

圖6 基于Proteus VSM的交通燈控制電路仿真效果
利用Proteus VSM對十字路口交通燈控制系統進行設計,不需要任何硬件電路實物,可以將設計理念以仿真的方式呈現出來。學生可以在自己的個人電腦上,在Proteus環境中設計好硬件電路,通過仿真就能看到生動、逼真的運行效果,對于理解各硬件芯片的工作原理和使用方法有很大的幫助,也降低了進行硬件系統設計和調試的成本,有助于提高學生學習計算機硬件的興趣。
[1] 盧建華, 邵平凡. 數字邏輯與數字系統設計. 北京: 清華大學出版社, 2015.
[2] [美]Richard E. Haskell Darrin M.Hanna 著, 鄭利浩等譯. FPGA數字邏輯設計教程----Verilog. 北京: 電子工業出版社, 2010.
[3] 李晶皎, 李景宏. 邏輯與數字系統設計. 北京: 清華大學出版社, 2008.
[4] 陳逸菲, 孫寧. 微機原理與接口技術實驗及實踐教程——基于Proteus仿真. 北京: 電子工業出版社, 2016.
[5] 朱清慧, 張鳳蕊. Proteus教程(第2版). 北京: 清華大學出版社, 2011.
Application of Proteus in Traffic Light Control System
LU Jianhua*
(Wuhan University of Science and Technology, Hubei Wuhan, 430065, China)
Proteus VSM is a powerful circuit simulation software, effective use of Proteus VSM, can better solve the problem of insufficient hardware experimental conditions, so that students can easily complete the design and operation of computer peripheral circuits on the personal computer. This paper takes crossroads traffic light control system as an example to introduce how to use Proteus VSM software to simulate the design of computer system hardware circuit.
Proteus VSM; hardware design; traffic light control; simulation
10.19551/j.cnki.issn1672-9129.2018.01.002
G64
A
1672-9129(2018)01-0005-03
盧建華. Proteus在交通燈控制系統中的應用[J]. 數碼設計, 2018, 7(1): 5-6.
LU Jianhua. Application of Proteus in Traffic Light Control System[J]. Peak Data Science, 2018, 7(1): 5-6.
2017-10-19;
2017-11-15。
2014 年湖北省高等學校省級教學研究項目——基于CPLD/FPGA 的計算機硬件類課程教學體系改革與應用(2014227)。
盧建華(1968-),女,黑龍江,副教授,碩士研究生學歷,研究方向:嵌入式系統。E-mail: 2646069240@qq.com