前言:本站為你精心整理了AT89C51的交通信號燈控制系統范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
摘要:隨著經濟的發展我國汽車保有量不斷增加,道路交通問題日益凸顯。本文主要研究以at89c51單片機作為控制系統,實現對十字路通信號燈的控制。以東西向為例,綠燈亮80秒、黃燈亮3秒、紅燈亮60秒、綠燈亮80秒依次循環實現對于東西向車流的控制。采用AT89C51單片機控制交通信號燈具有簡單可靠等優點。
關鍵詞:單片機;設計
1AT89C51單片機概述
1.1AT89C51單片機簡介AT89C51單片機是ATMEL公司出品的一款與MCS51兼容的一款單片機,屬于第三代單片機。AT89C51提供4K的Flash存儲器,128字節RAM,4個IO口,2個16位定時器,一個中斷系統,一個串行通信口,片內震蕩器和時鐘電路。AT89C51支持兩種軟件可選的節電工作模式。空閑模式停止CPU的工作但允許其他功能部件如RAM,中斷系統等繼續工作,掉電模式保持RAM中的內容不丟失其他所有部件都將停止工作一直到下一個硬件復位。1.274HC138譯碼器簡介74HC138譯碼器是一個高速CMOS器件,具有三個輸入端ABC及其3個特有的使能輸入端兩個低有效(E1和E2)一個高有效(E3)。只有E1,E2置低電平,E3置高電平時譯碼器才能正常譯碼。否則譯碼器輸出將全為高電平。74HC138譯碼器按照輸入端三位二進制輸入碼的條件從8個輸出端譯出一個低電平輸出。
2方案論證
利用單片機設計一個十字路通燈控制系統。利用用單片機控制LED燈模擬指示。東西向通行時間為8秒,南北向通行時間為60秒,緩沖時間為3秒。以東西向為例,東西向綠燈亮80秒,黃燈亮3秒,紅燈亮60秒,綠燈再亮80秒依次循環。
3設計原理
3.1硬件原理分析本系統主要由單片機控制系統、譯碼模塊、數碼管顯示模塊、交通燈模塊等組成。單片機控制控制模塊:選用AT89C51單片機,外加震蕩電路為單片機提供脈沖信號。將51單片機的P3.0,P3.1,P3.2用作普通IO口使用,利用這三個口控制交通信號燈模塊。P3.0口輸出為高電平綠燈亮,P3.1口輸出為高電平黃燈亮,P3.2口輸出為高電平紅燈亮。利用P1.0,P1.1,P1.2控制譯碼模塊(3-8譯碼器)。利用P2口與譯碼模塊控制數碼管顯示,P2口輸出值即為譯碼器選中的當前數碼管所顯示的值。譯碼模塊:由一個3-8譯碼器構成。輸出端只利用Y0,Y1,Y2,Y3四個口。輸入端由單片機的P1.0,P1.1,P1.2控制。如:當前P1.0輸出為高,P1.1輸出為高,P1.2輸出為低,則Y3輸出為低選中最右端數碼管顯示。P1口不斷輸出不同值,依次輪流選中四個數碼管進行顯示,在整個系統運行過程中都要不斷地進行選中即進行掃描。數碼管顯示模塊:由單片機P2口與譯碼器共同控制。由譯碼器選中當前的數碼管,當前數碼管顯示P2口傳過來的值。交通燈模塊:由紅黃綠三個LED燈組成。由單片機的P3.0,P3.1,P3.2控制。P3.0口輸出為高電平綠燈亮,P3.1口輸出為高電平黃燈亮,P3.2口輸出為高電平紅燈亮。
3.2軟件原理分析單片機的控制程序主要由條件標志位g的判斷模塊、綠燈顯示模塊、黃燈顯示模塊、紅燈顯示模塊構成。條件標志位g判斷模塊:設條件標志位g,若g=0執行綠燈顯示程序,若g=1執行黃燈顯示程序,若g=2執行紅燈顯示程序。綠燈顯示模塊:首先進行一段時間的延時,然后對f進行判斷(f初始值為80)若f>0則直接輸出f值,采用不斷取余的方式顯示f的十位個位。若f<=0則將f重新賦值并修改條件標志位g再輸出顯示一次f后返回轉入黃燈顯示程序執行。黃燈顯示模塊:基本步驟與綠燈顯示模塊相同,只是顯示所賦f初始值(f初值為3)不同。紅燈顯示模塊:基本步驟與綠燈顯示模塊相同,只是顯示所賦f初始值(f初值為60)不同。
3.3相應程序代碼4結論所設計的系統能夠完成十字路通信號燈控制。利用AT89C51單片機完成交通信號燈的控制簡單易行,便于修改價格低廉。對于經濟城市交通問題日益突出的今天來說具有一定的實用價值。所設計的交通信號燈控制系統還有很多不足如不能通過按鍵等方式完成對信號設定時常的控制等,但也實現了利用單片機對一個十字路通信號燈的控制。
作者:崔兆春 單位:合肥工業大學