基于單片機智能交通燈畢業設計說明_第1頁
基于單片機智能交通燈畢業設計說明_第2頁
基于單片機智能交通燈畢業設計說明_第3頁
基于單片機智能交通燈畢業設計說明_第4頁
基于單片機智能交通燈畢業設計說明_第5頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

畢業設計說明書題目:基于單片機智能交通燈產品設計工藝設計方案設計√類型:學生姓名:學號:學院:電子信息工程學院專業:應用電子技術班級:學校指導教師:企業指導教師:_________2016年5月3日摘要隨著社會主義建設,城市的規模在不斷擴大的城市交通進行了改進和完善,暢通的交通已成為制約社會主義建設的重要因素。如今,隨著機動車的增加,尤其是交通建設的十字路口上,城市交通安全越發嚴峻,嚴重的影響我們的生活。目前,交通燈交點用于控制車輛和人的通道,不僅方便了維護和管理,并且有強烈的自動化。很多燈電路的正向著數字化,低功耗,多樣,方便人,車,路的協調三者關系,現在的社會和經濟發展而發展,城市交通問題越來越引起人們的關注。看來,交通得到有效控制,疏導交通流,提高道路通行能力,減少交通事故的發生有顯著的影響。十字路口車輛穿梭,行人熙熙攘攘,車庫車道,人行道人,有條不紊。怎樣才能實現這種有序的秩序呢?它依靠紅綠燈指揮自動化系統,在許多方面的受交通信號控制。關鍵詞:STC89C52單片機;交通燈;倒計時;時間顯示目錄1.緒論 11.1交通信號燈的發展及研究意義 11.2現在城市路口交通燈控制技術現狀 11.3單片機概述 21.4方案的設計與論證 22.系統硬件設計 32.1總體設計 32.2單片機的選擇 32.3單片機的基本結構 42.4單片機外圍電路設計 43.交通信號燈控制系統的設計 73.1十字路口交通信號燈具體的控制要求 73.2十字路口交通信號燈示意圖 74.交通信號燈控制系統程序編制 84.1軟件設計應用環境 84.2軟件設計流程 85.結論 9參考文獻 10致謝 11附錄:源程序代碼 12 .緒論1.1交通信號燈的發展及研究意義如今,安裝在每個路口,疏導車輛交通紅綠燈已經成為最常見和最有效的手段這種技術的發展有著悠久的歷史。1858年,在倫敦的主要街道安裝燃氣為紅色,藍色和白色光的光源機械扳手公式指揮馬車流量。這是世界上第一個紅綠燈。1868年,國會廣場威斯敏斯特在倫敦的英國機械工程師娜億特安裝了世界上第一個氣燈前。它由紅色和綠色的旋轉式方形玻璃提燈組成,紅色表示“停止”,綠色表示“關注”。電驅動的紅綠燈在美國,交通燈的紅色,綠色和黃色的圓形發射器組成,開始于1914年,安裝在紐約市第五大道塔。紅燈表示“停止”,綠燈表示“通行證”。交通信號燈出現,流速可以有效地控制,緩解交通擁堵,提高道路通行能力,減少交通事故有顯著的影響,進而改變交警指揮疏散交通擁堵狀況,實現人,車,路三者同步。目前,我市不斷擴大,人們越來越高的交通燈控制,我們需要了解交通信號燈的一個更高的水平,與城市交通路口的需求相結合,不斷實現創新和發展的需要,研究紅綠燈是非常重要的。 1.2現在城市路口交通燈控制技術現狀隨著城市機動車量的增加,許多城市出現了交通超負荷的情況,因此,自80年代末,這些城市的城市公路建設,公路建設初期完成后,他們已經有效地改善了交通狀況。然而,隨著交通的快速增長和缺乏高朋道路系統的研究和控制,高速道路沒有充分發揮其預期的作用。對特性的城市快速路建設,同時也決定著城市道路的交通狀況不可避免地要受到在連接高速公路和普通公路的交通條件。那么,如何采用合適的控制方法,最大限度地利用好建設成本高昂的城市高速公路,主要道路,以緩解交通繁忙的交通擁堵,已經日益成為一個重大問題交通管理和城市規劃部門予以解決。1.3單片機概述計算機系統的發展,在三個方向被顯著開發;這三個方向:技術巨頭,單片和網絡。解決復雜的計算系統和高速數據處理的超級計算機仍然是有效的,因此,努力實現處理能力和當前的高速超級計算機的方向發展。SCM事件,英特爾給它的名字一個微控制器嵌入式微控制器。的供應鏈管理的最明顯的優點在于,它可以被嵌入各種儀器和設備。這是不可能的,超級計算機網絡,在很多的情況下,微控制器的發展現狀,顯示幾個趨勢:(1)可靠性高的水平,并且越來越多的與互聯網連接是一個明顯的趨勢。(2)越來越多的成員的整合;NS(國家半導體)公司單片機宜巴語音,視頻分量也集成到設備中,也就是,這意味著微控制器只有一個單片集成電路,而不是在它的功能;如果它可以從功能的角度講是萬能機。為各種由于其內部的集成電路的應用程序。(3)低功率和模擬電路結合越來越多。隨著半導體工藝技術開發和系統設計水平的提高,微控制器將繼續產生新的變化和進步,最終人們會發現:微處理器和計算機系統之間的距離越來越小,甚至難以辨認。1.4方案的設計與論證微控制器核心的設計中,作為倒計時數字LED指示,根據設計要求,但我們認為這是一個功能塊,以實現各種的最佳解決方案的實時顯示系統狀態,系統還增大根據交通擁堵在途時間可提高工作效率,緩解道路交通擁堵分離,二級公路設置。在圖中所示的系統框圖的整體設計。下面顯示交通燈控制框圖,主控制電路,關鍵電路,振蕩電路,復位電路,顯示電路,電源電路的電路。表1.1系統總體設計框圖2.系統硬件設計2.1總體設計本設計以單片機為控制核心,采用模塊化設計,共分以下幾個功能模塊:單片機控制系統、鍵盤及狀態顯示、倒計時模塊等。MCU為硬件系統的核心,它是工作機器控制器和數據處理器的兩個協調。它由單芯片振蕩電路,復位電路。該系統采用雙數字倒計時計數功能,最大顯示數量99,界面友好,靈活控制,優化物理結構是本設計的亮點。2.2單片機的選擇單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。通常單片機由單片集成電路芯片,內部包含了電腦配件的基本功能:我的CPU,內存和輸入/輸出接口電路。因此單片機只需要適當的軟件及外部設備相結合,可以成為一個單片機控制系統。單片機經過了發展之后,在多功能,高效率,高性能,低電壓,低功耗,低價格,高存儲容量,強大的I/O功能和良好的相容性結構的發展方向前進。2.3單片機的基本結構AT89C52單片機是一種低功耗,低電壓,高性能CMOS8位微控制器,具有8KB(可承受1000次擦除周期)FLASH可編程只讀可擦寫程序存儲器(EPROM),該器件采用ATMEL高密度CMOS技術和公司的非易失性存儲器(NURAM)技術制造,輸出引腳和指令兼容MCS-51,快閃存儲器芯片允許系統內的程序可以適于或常規非易失性存儲器編程到程序。因此,AT89C52是一個強作用,高度的靈活性和經濟實惠的單芯片,它可以很容易地在各控制區的應用。2.4單片機外圍電路設計2.4.1復位電路設計MCS-51復位輸入RST是MCS-51提供了手段初始化,程序可以從指定位置開始,時鐘電路MCS-51后,只要RST引腳出現兩個以上的機器周期,當一個高的水平,它可以生成一個復位操作,只要RST居高不下,從高只有一個RET為低后MCS-51周期復位,MCS-51開始執行程序從地址0000H本系統采用復位電路的復位按鈕。圖2.1復位電路圖2.2.2外部晶振時鐘電路設計時鐘MCS-51可以以兩種方式來生產,一個是內部使用芯片振蕩器電路;另一個外部的方式,在本文中,根據實際需要,在簡單的內部振蕩模式中使用,內部MCS-51構成一個高增益反相放大器振蕩器引腳XTAL1和XTAL2是輸入和放大器輸出,它們共同構成一個反饋放大器元件芯片晶體或陶瓷諧振器自激振蕩。MCS-51雖然有內部振蕩電路,但要形成時鐘,必須外接元件,所以實際構成的振蕩時鐘電路,外接晶振以及電容C1和C2構成了并聯諧振電路接在放大器的反饋回路中,對接電容的值雖然沒有嚴格的要求,但電容的大小會影響振蕩頻率的高低,振蕩器的穩定性,起振的快速性和溫度的穩定性。晶振的頻率可在1.2MHZ~12MHZ之間任選,電容C1和C2的典型值在20pf~100pf之間選擇,由于本系統用到定時器,為了方便計算,采用了12MHZ的晶振,采用電容選擇30pf。圖2.2外部晶振時鐘電路圖2.2.3顯示模塊電路設計該模塊由共陽LED數碼管,采用數字化控制的動態掃描原理,由晶體管鎖存,當控制數字IO端口P20和P21低(與晶體管基極極低),晶體管導通,VCC通過晶體管數字電源,數碼管點亮,利用燈光余輝和人的視覺暫留原理的數字化控制的,它看起來像數碼管同時點亮圖2.3顯示模塊電路圖3.交通信號燈控制系統的設計交通信號燈由紅燈、綠燈、黃燈組成。紅燈表示禁止通行,綠燈表示準許通行,黃燈表示警示。交通信號燈分為機動車信號燈、非機動車信號燈、人行橫道信號燈、車道信號燈、方向指示信號燈、閃光警告信號燈、道路與鐵路平面交叉道口信號燈。交通信號燈用于道路平面交叉路口,通過對車輛、行人發出行進或停止的指令,使各同時到達的人、車交通流盡可能減少相互干擾,從而提高路口的通行能力,保障路口暢通和安全。因此必須合理的設計路口主干道的系統。3.1十字路口交通信號燈具體的控制要求(1)交通信號燈分布于東南西北,每個路口均有三個。南北方向的綠燈和東西方向綠的綠燈不能同時是光明的;如果你是,你應該立即關閉自動信號系統,并立即發出報警信號。系統工作后,第一次南北紅燈亮并保持30秒;與此同時,一些綠燈,時間和保持25秒,當25秒,東西綠燈熄滅。當綠燈熄滅的東西,一些黃色的光,保持5秒,然后黃色的東西了,東西紅燈,紅燈熄滅,而南北,南北綠燈;紅燈亮的東西,保持30秒;與此同時,南北綠燈保持15秒;然后南北綠燈綠燈熄滅時,北部和南部,北部和黃色的光,保持5秒后熄滅向南;而南北向紅燈,綠燈的東西。(2)在交通信號燈亮和閃爍的同時,路口設有兩位七段碼的顯示器倒數計時,讓車輛行人能夠清楚地知道再過多久信號燈就會發生變化。以便于司機和行人能夠在有限的時間內準確的通行。3.2十字路口交通信號燈示意圖交通信號燈共有12盞,每個路口各有紅,黃,綠三盞,具體分布如下圖所示:圖3.1十字路口交通信號燈示意圖4.交通信號燈控制系統程序編制4.1軟件設計應用環境該設計軟件的設計在用KeilC51環境下編譯。用KeilC51美國的Keil軟件公司生產的51系列兼容單片機C語言軟件開發系統,該軟件提供了豐富的庫函數和功能強大的集成開發和調試工具,一個完整的Windows界面。另外重要的一點,只要看看生成編譯的匯編代碼,就能體會到所產生的效率用KeilC51的目標代碼是非常高的,多數生成的匯編代碼的語句結構緊湊,易于理解。在大型軟件的開發,以更好地體現高級語言的優勢。4.2軟件設計流程軟件總體設計主要完成各部分的軟件控制和協調。本系統主程序模塊主要完成的工作是對系統的初始化,發送顯示數據,同時對鍵盤進行掃描,等待外部中斷,以及根據所需要的功能進行相應的操作。軟件設計軟件主要完成對各部分的控制和協調。在系統上完成工作的主要模塊初始化,發送顯示數據,而鍵盤掃描,等待外部中斷,并采取適當行動以根據所需的功能。設置定時,顯示初始化設置定時,顯示初始化南北綠燈亮,東西紅燈亮,延時南北黃燈閃爍,東西紅燈亮,延時南北紅燈亮,東西綠燈亮,延時南北紅燈亮,東西黃燈閃爍,延時開始圖4.1軟件設計流程圖5.結論本論文介紹了一種基于AT89C52單片機的交通燈的設計方法,本論文完成了系統的硬件設計與制作,詳細介紹了系統硬件設計的過程,并結合軟件系統完成了整個系統的軟、硬件聯調,系統工作良好,實現了基本功能。通過這樣的設計,加強了我的所學專業知識,也從我的理論和實踐上相結合了真正意義行使與互聯網的幫助下,收集,查閱相關資料,并組織材料的綜合能力,從中我也認識到自己的不足之處,我將得到改善,并在學習的未來擴展。經過這次設計后,我覺得我收獲還是蠻多的,因為之前做這方面的內容還是比較少的,大學生活主要還是將時間花在課外活動上,所以我覺得以后我還是要多進行這方面的課題研究和總結啊,不僅讓我學習到了很多知識,還讓我增加了很多我跟同學之前的交流,在設計的過程中,如有不懂的地方,我們可以毫不吝嗇的去分享和交流我們個人的看法,所以我覺得我還是受益匪淺啊,以后我要更多的針對性學習,不斷提高我的能力。

