1. 程式人生 > 實用技巧 >通行時間可調的兩路口交通燈設計實驗(基於Multisim模擬)

通行時間可調的兩路口交通燈設計實驗(基於Multisim模擬)

一、設計要求簡述:

  1. 東西方向的紅、黃、綠燈和南北方向的紅、黃、綠燈按照正常的工作時序進行工作,黃燈亮時應為閃爍狀態。
  2. 通行時間和黃燈閃亮時間可以在0-99秒內任意設定。
  3. 十字路口要有數字顯示作為時間提示,以倒計時按照時序要求進行顯示;具體為:當某方向綠燈亮時,置顯示器為某值,然後以每秒減1計數方式工作,直至減到數為“0”,十字路口紅、綠等交換,一次工作迴圈結束,而進入下一步某方向的工作迴圈。
  4. 可以手動調整和自動控制,夜間為黃燈閃耀狀態。

二、方案論證(設計理念)

本次實驗需要設計一個十字路口的交通燈控制電路。通過控制開關控制10進位制加/減計數器74LS190的置數位,設計出符合題目要求的N進位制倒計時計數器。然後通過邏輯分析和表示式化簡將計數器的輸出和控制開關的輸入訊號經過一些邏輯變換後作為交通燈的控制訊號,這樣的設計方式可基本完成實驗結果。

三、過程論述

1.倒計時設計

1)晶片選用

由題目可知路口需要0~99的N進位制的倒計時電路,而顯示數碼管的輸入訊號是分成十位和個位分別顯示。所以計數晶片選用10進位制加/減計數器74LS190,由2塊74LS190級聯設計成N進位制的減計數器。

2)級聯設計

查閱74LS190功能表可知,當計數方式控制端U’/D接高電平時,計數器進行減計數。因為74LS190的使能端CTEN’是低電平有效,所以將低位片的進位錯位輸出端MAX/MIN經過一個非門連線到高位片的使能端CTEN’能把兩個計數器級聯起來。

3)置數設計

實驗需要的是N進位制的減計數,設數N的十位個位分別為A1A0,所以計數器的輸出應為(A1A0-1)→0→(A1A0-1),所以在計數器計數到0時,應控制置數位DCBA和置數使能端LOAD’將計數器置數為(A1A0-1),置數使能端的輸入訊號此時可由高位片的錯位輸出端MAX/MIN通過一個非門輸入。

可調交通燈_置數設計

由模擬可知,74LS190是非同步置數的,所以直接在0時置數為(A1A0-1)的話,計數就變為了(A1A0-1)→10→(A1A0-1),不符合預期情況。此時的解決辦法是將置數位輸入訊號設為(A1A0+10),然後把高位片的輸出訊號進行減1操作,這樣可以達到預期效果。高位片輸出減1的電路可求出1的二進位制補碼(1111)後,由2進位制超前進位全加器74LS283實現。

2.訊號燈控制設計

訊號燈的有效電平為高電平。
首先設定的是第一個路口綠燈和黃燈的交替點亮。
假設整個通行時間為0~A1A0,其中黃燈在B1B0→0點亮,綠燈在A1A0→B1B0點亮。
由要求可知,綠燈在計數為A1A0→B1B0時點亮,此時紅燈和黃燈熄滅,黃燈在B1B0→0時點亮,此時綠燈和紅燈熄滅。因為紅燈在下一個計數週期才會點亮,所以先設計此計數週期綠燈和黃燈的交替點亮。

1)黃燈和綠燈設計

