A. 單片機控制的交通燈
題目 交通燈控制系統的設計
一、課程設計的目的與要求
1、課程設計目的:
(1)進一步理解和消化書本知識,運用所學知識和技能進行簡單的設計。
(2)通過課程設計提高應用能力,分析問題和解決問題的能力。
(3)培養查閱資料的習慣,訓練和提高自學,獨立思考的能力。
2、課程設計要求
交通燈控制系統的設計
1) 掌握在單片機系統中擴展簡單I/O介面的方法。
2) 掌握數據輸出程序的設計方法。
3) 掌握模擬交通燈控制的實現方法。
4) 掌握外部中斷技術的基本使用方法。
5) 掌握中斷處理程序的編程方法。
從課程設計的目的出發,通過設計工作的各個環節,達到以下要求:
(1)能夠正確理解課程設計的題目和意義,全面思考問題。
(2)運用科學合理的方法,認真按時完成。
二、課程設計課題的分析
1、電路的設計
1)原理
要完成本實驗,首先必須了解交通燈的亮滅規律。本實驗需要用到試驗箱上八個發光二極體中的六個,即紅、綠、黃各兩個。將L1(紅)、L2(綠)、L3(黃)作為東西方向的指示燈,將L5(紅)、L6(綠)、L7(黃)作為南北方向的指示燈。交通燈的亮滅規律為:初始態是兩個路口的紅燈全亮,之後,東西路口的綠燈亮,南北路口的紅燈亮,東西方向通車,延時一段時間後,東西路口綠燈滅,黃燈開始閃爍。閃爍若干次後,東西路口紅燈亮,而同時南北路口的綠燈亮,南北方向開始通車,延時一段時間後,南北路口的綠燈滅,黃燈開始閃爍。閃爍若干次後,再切換到東西路口方向,重復上述過程。
各發光二極體的陽極通過保護電阻接到+5V的電源上,陰極接到輸入端上,因此使其點亮使相應使相應輸入端為低電平。
當有急救車到達時,兩個方向上的紅燈亮,以便讓急救車通過,假設急救車通過路口的時間為10秒,急救車通過後,交通燈恢復中斷前的狀態。本程序以單次脈沖為中斷申請,表示有急救車通過,單次脈沖輸出端P-接CPU板上的INT0。
2)、硬體電路圖
圖1—1 交通燈控制系統的硬體接線圖
74LS273的輸出00—07接發光二極體L1—L8,74LS273的片選CS273接片選信號CS2,此時74LS273的片選地址為CFA0—CFA7之間任選。
3)、程序流程圖
主程序流程
圖1—2 主程序軟體流程圖
中斷程序流程圖
三、課程設計的結果
1、程序
NAME JIAOTONGGENG
OUTPORT EQU 0CFB0H ;埠地址
SAVE EQU 55H ;SAVE保存從埠CFA0輸出的數據
CSEG AT 0000H
LJMP START
CSEG AT 4003H
LJMP INT
CSEG AT 4100H
START: SETB IT0 ;中斷程序初始化
SETB EX0
SETB EA
MOV A,#11H ;置首顯示碼,兩紅燈全亮
MOV SAVE,A ;保存
ACALL DISP ;顯示輸出
ACALL DE3S ;延時3秒
LLL: MOV A,#12H ;東西路口綠燈亮,南北路口紅燈亮
MOV SAVE,A
ACALL DISP
ACALL DE10S ;延時10秒
MOV A,#10H ;東西路口綠燈滅
MOV SAVE,A
ACALL DISP
MOV R2,#05H ;東西路口黃燈閃爍5次
TTT: MOV A,#14H
MOV SAVE,A
ACALL DISP
ACALL DE02S ;延時0.2秒
MOV A,#10H
MOV SAVE,A
ACALL DISP
ACALL DE02S
DJNZ R2,TTT
MOV A,#11H ;紅燈全亮
MOV SAVE,A
ACALL DISP
ACALL DE02S ;延時0.2秒
MOV A,#21H ;東西路口紅燈亮,南北路口綠燈亮
MOV SAVE,A
ACALL DISP
ACALL DE10S ;延時10秒
MOV A,#01H ;南北路口綠燈滅
MOV SAVE,A
ACALL DISP
MOV R2,#05H ;南北路口黃燈閃爍5次
KKK: MOV A,#41H
MOV SAVE,A
ACALL DISP
ACALL DE02S ;延時0.2秒
MOV A,#01H
MOV SAVE,A
ACALL DISP
ACALL DE02S
DJNZ R2,KKK
JMP LLL ;轉SSS循環
DE10S: MOV R5,#100 ;延時10秒
JMP DE1
DE3S: MOV R5,#30 ;延時3秒
JMP DE1
DE02S: MOV R5,#02 ;延時0.2秒
DE1: MOV R6,#200
DE2: MOV R7,#126
DE3: DJNZ R7,DE3
DJNZ R6,DE2
DJNZ R5,DE1
RET
DISP: MOV DPTR,#OUTPORT
CPL A ;取反,點亮發光二極體
MOVX @DPTR,A
RET
;中斷處理程序
INT: PUSH ACC ;有關寄存器入棧
PUSH PSW
MOV A,#11H ;兩紅燈全亮
ACALL DISP
ACALL DELAY
MOV A,SAVE ;將主程序中保存的數據再送給A
ACALL DISP
POP PSW ;有關寄存器出棧
POP ACC
RETI
DELAY:MOV R1,#100
DEL1 :MOV R2,#200
DEL2 :MOV R3,#126
DEL3 :DJNZ R3,DEL3
DJNZ R2,DEL2
DJNZ R1,DEL1
RET
END
2、現象
將程序輸入到單片機中,運行程序,可以觀察到現象:首先是兩個路口的紅燈全亮,延時3秒之後,東西路口的綠燈亮,南北路口的紅燈亮,東西方向通車,延時10秒後,東西路口綠燈滅,黃燈開始閃爍。閃爍5次後,東西路口紅燈亮,而同時南北路口的綠燈亮,南北方向開始通車,延時10秒後,南北路口的綠燈滅,黃燈開始閃爍。閃爍5次後,再切換到東西路口方向,重復上述過程。
當有中斷申請時,兩個方向上的紅燈亮,經過10秒急救車通過之後,恢復到急救車到來之前的狀態繼續運行,可有多次的中斷申請。
四、課程設計的心得與體會
1.通過試驗進一步理解和消化了書本知識,分析每個語句的含義,運用所學知識進行簡單的程序設計。
了解了在單片機系統中擴展簡單I/O介面的方法. 外部中斷技術的基本使用方法,掌握了中斷處理程序的編程方法。
2.通過在圖書館查閱各種單片機資料,培養了我自學和獨立思考的能力。與同學交流研究,讓我懂得了更多以前不明白的知識.
3.在課程設計過程中,不斷調試程序和修改程序,提高了對單片機的應用能力,分析問題和解決問題的能力。
B. 基於單片機的交通信號燈控制系統_基於單片機的交通信號燈控制系統設計畢業論文
HD2000交通信號集中控制系統是華路德公司開發研製的HD202、HD204、HD207系列交通信號控制器的遠程式控制制軟體,利用城域寬頻網,遠程監視和控制路口信號機的工作狀態和運行方式,使用戶足不出戶即可了解和控制路口交通狀況,實現區域內交通信號燈的聯動綠波帶協調控制,從而提高道路通行能力和管理部門緊急情況處置反基爛慎應能力,能極大地減輕交通管理部門的維護和調節工作量。
性能與特點
高級語言編制,界面友好,操作方便。
聯網方式靈活,可以通過乙太網、無線通訊、電話撥號、GPRS等實現中心與路口的通訊聯系。
覆蓋路口控制機類型廣泛,可以選擇我公司出廠的HD202系列、HD204系列、HD207系列交通信號控制器,給用戶最大的選擇餘地。
建設成本低,本系統涵蓋了我公司所有檔次的信號機,在已經安裝了電子警察的道路交叉口,可以借用電子警察網路資源,避免了重復投資。
控制路口點數多,可以同時控制多達180個以上路口的交通信號控制機,如果建立分級通訊機制,則控制點數不受限制。
系統提供軟體介面與其他系統(如GPS衛星定位系統、城市交通誘導系統、公安視頻監控系統、電子警察系統等)實現交警數據的共享,為建設和諧交通提供一手交通流量數據。
採用伺服器/客戶端模式,後台系統由伺服器和若干工作站組成,監控路口真正做到足不出戶,有條件的客戶甚至能通過Internet實現對路口信號機搏敬的遠程監控。
功能介紹
遠程監視功能,通過控制中心能實時監視路口信號機的運行狀況,包括當前運行方式、運行總周期、信號燈輸出狀態等用戶首先需要了解的路口信息。用戶可以通過兩種畫面監視運行狀態:監視主畫面和路口模擬圖畫面。監視主畫面用於全面了解路口信號機的運行狀態,而路口模擬圖畫面能使用戶直觀了解實際路口信號燈的紅綠顯示情況。
單路口遠程式控制制功能,通過遠程監視畫面(包括監視主畫面和路口示意圖畫面)用戶可以實現對路口信號機的遠程手、自動切換和運行方式變換,配合視頻監控能有效、及時地疏導交通和臨時交通處置。
遠程設置功能,通過不同類型信號機的設置畫面,用戶能遠程設置和修改路口信號機的運行參數,如相位方案、時段方案、配時方案、運行常量等。
遠程流量收集,若路口設置有車輛檢測器,系統能自動、定時地收集和保存不同時段路口車道流量狀態。
綠波帶控制功能,系統能根據路口之間的距離、車速等信息自動協調關聯路口的信號歷稿燈輸出周期,實現多路口之間的綠波帶協調控制功能,並能根據路段的車流狀態定時切換協調方向。
警衛路線控制功能,系統能根據預先設置的警衛路線,准確命令警衛路線上的信號機在特定時間段開啟指定信號燈綠燈,並在持續一段時間後自動後恢復。
遠程登錄與控制功能,系統採用伺服器/客戶端模式,所有信號機數據和用戶需求信息均通過伺服器實現轉發、存儲和提取;用戶通過客戶端實現對伺服器的登錄,並通過伺服器實現對路口的監視與控制。詳細資料你可以看參考!
C. 單片機交通燈畢業設計
單片機交通燈畢業設計
在日常生活中,交通燈是一項必不可少的公共設施,可以維護道路的暢通和交通的秩序。如若交通燈發生故障,那麼後果可想而知。因此,交通燈的正常工作就顯得尤為重要。由於交通燈對於公共安全的重要性,本文基於51單片機模擬雙向交通燈的設計。下面是我整理的單片機交通燈畢業設計,歡迎來參考!
一、交通燈的設計要求
雙向交通燈紅、黃、綠燈對應相同,紅燈5s,黃燈1s,綠燈5s。當有急救車到達時,雙向交通信號為全紅,以便讓急救車通過。假定急救車通過路口時間為10s,急救車通過後,交通燈恢復中斷前狀態。
二、AT89C51單片機的中斷系統介紹
計算機系統中止當前的正常工作,轉入處理突發事件,等到突發事件處理完畢之後,再回到原來被中斷的地方,繼續原來的工作,這樣的整個過程稱為中斷。能夠實現這種功能的.部件稱為中斷系統。產生中斷請求的事件稱為中斷源。其中AT89C51單片機具有5個中斷源,在本次設計中我們採用的是外部事情中斷請求源0,以及T1計數溢出事情中斷請求這兩個中斷源。
三、AT89C51單片機的定時/計數器介紹
在單片機中,通常計數器和定時器設計成一個部件――計數器,當計數脈沖的周期一定時,計數器就作為定時器,定時時間就是計數器計數次數和計數脈沖周期的乘積。在此我們採用的就是計數器的這個定時功能。
四、交通燈的硬體電路搭建
本次設計的硬體電路搭建如圖1。兩路交通燈的6個燈依次接在51單片機P1口的P1.0到P1.5,另外在單片機的P3.2口接一個按壓式開關作為救護車到來時的中斷源。
五、交通燈的軟體編程設計
中斷部分的程序設計。首先,應將51單片機中中斷允許寄存器IE的EA位設為1,這代表允許中斷源向CPU申請中斷,即CPU開放中斷。同時將IE的EX0位設為1,這代表允許外中斷0向CPU申請中斷。這樣的話,當救護車來的時候,可以藉此發出中斷請求。接下來,應將定時器控制寄存器TCON的IT0位設為1,這代表外部中斷0的觸發方式選擇為邊沿觸發方式。由於筆者採用了按壓式的開關作為中斷的發出方式,這樣會產生一個脈沖,因此應當選擇邊沿觸發方式。定時部分的程序設計。首先,應將控制寄存器TCON的TR1位置1,啟動定時器T1計數。接下來,應將方式寄存器TMOD的值設為0x01,使得定時器T1工作在方式1,即16位定時/計數方式。然後,由於計時器的定時周期是1s,筆者使用定時/計數器T1精確定時50ms,則20次50ms中斷時,定時時間就是1s。在定時器中斷部分,筆者採用的是查詢方式,即CPU不斷查詢TF1的狀態,當TF1為1時,表示50ms定時已到,在主程序中判斷是否20次50ms定時已到,如是,則時間恰好為1s。同時TF1位軟體清0。根據公式,當定時時間為50ms時,計數初值應為15536,換算成十六進制是3CB0H,即計數器T1中TL1的初值為B0H;TH0的初值為3CH。當救護車到來時,雙向交通燈置紅,即將雙向交通燈的紅燈所對應的P1口位置1,其他位清0即可。時間長短的設置方法同上。最後,由於雙向交通燈紅燈5s,黃燈1s,綠燈5s,共11個狀態,我們利用switch語句為這11個狀態分別設置相應P1口的值,再利用一個循環即可。
六、結語
在機動車數量激增的今天,車輛擁堵、交通崩潰的現象還是時有發生的。其原因多半是交通燈時長設置的不合理,抑或無法根據一天之內不同時間的車流狀況,對交通燈的狀態進行調整。因此,合理地設計交通系統,同時對於交通燈的適當調試無疑將會派上很大用場。
;D. 用單片機做交通燈,這么做
基於單片機的交通燈設計
時間:2010-12-08 21:43:12 來源: 作者:
一、 系統功能要求:
1. 設計任務在一十字路口設置交通燈,並用單片機對其進行合理的控制。
時間方向 控制要求
白天 東西 綠燈 黃燈 紅燈 南北 紅燈 綠燈 黃燈
晚上 東西 黃燈 南北 紅燈
2.總體設計方案現在流行的一種設計為兩主幹線相交的十字路。本設計採用一主幹道(南北方向),一從幹道(東西方向)的路口,即主幹道的通行時間為從幹道的2倍。在正常情況下,兩幹道的交通燈按圖1進行轉換,並以倒計數的方式將剩餘時間顯示在每個幹道對應的兩位LED上;另發揮部分為當出現緊急情況時,路口的交通燈全為紅燈,緊急情況解除時,恢復到原來的狀態。
二、 總體設計方案提示:
1.假設一個十字路口為東西南北走向。初始狀態0為東西紅燈,南北紅燈。然後轉狀態1東西綠燈通車,南北紅燈。過一段時間轉狀態。
2.東西綠燈滅,黃燈閃爍幾次,南北仍然紅燈。再轉狀態。
3.南北綠燈通車,東西紅燈。過一段時間轉狀態。
4.南北綠燈滅,閃幾次黃燈,延時幾秒,東西仍然紅燈。最後循環至狀態1。
三.硬體設計
電路原理圖如下:
四、軟體設計
1、 流程圖
2、程序設計
ORG 0000H
MOV P0,#00H ;確保P0為低電位
lJMP MAIN0
ORG 0030H
MAIN0: MOV 30H,#08H
MOV R6,#00H
MOV R7,#00H
MOV DPTR,#TABLE ;取數碼管的解碼
MOV TMOD,#01H ;設計定時方式及時間
MOV TL0,#0CDH
MOV TH0,#0BH
SETB TR0
MOV IE,#00H
MAIN: MOV P1,#0F3H ;南北綠燈,東西紅燈
MOV R6,#1EH ;紅燈30s倒計時
MOV R7,#19H ;綠燈25s倒計時
MAIN1:CALL DELAY ;1S延時子程序
JB P0.1,REL1 ;判斷是否有東西方向按鈕按下
CJNE R7,#00H,MAIN1 ;判斷綠燈25s是否倒計完
MOV P1,#0F5H ;南北黃燈,東西紅燈
MAIN2:CALL DELAY
MOV R7,#00H ;紅燈繼續倒計時,黃燈閃爍,保持0s
CPL P1.1 ;黃燈閃爍
CJNE R6,#00H,MAIN2 ;判斷紅燈是否倒計時完
MOV P1,#0DEH ;南北紅燈,東西綠燈
MOV R7,#1EH
MOV R6,#19H
MAIN3:CALL DELAY
JB P0.0,REL2
CJNE R6,#00H,MAIN3
MOV P1,#0EEH
MAIN4:CALL DELAY
MOV R6,#00H
CPL P1.4
CJNE R7,#00H,MAIN4
JMP MAIN
REL1:MOV P1,#0F5H ;東西方向按鈕按下,南北方向強制由綠燈變成黃燈警告
MOV R6,#05H
MOV R7,#00H
JMP MAIN2
REL2:MOV P1,#0EEH ;南北方向按鈕按下,東西方向強制由綠燈變成黃燈警告
MOV R7,#05H
MOV R6,#00H
JMP MAIN4
;1s延時子程序
DELAY:MOV A,R6 ;進行南北方向倒計時時間的十進制調整
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR ;找尋相應的數碼管代碼
MOV P2,#01H
MOV P3,A ;輸出個位
MOV R4,#4 ;降低動態顯示頻率
LOOP2:MOV R3,#125
LOOP3:DJNZ R3,LOOP3
DJNZ R4,LOOP2
MOV A,B
MOVC A,@A+DPTR
MOV P2,#02H ;輸出十位
MOV P3,A
MOV R4,#4
LOOP4:MOV R3,#125
LOOP5:DJNZ R3,LOOP5
DJNZ R4,LOOP4
MOV A,R7 ;進行東西方向倒計時時間的十進制調整
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR
MOV P2,#04H
MOV P3,A
MOV R4,#4
LOOP6:MOV R3,#125
LOOP7:DJNZ R3,LOOP7
DJNZ R4,LOOP6
MOV A,B
MOVC A,@A+DPTR
MOV P2,#08H
MOV P3,A
MOV R4,#4
LOOP8:MOV R3,#125
LOOP9:DJNZ R3,LOOP9
DJNZ R4,LOOP8
JBC TF0,LOOP ;判斷是否計滿125ms
AJMP DELAY
LOOP:MOV TL0,#0CDH ;計滿125ms重新給定時器賦值
MOV TH0,#0BH
MOV A,30H
DEC A
MOV 30H,A
JNZ DELAY ;判斷是否計滿8次125ms,即1s
DEC R6 ;計滿1s,東西倒計時減1,南北倒計時減1
DEC R7
MOV 30H,#08H ;重新1s次數,重新計時
RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;相應數值的數碼管代碼
DB 92H,82H,0F8H,80H,90H
END
E. 基於單片機的交通燈設計的程序
void main()
{
P3 = 0;
P1 = 0;
P2 = 0xff;
initTimer();
TR0=1;
ET0=1;
EA=1;
while(1)
{
switch(state)
{
// 狀態跳轉
case 0:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 10;
state = 1;
}
break;
case 1:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 2;
}
break;
case 2:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 3;
}
break;
case 3:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 10;
state = 4;
}
break;
case 4:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 5;
}
break;
case 5:
if(ct == 0)
{
P3=0;P1=0;P2=0xff;
ct = 2;
state = 0;
}
break;
default:break;
}
// 執行
switch(state)
{
case 0:
//東西綠燈世賣,南北紅燈,倒計時30秒;
E_G = 1;W_G = 1;S_R = 1;N_R = 1;
break;
case 1:
//數碼管倒計時10秒;
E_G = 1;W_G = 1;S_R = 1;N_R = 1;
display(ct,0);
display(ct,2);
display(ct+2,1);
display(ct+2,3);
break;
case 2:
//東西黃燈,倒計時2秒;悄配
E_Y = 1;W_Y = 1;S_R = 1;N_R = 1;
display(ct,1);
display(ct,3);
break;
case 3:
//南北綠燈,東西紅搜運逗燈,倒計時30秒;
E_R = 1;W_R = 1;S_G = 1;N_G = 1;
break;
case 4:
//數碼管倒計時10秒;
E_R = 1;W_R = 1;S_G = 1;N_G = 1;
display(ct,1);
display(ct,3);
display(ct+2,0);
display(ct+2,2);
break;
case 5:
//南北黃燈,倒計時2秒;
E_R = 1;W_R = 1;S_Y = 1;N_Y = 1;
display(ct,0);
display(ct,2);
break;
default:break;
}
}
}
F. 基於單片機的交通燈設計開題報告
近年來隨著科技的飛速發展,單片機的應用正在不斷深入,同時帶動傳統控制檢測技術日益更新。在實時檢測和自動控制的單片機應用系統中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據具體硬體結構軟硬體結合,加以完善。
十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那麼靠什麼來實現這井然秩序呢?靠的就是交通信號燈的自動指揮系統。交通信號燈控制方式很多。本系統採用MSC-51系列單片機ATSC51和可編程並行I/O介面晶元80C51為中心器件來設計交通燈控制器,實現了能根據實際車流量通過8051晶元的P1口設置紅、綠燈燃亮時間的功能;紅綠燈循環點亮,倒計時剩秒時黃燈閃爍警示。本系統實用性強、操作簡單、擴展功能強。
本設計以單片機為核心,以LED燈作為直行和左右拐彎指示完成了對題目要求的功能。