參考文獻[1]劉勇.數字電路[M].電子工業出版社.2004[2]楊子文.單片機原理及應用[M].西安電子科技大學出版社.2006[3]劉華東.單片機原理與應用(第2版)[M].電子工業出版社.2006.8[4]胡漢才.單片機原理及其接口技術[M].清華大學出版社,2006.[5]沈精虎.電路設計與制版Protel99入門與提高[M].人民郵電出版社,2004.[6]范風強,蘭嬋麗.單片機語言C51應用實戰集錦[M].電子工業出版社.,2001.[7]顧曙敏.單片機與串行時鐘DS1307的接口設計[J].現代電子技術,2003,26(14)85-87.[8]孫曉燕.基于8051單片機的交通燈控制系統設計與模擬[J].南寧職業技術學院學報,2007年03期.[9]陳毅,許飛,王學飛.基于單片機的交通燈智能控制系統[J].中國高新技術企業,2009年第15期.致謝本論文在譚剛林老師的細心指導和嚴格要求下已完成,選擇特定的精神和內容的課題,體現了老師的心血和汗水,這種特別是老師嚴格的教學要求和精神,一絲不茍的工作,讓我佩服。在大學三年的學習和生活中,也總能感覺到精心培育的導師和無私的關懷,使我學到了很多東西,并向你們表達我最真心的感謝。謝謝你們,我可愛的老師們。所取得的經驗,使我受益終身,我確實感覺到這次是真的很難做一件事,因為這是一個克服苦難的過程,過程中碰到了很多意想不到的問題和麻煩,我覺得這種經歷肯定會讓我在以后的學習激勵我繼續,進展。這么多天以來,該設計能夠順利完成,也多虧了同學和老師,認真負責,這樣我可以是一個很好的把握和利用我們的專長在設計和得到體現。正是有了他們的幫助和支持,使我的學位論文工作順利完成前仔細閱讀。老師們的辛勤努力工作,我們感到非常榮幸和尊重,在未來的道路上后,我會繼續努力工作,不會絕對不辜負一絲一豪的期望,在這里衷心感謝您,我一直勇于向前。在此,我還要特別感謝我的同學們,由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,原諒我是一個專業基礎知識掌握不是很牢固的人,有了你們的幫助,我才能得以這樣順利的完成課題,謝謝你們,接近畢業了,能夠認識你們這樣一群朋友,相識,相知,相助,相舍,我很高興和自豪哈哈哈,愛你們,真的謝謝你們!

