基于-AT89S52單片機交通燈控制系統(tǒng)設計_第1頁
基于-AT89S52單片機交通燈控制系統(tǒng)設計_第2頁
基于-AT89S52單片機交通燈控制系統(tǒng)設計_第3頁
基于-AT89S52單片機交通燈控制系統(tǒng)設計_第4頁
基于-AT89S52單片機交通燈控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、-. z職業(yè)技術學院機電與信息工程系畢業(yè)設計(論文)題 目 教學點(班)專 業(yè) 年 級 姓 名 指導教師 定稿日期: 年月日目 錄 摘 要 4 關鍵詞 4一、設計任務與要求 4二、方案設計與論證 4 方案一 4 方案二 5 方案三 5 三、硬件單元電路設計與參數計算 51. 時鐘電路模塊 5 2. 復位電路模塊 6 3. 主控電路模塊 6 4. 交通燈控制模塊 7 5. 時間顯示電路模塊 7 6. 緊急通車電路模塊 8四、軟件設計與流程圖 9 五、總原電路及元器件清單101總原理圖 102. PCB制板圖10 3 整體電路仿真圖以及仿真結果分析 11 4元件清單12六、安裝與調試 121. 電

2、路安裝122. 電路調試12 3. 軟件調試13七、性能測試與分析 13八、結論與心得 13九、參考文獻 14十、致 14十一、程序清單 14摘要:近年來隨著科技的飛速開展,單片機的應用正在不地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,單片機方面知識是不夠的,還應根據具體硬件構造,以及針對具體應用對象特點的軟件結合,加以完善。交通信號燈的出現(xiàn),使交通得以有效管制,對于疏導交通流量、提高道路通行能力,減少交通事故有明顯效果。本系統(tǒng)采用單片機AT89S52為中心器件來設計交通燈控制器,系統(tǒng)實用性強、操作簡單、擴展性強。關

3、鍵詞:1、單片機最小系統(tǒng)。2、紅、黃、綠LED交通燈。3、緊急通車開關。一、設計任務與要求用AT89S52單片機控制一個交通信號燈系統(tǒng),晶振采用12MHZ。 設A車道與B車道穿插組成十字路口,A是主道,B是支道。設計要求如下:用發(fā)光二極管模擬交通信號燈,用按鍵開關模擬車輛檢測信號。正常情況下,A、B兩車道輪流放行,A車道放行50s,其中5s用于警告;B車道放行30s,其中5s用于警告。交通繁忙時,交通信號燈控制系統(tǒng)應有手控開關,可人為地改變信號燈的狀態(tài),以緩解交通擁擠狀況。在B 車道放行期間,假設A車道有車而B車道無車,按下開關K1 使 A車道放行15s;在 A車道放行期間,假設B車道有車而A

4、車道無車,按下開關K1 使B 車道放行15s。有緊急車輛通過時,按下K2開關使 A、B車道均為紅燈,禁行20s。二、方案設計與論證方案一:交通控制系統(tǒng)主要控制A、B兩車道的交通,以AT89S52單片機為核心芯片,通過控制三色LED的亮滅來控制各車道的通行;另外通過2個按鍵來模擬各車道有無車輛的情況和有緊急車輛的情況。根據設計要求,制定總體設計思想如下:1、正常情況下運行主程序,采用0.5S延時子程序的反復調用來實現(xiàn)各種定時時間。2、一道有車而另一道無車時,采用外部中斷1執(zhí)行中斷效勞程序,并設置中斷為低優(yōu)先級中斷。3、有緊急車輛通過時,采用外部中斷0執(zhí)行中斷效勞程序,并設置中斷為高優(yōu)先級中斷,實

5、現(xiàn)二級中斷嵌套。該電路具有電路簡單,設計方便,顯示亮度高,耗電較少,也非常的可靠等點??傮w設計框圖如圖1所示: AT89S52 單片機 復位電路 晶振電路 按鍵電路七段數碼管倒計 時顯示電路 A、B車道LED顯示電路 圖1 系統(tǒng)整體設計方框圖方案二:采用標準AT89S52單片機作為控制器;通行倒計時顯示采用3位數碼管;主、次通道及行人指示燈采用雙色高亮發(fā)光二極管;LED顯示采用動態(tài)掃描,以節(jié)省端口。緊急車輛通行采用實時中斷完成,識別方法采用手動按鈕。按以上系統(tǒng)構架設計,單片機端口資源剛好滿足要求。該系統(tǒng)具有電路簡單,設計方便,顯示亮度高耗電少,可靠性高,但是占用單片機資源太多了。整個電路組成框

