基于單片機的公交車自動報站器
2004/12/19 13:53:00
摘要:對車輪軸的轉(zhuǎn)角的脈沖進行計數(shù),將計數(shù)值與預置值對比,即可確定報站時刻,達到準確自動的目的。以AT89C51為CPU在中斷處理程序中對外來脈沖計數(shù),結(jié)合語音芯片ISD4004輸出語音。 關(guān)鍵詞: 距離控制 計數(shù) C51 ISD4004 編程 0 引言 目前公交報站有三種方式,一種是利用GPS全球衛(wèi)星定位系統(tǒng)的公交車報站系統(tǒng),目前美國部分城市投入使用,國內(nèi)也有此類產(chǎn)品的研制開發(fā),其功能強大,系統(tǒng)穩(wěn)定,但其投資昂貴,尤其是一些中小城市無法承受。目前我國部分城市采用手動電子報站和人工報站的方式,而它們都離不開司務人員,加大司乘人員的工作強度。手動電子報站一般由司機或者乘務員控制,經(jīng)常出現(xiàn)錯報,誤報的情況,基于上述情況的不足,結(jié)合公交車輛的使用特點及實際營運環(huán)境,研制開發(fā)了市內(nèi)公交智能報站系統(tǒng)。技術(shù)關(guān)鍵是對車輪轉(zhuǎn)軸的轉(zhuǎn)角的脈沖進行計數(shù),將計數(shù)值與預置值對比,即可確定報站時刻,達到準確自動的目的。以AT89C51為CPU在中斷處理程序中對外來脈沖計數(shù),利用ISD4004輸出語音。 一 組成原理 系統(tǒng)由脈沖檢測、脈沖計數(shù)、比較判斷、控制信號、語音芯片、輸出顯示等組成。 1.1 脈沖檢測 該系統(tǒng)關(guān)鍵是對轉(zhuǎn)軸所轉(zhuǎn)過的圈數(shù)進行計數(shù),考慮到車輛將在復雜的 環(huán)境中運行,故采用可靠的霍爾元件DN6848作為信號的采集裝置,再經(jīng)光電耦合器4N25輸入給單片機。 1.2 脈沖計數(shù) 光電耦合器的信號進入C51后,采用中斷方式對脈沖計數(shù)。外部晶振12MHz。 1.3 在比較判斷程序中將計數(shù)值于預置值進行比較,當數(shù)值到時就輸出信號控制語言芯片進行報站。 1.4 控制按鍵 用于手動控制、手動調(diào)整、預置值的輸入等 1.5 語言芯片 由專用語音芯片ISD4004組成,可擦寫,便于在不同公交線上使用。 1.6 復位控制 安裝在車門上的微動開關(guān)在到站后給C51一個信號,使其自動開始下一段的計數(shù)。 1.7 輸出顯示 由兩位七段數(shù)碼管組成,由C51采用動態(tài)掃描方式顯示。 1.8預置存儲 采用兩種方式存儲,一種是在燒寫器上將數(shù)據(jù)寫入,另一種是在車上,單片機處于輸入狀態(tài),車輛行駛一遍,將站與站之間的脈沖數(shù)寫入片內(nèi)。 二 硬件設(shè)計 系統(tǒng)電路圖如下: 2.1 C51通過P0.0到P0.3與外部的語言芯片ISD4004進行連接。其中ISD4004為PDIP封裝,引腳功能為:片選(SS): 此端為低,即向該ISD4000芯片發(fā)送指令,兩條指令之間為高電平;串行輸入(MOSI): 此端為串行輸入端,主控制器應在串行時鐘上升沿之前半個周期將數(shù)據(jù)放到本端,供ISD輸入;串行時鐘(SCLK): ISD的時鐘輸入端,由主控制器產(chǎn)生,用于同步MOSI和MISO的數(shù)據(jù)轉(zhuǎn)輸。數(shù)據(jù)在SCLK上升沿鎖存到ISD,在下降沿移出ISD;中斷(INT): 漏極開路輸出,ISD在任何操作(包括快進)中檢測到EOM或OVF時,本端變低并保持。中斷狀態(tài)在下一個SPI周期開始時清除。語音由AUDOUT輸出給功放,放大后輸出。 2.2 P1.0到1.4組成按鍵組,完成前后選擇、狀態(tài)選擇、手動控制。并預留P1.4到P1.7做為功能擴展口。 2.3 霍爾采集的信號經(jīng)光耦4N25進入P3.2。此腳為外部中斷O的輸入腳,一旦有脈沖進入就會觸發(fā)單片機中斷,調(diào)用處理程序。 2.4 安裝在車門上的微動開關(guān)在到站后給C51一個信號,使其自動開始下一段的計數(shù)。 2.5 P2.0到P2.6直接驅(qū)動數(shù)碼管,P3.6 P3.7為片選端,采用動態(tài)掃描方式輸出到站情況。 2.6 ISD4004的供電電壓為3V,還需要一個電壓變換電路,在此不給出。報站器還有其他功能如乘員話筒,報警提示等由于本文只簡述計數(shù)功能的核心,便不再累述。 三 軟件設(shè)計 采用C語言開發(fā),包括初始化、中斷處理、自動運行、手動運行、讀寫EEPROM、以及主程序模塊。在XAC環(huán)境下進行開發(fā),并仿真,最好即可上車調(diào)試使用。 四 調(diào)試與應用 系統(tǒng)完成后就可以上機調(diào)試,使用時可用配套的燒寫器將站與站之間的距離寫入單片機內(nèi),如果不知道距離可以在機上采用手動方式輸入,使裝置處于輸入狀態(tài),出站時按下錄入鍵,到站時按下確定鍵,就可以將站與站之間對應的數(shù)據(jù)寫入單片機。使用中如果出現(xiàn)粗報,采用手動調(diào)整即可。 五 結(jié)束語 該方式應用89C51單片機的高速計數(shù)器端口進行脈沖計數(shù),以距離來控制報站時刻,首次實現(xiàn)了模糊控制,改變現(xiàn)有設(shè)備的不足。做到簡單實用自動化程度高。傳感器在公交車上的應用極大的提高了設(shè)備功能。 參考資料 [1] 李朝青 單片機原理及接口技術(shù) 北京:北京航空航天大學出版社1999 [2] 梁合慶等 從C到嵌入式C編程語言 北京:北京航空航天大學出版社2000
提交
查看更多評論
其他資訊
龍門刨床的自動化改造
基于S7-200的變頻調(diào)速恒壓供水系統(tǒng)
Mcs51單片機計數(shù)功能的應用研究