車(chē)流量檢測(cè)系統(tǒng)設(shè)計(jì)_第1頁(yè)
車(chē)流量檢測(cè)系統(tǒng)設(shè)計(jì)_第2頁(yè)
車(chē)流量檢測(cè)系統(tǒng)設(shè)計(jì)_第3頁(yè)
車(chē)流量檢測(cè)系統(tǒng)設(shè)計(jì)_第4頁(yè)
車(chē)流量檢測(cè)系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、車(chē)流量檢測(cè)系統(tǒng)設(shè)計(jì)隨著我國(guó)經(jīng)濟(jì)的快速發(fā)展交通安全的有效保障顯得尤其重要,并且對(duì)交通管理的要求越來(lái)越高。與此同時(shí)各種各樣的道路監(jiān)控設(shè)備也應(yīng)運(yùn)而生。雷達(dá)監(jiān)控系統(tǒng)視頻監(jiān)控系統(tǒng)地表傳感系統(tǒng)激光檢測(cè)系統(tǒng)等相繼應(yīng)用。由此計(jì)算機(jī)科學(xué)與現(xiàn)代通信等高新技術(shù)運(yùn)用于交通監(jiān)控管理與車(chē)輛控制以保障交通順暢及行車(chē)安全。而實(shí)時(shí)獲取交通車(chē)流量的車(chē)輛檢測(cè)技術(shù)是是進(jìn)行交通管理必不可少的一個(gè)步驟。隨著我國(guó)城市車(chē)輛使用的增多道路狀況同時(shí)也變得復(fù)雜如何對(duì)道路車(chē)流量進(jìn)行實(shí)時(shí)監(jiān)控對(duì)統(tǒng)計(jì)、預(yù)測(cè)道路交通狀況十分重要并且同時(shí)這也是對(duì)道路車(chē)輛運(yùn)行情況高效調(diào)度的一項(xiàng)十分的重要參考依據(jù)。而且當(dāng)前對(duì)道路監(jiān)測(cè)多使用視頻方法有事還可能采用人工計(jì)數(shù)方法此方法

2、對(duì)每條公路在某個(gè)時(shí)間段車(chē)輛行駛情況不容易做到長(zhǎng)時(shí)間、高效的統(tǒng)計(jì)。因此我們需要進(jìn)行一種低成本、高準(zhǔn)確率的智能識(shí)別裝系統(tǒng)的設(shè)計(jì)由此促進(jìn)對(duì)高速路口交通情況的檢測(cè)水準(zhǔn)。 本文設(shè)計(jì)了一種基于AT89C51單片機(jī)的車(chē)速檢測(cè)系統(tǒng)。其主要原理是將紅外傳感器測(cè)得的電平信號(hào)傳遞到單片機(jī)中通過(guò)單片機(jī)判斷處理、計(jì)數(shù)等功能實(shí)現(xiàn)車(chē)流量的檢測(cè)。本系統(tǒng)傳感電路采用的的是紅外傳感矩陣?yán)脝纹瑱C(jī)實(shí)時(shí)對(duì)傳感器的輸出數(shù)據(jù)進(jìn)行連續(xù)讀取通過(guò)特定的算法處理數(shù)據(jù)然后送顯示或者發(fā)出報(bào)警信號(hào)。本系統(tǒng)致力于為路口車(chē)流量的監(jiān)控服務(wù)從而形成對(duì)路口行車(chē)的科學(xué)管理減少交通事故的發(fā)生。1、工作原理及總體方案選擇1.1車(chē)流量監(jiān)測(cè)系統(tǒng)的工作原理 紅外線(xiàn)矩陣法是

3、一種利用紅外傳感器組成的紅外線(xiàn)矩陣檢測(cè)設(shè)備檢測(cè)道路上機(jī)動(dòng)車(chē)流量和車(chē)速的方法。它是利用紅外線(xiàn)發(fā)射和接收方向較強(qiáng)的特點(diǎn)在車(chē)輛經(jīng)過(guò)的路面上安裝密度適當(dāng)?shù)膸着偶t外線(xiàn)發(fā)射接收電路由此組成紅外線(xiàn)矩陣紅外線(xiàn)檢測(cè)矩陣由兩排嵌入路面內(nèi)的接收器和安裝在其上方幾米處的發(fā)射器組成兩排接收器之間的距離為0.5到2米每排接收器由若干間隔0.2到0.9米的接收管和接收電路組成。接收管在沒(méi)有遮擋的情況下可以接收發(fā)射器發(fā)出的信號(hào)接收電路中產(chǎn)生低電平接收管在受到遮蔽的狀況下下收不到發(fā)射器發(fā)出的信號(hào)接收電路中出現(xiàn)高電平信號(hào)。因此根據(jù)車(chē)輛駛?cè)?、通過(guò)、駛出檢測(cè)區(qū)域以及車(chē)輛行駛方向并排行駛車(chē)輛的流量等情況引起的矩陣內(nèi)部各測(cè)試點(diǎn)高低電平信

4、號(hào)的變化經(jīng)過(guò)硬件電路設(shè)計(jì)和軟件編程計(jì)算方法,最終統(tǒng)計(jì)計(jì)算出經(jīng)過(guò)該測(cè)量區(qū)域內(nèi)雙向并排經(jīng)過(guò)的多輛車(chē)的車(chē)流量測(cè)量。1.1.1系統(tǒng)總體模塊設(shè)計(jì) 本系統(tǒng)是利用單片機(jī)并且采用模塊化設(shè)計(jì)來(lái)設(shè)計(jì)車(chē)流量檢測(cè)系統(tǒng)只要有車(chē)輛經(jīng)過(guò)就會(huì)擋住兩個(gè)發(fā)射和接收紅外線(xiàn)傳感器之間的傳感信號(hào)這樣就能根據(jù)車(chē)量的流動(dòng)情況對(duì)車(chē)流量進(jìn)行檢測(cè)。當(dāng)然對(duì)于正常的情況下還會(huì)有并行的車(chē)量經(jīng)過(guò)本系統(tǒng)也做了設(shè)計(jì)。系統(tǒng)的總體模塊圖如下圖1 單片機(jī)控制器 紅外線(xiàn)傳感器 濾波放大 LCD顯示A/D轉(zhuǎn)換 鍵盤(pán)電源電路報(bào)警器 圖1 系統(tǒng)總體模塊圖本系統(tǒng)采用紅外線(xiàn)傳感器組成的矩陣作為采集信號(hào)對(duì)車(chē)流量進(jìn)行檢測(cè)紅外線(xiàn)傳感器采集到信號(hào)之后經(jīng)電源電路和以及濾波放大電路之后