6、圖如圖2所示。 P1 P2INT1 P0 P3南北通行燈東西通行燈3位LED顯示器列掃描驅動上電復位電路 緊急車輛放行電路 圖2 方案三:采用AT89C2051單片機作為控制器,通行倒計時、主、次車道及行人通行指示采用單塊LCD液晶點陣顯示器。這種方案設計占用單片機的端口最少,硬件也最少,耗電也最少;雖然顯示圖案也很精巧,但由于亮度太暗,晚上還得必須開背光燈,所以較少采用。通過以上綜合分析可以看出,方案一具有綜合設計優(yōu)點,因此城市道口交通燈控制系統(tǒng)模型采用方案一設計。三、硬件單元電路設計與參數計算1、時鐘電路模塊時鐘電路由一個晶體振蕩器12MHZ和兩個30pF的瓷片電容組成。時鐘電路用于產生單

7、片機工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關系。單片機本身就如一個復雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應在唯一的時鐘信 號控制下嚴格地工作。其電路如圖3所示: 圖3 時鐘電路模塊2、復位電路模塊復位電路是使單片機的CPU或系統(tǒng)中的其他部件處于*一確定的初始狀態(tài),并從這狀態(tài)開場工作,除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復位電路以重新啟動。本設計采用的是按鍵復位電路。其電路如圖4所示: 圖4 復位電路3、主控制系統(tǒng)模塊主控制器采用AT89S52,是ATMEL公司生產的一款性能穩(wěn)定的8位單片機。A

8、T89S52具有1個8KB的FLASH程序存儲器,1個512字節(jié)的RAM,4個8位的雙向可位尋址I/O端口,3個16位定時/計數器及1個串行口和6個向量二級中斷構造。單片機的P0口分別用于控制南北及東西的通行燈,P2口和P34-P37口用于4組4位LED計時器的控制,緊急車輛通行時使用外中斷0P32和外中斷1(P33),進展手動按鍵,即可轉換。其主控電路如圖5所示: 圖5 主控制系統(tǒng)模塊4、交通燈輸出控制模塊道口交通燈指示采用高亮度紅、黃、綠發(fā)光二極管進展提示。其圖如圖6所示圖6 LED顯示模塊當R=220歐時,按公式A=(5-1.8)/R計算,電路中的電流大小應為A=14.545mA.由于每

9、個路口的通行雙向指示處理一樣,因此每個端口應具有3A的吸收電流能力。5、時間顯示電路模塊道口通行剩余時間采用高亮紅色7段LED發(fā)光數碼管顯示,采用共陽數碼管,如用單片機吸收電流驅動,列掃描驅動使用三極管,按每段6mA電流計算,全顯示字形8時,每個數碼需6mA*8=48mA,由于時間顯示每個道口一樣,共需要電流192mA,因此設計中也采用了中功率三極管8550.其顯示電路如圖7所示:6、緊急通車電路模塊為了實現(xiàn)此功能,利用單片機中斷到達目的。利用一個手動按鈕開關接至單片機外部中斷0,同時在軟件設計時將其設定為最高優(yōu)先級,當其按下時,四方全為紅燈,同時將中斷位置的PSW、ACC進棧保護,當其計時完

10、了之后,回到原來的位置進展執(zhí)行。再利用一個手動按鈕接至單片機外部中斷1當其按下時,如果是東西道是紅燈,而南北道是綠燈,則將其置為東西是綠燈,南北是紅燈;如果是東西道是綠燈,而南北道是紅燈,則將其置為東西是紅燈,南北是綠燈。兩種情況都是執(zhí)行完后,回到斷點處繼續(xù)執(zhí)行。其電路如圖8所示:圖7 數碼管顯示模塊圖8 按鍵控制電路三、軟件設計與流程圖1、軟件的設計主程序采用查詢方式定時,調用0.5S延時子程序的次數,從而獲取交通燈的各種時間。子程序采用定時器1方式1查詢式定時,定時器定時50ms,確定50ms循環(huán)20次,從而獲得1S的延時時間。有車車道的放行的中斷效勞程序首先要保護現(xiàn)場,因而需用到延時子程

