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