5、再傳送到單片機(jī)進(jìn)行處理單片機(jī)再將處理結(jié)果由LCD顯示.系統(tǒng)會(huì)通過(guò)出現(xiàn)低電平的次數(shù)來(lái)統(tǒng)計(jì)車(chē)流量。1.2系統(tǒng)總體硬件方案選擇1.2.1核心控制器 對(duì)于該系統(tǒng)控制部分無(wú)疑是整個(gè)系統(tǒng)的最核心部分其功能可以實(shí)現(xiàn)與上位機(jī)通信并且接收上位機(jī)發(fā)送的數(shù)據(jù)和控制指令經(jīng)處理過(guò)后控制顯示屏顯示內(nèi)容。我們這次選取51系列單片機(jī)作為控制部分的核心器件。 單片機(jī)是內(nèi)部集成了CPU、ROM、RAM和I/ O口等的微型計(jì)算機(jī)。它本身具有很強(qiáng)的接口性能非常適合于應(yīng)用在工業(yè)控制因此又叫微控制器(MCU)。單片機(jī)品種十分齊全型號(hào)多樣 CPU從8、16、32到64位其中多采用RISC 技術(shù)片上I/O非常豐富有的單片機(jī)內(nèi)部集成有A/ D

6、“看門(mén)狗”P(pán)WM顯示驅(qū)動(dòng)、波形發(fā)生器、鍵盤(pán)電路等。它們具有高低不等的價(jià)格因此極大地促進(jìn)了開(kāi)發(fā)者的選擇應(yīng)用自由。除此之外單片機(jī)還具有低電壓和低功耗的特點(diǎn)。伴隨著超大規(guī)模集成電路的快速發(fā)展單片機(jī)在便攜式電子產(chǎn)品中已被廣泛使用。 1.2.2電源電路 經(jīng)過(guò)分析決定選取LM7805三端穩(wěn)壓器穩(wěn)壓器件作為系統(tǒng)供電電源。采用一塊LM7805三端集成穩(wěn)壓器。把市電經(jīng)變壓器降壓輸入電路而后經(jīng)過(guò)整流送到LM7805三端穩(wěn)壓器穩(wěn)壓輸出作為工作電壓。不僅功率上可以滿(mǎn)足系統(tǒng)需要不需要更換電源并且比較輕便便利使用更加安全可靠。1.2.3 IO口擴(kuò)展芯片 我決定選取74LS574作為列線(xiàn)驅(qū)動(dòng)IO口擴(kuò)展芯片。采用邊沿觸發(fā) D

7、型觸發(fā)器74LS574、74LS574是三態(tài)總線(xiàn)驅(qū)動(dòng)輸出器件可以緩沖控制輸入置數(shù)并行存取并且有改善抗擾度的滯后作用。輸出控制不影響觸發(fā)器的內(nèi)部工作既老數(shù)據(jù)可以保持甚至當(dāng)輸出被關(guān)閉新的數(shù)據(jù)依舊可以置入。時(shí)鐘上升沿輸入有效8塊74LS574共用16個(gè)I/O口數(shù)據(jù)可以并行寫(xiě)入芯片延遲時(shí)間較少滿(mǎn)足設(shè)計(jì)要求。1.2.4串口通訊芯片的選擇 我決定選取MAX232作為串行通信芯片。采用單電源電平轉(zhuǎn)換芯片MAX232這種器件電源與單片機(jī)供電相同外圍電路簡(jiǎn)單、可靠使用十分廣泛。采用RS-232接口與上位機(jī)通信方便后來(lái)設(shè)計(jì)的軟件調(diào)試和程序燒錄。 1.2.5顯示器件 基于分析流量及其它數(shù)據(jù)顯示部分采用1602液晶顯

8、示。1602液晶也叫1602字符型液晶模塊其是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符每位之間有一個(gè)點(diǎn)距的間隔每行之間也有間隔起到了字符間距和行間距的作用正因?yàn)槿绱怂运荒芎芎玫仫@示圖形。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行每行16個(gè)字符液晶模塊顯示字符和數(shù)字。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的控制原理也基本完全相同因此基于HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。 1.2.6硬件電路繪圖軟件 Proteus 是英國(guó)Labcente公司開(kāi)

9、發(fā)研制的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上可以仿真、分析各種模擬器件和集成電路該軟件具有如下特點(diǎn): 1、可以單片機(jī)仿真與SPICE電路設(shè)計(jì)仿真結(jié)合??梢詳?shù)字電路仿真、模擬電路仿真、單片機(jī)和其外圍電路組成的電路系統(tǒng)的仿真、I2C測(cè)試器、RS232動(dòng)態(tài)仿真、SPI檢測(cè)器、鍵盤(pán)和LCD系統(tǒng)仿真的功能各種各樣的虛擬儀器設(shè)備如邏輯分析儀、示波器、信號(hào)產(chǎn)生器等。 2、可以主流單片機(jī)的仿真。目前可以使用的單片機(jī)類(lèi)型有ARM7、PIC10/12/16/18系列、AVR、80C51/51系列、HC11系列和多種外圍接口芯片。 3、支持軟件測(cè)試功能。硬件電路仿真系統(tǒng)中支持單步、全速、設(shè)置斷點(diǎn)

10、等檢測(cè)功能同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài)因此在該軟件仿真系統(tǒng)中也必須具有這些功能同時(shí)支持第三方的軟件編譯和測(cè)試環(huán)境如KeilC51 uVision2、WAVE偉福等軟件。 4、具有強(qiáng)大的原理圖繪制功能。 總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件功能極其強(qiáng)大。基于以上分析本次設(shè)計(jì)決定選取Proteus軟件進(jìn)行仿真。1.3系統(tǒng)總體軟件方案選擇 軟件的設(shè)計(jì)除了滿(mǎn)足設(shè)計(jì)功能外還必須要滿(mǎn)足易讀寫(xiě)方便下載和編譯。設(shè)計(jì)目標(biāo)和硬件總體結(jié)構(gòu)確定的情況下可以把軟件可以分為主程序顯示子程序各種延時(shí)子程序按鍵掃描程序四個(gè)主要部分組成。軟件的編寫(xiě)需要借助軟件編輯器和編譯軟件編譯完成后還需要程