分析可知,綠燈變為黃燈的條件為計數值B1B0變為(B1B0-1),所以可以先讓綠燈亮,把計數值n=B1B0作為黃燈亮,綠燈不亮的條件。綠燈亮與黃燈亮在一個技術週期內是互反的邏輯,所以可以在計數值n=B1B0時利用JK觸發器設定一個T’觸發器的翻轉電路來控制綠燈和黃燈的點亮。
計數值n=B1B0的值為黃燈亮的時間,可由控制開關輸入。可以由兩片超前進位全加器74LS85D級聯構成一個比較電路,比較N進位制計數器的輸出n和控制開關輸入的黃燈點亮的時間B1B0,當比較相等的結果輸出OAEQB作為T’觸發器的CP。T’觸發器的輸出Q作為綠燈的輸入,Q’作為黃燈的輸入。
分析可知,當計數為0時會由黃燈亮變為綠燈亮,此時也會有一個翻轉。所以再設定一個比較電路,比較計數器的輸出n和值0,將相等的結果輸出OAEQB,和剛剛上一個比較電路的相等輸出進行或運算之後的結果作為T’觸發器的時鐘CP。

可調交通燈_黃燈和綠燈

2)紅燈設計

分析可知,紅燈是在一個計數週期內點亮,在下一個計數週期又熄滅,相當於每經過一個計數週期就翻轉一次。所以可以使用T’觸發器的翻轉功能實現。當計數值n=0時翻轉,前面已經有計數器輸出n和值0的比較結果,所以把此比較電路的輸出OAEQB作為T’觸發器的CP,觸發器的輸出Q作為紅燈的輸入。這樣就可以得到紅燈邏輯輸入。

可調交通燈_紅燈

3)設計優化

因為在紅燈點亮時,綠燈和黃燈都不亮,而剛剛設計的綠燈和黃燈在每個計數週期都會交替點亮。所以將紅燈輸入端的反與剛剛設計的綠燈的輸入端經過一個與門,重新作為綠燈的輸入端。黃燈同理。這樣完成了一個路口紅綠燈交替點亮的預期效果。(這裡我把紅燈對應觸發器的輸出Q’作為紅燈的輸入,保證綠燈先亮)
設綠燈和黃燈原先的輸入分別為G0和Y0,優化後的輸入分別為G和Y,紅燈的輸入為R。燈亮值為1,燈滅值為0,燈正常工作時為Q。得到交通燈真值表如下所示:
可調交通燈_優化真值表

得到綠燈和黃燈輸入的邏輯表示式為:
G = R’&G0
Y = R’&Y0

可調交通燈_優化

3.兩個路口關聯設計

分析可知,兩個路口的紅燈是分別在不同的計數週期內交替點亮的,所以第二個路口紅燈的輸入可由第一個路口紅燈輸入的反來得到。
綠燈和黃燈的輸入端接法與第一個路口綠燈和黃燈的接法類似。取前面未和第一個路口紅燈相與之前的綠燈和黃燈的對應的輸入,和第二個路口的紅燈相與之後就可得到。

可調交通燈_兩路口關聯

4.夜間模式設計

夜間模式需要兩個路口的黃燈閃爍,綠燈和紅燈熄滅。設計一個開關來控制是白天模式還是夜間模式。開關閉合的時候為白天模式,開關斷開的時候為夜間模式。
設綠燈和紅燈原先的輸出分別為G0和R0,加上開關控制後的輸出分別為G和R。燈亮值為1,燈滅值為0,燈正常工作時為Q。開關閉合為1,開關斷開為0。得到真值表如下所示:

可調交通燈_夜間模式真值表

得到綠燈和紅燈輸出的邏輯表示式為:
G = K&G0
R = K&R0

所以綠燈和紅燈的控制可由開關與原來的綠燈和紅燈的輸入端通過一個與門來控制。
黃燈由分析可知,開關閉合的時候黃燈正常工作,開關斷開的時候黃燈一直閃爍。
設黃燈原先的輸出為Y0,加開關控制後的輸出為Y,燈亮值為1,燈滅值為0,燈正常工作時為Q。開關閉合為1,開關斷開為0。得到真值表如下所示:

可調交通燈_夜間模式黃燈真值表

得到黃燈輸出的邏輯表示式為:
可調交通燈_夜間模式黃燈輸出表達式

所以可將黃燈輸入的反和開關經過一個與非門,得到的結果再和時鐘CP經過一個與門之後得到新結果作為黃燈新的輸入,這樣可以達到預期效果。

可調交通燈_夜間模式
在最後我再把整個電路的結構給大家看看。
可調交通燈