[摘要]單片機的實驗教學是信息電子專業的重要內容,在教學科研中占有重要的地位。汽車流量檢測計是交通管理系統的重要組成部分,本文針對學生對單片機的學習而設計的基于MCS-51單片機汽車流量檢測計模擬實驗。通過RPR359F光電檢測器檢測汽車,在MCS-51單片機中計下檢測的數量,并把所檢測的流量在LED上顯示。在車流量超過一定限制時報警,以提示工作人員做相應處理。
[關鍵詞]單片機 光電探測器 LED顯示
一、引言
單片機的教學實驗在高校實驗教學,特別是電氣專業的實驗教學中具有十分重要的地位。單片機集成了CPU、存儲器、定時器/計數器、前置放大器、看門狗、并行和串行口、A/D、D/A轉換器等電路器件,隨著單片機片內集成的電路越來越全面,功能越來越強,客觀上為流量自動檢測控制系統的發展提供良好的條件。為了加深學生對汽車流量檢測計的認識,以及對MCS-51系列單片機學習掌握,本文設計了以MCS-51系列單片機為核心,通過光電傳感器與MCS-51接口平臺模擬,能準確檢測出汽車流量的大小并以LED數碼管進行結果顯示,具有結構簡單、實用性強等優點,可幫助學生深化對單片機原理和傳感器檢測技術的了解,鞏固單片機的應用。
二、實驗原理
汽車流量檢測計實驗裝置是在電子技術、單片機理論和技術、傳感器理論和技術以及光電技術等基礎上,應用電子器件和專用集成電路進行開發的,該裝置即能作為汽車流量檢測計,也可以作為其它的數量檢測裝置。
汽車流量檢測裝置由硬件系統和軟件系統組成。硬件系統主要用于完成對數據信號(汽車流量)的采集工作,并將采集到的信號轉換以后送入單片機系統進行處理,軟件系統主要完成對數據的分析、顯示等工作。
三、光電測量原理
準確采集車輛信號是計數汽車流量的前提,必須保證不漏檢,采集信號裝置不要與車輛接觸而摩擦,為此采用非接觸紅外檢測技術。使測量器件與車輛保持一點距離。
傳感器處于接口位置,成為感知、獲取與檢測信息的窗口,車流量信息要通過傳感器獲取并轉換為容易傳輸與處理的電信號。其作用與地位都特別重要。
本設計通過Rohm RPR359F元器件獲取汽車流量信息,Rohm RPR359F為反射式光電探測器,可以通過簡單線路直接應用,使用非常方便,比較適合汽車流量檢測,Rohm RPR359F發射端是一個GaAs紅外線發射二極管,接收端為高精度硅平面光電晶體管,其有一塑料透鏡,可提高精度。另外,由于其中封裝了可見光濾除器,所以雜光對系統幾乎沒有影響。如圖1。發光二極管通過恒定電路IF=20mA,發出的光經目標物體反射至接收端,然后接通光電三極管,產生電路Ic,Ic經過電阻產生Vo,即可測出是否有汽車流過。當無車輛通過時接收管接收不到光而不導通,輸出Vo為零。當有車輛流過的瞬間,車輛反射二極管發射的光,接收管接收到反射過來的光后可使光電三極管導通,輸出為1。單片機可據此判斷有無車輛的通過。

四、系統硬件電路設計
該設計的硬件裝置主要由電源模塊,單片機控制模塊、光電檢測模塊、顯示模塊等幾部分組成。
1.AT89C51微處理器
此處使用的汽車流量檢測計,是以ATMEL公司的MCS-51兼容單片機AT89C51微處理器作為程序的主控芯片,此外再加上電源模塊、外圍晶振、復位電路等電路而組成。AT89C51是一種片內含有4KB閃爍可編程可擦除只讀存儲器(EPROM)的具有低功耗、高性能卓越特點的8位CMOS微控制器。該器件采用ATMEL公司高密度、非易失存儲技術制造,存儲數據保存時間為10年 。除此之外,它還有較寬的工作電壓范圍(2.7V到6V)。在外接振蕩器的條件下,其工作頻率在0Hz至16MHz 的范圍內可調。程序存儲器具有3級加密保護 ,有128*32條可編程I/O線 ,片內集成兩個16位定時器/計數器,中斷結構具有5個中斷源和2個優先級,通訊方面有可編程全雙工串行通道,另外還有在空閑狀態維持低功耗和掉電狀態保存存儲內容的功能。
正是由于以上優點,雖然半導體技術不斷發展,新型控制芯片也不斷涌入,但是AT89C51在工業中的地位仍然是無法撼動,應用依然廣泛,特別在測試系統中更是如此。
2.信號調理電路
為了做到準確、快速、穩定的傳遞車輛信號,除了剛才的參數的選擇外,還要對檢測端檢測的信號進行放大處理后,使信號符合電平標準并濾除掉高頻雜波信號后,才可輸入至單片機。
在信號調理電路中其主要部分在于前置放大電路的設計以及噪聲處理。放大電路的作用主要是將傳感器傳送來的信號放大到合適的幅值,以使電信號強度有利于后面的信號濾波和A/D采樣。放大器自身也會產生內部熱噪聲,為了減少內部熱噪聲的影響,提高放大器輸出端的信噪比,在信號調理電路里要用帶溫度補償的放大電路,在這里采用無噪聲偏置放大電路。同時,為了提高運算放大器的運算精度,必須提高它的開環放大倍數,通常為了提高開環放大倍數可以采用多級放大器級聯的形式。然而,高的放大倍數的多級放大又十分容易產生自激震蕩,所以還要加入消除自激震蕩的校正網絡。除了上面介紹的放大器自身的內部熱噪聲以外,實際光電檢測電路中存在各種外部擾動和內部噪聲。外部擾動包括隨機波動和附加的光調制。此外,光路傳輸介質背景起伏雜散光的入射以及檢測電路所受到的電磁干擾也是常見的外部擾動。這些擾動可以通過穩定輻射光源、去除雜散光、選擇偏振片和在它的輸入端接低通濾波器等方法來抑制。而內部噪聲主要是產生于檢測電路內部的一些半導體器件之類的,比如溫度的變化就會對光電檢測器的暗電流產生影響,從而使傳感器輸出電壓產生波動。這些噪聲主要是以熱噪聲的形式出現,常用的方法是通過并聯耦合電容來消除這些噪聲。
3.顯示電路
車流量的大小和超過限制時的報警可通過6個LED顯示。顯示模塊是通過共陰極LED驅動芯片和外圍電路組成。所顯示的數據由單片機和串行方式送給7219,然后7219可根據收到的數據來控制6個數碼管顯示。7219還將鍵盤參數經轉換后通過串行通訊方式發給單片機,按鍵除了復位以外,還有在設定超量報警的上限值時所需要輸入的各個位。