11、序燒錄器下載到單片機(jī)中執(zhí)行。編寫(xiě)軟件之前得首先選擇一種合適的語(yǔ)言以及配套的編輯器和編譯軟件。最后還要選擇一款與所選單片機(jī)的下載器或下載軟件來(lái)把編寫(xiě)的程序下載到單片機(jī)中執(zhí)行。1.3.1單片機(jī)編程語(yǔ)言 現(xiàn)在主要運(yùn)用的單片機(jī)編程語(yǔ)言為匯編語(yǔ)言和C語(yǔ)言。C語(yǔ)言是一種結(jié)構(gòu)化語(yǔ)言可產(chǎn)生壓縮代碼。與匯編相比C語(yǔ)言有如下特點(diǎn)。(1)C語(yǔ)言簡(jiǎn)潔、緊湊使用方便、靈活。(2)C語(yǔ)言具備高級(jí)語(yǔ)言和低級(jí)語(yǔ)言的特征。(3)C語(yǔ)言是結(jié)構(gòu)化語(yǔ)言具有結(jié)構(gòu)化的控制語(yǔ)句.(4)C語(yǔ)言具有各種各樣的數(shù)據(jù)類(lèi)型。(5)C語(yǔ)言具有強(qiáng)大的圖形功能支持多種顯示器和驅(qū)動(dòng)器而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大可實(shí)現(xiàn)決策目的。(6)C語(yǔ)言適用范圍大

12、。(7)C語(yǔ)言生成目標(biāo)代碼質(zhì)量高程序執(zhí)行效率高?;谝陨戏治鼋Y(jié)果本次設(shè)計(jì)決定選取編程語(yǔ)言為C語(yǔ)言。1.3.2系統(tǒng)軟件編譯器keil介紹 keilKeil C51是美國(guó)Keil Software公司推出的51系列兼容各種單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)環(huán)境與匯編語(yǔ)言相比C語(yǔ)言在可讀性、結(jié)構(gòu)性、功能上、可維護(hù)性上具有很大的優(yōu)勢(shì)因此很容易學(xué)習(xí)。Keil中包括C語(yǔ)言編譯器、宏匯編、庫(kù)管理、連接器和一個(gè)具有強(qiáng)大功能的仿真調(diào)試器等在內(nèi)的一體開(kāi)發(fā)方案通過(guò)一個(gè)集成環(huán)境將這些部分有機(jī)的組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語(yǔ)言編程那么Keil幾乎就是你的不二之選

13、即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具會(huì)使我們的設(shè)計(jì)事倍功半。 2、系統(tǒng)硬件總體設(shè)計(jì) 2.1系統(tǒng)總體模塊 系統(tǒng)的總功能模塊設(shè)計(jì)如圖所示整個(gè)裝置可劃分為三部分分別為采集部分信號(hào)調(diào)理部分和識(shí)別處理部分。在應(yīng)用中由于本次設(shè)計(jì)的是沒(méi)有返程的,所以在需要的路段可以將多個(gè)裝置分別安裝在各個(gè)路段兩側(cè)以采集到有效的數(shù)據(jù)再經(jīng)過(guò)信號(hào)的調(diào)理、信號(hào)判斷處理等過(guò)程最后將處理結(jié)果匯集到最近的上位機(jī)節(jié)點(diǎn)接著將各地方節(jié)點(diǎn)集總到中心工作站由此對(duì)數(shù)據(jù)進(jìn)行分析、存儲(chǔ)、統(tǒng)計(jì)從而達(dá)到道路車(chē)流量檢測(cè)目的。為了解各路段車(chē)輛通行情況估測(cè)車(chē)流高峰以及堵車(chē)高峰制定出科學(xué)管理和措施提供重要依據(jù)。但本設(shè)計(jì)沒(méi)涉

14、及到這一點(diǎn)。上位機(jī)判斷處理部分信號(hào)調(diào)理部分采集部分 處理信號(hào) 結(jié)果信號(hào) 指令 指令圖2系統(tǒng)總框圖設(shè)計(jì)2.1.1信號(hào)采集部分和信號(hào)處理部分 信號(hào)采集部分主要采用矩陣?yán)砟顟?yīng)用紅外線(xiàn)發(fā)射和接收管形成檢測(cè)區(qū)域矩陣電路如果有車(chē)輛通過(guò)檢測(cè)區(qū)就會(huì)遮擋部分發(fā)射與接收管由此引起電路中電平的相應(yīng)變化。從而對(duì)通行車(chē)行駛狀況的作出充分分析構(gòu)建識(shí)別算法微處理器就能按照算法將車(chē)輛的行駛狀況識(shí)別出來(lái)。本文將以實(shí)驗(yàn)?zāi)P驼f(shuō)明設(shè)計(jì)思路。矩陣采集區(qū)由發(fā)射電路和對(duì)應(yīng)在其下方的接收電路兩部分組成發(fā)射部分采用兩排紅外線(xiàn)發(fā)射管每排分別8個(gè)組成。正對(duì)著每個(gè)發(fā)射管的接收管組成接收電路一樣是兩個(gè)測(cè)量層次和對(duì)應(yīng)的每排八個(gè)單元的測(cè)量密度。在信號(hào)測(cè)量

15、應(yīng)用中為提升辨別的準(zhǔn)確性和匹配道路狀況可以靈活的增加矩陣中的測(cè)量層次和采集點(diǎn)密度同時(shí)還需要根據(jù)具體環(huán)境對(duì)識(shí)別算法簡(jiǎn)要改變。 信號(hào)處理部分主要作用是將采樣的信號(hào)進(jìn)行放大、調(diào)整使微處理器能夠處理然后根據(jù)處理單元的需要選通矩陣中的測(cè)量排。2.2系統(tǒng)總體電路圖 信號(hào)判斷處理部分也就是系統(tǒng)的重要部分它采用的是非曲直片AT89C51芯片作為單片機(jī)P1口來(lái)控制選通兩片74HC244芯片中的一個(gè)即分別選通兩個(gè)接收排中的一排將接收到的數(shù)據(jù)用的P2口接收通過(guò)仿真可檢測(cè)算法在運(yùn)行中的正確性。另外微處理器的P1口用于與外部進(jìn)行通信如果檢測(cè)到有信號(hào)的變化將識(shí)別結(jié)果發(fā)送到上位機(jī)。2.3電源供電系統(tǒng)設(shè)計(jì) 電路能夠正常工作電