11、序,子程序采用定時器0方式1查詢式定時,定時器定時50ms,確定50ms循環(huán)20次,從而獲得1S的延時時間,保護現(xiàn)場時還需關中斷,以防止高優(yōu)先級中斷緊急車輛通過所產生的中斷出現(xiàn)導致程序混亂。開中斷,由軟件查詢外中斷1,判別哪一道有車,再根據查詢情況執(zhí)行相應的效勞。待交通燈信號出現(xiàn)后,保持15S的延時,然后,關中斷,恢復現(xiàn)場,再開中斷返回主程序。緊急車輛出現(xiàn)時的中斷效勞程序也需要保護現(xiàn)場,但無須關中斷因其為高優(yōu)先級中斷,然后執(zhí)行相應的效勞,待交通燈信號出現(xiàn)后延時20S,確保緊急車輛通過穿插路口,然后,恢復現(xiàn)場,返回主程序。2、程序流程圖 主程序 有車車道放行時的中斷效勞程序外中斷1 中斷響應 初

12、始化 開場 A綠燈、B紅燈 延時45S A黃燈、B紅燈 延時5S A紅燈、B綠燈燈 延時25S A紅燈、B黃燈 延時5S 關中斷 保護現(xiàn)場 開中斷 A道有車嗎 B道有車嗎 A綠燈、B紅燈 延時15S A紅燈、B綠燈 關中斷 恢復現(xiàn)場 返回 開中斷 緊急情況時的中斷效勞程序外中斷0 中斷響應 返回 恢復現(xiàn)場 延時20S A紅燈、B紅燈 保護現(xiàn)場五、總原電路及元器件清單1總原理圖如圖9所示 圖9 總的原理圖PCB制板圖如圖10所示 圖10 PCB板3整體電路仿真圖以及仿真結果分析1、整體電路仿真圖如圖11所示圖11 仿真圖2、仿真結果分析 上電或按鍵復位后數碼管無顯示,東西、南北的燈都為紅燈亮;開

13、場工作后主車道綠燈亮次車道紅燈亮50S,在這里選定它亮到5S時,主車道綠燈滅,黃燈亮;5S后主車道變?yōu)榧t燈亮次車道綠燈亮30S,在這里選定它亮到5S時,次車道黃燈亮,5S后返回重新執(zhí)行。按緊急車輛按鈕紅燈全亮顯示時間為20S;有車車道放行按鈕按下時,假設主車道是綠燈、次車道是紅燈,則把主車道變?yōu)榧t燈、次車道變?yōu)榫G燈,顯示15S;假設主車道是紅燈、次車道是綠燈,則把主車道變?yōu)榫G燈、次車道變?yōu)榧t燈,顯示15S;4、元件清單 如下表所示: 元件名稱 型號 數量/個 用途 單片機 AT89S52 1 控制核心晶振 12MHZ 1 晶振電路 電容 30pF 2 晶振電路 電解電容 10uF 1 復位電路

14、 電阻5.1K 1 復位電路 發(fā)光二極管 LED 12 紅、黃、綠燈 集成塊 74LS08 1 按鍵電路 電阻 220 13 LED限流 電阻 470 8 數碼管電路 電阻 1K 7數碼管驅動、按鍵電路 四位共陽數碼管 GC-3461BS 1 顯示電路 微動開關 3 按鍵電路 三級管PNP 8550 4 數碼管驅動電路六、安裝與調試1. 電路安裝打好板后,按照所畫的PCB板,一一的把各個元件焊接到所制的板上即可。2. 電路調試電路調試是利用開發(fā)系統(tǒng)、根本測試儀器萬用表、示波器等,檢查系統(tǒng)硬件中存在的故障。其調試可分為靜態(tài)調試與動態(tài)調試兩步進展。靜態(tài)調試是在系統(tǒng)未工作時的一種硬件檢測。第一步:目

15、測。檢查外部的各種元件或者是電路是否有斷點。第二步:用萬用表測試。先用萬用表復核目測中有疑問的連接點,再檢測各種電源與地線之間是否有短路現(xiàn)象。第三步:加電檢測。給板加電,檢測所有的插座或是器件的電源端是否符合要求的值。第四步:是聯(lián)機檢查。因為只有用單片機開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調試。動態(tài)調試動態(tài)調試是在系統(tǒng)工作的情況下發(fā)現(xiàn)和排除系統(tǒng)硬件中存在的器件部故障、器件連接邏輯錯誤等的一種硬件檢查。動態(tài)調試的一般方法是由近及遠、由分到合。由分到合是指首先按邏輯功能將系統(tǒng)硬件電路分為假設干塊,當調試電路時,與該元件無關的器件全部從系統(tǒng)中去掉,這樣可以將故障圍限定在*個局部的電路上。當各塊電路無故障后,

