單片機交通燈畢業(yè)設計
在日常生活中,交通燈是一項必不可少的公共設施,可以維護道路的暢通和交通的秩序。如若交通燈發(fā)生故障,那么后果可想而知。因此,交通燈的正常工作就顯得尤為重要。由于交通燈對于公共安全的重要性,本文基于51單片機模擬雙向交通燈的設計。下面是小編整理的單片機交通燈畢業(yè)設計,歡迎來參考!
一、交通燈的設計要求
雙向交通燈紅、黃、綠燈對應相同,紅燈5s,黃燈1s,綠燈5s。當有急救車到達時,雙向交通信號為全紅,以便讓急救車通過。假定急救車通過路口時間為10s,急救車通過后,交通燈恢復中斷前狀態(tài)。
二、AT89C51單片機的中斷系統(tǒng)介紹
計算機系統(tǒng)中止當前的正常工作,轉(zhuǎn)入處理突發(fā)事件,等到突發(fā)事件處理完畢之后,再回到原來被中斷的地方,繼續(xù)原來的工作,這樣的整個過程稱為中斷。能夠?qū)崿F(xiàn)這種功能的.部件稱為中斷系統(tǒng)。產(chǎn)生中斷請求的事件稱為中斷源。其中AT89C51單片機具有5個中斷源,在本次設計中我們采用的是外部事情中斷請求源0,以及T1計數(shù)溢出事情中斷請求這兩個中斷源。
三、AT89C51單片機的定時/計數(shù)器介紹
在單片機中,通常計數(shù)器和定時器設計成一個部件――計數(shù)器,當計數(shù)脈沖的周期一定時,計數(shù)器就作為定時器,定時時間就是計數(shù)器計數(shù)次數(shù)和計數(shù)脈沖周期的乘積。在此我們采用的就是計數(shù)器的這個定時功能。
四、交通燈的硬件電路搭建
本次設計的硬件電路搭建如圖1。兩路交通燈的6個燈依次接在51單片機P1口的P1.0到P1.5,另外在單片機的P3.2口接一個按壓式開關(guān)作為救護車到來時的中斷源。
五、交通燈的軟件編程設計
中斷部分的程序設計。首先,應將51單片機中中斷允許寄存器IE的EA位設為1,這代表允許中斷源向CPU申請中斷,即CPU開放中斷。同時將IE的EX0位設為1,這代表允許外中斷0向CPU申請中斷。這樣的話,當救護車來的時候,可以借此發(fā)出中斷請求。接下來,應將定時器控制寄存器TCON的IT0位設為1,這代表外部中斷0的觸發(fā)方式選擇為邊沿觸發(fā)方式。由于筆者采用了按壓式的開關(guān)作為中斷的發(fā)出方式,這樣會產(chǎn)生一個脈沖,因此應當選擇邊沿觸發(fā)方式。定時部分的程序設計。首先,應將控制寄存器TCON的TR1位置1,啟動定時器T1計數(shù)。接下來,應將方式寄存器TMOD的值設為0x01,使得定時器T1工作在方式1,即16位定時/計數(shù)方式。然后,由于計時器的定時周期是1s,筆者使用定時/計數(shù)器T1精確定時50ms,則20次50ms中斷時,定時時間就是1s。在定時器中斷部分,筆者采用的是查詢方式,即CPU不斷查詢TF1的狀態(tài),當TF1為1時,表示50ms定時已到,在主程序中判斷是否20次50ms定時已到,如是,則時間恰好為1s。同時TF1位軟件清0。根據(jù)公式,當定時時間為50ms時,計數(shù)初值應為15536,換算成十六進制是3CB0H,即計數(shù)器T1中TL1的初值為B0H;TH0的初值為3CH。當救護車到來時,雙向交通燈置紅,即將雙向交通燈的紅燈所對應的P1口位置1,其他位清0即可。時間長短的設置方法同上。最后,由于雙向交通燈紅燈5s,黃燈1s,綠燈5s,共11個狀態(tài),我們利用switch語句為這11個狀態(tài)分別設置相應P1口的值,再利用一個循環(huán)即可。
六、結(jié)語
在機動車數(shù)量激增的今天,車輛擁堵、交通崩潰的現(xiàn)象還是時有發(fā)生的。其原因多半是交通燈時長設置的不合理,抑或無法根據(jù)一天之內(nèi)不同時間的車流狀況,對交通燈的狀態(tài)進行調(diào)整。因此,合理地設計交通系統(tǒng),同時對于交通燈的適當調(diào)試無疑將會派上很大用場。
【單片機交通燈畢業(yè)設計】相關(guān)文章:
單片機畢業(yè)設計論文11-21
單片機畢業(yè)設計范文11-20
單片機畢業(yè)設計題目大全11-24
單片機和plc畢業(yè)設計11-20
單片機畢業(yè)設計有哪些11-18
單片機畢業(yè)設計課題題目11-16
單片機搶答器畢業(yè)設計11-23