16、源是必不可少的。單片機(jī)屬于數(shù)字電路中的器件所以這里需要選擇+5V的直流電源。所以這先將220V交流市電經(jīng)過(guò)電源變壓器轉(zhuǎn)換成交流低壓然后經(jīng)過(guò)橋式整流電路與濾波電容整流和濾波一個(gè)并不十分穩(wěn)定的直流電壓便會(huì)在固定式三端穩(wěn)壓器LM7805的輸入端和地端兩端形成。此直流電壓在經(jīng)過(guò)LM7805的穩(wěn)壓和電容的濾波作用便可在穩(wěn)壓電源的輸出端產(chǎn)生一個(gè)穩(wěn)定度好、精度高的直流輸出電壓。此穩(wěn)壓電源可作為T(mén)TL電路或者單片機(jī)應(yīng)用電路的電源。三端穩(wěn)壓器是一種系列化、標(biāo)準(zhǔn)化的主流線(xiàn)性穩(wěn)壓電源集成電路。這種穩(wěn)壓器以其成本低、體積小、性能高、工作可靠性好、使用十分簡(jiǎn)捷方便等特點(diǎn)成為當(dāng)前穩(wěn)壓電源中應(yīng)用十分廣泛的一種單片式集成穩(wěn)壓

17、器。在TTL器件電路廣泛采用LM7805三端穩(wěn)壓器作為供電電源的控制器。 2.4系列單片機(jī)簡(jiǎn)介 單片機(jī)Microcontroller又稱(chēng)微處理器是在一塊硅基片上集成了各種小器件的的微型處理器這些器件包括數(shù)據(jù)存儲(chǔ)器RAM、中央處理器CPU、程序存儲(chǔ)器ROM、定時(shí)器/計(jì)數(shù)器和I/O接口電路。單片機(jī)最小系統(tǒng)由時(shí)鐘電路和復(fù)位電路組成。時(shí)鐘電路用于產(chǎn)AT89C51單片機(jī)工作時(shí)必需的控制信號(hào)。單片機(jī)的內(nèi)部電路正是在時(shí)鐘信號(hào)的控制下嚴(yán)格地按照時(shí)序執(zhí)行指令進(jìn)行工作。復(fù)位電路是為單片機(jī)初始化操作準(zhǔn)備的。只要單片機(jī)的復(fù)位引腳RST上的復(fù)位信號(hào)要持續(xù)兩個(gè)機(jī)器周期24個(gè)時(shí)鐘周期以上就可以使AT89C51單片機(jī)復(fù)位。單

18、片機(jī)最小系統(tǒng)電路圖如圖3所示。圖3單片機(jī)最小系統(tǒng)電路圖 2.5時(shí)鐘電路設(shè)計(jì) AT89C51單片機(jī)各功能部件的運(yùn)行都以時(shí)鐘信號(hào)為基準(zhǔn)有條不紊、一拍一拍地工作。因此時(shí)鐘頻率直接影響單片機(jī)的處理速度時(shí)鐘電路的質(zhì)量也是直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式一種是內(nèi)部時(shí)鐘方式另一種是外部時(shí)鐘方式。本次采用外部時(shí)鐘方式。AT89C51單片機(jī)芯片內(nèi)部設(shè)有一個(gè)由反向放大器構(gòu)成的振蕩器XTAL1和XTAL2分別為振蕩電路的的輸入端和輸出端時(shí)鐘可有內(nèi)部或外部生成在XTAL1和XTAL2引腳上外接定時(shí)元件內(nèi)部振蕩電路就會(huì)產(chǎn)生自激振蕩。系統(tǒng)采用的定時(shí)元件為石英晶體和電容組成的并聯(lián)諧振回路。時(shí)鐘頻率fos

19、c采用12MHZC1、C2的電容值取30pF電容的大小起頻率微測(cè)的作用。時(shí)鐘電路如圖4所示圖4時(shí)鐘電路圖2.6復(fù)位電路設(shè)計(jì) AT89C51單片機(jī)在啟動(dòng)運(yùn)行時(shí)或者出現(xiàn)死機(jī)時(shí)需要復(fù)位使CPU以及其他功能部件處于一個(gè)確定的初始狀態(tài)PC初始化為0000H。單片機(jī)從這個(gè)狀態(tài)開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外當(dāng)程序行出錯(cuò)(如程序“跑飛”)或操作錯(cuò)誤使系統(tǒng)處于 “死鎖”狀態(tài)時(shí)也需要按復(fù)位鍵即RST腳為高電平使AT89C51擺脫“跑飛”“死鎖”狀態(tài)而重新啟動(dòng)程序。單片機(jī)有多種復(fù)位方式常用的復(fù)位操作有上電復(fù)位和手動(dòng)按鍵電平復(fù)位方式。本設(shè)計(jì)采用手動(dòng)按鍵電平復(fù)位方式電路搭建。上電復(fù)位是通過(guò)外部復(fù)位電路的電容

20、充電來(lái)實(shí)現(xiàn)的復(fù)位電路產(chǎn)生的復(fù)位信號(hào)高電平有效由RST通過(guò)一個(gè)施密特觸發(fā)器與復(fù)位電路相連施密特觸發(fā)器用來(lái)抑制噪聲干擾在每一個(gè)機(jī)器周期的S5P2施密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)對(duì)AT89C51單片機(jī)進(jìn)行復(fù)位。2.7通信系統(tǒng)硬件設(shè)計(jì) 兩個(gè)計(jì)算機(jī)或一個(gè)計(jì)算機(jī)與終端之間的數(shù)據(jù)傳輸可以使用并行通訊和二串行通訊種方式。由于串行通訊方式有使用成本低、線(xiàn)路少的特點(diǎn)特別是在遠(yuǎn)程通訊時(shí)避免了多條線(xiàn)路特征的不一致而被廣泛使用。RS-232C標(biāo)準(zhǔn)是美國(guó)EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開(kāi)發(fā)的1969年公布的通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在020000b/s范圍內(nèi)的通

21、信。這個(gè)標(biāo)準(zhǔn)對(duì)串行通信接口的有關(guān)問(wèn)題如信號(hào)線(xiàn)功能、電器特性都作了明確規(guī)定。由于通行設(shè)備廠商都生產(chǎn)與RS-232C制式兼容的通信設(shè)備因此它作為一種標(biāo)準(zhǔn)目前已在微機(jī)通信接口中廣泛采用。AT89C51單片機(jī)具有全雙工串行UART通道支持單片機(jī)進(jìn)行數(shù)據(jù)的串行通信傳輸。除了單片機(jī)要與PC機(jī)制定通信協(xié)議確定發(fā)送速率外還需要解決的問(wèn)題就是信號(hào)電平問(wèn)題。RS-232C標(biāo)準(zhǔn)規(guī)定了PC機(jī)發(fā)送數(shù)據(jù)總線(xiàn)TXD和接收數(shù)據(jù)總線(xiàn)RXD采用EIA電平即傳送數(shù)字“1”時(shí)傳輸線(xiàn)上的電平在3至15V之間傳送數(shù)字“0”時(shí)傳輸線(xiàn)上的電平在3至15之間。但單片機(jī)串行口采用正邏輯TTL電平即數(shù)字“1”時(shí)為5V數(shù)字“0”時(shí)為-5V所以單片機(jī)