16、將各電路逐塊參加系統(tǒng)中,在對各塊電路功能及各電路間可能存在的相互聯(lián)系進展調試。由分到合調試既告完成。由近及遠是將信號流經的各器件按照距離單片機的邏輯距離進展由近及的分層,然后分層調試。調試時,仍采用去掉無關元件的方法,逐層調試下去,就會定位故障元件了。 3.軟件調試 軟件調試是通過對擁護程序的C編程、連接、執(zhí)行發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。運行程序后,編輯,查看程序是否有邏輯的錯誤。七、性能測試與分析系統(tǒng)做好的,進展系統(tǒng)的完整調試。按照所設計的流程圖,用單片機跟蹤模式程序進展調試,配合相關的硬件動作,可以觀察LED的變化和數碼管的顯示是否正確。同樣明確延時時間長短、跳

17、轉位置及調用的程序功能。經過觀察各檢測,我可以看到整個系統(tǒng)的功能都能到達我的設計要求。八、結論與心得以往每次做課程設計,都會感覺自己收獲不少。這次單片機課程設計也不例外。做課程設計是為了讓我們對平時學習的理論知識與實際操作相結合,在理論和實驗教學根底上進一步穩(wěn)固已學根本理論及應用知識并加綜合提高,學會將知識應用于實際的方法,提高和解決問題的能力。第一,在編寫軟件中,在此過程中我更為熟練得掌握匯編語言各種指令的使用方法,掌握了keil軟件的使用。第二,在軟件調試過程中,使我又一次復習了keil和proteus聯(lián)合使用的方法。在調試時曾經遇到數碼管倒計時顯示時間兩位不能同時顯示,后來經過查找資料不

18、斷調試才領悟到原來在顯示的過程中要循環(huán)顯示才能使得顯示穩(wěn)定下來。第三,在做原理圖和PCB的過程中,使我進一步掌握了proteus軟件的使用方法。再次熟悉了各種作圖工具的應用,而且培養(yǎng)了我在設計原理圖時的一些技巧和好的習慣。第四,在做實物的過程中,培養(yǎng)了我認真耐心的工作態(tài)度。我在做板子過程中,首先由于我的布線比擬嚴密加上孔和焊盤過小使得在打孔是出現(xiàn)刮斷線以及在焊接的時候出現(xiàn)了虛焊和聯(lián)焊等問題,后來我不得不重新再做一次板;二是由于焊接前沒檢查斷線問題,使得我的PCB在加載程序后只有燈亮,而數碼管卻不亮,后來經過我的仔細檢查,原來是在給三級管供電的線有斷,將其連接起來后,就能顯示了,從而得以成功???/p>

19、之,通過這次課程設計,我掌握了用單片機設計交通燈的基體方法,增強了我尋找問題,解決問題的能力。培養(yǎng)了我的設計思維,此次課程設計的成功不僅幫助我更好地掌握書本知識,尤其重要的是增強了我的自信,培養(yǎng)了我獨立思考的能力。但是此次設計不中之處是不能實現(xiàn)左右彎燈,不有人行道控制燈,不能進展流量控制。九、參考文獻 1單片機根底.廣弟、朱月秀、冷祖祁.航空航天大學。 2 華成英 童詩白, 模擬電子技術根底(第四版),高等教育。 3 康華光,電子技術根底 數字局部(第五版),高等教育。 451單片機C語言常用模塊與綜合系統(tǒng)設計實例精講.于永、戴佳、常江.電子工業(yè)。 5單片機課程設計指導.居義.清華大學。 6零

20、根底學單片機C語言程序設計.建領、薛園國.機械工業(yè)。 十、致通過本次畢業(yè)設計,我在指導教師杜銳的精心指導和嚴格要求下,獲得了豐富的理論知識,極提高了實踐能力,并對當前電子領域的研究狀況和開展方向有了一定的了解,單片機領域這對我今后進一步學習電子方面的知識有極大的幫助。另外,此次畢業(yè)設計還獲得了我們同學的大力支持。在此我忠心感杜銳教師的指導和支持。在未來的工作和學習中,我將以更好的成績來加報各位教師和同學。十一 、程序清單 *include *define uchar unsigned char *define uint unsigned int *define time 50000 *defi

21、ne on 0 *define off 1sbit RED_ZHU = P00; /南北 紅燈 sbit YELLOW_ZHU = P01;/南北 黃燈sbit GREEN_ZHU = P02; /南北 綠燈 sbit RED_ZHI = P03; /東西 紅燈sbit YELLOW_ZHI = P04; /東西 黃燈sbit GREEN_ZHI = P05; /東西 綠燈sbit P23 = P34;sbit P22 = P35; /東西方向數碼管位選sbit P21 = P36;sbit P20 = P37; /南北方向數碼管位選sbit int0_key = P32;sbit int1_