附錄#include<reg52.h>#include"eeprom.h"00#defineucharunsignedchar#defineuintunsignedintsbitwei1=P2^1; //數碼管位選sbitwei2=P2^2;sbitwei3=P2^3;sbitwei4=P2^4;sbitDQ=P1^0; //溫度sbitk1=P3^1; //功能按鍵sbitk2=P3^2; //增加鍵sbitk3=P3^3; //減少建ucharTL,TH,TN,TD;sbitbeep=P2^0;ucharcount,num,m,s1num=0; //溫度值ucharhtemp=33,ltemp=15; //溫度上下線初始化floatf_temp;intkey_delay=0;constintkey_count=200;bityyp=1,halarm=0,lalarm=0;ucharcodeTAB[]={0xc0,0xcf,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};ucharcodeTAB1[]={0xbf,0x89,0xc7,0xa7}; //三個依次是-HL 后面兩個是溫度符號/****毫秒級延時函數*****/voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}voiddelay1(uchari){ucharj=100; for(i;i>0;i--) for(j;j>0;j--) {;}}voiddi(){ beep=0; delay(100); beep=1;}/***********ds18b20延遲子函數(晶振12MHz)*******////////////////////////////////////////////////////voiddelay_18B20(unsignedinti){ while(i--);}////////////////////////////////////////////////////**********ds18b20初始化函數**********************/////////////////////////////////////////////////////voidInit_DS18B20(void){ unsignedcharx=0; DQ=1; //DQ復位 delay_18B20(8); //稍做延時 DQ=0; //單片機將DQ拉低 delay_18B20(80); //精確延時大于480us DQ=1; //拉高總線 delay_18B20(14); x=DQ; //稍做延時后如果x=0則初始化成功x=1則初始化失敗 delay_18B20(20);}/////////////////////////////////////////////***********ds18b20讀一個字節**************////////////////////////////////////////////unsignedcharReadOneChar(void){ uchari=0; uchardat=0; for(i=8;i>0;i--) { DQ=0; //給脈沖信號 dat>>=1; DQ=1; //給脈沖信號 if(DQ) dat|=0x80; delay_18B20(4); } return(dat);}///////////////////////////////////////////////////*************ds18b20寫一個字節****************///////////////////////////////////////////////////voidWriteOneChar(uchardat){ unsignedchari=0; for(i=8;i>0;i--) { DQ=0; DQ=dat&0x01; delay_18B20(5); DQ=1; dat>>=1;}}/**************讀取ds18b20當前溫度************///////////////////////////////////////////////voidReadTemp(){ Init_DS18B20(); WriteOneChar(0xCC); //跳過讀序號列號的操作 WriteOneChar(0x44); //啟動溫度轉換 Init_DS18B20(); delay(1); WriteOneChar(0xCC); //跳過讀序號列號的操作 WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個寄存器)前兩個就是溫度 TL=ReadOneChar();//先讀的是溫度值低位 TH=ReadOneChar();//接著讀的是溫度值高位 TN=TH*16+TL/16;//實際溫度值=(TH*256+TL)/16,即:TH*16+TL/16 //這樣得出的是溫度的整數部分,小數部分被丟棄了 TD=(TL%16)*10/16;//計算溫度的小數部分,將余數乘以10再除以16取整, //這樣得到的是溫度小數部分的第一位數字(保留1位小數) }////////////////////////////////////////////////voidget_wendu(ucharm){ ucharws,wg; ws=m/10; wg=m%10; wei2=0; //讀取溫度的十位和個位 P0=TAB[ws]; delay(5); wei2=1; P0=0xff; wei3=0; P0=TAB[wg]&0x7f; delay(5); wei3=1; P0=0xff; }voidget_wendu2(ucharm){ wei4=0; P0=TAB[m]; delay(5); wei4=1; P0=0xff; }/////////調最高溫度調用的函數//////voidhdisplay(uchardat) { ucharfs,fg; wei1=0; //讀取最高溫度符號“H-” P0=TAB1[1]; delay(5); wei1=1; P0=0xff; wei2=0; P0=TAB1[0]; delay(5); wei2=1; P0=0xff; fs=dat/10; fg=dat%10; wei3=0; P0=TAB[fs]; delay(5); wei3=1; P0=0xff; wei4=0; P0=TAB[fg]; delay(5); wei4=1; P0=0xff;}/////////調最低溫度調用的函數//////voidldisplay(uchardat) { ucharfs,fg; wei1=0; //讀取最低溫度符號“L=” P0=TAB1[2]; delay(2); wei1=1; P0=0xff; wei2=0; P0=TAB1[0]; delay(2); wei2=1; P0=0xff; fs=dat/10; fg=dat%10; wei3=0; P0=TAB[fs]; delay(2); wei3=1; P0=0xff; wei4=0; P0=TAB[fg]; delay(2); wei4=1; P0=0xff; }/****按鍵掃描******/voidkeyscan(){ if(k1==0) { delay(10); if(k1==0) { yyp=0; s1num++; while(!k1); //等待按鍵釋放 di(); htemp=byte_read(0x2200); ltemp=byte_read(0x2000); switch(s1num) { case1:break; case2:break; case3:if(s1num==3)s1num=0;yyp=1; break; } } } if(s1num!=0) { if(k2==0) { delay(10); if(k2==0) { do { delay1(10); } while((!k2)&(key_delay++<key_count)); ///等待按鍵釋放 di(); switch(s1num) { case1:htemp++; if(htemp==99)htemp=0; hdisplay(htemp); SectorErase(0x2200);//擦除扇區 byte_write(0x2200,htemp);//重新寫入數據 break; case2:ltemp++;

溫馨提示

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

評論

0/150

提交評論