本文設計的紅綠燈分布于南北道和東西道,當南北道為紅燈時,東西道為綠燈或黃燈,當東西道為紅燈時,南北道為綠燈或黃燈。紅燈亮時間為60秒,綠燈亮時間55秒,黃燈亮時間為5秒。具體如表格所示。 路口示意圖如下圖所示,其中1、3為一組,2、4為一組,同一組亮燈時間相同。同時路燈旁設有8位數碼管以提醒行人燈光切換剩余時間。
圖 1:十字路口交通燈示意圖 設計思路設計的基本思路如下流程圖所示,主要由脈沖信號發生電路,遞減計時器、數碼管顯示譯碼,交通燈切換譯碼,倒計時預置譯碼電路部分組成。 圖 2:設計思路結構圖 交通燈切換電路亮燈組合分析,以1代表亮燈,0代表滅燈,同一時間亮燈情況有如下表所示組合。
51hei.png (7.45 KB, 下載次數: 352)
下載附件
2019-12-27 01:22 上傳
由表可見,亮燈組合狀態有Q1、Q2、Q3、Q4四種,按時間順序依次執行。 可以通過90芯片產生4進制數碼信號,由74Ls139芯片譯碼并對輸出進行取反,形成0001→0010→0100→1000信號順序,以此選擇亮燈組合。 下面是74ls90和74ls139引腳圖及功能表 圖 3:74ls90引腳圖 圖 4:74ls功能表 圖 5:74ls90計數輸出 圖 6:74ls48引腳圖 圖 7:74ls48功能表 以D1、D2、D3、D4表示譯碼輸出,Y表示亮燈組合輸出。其選擇關系如下表所示。 根據輸入輸出關系可列下列關系式; Y1=D1+D2 Y2=D3 Y3= D4 Y4=D3+D4 Y5=D1 Y6=D2 根據關系式可以設計如下電路圖: 圖 8:交通燈切換電路仿真圖 時鐘脈沖發生器脈沖發生器由555定時器,兩個電阻和兩個電容構成,其連接電路如下圖: 圖 9:時鐘脈沖發生器仿真圖 向555芯片提供5~12V直流電源供電,555芯片Q引腳輸出秒脈沖,其輸出波形如下圖 圖 10:脈沖發生器輸出波形圖 通過選擇固定值R和C可以控制脈沖頻率,公式如下。  數碼管顯示譯碼電路在紅綠燈狀態時同時也伴有LED數碼管顯示倒計時時間以提醒路人燈的變換。 遞減計數可以使用74ls192或74ls190實現,數碼管顯示譯碼可以通過74ls47或74ls48實現,數碼管采用8位共陽數碼管。本文設計采用74ls192和74ls48. 74Ls192及74Ls48的引腳圖及功能表如下: 圖 11:74ls192引腳圖 圖 12:74ls192功能表 圖 13:74ls48引腳圖 圖 14:74ls48真值表 可以看到當MR引腳置低,PL,CPU引腳置高位時,給予CPD上升沿脈沖信號有向下計數功能。P0、P1、P2、P3為預置位引腳,當PL引腳為低電平,Q0、Q1、Q2、Q3引腳初始化輸出為預置電平信號。 倒計時顯示電路仿真如下圖: 進制切換譯碼電路不同燈保持亮的狀態的時間不同,下表為不同燈的亮狀態時間 轉到芯片,即對應不同的進制。改變74ls192的預置位,可以實現不同進制的計數。 根據輸入輸出表格,可以列出以下關系式: Y0=D1 Y1=D0 Y2=D0+D1 Y3=0 Y4=D1+D2 Y5=0 Y6=D1+D2 Y7=0 根據關系式,有如下電路圖; 總電路:總電路如下圖所示 可以看到,圖中通過555脈沖發生電路提供脈沖到遞減計時器,通過74ls48進行顯示譯碼,使用8位數碼管進行顯示剩余時間,當一個計時周期完畢后給予交通燈切換電路以一個脈沖,切換交通燈狀態。如此循環往復,實現交通燈的指示功能。 設計感想這個設計花了近兩周的時間,現在看來,似乎完全沒有必要,當思維從局部邏輯形式的死磕裝到系統邏輯關系式的推斷,就會發現其實很簡單,但當思維還沒有突破那一層界限,又好像一切都是有所必要。這如果是采用單片機來做,將會相當容易,但不會引起像現在這樣極大興趣,很刺激,但也有難以避免的遺憾,當你回頭發現你用盡力氣做的可以很簡單,一方面,后悔怎么早沒想到,一方面又會想著好像會有更多可以優化的地方,比如現在正落鍵的這篇文稿,此時也是半夜,整篇文稿從芯片組合入手,對于組合邏輯的分析只有兩部分,其他部分更多是直接使用集成芯片,通過讀芯片手冊直接使用,其實還想對芯片內部的移位寄存器等進行入手分析,但好像,其這也是很難有窮盡,也很費時間的。本次的作業提交看來也已晚,還是有些拖延癥,但這篇文稿現在更像是給自己的答案,但比起很多時候為感時間匆忙的敷衍,這次花去的時間也有些價值,算是寬慰吧。
51hei.png (8.81 KB, 下載次數: 331)
下載附件
2019-12-27 01:24 上傳
完整的Word格式文檔51黑下載地址:
紅綠交通燈.rar
(1.04 MB, 下載次數: 137)
2019-12-26 16:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|