五、系統軟件設計
本軟件的主要任務是檢測車輛信號,在一定的時間段內記下所有的車輛的數目,然后換算單位為輛/分鐘,把換算后的數值在LED中顯示。
車輛信號為一個隨機量,可通過計數器和外部中斷兩種方式準確地捕捉此信號,然而由于定時器資源量的限制,本系統通過外部中斷方式INT0捕捉此信號。而車輛數目存放在從R0~R2這四個寄存器里。為確保計數的車輛的數目,采用定時10s內采集車輛的數目,然后換算成單位輛/分鐘。而定時器最大計數為128ms,為解決此問題,可采用如下措施,把定時器設定為最大值,當計數器溢出時,進入定時中斷,在此中斷程序中使R3加一,然后是輸入定時器初值0,使其繼續計數,直到R3為160時,經計算,此時大約為10s。這樣可得到10s時間,此時查看R0~R2中的數,然后經過換算后存儲,以待顯示程序顯示。
為了避免在車輛信號采集中可能出現的誤判漏判,軟件中采取了一些相應的措施,例如車輛在經過時,車頭和車尾可能使光電檢測器產生信號變化,使單片機產生兩次中斷,錯判為兩輛車輛,從而產生偏差。為了消除這個偏差,在軟件的設計中加入了判斷是否同一車輛信號,這樣就消除了車輛頭尾的空隙造成的誤差。
在模塊和按鍵的軟件設計中,通過定時器1中斷,動態的向數碼管發送數據,顯示汽車流量和報警提示,當有按鍵時7219產生中斷給INT1,然后在INT1中斷服務程序里,掃描接收此時的鍵值。主程序的軟件框圖如上圖所示。
先進行系統的初始化,如初始化7219,設定定時器初值,寄存器的初始化等,然后開啟中斷,此時定時器和外部中斷都開始運行,LED全部清零后系統可進入等待狀態,等待中斷的產生即可。
六、結語
本文介紹了利用AT89C51單片機設計汽車流量檢測計的總體設計方法,該方法簡單,合理,測定汽車流量比較準確。并且它比較適合同學們在試驗平臺上實現,有利于同學們對單片機的認識和學習,并且認識和學習定時器、中斷和LED顯示在工業中的應用,同學們可通過此次設計學會光電傳感器的應用。也給同學們提供了汽車流量檢測計的基本設計思路。為將來從事此方面設計的同學提供思路。
到目前為止,交通流量檢測系統在國內還沒有系統的產業化,基本上都是處于實驗階段,這也正說明了其處理的難度。這也說明這項技術具有廣闊的發展前景,應此,開展這方面的教學研究工作具有十分重要的意義。
參考文獻:
[1]張志勇,王雪文.傳感器原理及應用[M].北京航空航天大學出版社,2004.
[2] 康華光.電子技術基礎 模擬/數字部分(第四版)[M].高等教育出版社,2003.
[3] 張毅剛等 MCS-51單片機應用設計[M] 哈爾濱工業大學出版社,2001.
[4] 劉亞,艾海舟,徐光佑一種居于背景模型的運動目標檢測與背景跟蹤算法。信息與控制,1999,31(4).
[5]Bascle,B.Bouthemy,P.TraCking comples primitives in an image sequence. Pattern Recognition. Conference a: Computer Vision Image Processing,Proceedings of the 12th IAPR International Conference on.
[6] Montrose,M.1991.“Overview on design techniques for PCB layout used in high technology products.”Proceedings of the IEEE International Symposium on Electromagnetic Compatibility.1991.61-66.
(作者單位:浙江理工大學信息與電子學院)