22、key = P33;void display1(uchar,uchar);void display2(uchar,uchar);void delayms(uint k);uchar temp1,temp2,temp3,temp4,temp5,temp6;/*=倒計時=*/uchar N = 50,Y = 45,Z = 50,M = 75,G = 80,U =80;uchar C50ms,t0;uchar seg = 1;uchar flag=0,led_data_temp;void InitialT1(void) TMOD = 0*11; /定時器0,1工作在方式1TH1 = (65536 -

23、 time)/256; /相當于(65536-time)/256;TL1 = (65536 - time)%256;/初值為time(50ms)TR1 = 1;/開定時器1中斷ET1 = 1;/允許定時器1中斷 ET0 = 1;TH0 = (65536 - time)/256;TL0 = (65536 - time)%256;E*0 = 1; /允許外部中斷0IE0 = 1;/啟動外部中斷0P*0 = 1;E*1=1;IE1=1;EA = 1; /開總中斷void int0(void) interrupt 0/外中斷0 flag = 0;led_data_temp = P0;t0 = 20;i

24、f(!int0_key) delayms(10);if(!int0_key)while(!int0_key);TH0 = (65536 - time)/256;TL0 = (65536 - time)%256;TR1 = 0; TR0 = 1;E*0 = 0;E*1 = 0;C50ms = 0;void int1(void) interrupt 2/外部中斷1 t0=15; flag = 1;led_data_temp = P0;if(RED_ZHU = 0) & (GREEN_ZHI = 0)|(YELLOW_ZHI = 0)&(RED_ZHU = 0) P0 = 0*ff; GREEN_Z

25、HU = 0; RED_ZHI = 0;else /if(RED_ZHI = 0)&(GREEN_ZHU = 0)P0 = 0*ff; GREEN_ZHI = 0; RED_ZHU = 0;if(!int1_key) delayms(10);if(!int1_key)while(!int1_key);TH0 = (65536 - time)/256;TL0 = (65536 - time)%256;TR1 = 0; TR0 = 1;E*0 = 0;E*1 = 0;C50ms = 0;void ISRT0(void) interrupt 1/定時器0中斷效勞子程序 temp1 = N,temp2

26、 = Y,temp3 = Z,temp4 = M,temp5 = G,temp6 = U;TH0 = (65536 - time)/256;TL0 = (65536 - time)%256; /重裝初值timeYELLOW_ZHU=1; /如果在黃5S時進展熄滅黃燈YELLOW_ZHI=1;if(!flag)P0 = 0*f6;C50ms+;if(C50ms 19) t0-; C50ms = 0;if(t0 = 0) P0 = led_data_temp;N = temp1,Y = temp2,Z = temp3,M = temp4,G = temp5,U = temp6;TR0 = 0;/制

27、止定時器1中斷TR1 = 1;/開定時器1中E*1 = 1;/E*0 = 1;C50ms = 0;return; void ISRT1(void) interrupt 3 /定時器1中斷效勞子程序 TH1 = (65536 - time)/256;TL1 = (65536 - time)%256; /重裝初值timeC50ms+;if(C50ms 19) N-; M-; Y-; Z-; G-; U-; C50ms = 0;/*=延時=*/void Delay10uS(uchar second)uint i;while(second-) != 0)for(i = 0;i 5;i+)void de

28、layms(uint k) uint i,j; for(i = 0;i k;i+) for(j = 0;j 120;j+);/*=數碼管控制=*/uchar code discode=0*C0,0*f9,0*a4,0*b0,0*99,0*92,0*82,0*f8,0*80,0*90;/共陽數碼管0-9代碼void display1(uchar num1,uchar num2) /控制南數碼管顯示P2=discodenum1; P21=on; Delay10uS(10); P21=off; /低位 P2=discodenum2; P20=on; Delay10uS(10); P20=off; /

29、高位 void display2(uchar num3,uchar num4) /控制東西數碼管顯示P2 = discodenum3; P23 = on; Delay10uS(10); P23 = off; /低位P2 = discodenum4; P22 = on; Delay10uS(10); P22 = off; /高位 /*=主函數=*/main()/*=初始狀態(tài):東西南北都紅燈=*/ RED_ZHU=on; RED_ZHI=on;delayms(1000);RED_ZHU = off;RED_ZHI = off; InitialT1(); while(1) / 初始化計時器 /*=狀態(tài)1:東西綠燈(45s) 南北紅燈(40s)=*/*=狀態(tài)2:東西黃燈(5s) 南北紅燈(5s)=*/RED_ZHI = on;GREEN_ZHU = on;while

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論