22、與計(jì)算機(jī)不能直接相連進(jìn)行通信必須將RS-232C與TTL電平進(jìn)行通過(guò)芯片轉(zhuǎn)換。串口通信系統(tǒng)電平轉(zhuǎn)換電路圖如圖5所示。在通用的電平轉(zhuǎn)換芯片中MAX232系列的芯片以集成度高單5V電源工作只需外接5個(gè)小電容即可完成RS-232C與TTL電平之間的轉(zhuǎn)換而成為單片機(jī)系統(tǒng)中的常用芯片。該電路用于測(cè)試程序以及系統(tǒng)軟件的修改。本系統(tǒng)軟件編寫(xiě)的程序可直接通過(guò)PC機(jī)的串行口再經(jīng)過(guò)MAX232電平轉(zhuǎn)換下載到單片機(jī)中從而去執(zhí)行相應(yīng)的功能。在該顯示系統(tǒng)中MAX232為通信系統(tǒng)中最重要的硬件組成部分。圖5串口通信系統(tǒng)下載電路圖2.8紅外線(xiàn)傳感器 紅外線(xiàn)傳感器是使用紅外線(xiàn)的物理特性來(lái)進(jìn)行測(cè)量的傳感器。紅外線(xiàn)具有散射、吸收

23、、反射、干涉、折射等性質(zhì)。任何物體只要它本身能夠產(chǎn)生一定的溫度高于絕對(duì)零度都會(huì)輻射紅外線(xiàn)。紅外線(xiàn)傳感器測(cè)量時(shí)可以不與被測(cè)目標(biāo)直接接觸因此不會(huì)產(chǎn)生摩擦并且有靈敏度高響應(yīng)快等優(yōu)點(diǎn)。紅外線(xiàn)傳感器有轉(zhuǎn)換電路、檢測(cè)元件和光學(xué)系統(tǒng)組成。光學(xué)系統(tǒng)按結(jié)構(gòu)不同可劃分為反射式和透射式兩類(lèi)。檢測(cè)元件按工作原理有熱敏檢測(cè)元件和光電檢測(cè)元件兩種。熱敏元件是應(yīng)用最多的熱敏電阻。熱敏電阻受到紅外線(xiàn)輻射時(shí)溫度會(huì)升高電阻也會(huì)發(fā)生微小的變化在經(jīng)過(guò)轉(zhuǎn)換模塊變成電信號(hào)輸出。光電檢測(cè)元件中最流行的是光敏器件大多數(shù)情況下是由硒化鉛、砷化銻、砷化銦、硫化鉛、碲鎘汞三元合金、鍺及硅摻雜等材料制作而成。紅外線(xiàn)傳感器主要應(yīng)用于無(wú)接觸式溫度測(cè)量無(wú)

24、損探傷和氣體的成分分析。另外在空間技術(shù)、軍事、醫(yī)學(xué)和環(huán)境工程等領(lǐng)域也得到了大規(guī)模應(yīng)用。例如使用紅外線(xiàn)傳感器從遠(yuǎn)距離測(cè)量人體表面的溫度的熱像圖還能夠發(fā)現(xiàn)溫度異常部位及時(shí)對(duì)有疾病的患者進(jìn)行診斷治療采用人造地球衛(wèi)星上的紅外線(xiàn)傳感器能夠?qū)Φ厍蛟茖舆M(jìn)行實(shí)時(shí)監(jiān)控能夠?qū)崿F(xiàn)大范圍的天氣預(yù)測(cè)正在運(yùn)行的飛機(jī)上正在運(yùn)行的發(fā)動(dòng)機(jī)的過(guò)熱情況等可以采用紅外線(xiàn)傳感器檢測(cè)。紅外線(xiàn)又被叫做紅外光其實(shí)頻帶在700納米以上的不可見(jiàn)光波長(zhǎng)處于可見(jiàn)光與無(wú)線(xiàn)電電波之間具有折射、反射、吸收、干涉、散射等性質(zhì)。復(fù)雜環(huán)境中的可見(jiàn)光不會(huì)影響紅外線(xiàn)因此可在晝夜間進(jìn)行檢測(cè)。采用紅外線(xiàn)原理制造的傳感器又被稱(chēng)為紅外傳感器它是一種應(yīng)用光電效應(yīng)原理的的接近

