1 緒論1.1設計目的單片機具有性價比高、集成度高、可靠性好、抗干擾性強等特點,廣泛運用于各種智能儀器中;谛滦鸵巹t的可編程交通控制系統,可以實現對車輛、行人的控制,使的交通便于管理。所以,采用單片機自動控制交通燈有現實的社會意義。
通過本次設計,使學生不僅更加深刻領會微型計算機從硬件組成到軟件編程的基本原理和知識,而且更要學會應用,務必做到理論和實踐相結合,掌握硬件分析、軟件設計的基本思想和方法,提高分析問題、解決問題和工程實踐的能力。
1.2設計內容1)設計一個十字路口交通燈控制器。用單片機控制LED燈模擬指示。模擬東西方向的十字路口交通信號控制情況。南北方向主干道計時時間為60s,東西方向次干道計時時間為45s。
2)紅綠燈不變期間,在七段數碼管上顯示每秒倒計時。
3)計時到最后5秒時,兩個方向的黃燈同時閃爍直至計時到0。
2 系統設計方案
2.1設計思路模擬交通燈控制器就是使用單片機來控制一些LED燈和數碼管,模擬真實交通燈的功能。當南北主干道通車時綠燈亮,而東西次干道干道紅燈亮;當55s通車時間到后,主干道綠燈熄滅,黃燈亮,黃燈亮5s后由主干道切換到次干道通車。此時主干道黃燈熄滅,紅燈亮,而次干道紅燈熄滅,綠燈亮,次干道開始通車; 40s通車時間到后,次干道綠燈熄滅,黃燈亮,黃燈亮5s后由次干道切換到主干道通車。此時次干道黃燈熄滅,紅燈亮;而主干道紅燈熄滅,綠燈亮,如此不斷循環。紅、黃、綠交替閃亮,利用數碼管倒計數顯示間隔等,用于管理十字路口的車輛及行人交通。
2.2方案設計利用AT89C52單片機完成交通信號燈控制器的設計,該交通信號燈控制器由一條主干道和一條支干道匯合成十字路口,在每個入口處設置紅、綠、黃三色信號燈,數碼管顯示剩余時間。紅燈亮禁止通行,綠燈亮允許通行,黃燈亮則給行駛中的車輛有時間停在禁行線外。用紅、綠、黃發光二極管作信號燈,8個共陰極數碼管顯示剩余時間,
根據設計功能及要求,我們可得系統的原理框圖如圖2-1所示。
圖2-1 系統原理圖(見51hei附件)
3 系統硬件電路設計
3.1 AT89C52單片機AT89C52是一個低電壓,高性能CMOS 8位單片機,片內含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業中有著廣泛的應用。
AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,3個16位可編程定時計數器,2個全雙工串行通信口,2 個讀寫口線,AT89C52可以按照常規方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的 Flash存儲器可有效地降低開發成本。
如下圖3-1所示:
圖3-1 AT89C52單片機
3.1.1晶振電路設計時鐘電路用于產生MCS-52單片機工作時所必須的時鐘控制信號。其內部電路在時鐘信號控制下,嚴格地按時序執行指令進行工作。在執行指令時,CPU首先要到程序存儲器中取出需要執行的指令操作碼,然后譯碼,并由時序電路產生一系列控制信號去完成指令所規定操作。
本設計采用12MHz晶振和兩個27Pf瓷片電容,他們構成一個穩定的自激振蕩器。該電容的大小影響振蕩器頻率的高低、振蕩器的穩定性和起振的快速性。為單片機提供標準時鐘。其中兩個瓷片電容起微調作用。 如圖3-2所示:
圖3-2 晶振電路
3.1.2復位電路設計復位引腳RST通過一個斯密特觸發器與復位電路相連,斯密特觸發器用來抑制噪聲,在每個機器周期的S5P2,斯密特觸發器的輸出電平由復位電路采樣一次,然后才能得到內部復位操作所需要的信號。
復位電路通常采用上電自動復位和按鈕復位兩種方式。
該設計采用加電直接復位,復位電容采用10uF,電阻10000歐。加電瞬間,RES管腳為高電平。通過電阻回路放電,使電壓逐漸降為零,從而實現了復位功能。
其連接圖如下圖3-3所示:
圖3-3 復位電路
3.2顯示部分電路設計3.2.1數碼管選擇此處采用的數碼管時共陰極數碼管,G、F、E、D、C、B、A七個端口是輸入端口,對其各位進行賦值,置位則亮,復位則滅,用此來顯示出相應的數字;1、2兩端口用來控制高位和低位的選通顯示,只要對端口置位,便可以選擇該端口,并對其所代表的位進行賦值,顯示。數碼管如下圖3-5所示。
圖3-5 數碼管
3.2.2十字路口交通燈設計一條主干道和一條次干道匯合成十字路口,南北方向道路為主干道,東西方向干道為次干道。每個路口都采用了三個LED燈來顯示,分別代表了紅黃綠三種燈,來模擬路口交通燈的變換。LED信號燈如下圖3-6所示。
圖3-6 LED信號燈設計
3.3系統硬件總電路圖根據設計要求和所需電路,得到系統硬件總電路圖如圖3-7所示。
圖3-7 系統硬件總電路圖
4 系統軟件程序設計4.1主程序設計4.1.1總體流程圖
4.2其他子程序設計4.2.1循環流程控制思路








5 調試與仿真5.1 Proteus軟件系統仿真打開Proteus軟件,按照硬件系統圖3-7所示接線,連線完畢后,通過keil把編好的c語言程序轉換為.hex文件,并將其放入單片機內。
設置好仿真器后,編譯程序無誤后調試執行程序,結果顯示符合要求。
5.2仿真結果根據功能要求分別仿真各種情況下的亮燈情況,具體如下:
1.如下圖5-1仿真圖所示,南北方向主干道亮綠燈,東西次干道方向亮紅燈。
圖5-1 南北綠燈東西紅燈
2.如下圖5-2所示,南北方向倒計時5s后變為黃燈,東西為綠燈。
圖5-2南北黃燈東西紅燈
3.如下圖5-3所示,東西方向變為綠燈,南北方向變為紅燈。
圖5-3南北紅燈燈東西綠燈
4.如下圖5-4所示,東西方向在變為黃燈