|
設計一個基于單片機的交通燈信號控制器。已知東、西、南、北四個方向各有紅黃綠色三個燈, 在東西方向有兩個數碼管,在南北方向也有兩個數碼管。要求交通燈按照表1 進行顯示和定時切換, 并要求在數碼管上分別倒計時顯示東西、南北方向各狀態的剩余時間。
模塊1:系統設計
(1)任務分析與整體設計思路試題要求實現的功能主要包括計時功能、動態掃描以及狀態的切換等幾部分。 計時功能:要實現計時功能則需要使用定時器來計時,通過設置定時器的初始值來控制溢出中 斷的時間間隔,再利用一個變量記錄定時器溢出的次數,達到定時1 秒中的功能。當計時每到1 秒 鐘后,東西、南北信號燈各狀態的暫存剩余時間的變量減1。當暫存剩余時間的變量減到0 時,切 換到下一個狀態,同時將下一個狀態的初始的倒計時值裝載到計時變量中。開始下一個狀態,如此 循環重復執行。動態掃描:需要使用4 個數碼管分別顯示東西、南北的倒計時數字,將暫存各狀態剩余時間的 數字從變量中提取出“十位”和“個位”,用動態掃描的方式在數碼管中顯示。 整個程序依據定時器的溢出數來計時,每計時1S 則相應狀態的剩余時間減1,一直減到0 時觸 發下一個狀態的開始。 (2)單片機型號及所需外圍器件型號,單片機硬件電路原理圖 交通燈硬件電路原理圖選用MCS51 系列AT89S51 單片機作為微控制器,選擇兩個四聯的共陰極數碼管組成8 位顯示模 塊,由于AT89S51 單片機驅動能力有限,采用兩片74HC244 實現總線的驅動,一個74HC244 完成共 陰極數碼管位控線的控制和驅動,另一個74HC244 完成數碼管的7 段碼輸出,在7 段碼輸出口上各 串聯一個100 歐姆的電阻對7 段數碼管限流。用P3 口的P3.0-P3.5 完成發光二極管的控制,實現 交通燈信號的顯示,每個發光二極管串聯500 歐姆電阻起限流作用。硬件電路原理圖如圖3-5 所示。 (3)程序設計思路,單片機資源分配以及程序流程
|