25、覺(jué)傳感器。紅外線(xiàn)傳感器在進(jìn)行測(cè)量時(shí)不與被測(cè)目標(biāo)直接接觸因此不會(huì)產(chǎn)生摩擦同時(shí)有靈敏度好響應(yīng)較快等特點(diǎn)。常用基于紅外光電式的傳感器選擇靠近紅外區(qū)即760至2500nm頻率段常用的發(fā)光器件由880nm和930nm兩個(gè)系列組成。紅外線(xiàn)傳感器由檢測(cè)元件、光學(xué)元件和轉(zhuǎn)換模塊組成。光學(xué)元件按硬件構(gòu)成不同可分為透射式和反射式兩類(lèi)。檢測(cè)元件按工作方式可分為熱敏檢測(cè)元件和光電檢測(cè)元件。光敏元件是光電檢測(cè)常用的元件其元件構(gòu)成一般為砷化鉀(GaAS等半導(dǎo)體材料具有吸收光并能將之轉(zhuǎn)換成電能當(dāng)在不同距離測(cè)量時(shí)變化的光的強(qiáng)度將會(huì)導(dǎo)致電流的緩慢變化再把電流信號(hào)通過(guò)放大和相關(guān)處理就能夠達(dá)到檢測(cè)距離的目的。紅外線(xiàn)通訊時(shí)將發(fā)射紅外

26、線(xiàn)的發(fā)光二極管和接受紅外線(xiàn)二極管組合在一起實(shí)現(xiàn)。本次設(shè)計(jì)所用紅外傳感器的工作原理圖如圖所示。如果有車(chē)量經(jīng)過(guò)時(shí)單片機(jī)輸出的電平信號(hào)為“1”如圖3.9(a)所示沒(méi)有車(chē)量經(jīng)過(guò)裝置時(shí)紅外傳感器的發(fā)射端發(fā)射出的信號(hào)到達(dá)了接收端單片機(jī)檢測(cè)到的電平信號(hào)就為“1”單片機(jī)通過(guò)計(jì)數(shù)功能計(jì)算出現(xiàn)“1”的次數(shù)來(lái)統(tǒng)計(jì)車(chē)流量。反之如圖6所示裝置分別裝有發(fā)射的接收兩個(gè)紅外傳感器。當(dāng)有車(chē)量經(jīng)過(guò)時(shí)車(chē)量擋住了發(fā)射端發(fā)出的信號(hào)到接收端這樣檢測(cè)到的電平信號(hào)就是低電平單片機(jī)會(huì)根據(jù)檢測(cè)到的“0”的次數(shù)通過(guò)單片機(jī)計(jì)數(shù)功能統(tǒng)計(jì)車(chē)流量。 接收端發(fā)射端 a接收端發(fā)射端 b圖6紅外線(xiàn)傳感器工作示意圖 紅外傳感器有三條引線(xiàn)分別是電源線(xiàn)、接地線(xiàn)、控制

27、線(xiàn)。其內(nèi)部集成了高頻的濾波器件主要用來(lái)濾除紅外線(xiàn)合成信號(hào)中的載波信號(hào)(38KH)并且同時(shí)將接收到的信號(hào)送出。在紅外線(xiàn)合成信號(hào)被紅外接收模塊接受在其輸出信號(hào)端就可得到前發(fā)射器發(fā)出的數(shù)字代碼再由中央控制器做出對(duì)應(yīng)的處理。紅外是經(jīng)過(guò)發(fā)射端產(chǎn)生紅外信號(hào)接收端主要接收障礙物反射回來(lái)的反映環(huán)境的信號(hào)來(lái)判斷是否有障礙物。 3、系統(tǒng)軟件方案設(shè)計(jì)3.1識(shí)別算法的設(shè)計(jì)過(guò)程 識(shí)別的效果直接由算法的設(shè)計(jì)決定甚至還能決定系統(tǒng)的成本。算法中最主要的問(wèn)題是怎樣判斷有車(chē)輛駛?cè)霗z測(cè)區(qū)間、推斷車(chē)輛行駛方向、并行駛多輛車(chē)的判別、車(chē)的型號(hào)和及車(chē)流量的檢測(cè)。采用單片機(jī)語(yǔ)言對(duì)本系統(tǒng)進(jìn)行編程軟件調(diào)試主要采用硬件檢測(cè)、單排車(chē)輛判別測(cè)試、穩(wěn)定

28、雙排車(chē)輛判別測(cè)試和用外部通信技術(shù)的測(cè)試四個(gè)階段分層設(shè)計(jì)、修改、優(yōu)化算法和程序最后達(dá)到一個(gè)比較好的識(shí)別效果。 (1)在硬件檢測(cè)中接收電路中所使用的電阻和三極管的型號(hào)主要采用程序檢測(cè)是否科學(xué)這將對(duì)采集靈敏性和采集效果產(chǎn)生直接影響。 (2)完成硬件檢測(cè)后經(jīng)過(guò)單排車(chē)輛檢測(cè)測(cè)試第一需要解決判斷是否有車(chē)駛?cè)霗z測(cè)區(qū)的標(biāo)準(zhǔn)此步驟最重要一點(diǎn)是檢測(cè)兩個(gè)接收點(diǎn)的距離w首先要確保最小的車(chē)型寬度能夠擋住n個(gè)檢測(cè)接收點(diǎn)同時(shí)并排行駛的車(chē)輛間最小間距也應(yīng)該大于一個(gè)接收間距這樣對(duì)檢測(cè)是否一輛車(chē)通過(guò)還是多輛車(chē)在設(shè)計(jì)算法中提供了很大的可行性。能根據(jù)測(cè)試環(huán)境中接收點(diǎn)密度確定n的取值本檢測(cè)模型中選擇n為3。所以在判斷一排的接收信號(hào)中擋

29、住了連續(xù)3個(gè)以上的接收點(diǎn),即表明有車(chē)輛通過(guò)。編號(hào)一排接收點(diǎn)從r0至r7如果首次檢測(cè)到ri到 rj接連被擋將j和i的差值送存變量i,如果i的值大于3即確定有車(chē)輛并且l*w即可以判斷車(chē)輛寬度比對(duì)車(chē)寬標(biāo)準(zhǔn)可以確定車(chē)型。此外取出第j位以后的每一位如果7-j大于3則有可能有并行過(guò)車(chē)依照第一次的判斷標(biāo)準(zhǔn)計(jì)算出是否有車(chē)輛并行通過(guò)以及車(chē)型號(hào)。 (3) 并排識(shí)別的作用是穩(wěn)定的確定出車(chē)輛駛?cè)氲姆较蛲瑫r(shí)讀取經(jīng)過(guò)檢測(cè)區(qū)車(chē)流量信息。這就要依據(jù)車(chē)輛順序經(jīng)過(guò)并排檢測(cè)并排時(shí)產(chǎn)生的信號(hào)的依次變化和對(duì)車(chē)經(jīng)過(guò)檢測(cè)區(qū)域的分解時(shí)序建立模型設(shè)計(jì)判斷車(chē)流量的方法。在這個(gè)過(guò)程新的干擾問(wèn)題又會(huì)出現(xiàn)就是車(chē)輛依次經(jīng)過(guò)兩個(gè)測(cè)試點(diǎn)的過(guò)程中剛要通過(guò)每個(gè)

30、測(cè)試排時(shí)就會(huì)產(chǎn)生提取信息的變化造成最后判別的嚴(yán)重錯(cuò)誤所以在這一環(huán)節(jié)中要加入防抖和抗干擾措施在一定時(shí)段內(nèi)對(duì)每一排信號(hào)進(jìn)行多次信息采取設(shè)置信息采取變量將多次采取的標(biāo)準(zhǔn)變量進(jìn)行綜合分配分配后結(jié)果在置信區(qū)域內(nèi)則判斷采樣信息屬實(shí)。然而太多采樣就會(huì)影響系統(tǒng)的運(yùn)行速度通過(guò)實(shí)驗(yàn)采用兩次采樣間隔時(shí)間1ms就可達(dá)到滿(mǎn)意的效果。比如第一排假如第一次采取信息中識(shí)別的車(chē)輛標(biāo)志變量為a1(是0表明無(wú)車(chē)是1表明有車(chē))并行行車(chē)標(biāo)志變量b1(為0表明無(wú)車(chē)為1表明有并行車(chē))同樣道理設(shè)第二次采取到的對(duì)應(yīng)變量為a2和b2則第一排真實(shí)行車(chē)情況標(biāo)志變量a和b。使用相似方式獲取第二排的置信信息分析兩排車(chē)輛行駛情況采用設(shè)計(jì)的判斷車(chē)輛通過(guò)、駛

