基于MCS-51單片機的智能客車超載監(jiān)控系統的設計_第1頁
基于MCS-51單片機的智能客車超載監(jiān)控系統的設計_第2頁
基于MCS-51單片機的智能客車超載監(jiān)控系統的設計_第3頁
基于MCS-51單片機的智能客車超載監(jiān)控系統的設計_第4頁
基于MCS-51單片機的智能客車超載監(jiān)控系統的設計_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE2基于單片機的客車超載監(jiān)控系統的設計PAGEIV摘要本文設計了一個客車超載監(jiān)控系統,以MCS-51單片機為核心,利用反射式紅外傳感器、方向識別電路、報警電路、鎖定電路設計,能夠通過鍵盤手動設置乘客人數的上限值,并用LED顯示器顯示車內的實時乘客人數。當客車內人數超載時,系統發(fā)出聲光報警,并通過繼電器切斷客車的電子啟動裝置,從而將汽車鎖定,使之無法行駛。當超載解除后,聲光報警也相應的解除,客車鎖定解除,可以正常運行。本設計共分兩部分,硬件系統設計和軟件系統設計。硬件部分利用紅外傳感器和方向識別電路將乘客的上、下車情況進行檢測和判斷并輸入單片機系統。經過單片機系統將處理的數據送LED顯示,聲光報警電路由蜂鳴器和發(fā)光二極管組成,用繼電器實現對客車啟動裝置的鎖定。軟件部分用匯編語言進行編程,采用模塊化設計思想。該系統通過調試后,能夠較好的完成客車超載的預警提示,并對超載情況進行相關控制。關鍵詞:客車;超載;監(jiān)控;單片機AbstractThispaperillustratesthedesignofacarriageoverloadmonitoringsysterm.MCS-51MCUascoreisusedtodesignhardwarecircuitandsoftware.Inthissubjectweuseinfraredsensors,identifycircuitandalarmcircuitlatchcircuittodesignacarriageoverloadmonitoringsystermthatenablesthekeyboardtomanuallysetlimitsonthenumberofpassengersandcanuseLEDatthesametimetodisplaythenumberofpassengersinside.Ifthepassengeroverloading,thesoundandlightalarmsystermcutsoffthebusthroughtheelectroniclaunchdevices.Bydoingthis,theoverloadmonitoringsystermcanlockthecar,sothatthecarcan’tbestarted.Whentheoverloadiscanceled,thesoundandlightwarningiscanceled.Thebusisalsounlockedandcanbeoperatednormally.Thedesignisdividedintotwoparts,hardwaresystermdesignandsoftwaresystermdesign.Thehardwaresystermspartusesinfratedsensorsandidentifycircuittodetectandjudgethesituationwhetherthepassengersaregettingonoroffthebus.ThissystermcandisplaythenumberofpassengersonLED.ThesoundandlightalarmcircuitiscomposedofbuzzerandLEDs,thelockfunctionofthebus’slaunchdevicesachievesbyusingtherelayunit.Assemblelanguageisusedinthesoftwaresystemandmodularizationdesignideaisadopted.Themonitorsystemcancompleteanalarmbeforehandforoverload,meanwhilethemutualitycontrolwillbeadopted.Keywords:carriage;overloading;monitoring;SCM(singlechipmicrocomputer)目錄TOC\t"標題_謝辭及參考文獻,1,標題_附錄,1,第2級標題,2,第3級標題,3,第1級標題,1"第1章緒論 11.1立題的意義 11.2課題研究任務及目標 31.3課題主要內容 3第2章客車超載監(jiān)控系統的方案論證 PAGEREF_Toc265005408\h42.1系統的原理 42.2系統的組成 4第3章客車超載監(jiān)控系統的硬件設計 63.1客車超載監(jiān)控系統的檢測電路 63.1.1傳感器的選擇 63.1.2反射式紅外傳感器檢測原理 73.1.3方向識別電路的設計 83.2單片機最小系統的設計 113.2.1單片機的選擇 113.2.2單片機外圍電路的設計 133.3顯示電路的設計 153.4鍵盤電路的設計 173.5報警電路的設計 183.6客車鎖定電路的設計 19第4章客車超載監(jiān)控系統的軟件設計 214.1客車超載監(jiān)控系統的軟件設計方案 214.2T0、T1中斷計數程序的設計 PAGEREF_Toc265005425\h234.3按鍵子程序的設計 244.4報警與鎖定子程序的設計 254.5顯示子程序的設計 26第5章系統調試與分析 275.1系統的硬件調試 275.2系統的軟件調試 285.3調試故障及原因分析 28結論 30社會經濟效益分析 31致謝 32參考文獻 33附錄I客車超載監(jiān)控系統硬件系統原理圖 PAGEREF_Toc265005437\h34附錄Ⅱ客車超載監(jiān)控系統程序清單 35附錄III客車超載監(jiān)控系統硬件實物圖 41附錄IV客車超載監(jiān)控系統元器件清單 42沈陽航空工業(yè)學院畢業(yè)設計(論文)-PAGEI-PAGE44第1章緒論1.1立題的意義隨著生活水平的不斷提高,人們外出打工、探親、旅游的人數越來越多,尤其是節(jié)假日,而與此相關的公路客運(長途客車,旅游客車等)的運力卻沒有相應增加,致使超員現象頻頻出現。目前,它已成為一個嚴重影響交通運輸環(huán)境和社會經濟可持續(xù)發(fā)展的社會問題。客車超載對國家的公路設施和客運市場造成了不良的影響,也影響車輛本身和車輛的駕駛、控制,容易引發(fā)事故,我們都知道車輛超載運輸并且長期處于超負荷狀態(tài),就會導致車輛的制動裝置和操作系統等安全性能迅速下降,表現為輪胎變形爆胎,剎車失靈,轉向器輕飄抖動,鋼板彈簧折斷,半軸斷裂等等。而客車一旦發(fā)生事故,給國家和百姓帶來重大的經濟損失和感情傷害。目前,國家雖然出臺了一系列的政策法規(guī)來制止客車超載,各地政府也制定了相關的制度來對客車超載進行管理,在一定程度上減少了客車超載現象,但在節(jié)假日等客流高峰期,超載現象還是屢禁不止。在采取行政監(jiān)督管理的同時,通過科學技術的手段來消除客車超載的現象也有著極其重要的意義和實用性。單片機作為微型計算機的一個很重要的分支,是將CPU、存儲器、總線、I/O接線口電路集成在一片超大規(guī)模集成電路芯片上。自問世以來,以其極高的性價比,受到人們的重視和關注,應用很廣,發(fā)展也很快。因此它廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域,大致可分如下幾個范疇:(1)在智能儀器儀表上的應用單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,廣泛應用于儀器儀表中,結合不同類型的傳感器,可實現諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。(2)在工業(yè)控制中的應用單片機可以構成形式多樣的控制系統、數據采集系統。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統,與計算機聯網構成二級控制系統等。(3)在家用電器中的應用現在的家用電器基本上都采用了單片機控制,從電飯褒、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備,五花八門,無所不在。(4)在計算機網絡和通信領域中的應用現代的單片機普遍具備通信接口,可以很方便地與計算機進行數據通信,為在計算機網絡和通信設備間的應用提供了極好的物質條件,現在的通信設備基本上都實現了單片機智能控制,從手機、電話機、小型程控交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的移動電話、集群移動通信、無線電對講機等。(5)單片機在醫(yī)用設備領域中的應用單片機在醫(yī)用設備中的用途亦相當廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護儀,超聲診斷設備及病床呼叫系統等。因此單片機的出現應用于監(jiān)測系統后,智能化的監(jiān)測系統的模型也就基本具備了。單片機以其兼容性強,軟件、硬件應用設計資源資料豐富,以及極高的性能價格比受到人們的重視和關注。單片機以及外圍芯片的不斷發(fā)展促進了超載、超量監(jiān)測系統的發(fā)展。以單片機為核心的智能監(jiān)控系統以其體積小,抗干擾能力強,對環(huán)境的要求不高,價格低廉,可靠性高,開發(fā)較為容易,并可獲得較高的經濟效益等特點,很快占有了監(jiān)控器領域的市場,所以其應用很廣,發(fā)展很快。因此本課題正是基于此點,采用單片機為核心的智能監(jiān)控系統可以對客車內乘客人數的統計,并通過LED顯示器實時顯示。當客車出現超載時,系統進行聲光報警。同時通過繼電器關閉客車的啟動裝置來阻止超載客車的運行。反之,當超載解除后,聲光報警被解除,系統也相應解除對客車的鎖定,客車可正常運行,從而達到了智能監(jiān)控客車超載的要求,大大減少因超載而發(fā)生交通事故,使乘客的生命財產安全得到有效的保障。1.2課題研究任務及目標本課題主要任務是以MCS-51單片機為控制核心,能夠自動檢測車內乘客的人數并用LED即時顯示,通過鍵盤設置超載人數的上限值,一旦客車超載時能進行聲光報警,同時鎖定客車的啟動裝置。它的硬件電路部分主要包括檢測電路(紅外傳感器和方向識別電路)、鍵盤電路、顯示電路、控制電路和報警電路五大部分。其中,主要研究內容為:紅外檢測技術、運動方向識別電路、LED數碼管的顯示、單片機控制系統等。該設計技術指標如下:(1)能夠完成車廂內人數的顯示,并用LED即時顯示(2)超載人數的上限值可以通過鍵盤設置(默認人數為30)(3)客車一旦超載時將發(fā)出聲光報警信號,并關閉汽車的啟動裝置。(4)光報警信號要實現1S閃爍功能,聲音報警電路要產生1kHz音頻信號驅動蜂鳴器完成。1.3課題主要內容本文主要介紹了客車超載監(jiān)控系統的軟硬件設計思想、各功能的實現方法、相應的電路原理、以及各元器件性能型號的選擇,內容主要分為三部分:第一部分是硬件和軟件的設計,包括硬件電路方案的設計、元器件的選擇等,具體的硬件電路包括檢測電路(傳感器和方向識別電路),AT89C51單片機的最小系統電路、鍵盤輸入電路、LED顯示電路、聲光報警電路、鎖定電路等。軟件設計采用模塊化的思想,逐步完善設計功能,初步繪制出電路圖和程序的流程圖。第二部分是軟、硬件仿真,程序采用匯編語言編寫,通過Keil軟件進行編譯調試,硬件電路用protues軟件繪制。程序調好后,利用Keil軟件生成單片機能識別的后綴為“.hex”的機器碼文件,然后把程序下載到protues電路圖中的單片機芯片,運行程序和protues電路(即protues和Keil的聯調)來實現設計要求的各功能。第三部分是在實驗板上焊接硬件電路的各個模塊,每一部分單獨調試,在各個部分調試成功后,聯調整個硬件電路,全部調通后用燒錄器把程序燒到AT89C51單片機里,上電后一切運行正常,系統實現預期的目標。第2章客車超載監(jiān)控系統的方案論證2.1系統的原理本課題所設計的客車超載監(jiān)控系統主要是避免因人數超載而引發(fā)的交通事故,所以本系統應該具備對乘客上、下車動作的智能檢測,通過單片機來處理傳感器獲取的信息,即自動統計客車內的具體人數,能用LED進行實時顯示。當客車內的實際人數超過設置值的上限值時,系統將自動進行聲光報警,同時客車的啟動裝置也被鎖定,這樣可以有效地阻止超載情況的發(fā)生。本系統中智能監(jiān)控的方法顯得尤為重要。其中,智能監(jiān)控包括兩部分:第一是檢測模塊部分。通過E3F-DS30C4反射式紅外傳感器和雙D觸發(fā)器對乘客的上、下車動作進行檢測和判斷。第二是數據統計部分。由單片機對接收的脈沖信號進行相應的加減計數,即完成統計乘客人數的功能。只有對車內人數準確的監(jiān)控,才能判斷出是否超載,來避免交通事故的發(fā)生,從而達到防患于未然的現實意義。2.2系統的組成系統結構框圖如圖2.1所示。主要包括:檢測電路(紅外傳感器和方向識別電路)、鍵盤電路、單片機系統、LED顯示電路、繼電器控制電路、報警電路六部分。紅外傳感器(1)紅外傳感器(2)紅外傳感器(1)紅外傳感器(2)雙D觸發(fā)器組成的互鎖電路單片機數碼管顯示電路繼電器控制電路聲光報警電路鍵盤輸入 圖2.1系統的總體設計框圖系統各部分的基本功能簡介如下:(1)反射式紅外傳感器該傳感器是一種集發(fā)射器和接收器于一體的傳感器,當探測器前方有障礙物時,物體將光電開關發(fā)射器發(fā)射的足夠量的光線反射到接收器,于是光電開關就產生了開關信號。當探測器前方沒有障礙物時,探測器輸出端輸出高電平,當檢測到障礙物時,探測器輸出端輸出低電平。因此,當有乘客經過車門完成一個上車或者下車的動作時就會產生脈沖信號,這樣就完成了對乘客上、下車動作的檢測,實現了將動作信號轉換成電信號的功能。(2)方向識別電路方向識別電路是由雙D觸發(fā)器組成的雙穩(wěn)態(tài)電路,它可以通過自身的邏輯電路,來實現辨向的功能。方向識別電路與單片機的T0、T1口相連,當乘客上車時會產生一個相應的負脈沖信號,把其接入T0端作為乘客上車動作信號的輸入端,從而實現辨別乘客運動方向的功能。同理,當乘客下車時也會產生一個相應的負脈沖信號,把其接入T1端,即T1端作為乘客下車動作信號的輸入端。(3)單片機系統單片機是本系統的核心元件,它實現了對傳感器所采集的信號的判斷和處理,控制硬件部分的鍵盤電路、顯示電路、報警電路從而完成客車超載的智能監(jiān)控。(4)鍵盤鍵盤采用4個獨立式的按鍵來手動設置客車乘客人數的上限值。(5)LED顯示電路該電路用兩位共陰極LED數碼管來即時顯示,其系統開始時顯示預置上限人數,當系統進入監(jiān)控階段則顯示客車內乘客的實際人數。(6)繼電器在該系統中用繼電器來模擬客車的啟動裝置。若繼電器斷開,則代表客車已被鎖定無法開啟;若繼電器閉合則代表客車恢復正常的啟動,可以運行。(7)報警電路報警電路由蜂鳴器和發(fā)光二極管組成,當接收到單片機的命令時進行相應的聲光報警和解除報警。第3章客車超載監(jiān)控系統的硬件設計系統的硬件設計是該系統設計成功與否的基礎。按照系統設計的總體方案,本設計采用模塊化的設計思想。硬件設計主要完成:檢測電路、單片機最小系統電路、LED顯示電路、繼電器控制電路、聲光報警電路、鍵盤輸入電路。3.1客車超載監(jiān)控系統的檢測電路3.1.1傳感器的選擇在本系統中傳感器的主要作用是完成上、下車乘客動作信號的檢測,因而在對傳感器選擇時應盡量考慮實際需求。其中包括適當的檢測范圍、靈敏度、調理電路簡單、高性價比等。常用的傳感器有反射式紅外傳感器、超聲波式傳感器、視覺傳感器、激光雷達和MMW雷達等。幾種傳感器的優(yōu)缺點進行比較如表3.1所示。表3.1傳感器性能比較傳感器類型優(yōu)

