新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用單片機(jī)實(shí)現(xiàn)公交車的自動考核與報站

用單片機(jī)實(shí)現(xiàn)公交車的自動考核與報站

作者: 時間:2012-02-06 來源:網(wǎng)絡(luò) 收藏

1 引言

本文引用地址:http://butianyuan.cn/article/172193.htm

現(xiàn)今社會中,許多中小城市對輛進(jìn)行,大都采用人工的方式,該方式存在諸多缺點(diǎn),例如,對車輛到達(dá)每一站的時間以及行駛途中存在的壓客、超速、超載等問題,無法進(jìn)行有效的監(jiān)督,更重要的是它浪費(fèi)了大量的人力資源,因此,急需一種系統(tǒng)對輛進(jìn)行有效的管理。

通過市場調(diào)查,現(xiàn)在對輛進(jìn)行管理,主要有兩種方式:一是GPS系統(tǒng),另一種是在站牌上設(shè)一信號發(fā)射裝置,供車輛到站時判別。前一種方式雖然比較先進(jìn),但其價格昂貴,對中小城市的公交公司來說,只會增加其負(fù)擔(dān)。而且更為重要的是,它需要對原有的站牌進(jìn)行改造,程序煩瑣。雖然屬于同步考核方式,但對車輛塞車等情況仍無能為力。候車乘客通過站牌雖可知道車輛與本站的距離,但到達(dá)的確切時間仍無法確定,考核效果也不理想;后一種方式利用車輛收到信號和失去信號的時間間隔判別車輛??勘菊镜臅r間,但此系統(tǒng)在實(shí)際應(yīng)用中,可以說是效果很差,站牌上電力的供應(yīng)、發(fā)射裝置的穩(wěn)定性、車輛上接收器靈敏度的不一性及路對面站的干擾等情況都嚴(yán)重影響了考核。

近年來,技術(shù)迅猛發(fā)展,廣泛應(yīng)用于諸多領(lǐng)域,由于具有可編程性及很好的存儲擴(kuò)展性等許多優(yōu)點(diǎn),因此萌生了用公交車輛的考核與報站。

2 系統(tǒng)的功能

(1)報站功能:當(dāng)車輛到達(dá)某一停車站點(diǎn)時,系統(tǒng)自動報站,無需手動按鍵。

(2)自動考核功能:自動記錄車輛中途停車的時間和行駛的里程數(shù),自動記錄超速、低速行駛的時間和里程數(shù)。

(3)顯示時間功能。

3 系統(tǒng)設(shè)計原理

公交車較一般車輛有個明顯的特點(diǎn),就是它行駛的路線固定,從起點(diǎn)到終點(diǎn)中途經(jīng)過的站、路口也是固定的。因此,從起點(diǎn)到任一站、任一路口的距離是相對不變的,任意兩站之間、路口之間以及站與路口之間的距離也是不變的。我們利用這一特點(diǎn),首先把從始發(fā)站出發(fā)的公交車到達(dá)每一站、每一路口行駛的里程數(shù)(確切地說是一個范圍,即經(jīng)過反復(fù)試驗(yàn),得到的到達(dá)某站或路口的數(shù)據(jù)范圍)記錄在系統(tǒng)中,公交車在實(shí)際運(yùn)行中,如果行駛的里程達(dá)到某某范圍(范圍的最低值),則自動報站(包括提示是路口等等),此即了自動報站功能。對于自動考核中的超速、低速的判斷,只需在系統(tǒng)中設(shè)置一計數(shù)器(計算車輪轉(zhuǎn)過的圈數(shù)),用單位時間內(nèi)車輪轉(zhuǎn)過的圈數(shù)來判斷車速超、低速情況,同時將超、低速時的時間和行駛的里程數(shù)記錄在系統(tǒng)中。這樣,在車輛回到總站后,只要讀取系統(tǒng)內(nèi)部的數(shù)據(jù),就可以知道車輛在運(yùn)行途中的??空炯俺?、低速行駛情況。對于車輛停車時間的記錄,的方法是在車輛停止轉(zhuǎn)動時就開始計時,在車輪開始轉(zhuǎn)動時停止計時,并將計時時間保存在系統(tǒng)中。由于車輛停車時間的長短和停車時的時間都被記錄下來,就可以杜絕一些公交車在站點(diǎn)延時拉客以及未到達(dá)站點(diǎn)就中途停車?yán)偷默F(xiàn)象。這里要說明的是:所謂里程數(shù)=車輪轉(zhuǎn)數(shù)*車輪周長。

8.jpg

圖1 語音錄放電路

4 系統(tǒng)硬件設(shè)計

該系統(tǒng)硬件設(shè)計按功能模塊劃分,可分為四部分:最小系統(tǒng)、顯示部分電路、計數(shù)部分電路和語音電路。下面結(jié)合每一個功能模塊,來介紹一下如何用單片機(jī)來實(shí)現(xiàn)公交車輛的自動考核與報站。

(一)最小系統(tǒng)

最小系統(tǒng)由89C51、RAM、鎖存器、時鐘電路、復(fù)位電路五部分組成。這是該系統(tǒng)的核心,所有的指令都是由89C51發(fā)出的。

RAM:由于車輛在行駛過程中需要記錄大量的數(shù)據(jù),比如車輛中途停車的時間、慢速行駛的時間、超速的時間等等,而89C51內(nèi)部只有256B的數(shù)據(jù)存儲器RAM,其中128B用戶可以使用,數(shù)據(jù)容量根本無法滿足系統(tǒng)的需要,故須外接RAM。