31、入、駛出和駛離狀態(tài)模型使用算法就可以完成這一套動(dòng)作以此判定車(chē)行駛方向以及車(chē)輛真正經(jīng)過(guò)檢測(cè)區(qū)完成一次計(jì)數(shù)的標(biāo)準(zhǔn)。綜上各步驟程序和采取到的數(shù)據(jù)信息完成雙向并排車(chē)流量的判別。 3.2系統(tǒng)設(shè)計(jì)流程圖在實(shí)現(xiàn)車(chē)流量檢測(cè)中最核心的部分主要采用單片機(jī)語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)采取車(chē)流量信息的算法。怎樣判斷通車(chē)狀態(tài)判定有無(wú)并行車(chē)輛通過(guò)怎樣確定車(chē)輛已經(jīng)駛?cè)?、?jīng)過(guò)、駛離和離開(kāi)測(cè)試區(qū)的狀態(tài)信息由此達(dá)到計(jì)數(shù)這些問(wèn)題要有算法解決。軟件設(shè)計(jì)最重要的部分要可劃分為以下三個(gè)過(guò)稱(chēng)如圖所示。依次對(duì)第一排車(chē)輛行駛狀態(tài)進(jìn)行有效采取、第二排通車(chē)情況有效采取、記過(guò)檢測(cè)區(qū)域車(chē)流量采取對(duì)每一個(gè)過(guò)程全設(shè)計(jì)了一些對(duì)應(yīng)的功能模塊。拿第一步舉例子有采取提取模塊與防

32、抖抗干擾兩個(gè)模塊組成。此部分的工作流程如下第一進(jìn)行首次采集由此判斷是否有車(chē)輛經(jīng)過(guò)檢測(cè)區(qū)第二判斷是否通過(guò)并排的車(chē)輛。因?yàn)樵趯?shí)驗(yàn)室的實(shí)驗(yàn)中使用的是每排8個(gè)感應(yīng)傳感器但所假設(shè)的車(chē)的寬度都在3個(gè)感應(yīng)傳感器的距離之上并且在這個(gè)模型中檢測(cè)的兩排駛過(guò)的車(chē)輛最多只有2輛所以只要在算法中進(jìn)行一排接收點(diǎn)的最多兩次信息采樣。并且在現(xiàn)實(shí)使用中只要采用合適的修改算法結(jié)構(gòu)并且增加對(duì)應(yīng)的感應(yīng)傳感器的數(shù)量來(lái)實(shí)現(xiàn)多輛車(chē)的多排檢測(cè)。因?yàn)楫?dāng)車(chē)輛駛?cè)霗z測(cè)裝置排的一剎那該排信息提取部分的引腳電位將發(fā)生劇烈變化可能得到不正確 結(jié)果所以要在采取中加入防抖措施即在首次提取信息后等待一定的時(shí)間然后開(kāi)始第二次信息采取由此重復(fù)下去將多次采集的數(shù)據(jù)

33、比對(duì)分析。假如在置信區(qū)間范圍內(nèi)就表明是有效信息采取。數(shù)次信息提取的確能提升判斷的準(zhǔn)確率然而太多的信息采樣可能會(huì)降低裝置處理數(shù)據(jù)的速度。通過(guò)數(shù)據(jù)的分析通過(guò)兩次信息等待1毫秒已經(jīng)可以達(dá)到實(shí)際應(yīng)用要求準(zhǔn)確度同時(shí)也有相當(dāng)快的處理速度。軟件流程圖如圖7所示 開(kāi)始第一排車(chē)輛狀態(tài)提取第二排車(chē)輛狀態(tài)提取通過(guò)測(cè)試區(qū)車(chē)流量提取單片機(jī)計(jì)數(shù)輸出圖7系統(tǒng)軟件流程圖狀態(tài)變量a置1第一排第二次采集延時(shí)1ms第一排第一次采集 初始化 判斷狀態(tài)標(biāo)志否 a1和a2是否同時(shí)非0 狀態(tài)變量a置0 是 判斷狀態(tài)標(biāo)志 否 b1和b2是否同時(shí)非0是狀態(tài)變量b置1狀態(tài)變量b置0上位機(jī)計(jì)數(shù)圖8 系統(tǒng)設(shè)計(jì)軟件流程圖以系統(tǒng)信息采取模塊為例如果首次

34、信息提取模塊部分為第1模塊流程圖如上圖8。其中將信息提取到的數(shù)據(jù)依次用狀態(tài)變量a1首排首次采樣到的車(chē)輛狀態(tài)為0排車(chē)輛通過(guò)為0表明無(wú)并行車(chē)為1表明監(jiān)測(cè)到有并行車(chē)表明。由此能夠得到首排第二次采樣到的結(jié)果。將結(jié)果賦予狀態(tài)變量a2首排第二次信息采樣到的車(chē)輛情況為0表明無(wú)車(chē)為1表明檢測(cè)到車(chē)和b2首排第二次信息采樣到的并排行車(chē)情況為0表明無(wú)并行車(chē)為1表明監(jiān)測(cè)到并行車(chē)表明。根據(jù)兩次采樣后用第一排防抖采集模塊處理判斷出第一排準(zhǔn)確的行車(chē)結(jié)果分別用狀態(tài)標(biāo)志變量a第一排測(cè)試到的車(chē)輛狀態(tài)和b第一排測(cè)試到的并排過(guò)車(chē)狀態(tài)表示。當(dāng)a1和a2同時(shí)不為零時(shí)a=1否則a=0為0表示無(wú)車(chē)為1表明監(jiān)測(cè)到有車(chē)在b1 和b2同時(shí)不為零時(shí)

