《基于單片機的汽車測速系統(tǒng)設計與實現(xiàn)》12000字(論文)_第1頁
《基于單片機的汽車測速系統(tǒng)設計與實現(xiàn)》12000字(論文)_第2頁
《基于單片機的汽車測速系統(tǒng)設計與實現(xiàn)》12000字(論文)_第3頁
《基于單片機的汽車測速系統(tǒng)設計與實現(xiàn)》12000字(論文)_第4頁
《基于單片機的汽車測速系統(tǒng)設計與實現(xiàn)》12000字(論文)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

ⅢⅢ基于單片機的汽車測速系統(tǒng)設計與實現(xiàn)摘要隨著時代的變革以及汽車行業(yè)迅猛發(fā)展,人們的出行愈發(fā)依賴汽車。然而人們往往會容易忽視不安全駕駛所造成的重大后果。交通安全成為危及駕車出行安全的重要因素,因此車輛擁堵的提前預警以及合理限速行駛,將顯著的降低交通事故的發(fā)生。目前世界上優(yōu)秀的汽車研發(fā)技術產(chǎn)品逐漸運用到汽車安全行駛上,因此,本文按照智慧交通的功能要求,制造出基于STC89C52單片機的控制系統(tǒng)。本文全面具體的闡述了單片機控制系統(tǒng)的功能、原理、硬件、軟件的設計,以及各元器件的選擇與應用。以STC89C52芯片通過紅外傳感器感應同一路段車輛的數(shù)量,輔以超聲波測試車速、電子訊響器、控制開關、按鍵以及LED等能夠準確測量出該路段的車速以及擁堵情況。從而,提示后方來車減速慢行,讓其車速實現(xiàn)智能化提示,使得道路上擁堵的發(fā)生率大大減少,減少路上擁堵的時間浪費。經(jīng)過多次模擬實驗與調試后的限速提示系統(tǒng)完成了預期設計目標,實現(xiàn)了測速、計數(shù)等參數(shù)控制。能夠基本滿足路段擁堵顯示以及提示需求。實現(xiàn)讓交通疏導更為智能與便利,同時還可以在一定程度上減少交通擁堵的發(fā)生概率。關鍵詞:單片機;LED;超聲波;紅外傳感器目錄引言 圖316所示。圖3-16紅外檢測原理圖。3.5.2led指示模塊led是最簡單且最正規(guī)的輸出元器件之一。本系統(tǒng)中用了紅、黃、藍分別代表擁堵等級的三、二、一級。在實際的交通路況中,用led顯示也能十分明顯的表示出擁堵的狀況,方便警示來車是否需要減速與繞行。通過led的用途不同,與按鍵相似的可以分別獨立led和矩陣led。矩陣lcd節(jié)省端口但編程相當復雜,一般使用的led比較多的時候采用,而獨立led編程簡單但浪費接口,一般led較少時使用。圖3-17按鍵模塊原理圖由于本設計中使用的led使用的規(guī)模比較少,所以選用獨立led為的接線控制方式,并為其設置三個led輸出,用于顯示擁堵的三個等級,led顯示模塊原理圖如圖3-17所示。4軟件程序設計總所周知C語言之所以能夠廣泛應用,這得益于其緊湊簡潔的語法,靈活多變的應用以及豐富的數(shù)據(jù)類型結構。由于設計自由度大,所以其也是當前單片機編程應用最廣泛的底層語言之一。無論控制大型亦或者小型設備C語言都是最貼合硬件的語言之一,由于其上述優(yōu)點,所以是控制系統(tǒng)編寫的不二選。4.1編程環(huán)境介紹在本設計中的編程軟件使用keil作為本設計的編程環(huán)境,其不僅可以完美兼容C語言的程序,還可以生成HEX文件在ISIS里仿真。同時因為在keil的環(huán)境下C語言的目標代碼生成率非常之高且結構緊湊、易懂等優(yōu)點,所以經(jīng)過多方比較最終選用其為本設計的編程工具。圖4-1KeiluVision4開發(fā)界面圖本設計使用的仿真工具ISIS是目前最為常見的仿真工具之一。其相對于同類型的仿真軟件具有動態(tài)模擬、實時仿真驗證,過程與實物統(tǒng)一等優(yōu)勢。其作用是大大縮短設計周期,降低設計成本等,對于常見的產(chǎn)品開發(fā)具有極大的幫助。4.2程序設計流程4.2.1主程序設計流程本設計的主要核心部分通過紅外檢測模塊實時檢測車輛的數(shù)量,配合一個1602顯示模塊與三個led更新車輛數(shù)量以及擁堵等級,超聲波傳感器檢測來車的車速與另一個傳感器配合顯示來車測速,根據(jù)擁堵等級警示來車進行減速,當擁堵級別到達最高級時,提示來車繞行。主程序流程原理為:首先將兩個lcd1602進行默認配置初始化、其次將兩個定時器中斷初值及工作模式設置,分別用于計算超聲波距離以及定時減少車輛,然后初始化顯示內容,最后進入主循環(huán)程序,不斷地計算車輛、來車測速,更新顯示信息,達到實時監(jiān)控的效果。主循環(huán)不斷獲取輸入信號的同時,也將輸入的信號進行處理并輸出到LCD。首先,顯示紅外測物傳感器檢測探頭前面是否有物品,有物品的時候,等待探頭前面的物品消失,車輛數(shù)目加一,更新車輛顯示,然后超聲波傳感器獲取一次前方的距離,更新并計算前方車輛的速度顯示,擁堵時,警示來車減速或繞行,系統(tǒng)經(jīng)過圖如下圖4-2所示。圖4-2主程序設計流程圖在程序編寫中,首先應該明確所需要的的功能以及熟悉硬件數(shù)據(jù)手冊,其次需要將自己的思路繪制成系統(tǒng)框圖以便明確編程的框架,最后應該將程序轉換成hex文件下載進isis中進行仿真功能驗證。在設計的過程中根據(jù)系統(tǒng)框圖設計的方案調用不同的子程序組成主程序。例如:在主程序的框架中調用延時,中斷等子程序進行填充,部分主程序如下所示。voidmain(void){ lcd1_init(); //初始化lcd lcd2_init(); init_timer();//初始化計時器 init_display(); //初始化顯示 while(1) { measure_distance(); if(out==0) { //delay(1); if(out==0) { while(out==0); i_cars++; if(i_cars==20) //車輛到20時,更新標記,提示繞行 { update_con=1; } lcd1_update_cars(); //更新車輛顯示 } } measure_distance(); //獲取測速并更新顯示 }}4.2.2超聲波測速程序設計使用超聲波模塊進行數(shù)據(jù)獲取時,需要將Trig端口的電平拉低,時間為10um左右,電平拉低后需等待Echo輸出代表模塊發(fā)送出超聲波信號的高電平,當超聲破接收到高電平后開始工作。當T0在工作狀態(tài)時只有將Echo輸出為高電平,傳感器才能檢測到遮擋物的反彈脈沖信號,最后通過公式計算出測量的實際距離,相關程序如下。voidconut_distance(void){ inti=0; //用于遍歷顯示 uchardisplay[6]="000.00"; unsignedlongdistance=0; //計算距離 unsignedlonggap=0; //兩次的距離 unsignedlongspeed=0; uinttime=TH0*256+TL0; TH0=0; TL0=0; lcd1_set_pos(0,7); distance=time*1.7; //distance=(time*1.8446)/100;//11.0592晶振算法 if((distance>=10000)||flag==1) { flag=0; } else { //如果上次的距離,大于當次的距離 if(last_dis>distance) { gap=last_dis-distance; //計算兩次距離差 speed=time*gap; } //單位:厘米 display[0]=speed/10000+'0'; display[1]=speed/1000%10+'0'; display[2]=speed/100%10+'0'; display[4]=speed/10%10+'0'; display[5]=speed%10+'0'; } last_dis=distance; for(i=0;i<6;i++) { lcd1_write_data(display[i]); } //dis=(display[1]-'0')*10+(display[2]-'0');} 4.2.3顯示程序設計(1)初始化初始化時,首先進行上電延時一般為15ms(首次書寫指令應給予足夠反應時間),其次設定顯示行列數(shù)量(16*2),最后進行是否閃爍光標、是否清屏等指令的編寫。相關程序如下。 write_cmd(0x0c); //顯示移動效果 write_cmd(0x06); write_cmd(0x01);///清空顯示}(2)設置顯示位置內容顯示前需要設定開始與結束的坐標、其顯示的內容與數(shù)量。由于采用的液晶數(shù)字顯示器最多顯示16位字符,因此如何顯示、顯示的內容必須斟酌簡化。默認的顯示流程是從左到右顯示,內容從左到右顯現(xiàn)出來。其數(shù)據(jù)的顯示位置靈活多變,可根據(jù)不同的設計思路或需求進行調整。 本設計使用的液晶交互,內容可根據(jù)數(shù)據(jù)手冊將不同需求定制更改。液晶的交互顯示內容首先需要通過程序的編寫定義內容的顯示位置,其次將數(shù)據(jù)的數(shù)組按照設定順序依次寫入即可完成內容的位置,最后將定義的內容進行設置即可完成顯示程序的編程。本設計使用的液晶不僅可以定義16*2的字符內容,還可以定義其顯示的長度與時間間隔以及顯示的順序,例如:“1”“20”“0.5”首先顯示1s,“漢字”“符號”“空格”隨后1s間隔閃爍顯示總共顯示30s。同時還可以根據(jù)實際要求定義顯示內容的大小、亮度以及向左(向右)的移動速度等都可通過程序的編寫進行精準的顯示控制。因為1602的設計流程極度簡化,所以大大的降低了初學者入門學習的難度。部分液晶程序如上所示。圖4-3顯示程序設計流程圖4.3軟件仿真與分析本設計使用的仿真軟件具有同類型軟件的所有功能且更為靈活多變,元器件庫更為豐富,其最大的特點是可視化的電路仿真交互。通過該軟件的VSM,設計師可以對各種電路、程序、核心處理器及外圍器件等電路進行系統(tǒng)仿真。為了設計更為簡潔與便捷本設計采用ISIS進行制作實物前的仿真與調試。同時使用該軟件可有效地節(jié)省設計時間以及設計成本容錯率可在一定程度上放寬。因此經(jīng)過幾款軟件的分析與對比最終采用ISIS進行本設計電路及程序的仿真,ISIS的優(yōu)缺點分析如表4-4所示。表4-4ISIS優(yōu)缺點分析表優(yōu)缺點分析優(yōu)點含有示波器x等功能,一定程度上可以排錯僅考慮理想狀態(tài),免除元器件可能造成的干擾缺點元件庫不足,某些元件無法仿真仿真環(huán)境過于理想,程序在仿真正常運行,在實際電路板上或許無法運行圖4-4仿真分析結果圖在早期的電路設計過程中并沒有電路仿真驗證這個概念,尤其是當年的科技還遠不如現(xiàn)在發(fā)達,所以造成電路仿真的結果與實物相差甚遠。例如放大電路的準確性以及仿真的延時性與實際不符等問題。在繪制電路圖的過程中,電路圖并不能代表所有信息,與實物相比太過于理想化,例如磁場的干擾是仿真軟件無法模擬的。即使現(xiàn)在的技術正在日益趨于成熟,但仿真依舊無法十全十美的驗證設計的成果。雖然數(shù)據(jù)無法完全模擬現(xiàn)實,但是在技術如此正在伴隨著世界日新月異。在ISIS中已經(jīng)可以模擬大部分的電路以及程序的驗證。對于本設計而言已經(jīng)足以勝任。當原理圖與程序完成后,根據(jù)原理圖制作相應的仿真圖,利用該軟件的功能將hex文件燒錄進MCU進行仿真驗證。在程序加載完成后,運行該軟件并且驗證本設計的功能是否與自己設計的一樣,是否達到相應的設計要求。在實時的驗證過程中反復測試,保證該程序與該硬件相互兼容且可穩(wěn)定運行。如圖4-4所示。5硬件實現(xiàn)與調試手工焊接是最常用也是最基本的焊接方法,隨著科技的飛速發(fā)展,目前大型的工廠已經(jīng)實現(xiàn)了半自動化甚至全自動化焊接。但是由于自動化焊接的局限性,對于元器件的修理以及個人小批量設計依舊采用手工焊接為主。整個調試部分焊接最為重要,如果焊接不良輕則影響功能的穩(wěn)定,嚴重的情況下還可能會導致整個控制系統(tǒng)不可用等情況發(fā)生。5.1硬件電路制作手工焊接主要有如下四步組成的:第一步開始焊接:首先需要把pcb表面清理干凈,注意pcb的位號以及方向。方向不對有可能導致該功能無法實現(xiàn),表面有臟污有可能導致焊點存在虛焊假焊等情況。其次注意烙鐵的加熱放上焊錫絲的過程中不能與別的引腳連錫。第二步給焊接升溫:完成第一步后,接下來需要加熱烙鐵、元器件管腳以及焊錫絲。這三者同時加熱才可進行焊接,此處需要注意的點為烙鐵溫度不宜過高并且接觸元器件時間不宜過長,否則容易損壞元器件。一般烙鐵溫度設定在360±20℃即可,接觸時間不能超過5s。第三步清理焊接面:當?shù)诙客瓿珊?,觀察焊點是否有臟污、虛焊、假焊以及焊錫過多過少等情況。主要觀察兩種情況的,1:錫不足,焊點不夠圓潤缺錫,在這種情況下應對相應的焊點進行補焊操作,避免焊接出現(xiàn)假焊虛焊導致功能無法實現(xiàn),增加調試難度。當然補錫的量不宜過多,否者容易造成連錫等情況。2:是焊錫過多,這種情況可用電洛鐵放在焊接處拖錫,烙鐵的張力會把多余的焊錫帶走的,如若不行,只能借助吸錫器把多余的錫剔除了。第四部檢查焊點:當前三步都已完成后,最后的步驟應該是整體觀察pcba是否有異常,焊點是否牢固,有無連錫等。除了以上焊接步驟,元件的焊接應盡量遵循先“小”后“大”,先“低”后“高”,先“難”后“易”的焊接基本原則。電路板焊接原則及規(guī)范如表5-1所示。表5-1電路板焊接原則及規(guī)范表電路板焊接原則及規(guī)范焊接的元器件遵循先小后大的原則焊點需成小山堆狀,且必須認真檢查防止虛焊及焊點有雜質放置元件時需注意其極性、大小及放置方向焊點焊錫應適量,不應過多或過少烙鐵溫度應大于焊錫熔點(220℃)且小于400℃5.2系統(tǒng)調試與分析在整機上電調試前的準備工作應使用萬用表檢測一下,電源正負極之間是否短路等嚴重的電源問題,在多次檢擦后確保系統(tǒng)焊接沒有問題,還需要進行再次觀察pcba是否與設計一致且無明顯硬件問題。例如元器件是否按照位號放置,元器件正負極是否有相連等問題。在pcb平臺搭建完成后,需要對程序功能進行調試。對比設計思路、仿真分析、實物程序是否存在差異。若功能有問題,則需要繼續(xù)進行實物與程序的調試調試程,反復進行驗證與調試,直到實物所有功能都可以正常實現(xiàn)為止。在pcb平臺搭建完成后,需要對程序功能進行調試。對比設計思路、仿真分析、實物程序是否存在差異。若功能有問題,則需要繼續(xù)進行實物與程序的調試調試程,反復進行驗證與調試,直到實物所有功能都可以正常實現(xiàn)為止。5.2.1硬件測試硬件整體測試的基礎工具也是必不可少的工具就是萬用表。主要使用萬用表輔以、直流電源、烙鐵或示波器等對pcba進行整體調試,其主要目的就是檢測pcba的各個模塊是否正常輸入、輸出以及導通。其調試主要分為兩個環(huán)節(jié)動態(tài)調試和靜態(tài)調試。一、靜態(tài)調試,其中靜態(tài)調試主要分為以下三種:(1)首先進行肉眼觀察焊點是否飽滿,元件與元件之間是否存在短路、斷路等現(xiàn)象。(2)其次使用萬用表測量,查看電源是否短路,同時測量元器件管腳是否連接正確,是否存在開路或者短路等情況。(3)最后的上電檢查必須是在前兩個步驟都驗證無問題后才可進行上電調試,上電后還需耐心觀察元件是否正常運行,再逐一測試其功能的可靠性。二、動態(tài)調試:動態(tài)測試的要領就是靈活多變,在上電調試過程中觀察是否正常,元件或模塊的工作是否滿足設計開發(fā)分需求。在這同時,有何異常都應停止調試,防止硬件燒壞,影響性能甚至無法使用。硬件實物調試圖如圖5-1所示圖5-1硬件實物圖5.2.2軟件測試軟件調試步驟如下:(1)在Keil4軟件中編譯事先寫好的程序,確保五警告與報錯提示(2)如若有警告與錯誤提示則需要先找到問題并解決后才可進行下一步(3)將生成的hex文件導入ISIS軟件進行仿真,看功能是否正常,不正常則需要重新修改程序,功能正常即可燒錄進入實物調試(4)實物調試過程中觀察功能是否正常,靈敏度等是否需要根據(jù)實物進行調整。keil軟件調試結果如圖5-2所示。圖5-2提示信息無錯誤5.2.3整機聯(lián)調在上述的軟硬件調試完成后,還需要進行實物的模擬演示,測試其功能的靈活、靈敏以及可靠程度。當系統(tǒng)開始通電以后,需要等待液晶正常顯示車輛信息。用手劃過紅外檢測模塊,觀察車輛是否增加,車輛到達一定數(shù)量,LCD能否實時更新?lián)矶碌燃壱约癓ED擁堵警示能是否正常顯示,一定時間后,觀察車輛是否能夠自動減少,用手摸在超聲波模塊前面來回晃動,觀察LCD能否正常檢測到前方物品的晃動速度,整機是否正常。圖中上下兩塊顯示屏是LCD1602模塊,每個顯示模塊旁邊都有一個白色的可調電阻,可以調節(jié)LCD1602的背光對比度,實現(xiàn)不同的顯示效果。圖中的顯示器第一行顯示的是右下角的超聲波模塊檢測到的速度,調試時,需要用物品在超聲波模塊前滑動,觀察數(shù)值變化,是否正常,第二行顯示的是右邊紅外檢測模塊計算到通過車輛的數(shù)量,當有車輛在紅外檢測模塊前面經(jīng)過時,紅外檢測模塊檢測到車輛,LCD顯示模塊車輛數(shù)目加1。為了模擬實際效果,程序中還采用了計時器,每五秒車輛數(shù)目自動減1。圖中下面的LCD1602第一行顯示“Congestion”,第二行顯示的是擁堵等級和需要限制的速度,擁堵等級分0到3級,當通過車輛少于10輛時,為正常通行情況,此時不擁堵,顯示0限制的速度為初始值60;當車輛超過10輛時,此時為輕度擁堵狀態(tài),顯示擁堵等級為1限制的速度值40,右邊藍色警示燈亮,當車輛超過15輛時,此時為中度擁堵狀態(tài),顯示擁堵等級為2,右邊黃色警示燈亮限制的速度值20,當車輛超過20輛時,此時為高度擁堵狀態(tài),顯示擁堵等級為3限制的速度值10,右邊紅色警示燈亮,顯示器第一行提示前方車輛繞行,顯示為“Pleasebypass”,如圖5-3所示。圖5-3硬件調試圖6結論由于經(jīng)濟與科學技術不斷提高,人們外出的次數(shù)越來越多,對于安全及效率外出的要求增長的很快。如何提高效率、降低風險,已成為交通道路發(fā)展的瓶頸。因此,更高效、更智能、控制精度更高的智能限速系統(tǒng)給此問題提供了解決方案。經(jīng)廣泛調研,本文采用STC89C52單片機作為本文的重點,在此基礎上創(chuàng)新出一款更加利民的智慧交通系統(tǒng),實現(xiàn)智能限速的控制。本設計主要研究內容如下:首先,在對比分析各種實現(xiàn)方案的基礎上,確定全局制造方向并實現(xiàn)方案所需的控制芯片及傳感器等元件的擇取。其次,以單片機為控制核心進行硬件電路設計。在設計單片機最小系統(tǒng)的基礎上完成了各控制系統(tǒng)及傳感模塊的硬件電路設計,結合超聲波與紅外檢測模塊搭建了較為行車監(jiān)控系統(tǒng)。在本設計中不僅采用了超聲波實時獲取來車車速,還通過紅外檢測模塊實時獲取經(jīng)過的車輛,計算分析車況擁堵情況,并通知來車適當減速。然后,在確定系統(tǒng)軟件設計流程的基礎上進行程序設計,將系統(tǒng)程序劃分幾個部分,其中包括:延時、實時顯示、中斷、及主程序等各個程序。編譯的程序根據(jù)設定的間隔讀取超聲波數(shù)據(jù),再由程序處理后將數(shù)據(jù)呈現(xiàn)在液晶上與用戶交互。應用軟件仿真針對所編程序進行了軟件與硬件的仿真分析,在設計的系統(tǒng)模型中對各個模塊進行了相應的測試與復檢。同時對其核心功能如:LED記錄與提示擁堵情況、定時模擬車輛減少、LED提示繞行等均進行了測試。最后,做好系統(tǒng)硬件實物電路,完成了電路元器件安裝及測試。經(jīng)系統(tǒng)調試完成后的行車監(jiān)控控制系統(tǒng)完成了預期設計目標,實現(xiàn)了行車監(jiān)控系統(tǒng)。經(jīng)調試完成后的行車監(jiān)控控制系統(tǒng)完成了預期設計目標,實現(xiàn)了行車監(jiān)控系統(tǒng)車輛測速檢測。本設計在能夠適應復雜工作情況的同時,還具有一定的實用價值,能夠在駕車出行日益增多的今天一定程度上減少事故發(fā)生、降低擁堵頻率。但因時間所限,行車監(jiān)控系統(tǒng)的超聲波計算測速與紅外檢測傳感器計算來車數(shù)量仍存在進一步提升的空間,有待于進一步加以研究,進而滿足更為穩(wěn)定、可靠的行車監(jiān)控系統(tǒng)。參考文獻郭天祥.51單片機C語言教程[M].北京:電子工業(yè)出版社,2009.林嘉.基于89S52的LCD1602程序設計[J].電腦知識與技術,2012,8(26):6376-6378.殷斌.基于單片機的溫度控制系統(tǒng)的研究[J].機電工程,2015,32(06):887-890.嚴敏.1602液晶顯示計數(shù)器的設計與實現(xiàn)[J].焦作大學學報,2016,30(04):82-84.隋清江.基于PROTEUS的LCD1602接口設計與仿真[J].微計算機信息,2010,26(19):171-172.吳漢清.單片機溫度控制器[J].電子制作,2006(08):17-18.徐曉光.數(shù)字邏輯與數(shù)字電路[M].北京:機械工業(yè)出版社,2008.黃智偉.印刷電路板設計技術與實踐[M].北京:電子工業(yè)出版社,2013.張俊謨.單片機中級教程[M].北京:北

溫馨提示

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

評論

0/150

提交評論