鎖存器:89C51雖然有P0、P1、P2、P3四個八位的I/O口,但是只有P0口能夠直接用于對外部存儲器的讀/寫操作,而P0口還要輸出外部存儲器的低8位地址(高8位地址直接由89C51的P2口輸出)。為了避免數(shù)據(jù)和地址的信號沖突,這時候就需要在89C51和RAM之間加上一鎖存器(實(shí)驗(yàn)中采用 74LS373),從而使數(shù)據(jù)與地址分時輸出。

時鐘電路:系統(tǒng)要穩(wěn)定的工作必須有可靠的時鐘。本系統(tǒng)采用內(nèi)部時鐘方式,外接6MHZ的晶振,晶振和電容(15P)組成并聯(lián)諧振蕩回路,從而使89C51內(nèi)部的電路產(chǎn)生自振蕩。

復(fù)位電路:即在89C51的RESET端出現(xiàn)一保持10ms的高電平時,單片機(jī)復(fù)位。系統(tǒng)將手動復(fù)位和上電復(fù)位結(jié)合在一起。

(二)顯示部分電路

顯示部分主要是顯示時間的。在該系統(tǒng)設(shè)計中,由于89C51本身自帶的并行口有限,故在系統(tǒng)中采用8155對并行口進(jìn)行擴(kuò)展。我們用8155PB口輸出段碼(即待顯示的數(shù)據(jù)),利用8155PA口的低四位(PA0、PA1、PA2、PA3),經(jīng)過一個74LS154(四—十六譯碼器)譯碼后產(chǎn)生16個位選信號,某一位選信號有效,與之相對應(yīng)的LED燈即被點(diǎn)亮。我們在此采用的是動態(tài)顯示方式,該方式較靜態(tài)顯示方式的明顯優(yōu)點(diǎn)即其占用的I/O口資源少,從而不必再對89C51進(jìn)行I/O口擴(kuò)展。

(三)計數(shù)部分電路

車輛在運(yùn)行過程中,我們?nèi)绾斡嬎丬囕v行駛的里程,如何判斷車輛超速、低速,這些都是通過計數(shù)部分電路來實(shí)現(xiàn)的。我們只要記錄下車輪的轉(zhuǎn)數(shù),然后用它乘以車輪周長就可以得到車輛行駛的里程數(shù)。而對于車速,設(shè)定系統(tǒng)以某一固定時間間隔(比如5秒)來采集計數(shù)值(即車輛轉(zhuǎn)數(shù)),用這一數(shù)值乘以車輪周長得出車輛行駛的里程,再除以時間從而得到車速,這樣我們就可以判斷車輛的超速、低速情況了。其實(shí)計數(shù)電路非常簡單,它僅僅利用到89C51的外部中斷INT0,每當(dāng)此引腳有下跳沿信號,計數(shù)器即加1(系統(tǒng)中采用16位計數(shù)器,最大計數(shù)值可達(dá)到65535)。在進(jìn)行實(shí)驗(yàn)的過程中,我們發(fā)現(xiàn),模擬車輪產(chǎn)生的脈沖干擾很大,采用軟件延時,效果不甚理想,而且影響到顯示(用以顯示的LED燈產(chǎn)生明顯的抖動),故想到在INT0端采用硬件延時。而RS觸發(fā)器在此方面有良好的特性,因此在INT0引腳與產(chǎn)生脈沖的車輪之間加上一RS觸發(fā)器。

(四)語音部分電路

自動考核與報站系統(tǒng)的報站功能主要是由語音部分電路來實(shí)現(xiàn)的。實(shí)驗(yàn)中我們使用的語音芯片為ISD4002-120P,該芯片的存儲時間僅為120秒,只可用于實(shí)驗(yàn)室階段,實(shí)際應(yīng)用中可以更換存儲時間長的芯片。由于車輛在運(yùn)行途中,只需報站,而無需錄音,故我們采用圖1所示電路對語音芯片進(jìn)行錄音。

開關(guān)在“REC”端是錄音狀態(tài),按住“AN”鍵不放,指示燈亮即可對著話筒講話錄音,松鍵錄音停止并形成一段。再按則錄下一段。按“STOP”鍵復(fù)位,再錄音時又從第一段開始。開關(guān)在“PLAY”一側(cè)是放音狀態(tài),按一下“AN”即播放一段錄音,一段結(jié)束后自動停止放音,再按“AN”鍵則播放下一段。

把錄好的芯片放到系統(tǒng)中,當(dāng)車輛行駛的里程數(shù)達(dá)到某一段范圍時,我們利用語音芯片的快進(jìn)功能,跳到相應(yīng)的語音段開始放音從而實(shí)現(xiàn)自動報站。

5 系統(tǒng)軟件設(shè)計

系統(tǒng)軟件采用模塊化結(jié)構(gòu),主要由主程序、計數(shù)中斷子程序、時間中斷子程序等級成。下面列出了主程序流程圖(如圖2)和計數(shù)中斷子程序流程圖(如圖3):

9.jpg

10.jpg
6 結(jié)束語

總的看來,本系統(tǒng)采用了一種比較新穎的思路,用單片機(jī)來實(shí)現(xiàn)公交車輛的自動考核和報站。能夠?qū)卉囕v進(jìn)行有效的管理,投入市場的前景較好。在實(shí)際運(yùn)用的時候,可以在系統(tǒng)中擴(kuò)展鍵盤,以防止公交車行駛路線發(fā)生變化以及出現(xiàn)一些異常情況時,改用鍵盤控制報站。

參考文獻(xiàn)

[1]何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計:系統(tǒng)配置與接口技術(shù).北京:北京航空航天大學(xué)出版社,1990年。
[2]劉樂善,葉濟(jì)忠.微型計算機(jī)接口技術(shù)原理及應(yīng)用.湖北:華中理工大學(xué)出版社,1996年。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