點缺

點超聲波價格合理,夜間不受影響測量范圍小,對天氣變化敏感紅外線能直接測量,價格便宜探測距離較近視覺易于多目標測量和分類,分辨率好算法復雜,處理速度慢激光雷達價格相合理,夜間不受影響對水、灰塵、燈光敏感MMW雷達不受燈光、天氣影響價格貴其中超聲波傳感器的基本原理是超聲波的直線傳輸特性。傳感器有一個超聲波發(fā)射端,上電后發(fā)射超聲波,另有一個超聲波接收端,如果前方有障礙物,超聲波反射回來被接收端接收,并在輸出端輸出一個相應的電平信號。該方法被廣泛應用于移動機器人的研究上。其優(yōu)點是價格合理,易于使用,且在10m以內能給出精確的測量。但是超聲波傳感器的工作原理基于聲,即使可以使之測達100m遠,但可能在傳輸中受到其它信號的干擾,所以不能用于本系統。視覺傳感器在CW系統中使用得非常廣泛。其優(yōu)點是尺寸小,價格合理,在一定的寬度和視覺域內可以測量定多個目標,并且可以利用測量的圖像根據外形和大小對目標進行分類。但是算法復雜,處理速度慢。雷達傳感器在軍事和航空領域已經使用了幾十年。主要優(yōu)點是可以魯棒地探測到障礙而不受天氣或燈光條件限制。近十年來隨著尺寸及價格的降低,在汽車行業(yè)開始被使用,但是仍存在性價比的問題。本設計采用的是一種集發(fā)射與接收于一體的光電傳感器。檢測距離可以根據要求進行調節(jié)。該傳感器具有探測距離遠、受可見光干擾小、價格便宜、易于裝配、使用方便等特點,可以廣泛應用于機器人避障、流水線計件等眾多場合。如圖3.1所示。圖3.1紅外傳感器該漫反射型光電開關檢可以檢測前方3-80cm(可以調節(jié));工作電壓為5V直流電壓。工作電流小于10mA;輸出驅動電流為100mA;使用溫度范圍為-40~70;這是一種應用最為廣泛的光電開關,它的直徑為17mm,固定時只要在設備外殼上打一個17mm的園孔就能輕松固定,長度約45mm,引線長度為45mm。3.1.2反射式紅外傳感器檢測原理漫反射式光電開關是一種集發(fā)射器和接收器于一體的傳感器,當有被檢測物體經過時,物體將光電開關發(fā)射器發(fā)射的足夠量的光線反射到接收器,于是光電開關就產生了開關信號。當被檢測物體的表面光亮或其反光率極高時,漫反射式的光電開關是首選的檢測模式。漫反射式光電開關工作示意圖如圖3.2所示。E3F-DS30C4發(fā)射E3F-DS30C4發(fā)射返回漫反射光電開關被檢測物體圖3.2漫反射式光電開關工作示意圖測量電路也是傳感器組成的一部分。由于傳感器由敏感元件和轉化元件組成,但轉化元件輸出的電量常常難以直接進行顯示、記錄、處理和控制。這時就需要將其進一步變化成可直接利用的電信號,而傳感器中完成這一功能的部分稱為測量電路。隨著集成電路技術的發(fā)展,傳感器的測量電路也逐漸開始集成芯片化。一般需要輔助電源供電。測量電路的選擇視轉化元件的類型而定,常采用的有電橋電路、脈寬調制電路、振蕩電路、高輸入阻抗電路。紅外傳感器采用E3F-DS30C4型光電開關,該傳感器為漫反射式光電開關,漫反射式光電開關發(fā)出的光線需要經檢測物表面才能反射回漫反射開關的接受器,所以檢測距離和被檢測物體的表面反射率將決定接受器接收到光線的強度。粗糙的表面反射回的光線強度必將小于光滑表面反射回的強度,而且被檢測物體的表面必須垂直于光電開關的發(fā)射光線。當無檢測物體時,常開型的光電開關所接通的負載由于光電開關內部的輸出晶體管的截止而不工作,當檢測到物體時晶體管導通,負載得電工作。該傳感器探測距離為3-80cm,根據實際需要把車門兩個傳感器的探測距離調整為40cm。3.1.3方向識別電路的設計在該系統的設計中,傳感器單元的功能是檢測乘客經過車門的動作信號,但是對乘客的具體上、下車的動作不能作出判斷,因而采用方向識別電路對傳感器的輸出信號進行區(qū)分、判斷就成為了一個必要的環(huán)節(jié)。在本課題的設計中,反射式紅外傳感器安裝在客車車門附近,其具體安置方法如圖3.3所示。上車方向上車方向車門傳感器1傳感器2下車方向車廂內車廂外圖3.3檢測傳感器安放圖R1/Q1CLK1Q1D1S1D2R1/Q1CLK1Q1D1S1D2S2Q2CLK2/Q2R2傳感器1傳感器2INT1INT074F0474F0474F0474F04+5V圖3.4辨別方向電路圖如圖3.4所示,將雙D觸發(fā)器的復位端分別與74F04相連。由于雙D觸發(fā)器的置位端為低電平有效,將置位端接+5V電壓,從而對置位信號進行屏蔽。將D觸發(fā)器的端與端連接起來,這樣D觸發(fā)器的特征方程為。當時鐘信號CLK=0時,D觸發(fā)器的端和端保持邏輯狀態(tài)不變;當CLK=1時,即D觸發(fā)器時鐘信號的上升沿到達時,端和端的狀態(tài)要進行翻轉,轉變成相反的邏輯狀態(tài)。其特性表如表3.2所示。表3.2邊沿觸發(fā)器特性表CRSD×01×0×10×1↓01×↑1100↑1111當沒有乘客經過車門時,傳感器1、2均輸出為高電平,經74F04反相處理后,輸出為低電平。觸發(fā)器的復位端和置位端為低電平有效,在本設計中對觸發(fā)器的置位端接入+5V進行屏蔽。在沒有乘客上車時,兩個D觸發(fā)器的時鐘信號CLK1、CLK2均等于0,=0,=0,D1=0,D2=0。如圖3.3所示,當有乘客上車時,乘客先經過1號傳感器,此時傳感器1輸出信號為低電平,經第一個74F04后變?yōu)楦唠娖?,CLK1=0,CLK2=1;D1=0,D2=1;=0,=1,即的狀態(tài)發(fā)生翻轉。當乘客離開1號傳感器時,由于此時CLK1=0,D1=0,R1=1,D1觸發(fā)器的和端狀態(tài)將會保持不變,CLK2=0,R2=1,=1也保持為高電平狀態(tài)。當乘客進入2號傳感器的檢測范圍時,傳感器2輸出信號為低電平,這樣CLK1=1,CLK2=0;D1=1,D2=1;R1=1,R2=0;和邏輯狀態(tài)要進行翻轉=0,的狀態(tài)仍保持不變。在上車這一過程中,只有和狀態(tài)發(fā)生了變化,從低電平變?yōu)楦唠娖皆僮優(yōu)榈碗娖?。這樣就產生了一個可由單片機T0端識別的脈沖信號。根據本電路的設計,T0端為乘客上車動作信號的輸入端,從而實現了辨別乘客運動方向的功能。同理,當乘客下車時也會產生一個相應的脈沖信號接入T1端,在本設計中T1端是乘客下車動作信號的輸入端。3.2單片機最小系統的設計3.2.1單片機的選擇單片機模塊主要用來實現對上、下車人數的加、減計數。單片機模塊在設計中,考慮到系統中的程序量和數據量較少,需要I/O口資源也相對較少,AT2MEL公司的AT89C51芯片的資源就能很好的滿足系統的需求,所以在系統設計中采用了MCS-51系列單片機AT89C51芯片的最小系統來實現。我們選用ATMEL公司89系類的標準型單片機AT89C51,AT89C51是一種低功耗、高性能的8位單片機,片內帶有一個4K字節(jié)的FLASH可編程可擦除只讀存儲器(EPROM),它采用了CMOS工藝和ATMEL公司的高密度非易失性存儲器(NURAM)技術,而且其輸出引腳和指令系統都與MCS-51兼容。另外,AT89C51還具有MCS-51系類單片機的所有優(yōu)點。128*8位內部RAM,32位雙向輸入輸出線,兩個十六位定時/計時器,5個中斷源,兩級中斷優(yōu)先級,一個全雙工異步串行口及時鐘發(fā)生器等。片內的FLASH存儲器允許在系統內改編程序或用常規(guī)的非易失性存儲器來編程。因此AT89C51是一種功能強、靈活性高且價格合理的單片機,它可方便地應用在各個領域。89C51引腳圖如圖3.5所示。AT89C51AT89C51圖3.589C51芯片引腳圖下面介紹89C51的主要引腳功能如下:(1)VCC(40):電源+5V;(2)VSS(20):接地;(3)P0口(32-39):雙向I/O口,既可作低8位地址和8位數據總線使用,也可作普通I/O口;(4)P3口(10-17):多用途端口,既可作普通I/O口,也可按每位定義的第二功能操作;(5)P2口(21-28):既可作高8位地址總線,也可作普通I/O口;(6)P1口(1-8):準雙向通用I/O口;(7)PSEN:內外程序存儲器選擇線;(8)XTAL1(19)和XTAL2(18):外接石英晶體振蕩器;(9)RST(9):復位信號輸入端,高電平有效;(10)ALE/PROG(30):地址鎖存允許信號;(11)(31):內、外程序存儲器控制端;由于本系統需要用到單片機內部的計數器,所以在這里有必要介紹定時/計數器的工作原理,定時/計數器的結構圖如圖3.6所示。圖3.6定時/計數器的結構原理圖從定時/計數器的結構圖中我們可以看出,16位的定時/計數器分別由兩個8位專用寄存器組成,即:T0由TH0和TL0構成;T1由TH1和TL1構成。其訪問地址依次為8AH-8DH。每個寄存器均可單獨訪問。這些寄存器是用于存放定時或計數初值的。此外,其內部還有一個8位的定時器方式寄存器TMOD和一個8位的定時控制寄存器TCON。這些寄存器之間是通過內部總線和控制邏輯電路連接起來的。TMOD主要是用于選定定時器的工作方式;TCON主要是用于控制定時器的啟動停止,此外TCON還可以保存T0、T1的溢出和中斷標志。當定時/計數器用作計數器時,計數脈沖來自相應的外部輸入引腳T0或T1。當輸入信號產生由1到0的負跳變時,計數器的值加1。每個機器周期的S5P2期間,對外部輸入引腳進行采樣。如在第一個機器周期中采得的值為1,而在下一個周期中采得的值為0,則在緊跟著的再下一個周期S3P1的期間,計數器加1。由于確認一次負跳變要花兩個機器周期,即24個振蕩周期,因此外部輸入的計數脈沖的最高頻率為系統振蕩器頻率的1/24。本課題選用11.0592MHz頻率的晶體,允許輸入的脈沖頻率為500MHz。由于本課題所利用的是計數器T0、T1,并且是工作在工作方式2。所以以下重點介紹工作方式2的特點。工作方式2是自動恢復初值的8位計數器,可以將計數器的計數初值設為0FFFFH,當計數器加1產生溢出中斷后執(zhí)行中斷子程序,TLX作為常數緩沖器,當TLX計數溢出時,在置“1”溢出標志TFX的同時,還自動地將THX中的初值送至TLX,以便TLX從初值重新開始計數。這種工作方式可以省去用戶軟件中重裝初值的程序,所以,工作方式2是一種不需重裝初值的計數器,這就給軟件系統中T0、T1中斷子程序中反復利用計數溢出產生中斷帶來了方便。3.2.2單片機外圍電路的設計由單片機硬件設計原理可知:第一,盡可能采用功能強的芯片,以簡化電路;第二,留有余地。在設計硬件電路時,要考慮到將來修改、擴展的方便。(1)晶振電路89C51單片機的時鐘可以兩種方式產生,一種是內部方式,利用芯片內部的振蕩電路;另一種方式為外部方式。本系統采用內部時鐘電路。單片機內部有一個用于構成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體或陶瓷諧振器一起構成一個自激振蕩器。圖3.7是89C51片內振蕩器電路。89C51雖然有內部振蕩電路,但要形成時鐘,必須外接元件,圖3.8是內部時鐘方式的電路。外接晶體(在頻率穩(wěn)定性不高,而盡可能要求廉價時,可選用陶瓷諧振器)以及電容CX1和CX2構成并聯諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響振蕩頻率的高低,外接陶瓷諧振器時,CX1和CX2的典型值約為47pF。晶體可在1.2MHz~12MHz之間任選,電容CX1和CX2的典型值在20pF~100pF之間選擇,在本課題中CX1和CX2選擇值為30pF。晶體的振蕩頻率越高,則系統的時鐘頻率也就越高,單片機的運行速度也就越快。為了提高溫度穩(wěn)定性,應采用溫度穩(wěn)定性能好的NPO高頻電容。在本課題中晶振采用11.0592MHz。圖3.789C51片內振蕩器電路圖圖3.8內部時鐘方式電路圖(2)復位電路89C51的復位輸入引腳RST(即RESET)為89C51提供了初始化的手段。有了它可以使程序從指定處開始執(zhí)行,即從程序存儲器中的0000H地址單元開始執(zhí)行程序。在89C51的時鐘電路工作后,只要在RST引腳上出現兩個機器周期以上的高電平時,單片機內部則初始復位。只要RST保持高電平,則89C51循環(huán)復位。只有當RST由高電平變成低電平以后,89C51才從0000H地址開始執(zhí)行程序。復位電路如圖3.9所示。GNDGND89C51RSTCR1R2VCC圖3.9單片機復位電路圖當89C51的RST引腳為高電平時,單片機復位。本系統采用的復位電路如圖3.9所示,其復位可分為兩種方式,即上電復位和手動按鍵復位。在接通電源時,系統的復位為上電復位方式,復位電路是電容C和電阻組成的微分電路,此時電容C相當于被瞬間短路,RST端輸入為高電平,持續(xù)時間取決于電容的充電時間,而微分電路的時間常數τ=C,選擇=1K,C=22μF可以滿足RST引腳持續(xù)出現兩個機器周期的正脈沖的需要。當按鍵按下時,復位電路工作在按鍵復位方式,RST端電壓為:(3.1)由于手動按鍵復位的按鍵時間,其電平一般都能使脈沖寬度維持10ms以上,所以對單片機的RST端能持續(xù)提供高電平以確保單片機可靠的復位。本課題中為單片機提供的復位高電平約為+4.5V,經設計=200,=1K,C=22μF。單片機復位后,P0到P3并行I/O口全為高電平,其它寄存器全部清零,只有SBUF寄存器狀態(tài)不確定。3.3顯示電路的設計顯示電路主要由7407集電極開路六正相高壓驅動器和兩位共陰極LED構成,其中7407主要增加驅動LED的能力,兩位LED采用ARK—SR420561K型連體共陰極數碼管。本設計以P0作為碼段輸出口,P2口的前兩位作為位選口,以動態(tài)方式實時顯示數據。LED即發(fā)光二極管,它是由某些特殊的半導體材料制作成的PN結,由于參雜濃度很高,當正向偏置時,會產生大量的電子—空穴,把多余的能釋放變?yōu)楣饽?。LED顯示器具有工作電壓低、體積小、壽命長(約十萬小時)、響應速度快,顏色豐富等特點,是智能儀器最常用的顯示器。LED的正向工作壓降一般在1.2V-2.6V,發(fā)光工作電流在5mA-20mA,發(fā)光強度基本上與正向電流成正比,故電路須串聯適當的限流電阻。LED顯示器的發(fā)光管分別為a、b、c、d、e、f、g、dp,通過八個發(fā)光段的不同組合,可以顯示0—9和A—F等16個字母數字,從而可以實現十六進制整數和小數的顯示。控制不同組合的二極管導通,就能顯示出各種字符。LED顯示器有共陽極和共陰極兩種。LED顯示器有單個、七段、八段和點陣式等幾種類型,本次設計采用八段式共陰極LED,它的結構和外型圖如圖3.10所示。圖3.10結構外形圖共陰極LED顯示器的發(fā)光二極管的陰極連接在一起,通常叫做共陰極接地。當某個發(fā)光二極管的陽極為高電平時,發(fā)光二極管點亮,相應的段被顯示。通常將控制發(fā)光二極管發(fā)光的8位字節(jié)數據編碼稱為LED顯示的段選碼,要構成多位LED顯示時,除需要段選線外,還需要位選線,以確定段選碼對應的顯示位,位選線控制第幾個LED顯示,段選線則控制顯示字符。本課題所設計的顯示部分電路圖如圖3.11所示。P1.0VCCP1.0VCCP1.1P0.0P1.2P.0.1P1.3P0.2P1.4P0.3P1.5P0.4P1.6P0.5P1.7P0.6P0.7RST/EAALEP3.0/PSENP3.1P2.7P3.2P2.6P3.3P2.5P3.4P2.4P3.5P2.3P3.6P2.2P3.7P2.1XTAL2P2.0XTAL1VSS5VP2.1P2.0AT89C51abcdefgdp74077407圖3.11LED顯示部分電路圖在多位LED顯示時,為了簡化電路,節(jié)省I/O口,降低成本,動態(tài)顯示方案具備一定的實用性,也是目前單片機數碼管顯示較為常用的一種顯示方法。本設計采用一個兩位LED動態(tài)顯示,在位選線和段選線的共同作用下,可以使各個顯示器顯示各自的字符,當然這些字符不是同時顯示的,但由于人眼存在視覺暫留,加上發(fā)光二極管的余輝效應,由于掃描的速度足夠快,每位顯示的間隔時間足夠短,就可以給人同時顯示的感覺,而不會有閃爍感,猶如同時顯示一樣。通過軟件編程,先把所要顯示的數據放入存儲單元,然后把數據送入段選通對應的地址,再選通某一個LED,逐步完成兩個LED的顯示。3.4鍵盤電路的設計鍵盤也是微型機算機系統中最常用的人機對話輸入設備。在單片機應用系統中,為了控制系統的工作狀態(tài),以及向系統輸入數據,應用系統應設有按鍵或鍵盤。常用的鍵盤接口分為獨立式按鍵接口和矩陣式鍵盤接口。矩陣式鍵盤適用按鍵比較多的場合,它由行線和列線組成,按鍵位于行、列的交叉點上,它的特點是比較節(jié)省I/O端口;獨立式按鍵就是各按鍵相互獨立,每個按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會影響其他輸入線上的工作狀態(tài)。因此,通過檢測輸入線上的電平狀態(tài)可以很容易判斷哪個鍵被按下了。鍵盤也有工作方式之分:分別為程序掃描方式、定時掃描方式和中斷掃描方式。本設計鍵盤電路如3.12所示:5V5V10KAT89C51P1.3P1.4P1.5人數加S1人數減確定人數S2S310K10K圖3.12鍵盤電路原理圖在本系統程序設計時,從按鍵被識別按下之后,通過延時避開干擾信號,由于系統要求按鍵每按下一次,命令被執(zhí)行一次,直到下一次再按下的時候,再執(zhí)行一次命令,從而按鍵被識別出來之后,我們就可以執(zhí)行這次的命令,所以要有一個等待按鍵釋放的過程,而這個釋放的過程,就是使其恢復為高電平的狀態(tài)。對于按鍵識別的指令,本設計選擇指令JB來檢測按鍵是否為高電平,若為高電平,則按鍵抬起,否則繼續(xù)執(zhí)行程序。采用指令JNB來檢測按鍵是否為低電平,若為低電平,則執(zhí)行相應程序??紤]到客車的實際要求,客車的實際裝載乘客的人數默認值設置為30人。所以本設計采用比較簡單的獨立式按鍵接口電路,用兩個按鍵設置上限值,一個為人數加設置,一個為人數減設置,按鍵線路如圖所示。無鍵按下時,P1.3為高電平,有鍵按下時變?yōu)榈碗娖剑O置值加1,同理P1.4口作為減操作,P1.5為高電平,有鍵按下時變?yōu)榈碗娖?,確定設置人數。3.5報警電路的設計當客車內乘客人數超過預置數值時,超載監(jiān)測系統將會發(fā)出聲光報警。本課題采用蜂鳴器作為聲報警的發(fā)生元件,采用紅色發(fā)光二極管作為光報警的發(fā)生元件。其具體的電路圖如圖3.13所示。SPEAKERSPEAKERA1Y1A2Y27406RP1.0P1.1+5V圖3.13蜂鳴器報警電路當超載現象發(fā)生時,由單片機向P1.0、P1.1口發(fā)出高電平指令,經六向反相器7406后,驅動蜂鳴器、發(fā)光二極管工作,調用延時子程序使蜂鳴器發(fā)出1KHZ的音頻信號,發(fā)光二極管實現一秒閃爍功能。當P1.0、P1.1口為低電平時,蜂鳴器不工作發(fā)光二極管不發(fā)光,即聲光報警取消。3.6客車鎖定電路的設計當客車超載時,為了阻止客車超載行駛,常常采用切斷客車發(fā)動機的電子點火裝置的方法。本課題中采用繼電器元件,通過繼電器的內部開關在常閉觸點和常開觸點之間的切換來實現這一功能。繼電器電路圖如圖3.14所示。P2.6P2.6+5V4.7K圖3.14繼電器電路圖本系統所采用的繼電器為五腳,工作電壓為+5V直流電壓,將單片機89C51的P2.6口接繼電器的控制端,繼電器常開觸點的輸出端接紅色發(fā)光二極管。發(fā)光二極管是用來識別繼電器是否動作的光指示信號,當繼電器內部開關吸合至常閉觸點時紅色二極管不發(fā)光,表示客車的啟動裝置可以正常運行;當客車超載時由單片機控制繼電器動作,使內部開關置于常開觸點,此時紅色發(fā)光二極管亮,紅色發(fā)光二極管點亮表示客車已被鎖定無法正常運行。第4章客車超載監(jiān)控系統的軟件設計研制一臺智能儀器是一個復雜的過程,這一過程包括分析儀表的功能要求和擬定總體設計方案,確定硬件結構和軟件算法,研制邏輯電路和編制程序,以及儀表的調試和性能的測試等等。軟件的設計應遵循模塊化設計原則,在總體概況設計的基礎上進行具體的子程序設計,功能分解,模塊劃分,細化軟件層次,優(yōu)化軟件結構,以達到模塊功能的獨立性,執(zhí)行的高效性??傊?,設計的程序應該達到可讀性,可理解性,可維護性,有效性。4.1客車超載監(jiān)控系統的軟件設計方案在單片機系統程序的設計開發(fā)中,單片機是整個系統的核心部分,各個部分模塊化的程序就是整個系統的組成成份。軟件編寫的好壞,語句運用的是否簡潔直接關系單片機的工作效率。在各個模塊化的程序中盡量用最少的語句做最多的事情,不讓語句出現歧義,這樣就可以使整個程序可以在系統中更好的運行,使單片機工作效率大大的提高。下面就對本次畢業(yè)設計的軟件部分作些介紹,如圖4.1所示為軟件總體流程圖。首先是對系統的初始化,包括通過鍵盤手動設置乘客上限值,各個寄存器、計數器的工作方式等。子程序包括:T0、T1計數中斷程序的設計、按鍵處理子程序、報警子程序,顯示子程序。下面就其主要部分進行分析。(1)T0、T1計數中斷程序是將傳感器產生的脈沖信號接入計數器的T0、T1口,首先把計數的初始值設為0FFFFH,然后計數器開始計數,當T0、T1口有高低電平變化時,計數器就產生溢出中斷。(2)按鍵處理子程序用來實現手動設置上限值。(3)顯示子程序是將數據處理的結果送顯示器實時顯示。(4)報警子程序是將統計脈沖信號的數目與所設預置數進行比較,若大于預置數則進行報警,若小于或等于預置數則解除報警。本系統軟件總體流程圖如圖4.1所示。T0產生溢出中斷?T0產生溢出中斷?計數器人數加1T1產生溢出中斷?計數器人數減1調用顯示子程序是否大于超載人數?聲光報警啟動繼電器鎖定裝置YNYNYN初始化鍵盤設置超載人數開始解除報警解除報警解除繼電器鎖定圖4.1系統軟件總流程圖程序的初始化是對AT89C51的初始化,包括對中斷計數器工作方式和計數初值的初始化,對堆棧的初始化,以及對暫存地址的分配等。在初始化結束以后,程序進入循環(huán)等待中斷的環(huán)節(jié)。當發(fā)生中斷時,單片機轉入中斷子程序進行相應的數據處理,同時還對顯示子程序和報警子程序進行了調用,完成實時顯示和實時監(jiān)控的功能。當統計數值大于預置數值時,程序執(zhí)行報警和鎖定指令;當統計數值小于或等于預置數值,程序解除報警、鎖定指令。4.2T0、T1中斷計數程序的設計T0、T1中斷程序的流程圖如圖4.2所示。EA=0EA=0累加器A、寄存器內容入棧開中斷中斷處理R1+1或R1-1現場恢復開始中斷返回圖4.2中斷程序流程圖本設計采用T0、T1計數器對外部脈沖進行計數。T1、T0均設為計數器工作模式,工作方式為方式2,即8位的常數自動重新裝載的計數器。其計數初值均設為0FFFFH,當單片機外部輸入一個脈沖信號時,計數器計數溢出產生溢出中斷,計數器T0、T1的溢出中斷標志位TF0、TF1作為外部中斷請求的標志位被置1,CPU經查詢后便暫時終止當前的工作,轉去執(zhí)行中斷服務程序。所不同的是:T0計數器用做統計上車的人數,所以T0每中斷一次數據寄存器內容加1;T1計數器累計的是下車的人數,所以T1每中斷一次數據寄存器內容減1。在每次溢出中斷子程序中都調用了顯示子程序和報警子程序,這樣就實現了實時顯示和實時監(jiān)控。進入中斷子程序后,硬件會自動把斷點地址(16位程序計數器PC的值)壓入堆棧,保護有關工作寄存器、累加器、標志位等信息,在完成中斷服務程序后,恢復有關的工作寄存器、累加器、標志位內容,最后執(zhí)行中斷返回指令,從堆棧中自動彈出斷點地址到PC,繼續(xù)執(zhí)行被中斷的程序。4.3按鍵子程序的設計開始按鍵電路在本設計采用獨立式接口電路,由于所用按鍵不多,不會占用大量I/O口線,所以采用設計和結構簡單的獨立式按鍵??紤]到客車的實際要求,客車的實際裝載乘客的人數應小于100,所以只用鍵盤設置上限值。為了確保CPU對一次按開始按鍵DEC_SET=0?返回N超載人數減1超載人數加1按鍵ADD_SET=0?有鍵閉合嗎?延時10ms有鍵閉合嗎?YNYNYYN按鍵DEC_SET=0?返回N超載人數減1超載人數加1按鍵ADD_SET=0?有鍵閉合嗎?延時10ms有鍵閉合嗎?YNYNYYN圖4.3按鍵子程序流程圖鍵動作只確認一次按鍵,必須消除抖動的影響,本設計采用軟件延時的方法來消除按鍵的抖動。按鍵子程序流程圖見圖4.3所示。4.4報警與鎖定子程序的設計報警與鎖定子程序流程圖如圖4.4。該模塊的主要功能是實現客車是否超載的判斷,若檢測值大于設置的上限值時,則進行報警,通過軟件程序控制繼電器動作,切斷客車的電子啟動裝置。報警時的現象為:紅色發(fā)光二極管進行閃爍,蜂鳴器發(fā)出蜂鳴聲,由繼電器控制的紅色指示燈亮起。若檢測值等于或低于所設閾值則解除報警,現象為:聲光報警消失,由繼電器控制的紅色指示燈熄滅。其中P2.6為繼電器控制端口,P1.0為紅色二極管報警控制端口,P1.1為蜂鳴器報警控制端口。P1.0=1,P1.1=1P1.0=1,P1.1=1P2.6=1返回YNP1.0=0,P1.1=0,P2.6=0調用延時子程序開始車內人數值大于超載人數?車內人數值大于超載人數?圖4.4報警與鎖定子程序流程圖報警與鎖定子程序是一個實時比較程序,實現對超值報警與鎖定的控制。將數據處理后的實時檢測值與預置上限值進行比較,報警子程序用SUBB語句進行判斷,即預置值減測量值,若后者大于前者則進行報警,否則消除報警。在主程序的執(zhí)行過程中,每次顯示乘客人數值時都對報警子程序進行了調用,從而完成了實時監(jiān)控的要求。4.5顯示子程序的設計顯示子程序流程圖如圖4.5所示。返回返回個位、十位分離存入30HBCD轉換01H送P2口取個位段碼送P0口延時02H送P2口取十位段碼送P0口延時開始圖4.5顯示子程序流程圖數據處理完后,顯示子程序開始工作,由于LED顯示為段碼的顯示,所以處理后的十進制數要首先將個位十位分離再將數據存入顯緩單元30H,然后位選數據送P2口,取個位段碼送P0口,調用延時子程序。再將位選數據送P2口,取十位段碼送P0口,再調用延時子程序。在發(fā)生中斷和等待中斷時,都對顯示子程序進行了調用,完成了實時顯示的要求。兩位位選碼由P2.0-P2.1控制。第5章系統調試與分析調試與分析的過程一般包括所有硬件電路的調試、程序的調試及它們的聯合調試過程。一旦系統的工作總框圖確定之后,電路原理圖和程序的設計工作就可以迅速展開了。系統的硬件、軟件的單獨調試和軟、硬聯調是系統最后的步驟是系統特別重要的環(huán)節(jié),因為設計和開發(fā)出的系統是否成功,功能是否完善只有在這里才能體現出來。所以為了保證設計系統能夠正常工作,必須對軟件和硬件部分的每一個部分進行調試和分析。本章詳細的介紹了基于單片機的客車超載監(jiān)控系統的硬件調試、軟件調試和軟、硬聯調的過程,并對調試結果進行了介紹和分析。5.1系統的硬件調試本課題的硬件電路是系統的核心部分。它包括單片機的外圍電路、傳感器電路、方向識別電路、顯示電路、報警電路和繼電器鎖定電路等,下面主要介紹單片機最小系統電路、方向識別電路在本次設計調試的方法與過程。(1)單片機小系統的調試:按照設計好的電路圖焊接好單片機的小系統,主要包括晶振電路、復位電路。上電后用萬用表測量各個端口的電壓情況,查看18、19晶振引腳的電壓是否在2.0V左右,用示波器檢測ALE口是否有固定的方波信號輸出。當復位鍵按下時,查看RST9引腳是否能達到3.5V以上的高電平,一切都正常后,編制一段延時亮滅的小程序,然后燒到單片機中,再重新驗證一下最小系統是否全部正常工作。(2)方向識別電路的調試:按照設計好的方向識別電路圖,把74LS04反相器和74LS74雙D觸發(fā)器安插在面包上,用兩個按鍵一端接地,另外兩端代替?zhèn)鞲衅鳟a生對應的脈沖信號,連接在方向識別電路的輸入端。然后用萬用表測試觸發(fā)器Q1、Q2端的電平情況,調整相應的電路設計,直到實現辨向功能。此外,在硬件的焊接過程中,需要十分的仔細和認真,盡量避免虛焊、漏焊現象,并且在焊接管腳時,應把芯片取下來,再進行焊接,防止因芯片過熱而燒壞。每焊接完一根導線,都使用萬用表進行檢查,查看是否構成通路。對焊點較近的點位也用萬用表進行檢測,查看焊點是否焊接在一起,以免出現混連的現象。這樣逐一檢查,容易發(fā)現問題排查故障,很有針對性。更重要的一點就是硬件系統必須要一部分一部分的焊接,即

溫馨提示

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

評論

0/150

提交評論