35、b=1否則b=0為0表明沒(méi)有并行車(chē)通過(guò)為1表明監(jiān)測(cè)到并行車(chē)。使用同樣方法對(duì)第二排信息接收點(diǎn)進(jìn)行監(jiān)測(cè)。綜合第二排首次檢測(cè)的結(jié)果即2a1、2b1的狀態(tài)與第二排第二次監(jiān)測(cè)的結(jié)果即2a2、2b2的狀態(tài)使用第二排采樣的抗干擾防抖部分推算出出第二排信號(hào)采樣的準(zhǔn)確結(jié)果依次使用狀態(tài)標(biāo)志變量2a第二排監(jiān)測(cè)到的車(chē)輛狀態(tài)和2b第二排監(jiān)測(cè)到的并排通車(chē)狀態(tài)表示。通過(guò)以上兩排監(jiān)測(cè)中所得到的中間環(huán)節(jié)的信息數(shù)據(jù)經(jīng)過(guò)設(shè)計(jì)合適的算法同時(shí)可以及時(shí)判斷車(chē)輛的寬度并且當(dāng)考慮到車(chē)輛經(jīng)過(guò)前后兩排監(jiān)測(cè)排時(shí)一定偏差可能隨之產(chǎn)生所以還加入了中點(diǎn)校準(zhǔn)模糊的算法基本消除車(chē)輛偏差的影響。其中最主要的部分是使用車(chē)輛在駛?cè)搿⒔?jīng)過(guò)、駛出 和離開(kāi)監(jiān)測(cè)區(qū)時(shí)可能

36、會(huì)引發(fā)兩個(gè)測(cè)量排所獲得數(shù)據(jù)信息的不同變化使用第一步、第二步對(duì)各排狀態(tài)位的結(jié)果分析經(jīng)過(guò)算法的設(shè)計(jì)可以將車(chē)輛的行駛情況逐步提取出來(lái),而且可以完成這一套四個(gè)動(dòng)作由此確定車(chē)真正駛過(guò)監(jiān)測(cè)區(qū)的標(biāo)準(zhǔn)由此作為計(jì)數(shù)依據(jù)同時(shí)還能實(shí)現(xiàn)對(duì)車(chē)駛進(jìn)方向的判斷。所以綜合分析以上采樣到的的各種數(shù)據(jù)信息最后可以實(shí)現(xiàn)雙向的并排經(jīng)過(guò)的多輛車(chē)的車(chē)流量監(jiān)測(cè)。系統(tǒng)檢測(cè)結(jié)果輸?shù)缴衔粰C(jī)之后又會(huì)再返回第一次采集時(shí)接著開(kāi)始下一次的計(jì)數(shù)。4.3系統(tǒng)相關(guān)程序4.3.1主程序設(shè)計(jì) 系統(tǒng)軟件采用C語(yǔ)言編寫(xiě)按照模塊化的設(shè)計(jì)思路設(shè)計(jì)程序。首先分析程序所要實(shí)現(xiàn)的功能程序要實(shí)現(xiàn)液晶顯示、蜂鳴器報(bào)警顯示、車(chē)速計(jì)算車(chē)流量計(jì)算超標(biāo)報(bào)警LED閃爍。通過(guò)按鍵控對(duì)部分?jǐn)?shù)值

37、標(biāo)準(zhǔn)進(jìn)行設(shè)定與模式切換。主程序的工作流程如圖4.2所示。程序開(kāi)始時(shí)首先必須對(duì)單片機(jī)進(jìn)行初始化設(shè)置其中初始化設(shè)置的內(nèi)容包括中斷優(yōu)先級(jí)的設(shè)定中斷初始化定時(shí)器初始化串行通信時(shí)通信方式的選擇和波特率的設(shè)定各IO口功能的設(shè)定等。把各子程序?qū)憺橐粋€(gè)可單獨(dú)執(zhí)行的完整子程序段。各子程序編譯沒(méi)有錯(cuò)誤后再下載到單片機(jī)進(jìn)行仿真驗(yàn)證這兩項(xiàng)都通過(guò)后再將所有的程序整合到一起形成一個(gè)完整的程序再進(jìn)行編譯和仿真驗(yàn)證。4.3.2 1602顯示程序的設(shè)計(jì) 顯示采用1602液晶顯示顯示內(nèi)容包括通道1車(chē)速、通道1車(chē)流量、通道1計(jì)時(shí)時(shí)間、通道1車(chē)速標(biāo)準(zhǔn),、通道2車(chē)速、通道2車(chē)流量、通道2計(jì)時(shí)時(shí)間、通道2車(chē)速標(biāo)準(zhǔn)。顯示子程序有寫(xiě)數(shù)據(jù)、寫(xiě)

38、命令、測(cè)忙、延時(shí)、初始化等組成。顯示程序流程如圖所示。 4.3.3軟件中防止程序出錯(cuò)ERR處理 CPU受到干擾后,則CPU就不能按正常狀態(tài)執(zhí)行程序往往將一些操作數(shù)當(dāng)作指令碼來(lái)執(zhí)行造成程序執(zhí)行混亂。這就是經(jīng)常所說(shuō)的程序“跑飛”現(xiàn)象?!芭茱w”程序后使其回到正常的一個(gè)最普遍的方法是使CPU復(fù)位使程序從頭開(kāi)始重新運(yùn)行。大多數(shù)單片機(jī)控制設(shè)備中都有設(shè)置的人工復(fù)位電路。人工復(fù)位大多數(shù)是在整個(gè)裝置都已經(jīng)完全癱瘓沒(méi)有辦法的情況下才不得已而為之的。所以在進(jìn)行軟件設(shè)計(jì)時(shí)就要考慮到萬(wàn)一程序“跑飛”怎么應(yīng)讓它能夠自動(dòng)恢復(fù)到正常狀態(tài)下運(yùn)行。使用“指令冗余”是使“跑飛”的程序回到正常的一種方法。所說(shuō)的“指令冗余”是指在一些

39、比較重要的地方人為地插入幾個(gè)單字節(jié)的空操作指令NOP。使程序“跑飛”到某一條單字節(jié)指令上時(shí)就不會(huì)出現(xiàn)將操作數(shù)當(dāng)成指令來(lái)執(zhí)行的錯(cuò)誤。應(yīng)該注意的是在一個(gè)程序中“指令冗余”不能使用過(guò)多否則會(huì)降低程序的執(zhí)行效率。這時(shí)可以采用另一種軟件抗干擾措施即設(shè)置“軟件陷阱”?!败浖葳濉笔且粭l引導(dǎo)指令將采樣到的程序強(qiáng)行的引導(dǎo)到一個(gè)特定的地址有一段特定的處理錯(cuò)誤的程序。如果這段處理錯(cuò)誤的程序入口地址為ERR所以下面三條指令便可以組成一個(gè)“軟件陷阱”NOP NOP LJMP ERR 開(kāi)始子程序返回顯示完成后選通列,送鎖存器輸出顯示數(shù)據(jù)送P0程序初始化送下一列數(shù)據(jù),選通信號(hào)左移 左移次數(shù)>8圖9顯示程序流程圖“軟件陷阱”一般安排在下列四種地方。L、未使用的中斷向量區(qū)。51 單片機(jī)的中斷向量區(qū)為0003H至002FH在剩余的中斷向量區(qū)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論