基于單片機(jī)的車輛計(jì)價(jià)器設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
隨著經(jīng)濟(jì)的發(fā)展,出租車已經(jīng)成為城市交通的重要組成部分,為保證司機(jī)和消費(fèi)者的權(quán)益,車輛計(jì)價(jià)器必不可少。單片機(jī)功能強(qiáng)大,靈活性高,可以軟硬件相結(jié)合。設(shè)計(jì)的計(jì)價(jià)器能實(shí)現(xiàn)計(jì)價(jià)、顯示、打印、播報(bào)等功能,還可以根據(jù)時(shí)間段的不同來調(diào)節(jié)單價(jià)。整個(gè)行車過程中的總費(fèi)用=起步價(jià)+行車費(fèi)用+等候費(fèi)用。
1系統(tǒng)硬件設(shè)計(jì)
計(jì)價(jià)器系統(tǒng)主要由六部分組成:選定AT89S52單片機(jī)為主控器件,A44E霍爾傳感器檢測電路,獨(dú)立鍵盤來實(shí)現(xiàn)功能的調(diào)整,AT24C02來實(shí)現(xiàn)存儲(chǔ)功能,ISD2560語音芯片來實(shí)現(xiàn)語音播報(bào),數(shù)碼管實(shí)現(xiàn)數(shù)據(jù)顯示。
本設(shè)計(jì)通過A44E霍爾傳感器來檢測汽車行進(jìn)的里程,并將產(chǎn)生的脈沖送到單片機(jī)進(jìn)行計(jì)算處理,再根據(jù)從EEPROM中讀取的價(jià)格等相關(guān)數(shù)據(jù)進(jìn)行金額的計(jì)算,計(jì)算好的金額、里程和單價(jià)都實(shí)時(shí)地顯示在數(shù)碼管上。當(dāng)乘客到達(dá)目的地時(shí),通過按鍵進(jìn)行語音播報(bào)和打印乘車數(shù)據(jù)。獨(dú)立鍵盤可以調(diào)節(jié)價(jià)格等相關(guān)數(shù)據(jù),EEPROM存儲(chǔ)調(diào)節(jié)好的數(shù)據(jù),系統(tǒng)結(jié)構(gòu)圖如圖1所示。
1.1里程計(jì)算和計(jì)價(jià)電路的設(shè)計(jì)
A44E屬于開關(guān)型的霍爾器件,其工作電壓范圍比較寬(4.5?18V),其輸出的信號(hào)符合TTL電平標(biāo)準(zhǔn),可以直接接到單片機(jī)的I。端口上%霍爾傳感器有信號(hào)轉(zhuǎn)換、電壓放大、整形輸出等功能。里程計(jì)算是通過安裝在車輪上的A44E檢測到的脈沖信號(hào),送到單片機(jī)產(chǎn)生中斷,單片機(jī)再根據(jù)程序設(shè)定,計(jì)算出里程。其原理如圖2所示。
圖2 傳感器測距原理示意圖
1.2AT24C02掉電存儲(chǔ)電路設(shè)計(jì)
AT24C02是一個(gè)2Kb串行CMOSEEPROM,內(nèi)部有256個(gè)8位字節(jié)。掉電存儲(chǔ)的作用是在掉電時(shí),當(dāng)前信息能夠被存儲(chǔ)。當(dāng)重新上電時(shí),被存儲(chǔ)的信息可以繼續(xù)使用。A2?A0為地址引腳,SDA、SCL為總線接口,WP為保護(hù)引腳。WP接VSS時(shí),禁止寫入高位地址;WP接VDD時(shí),允許寫入任何地址。
1.3數(shù)據(jù)顯示電路設(shè)計(jì)
顯示單元由7個(gè)8段共陰極數(shù)碼管組成,采用動(dòng)態(tài)掃描進(jìn)行顯示。74LS244是單向三態(tài)數(shù)據(jù)緩沖器,內(nèi)部有8個(gè)三態(tài)驅(qū)動(dòng)器,分成兩組,分別由控制端控制。當(dāng)兩個(gè)控制端接地時(shí),相當(dāng)于8個(gè)三態(tài)門均打開。由于單片機(jī)驅(qū)動(dòng)能力有限,本設(shè)計(jì)采用74LS244作為數(shù)碼管的驅(qū)動(dòng)。數(shù)碼管段選位接P2口用于顯示總金額和顯示里程與單價(jià);位選接P0口,用于控制數(shù)碼管。
1.4語音播報(bào)系統(tǒng)設(shè)計(jì)
語音播報(bào)主要對行駛里程、消費(fèi)金額進(jìn)行播報(bào),乘客有知情權(quán)。設(shè)計(jì)采用了集成度較高的ISD2560芯片,其最大的特點(diǎn)是采用EEPROM進(jìn)行模擬信息的直接存取,而不必經(jīng)過A/D和D/A轉(zhuǎn)換。它內(nèi)部帶有話筒放大器、自動(dòng)增益控制時(shí)鐘、揚(yáng)聲器驅(qū)動(dòng)電路等。
1.5票據(jù)打印電路設(shè)計(jì)
當(dāng)出租車到達(dá)指定地點(diǎn)時(shí),司機(jī)通過翻車牌將信號(hào)傳到單片機(jī),單片機(jī)啟動(dòng)打印服務(wù),將行車的公里數(shù)、單價(jià)、金額、中途等待時(shí)間、日期及上下車時(shí)間等乘車數(shù)據(jù)打印成出租車票據(jù),供乘客保留。這樣可以防作弊,保障消費(fèi)者的權(quán)益。
2系統(tǒng)軟件設(shè)計(jì)
2.1系統(tǒng)主程序模塊
主程序模塊主要完成單片機(jī)各工作模式設(shè)定、相應(yīng)存儲(chǔ)單元的初始化、數(shù)據(jù)處理以及中斷控制等工作。主程序模塊還要實(shí)現(xiàn)對各個(gè)模塊的控制,使計(jì)價(jià)器完成計(jì)費(fèi)、計(jì)程、播報(bào)、打印等功能。主程序流程如圖3所示。
2.2定時(shí)中斷服務(wù)程序
定時(shí)器的定時(shí)與系統(tǒng)的震蕩頻率有關(guān)。在定時(shí)中斷服務(wù)程序中,每100ms產(chǎn)生一次中斷,當(dāng)產(chǎn)生10次中斷的時(shí)候,也就到了1s,送數(shù)據(jù)到相應(yīng)的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r(shí)顯示。當(dāng)選擇定時(shí)/計(jì)數(shù)器作為定時(shí)器工作時(shí),每經(jīng)過1個(gè)機(jī)器周期,計(jì)數(shù)器加1,直至計(jì)數(shù)溢出為止。
2.3里程計(jì)數(shù)中斷服務(wù)程序
霍爾傳感器每輸出一個(gè)低電平信號(hào),單片機(jī)中斷一次,程序?qū)⒅袛啻螖?shù)累加,進(jìn)入里程計(jì)數(shù)中斷服務(wù)程序中。在該程序中,需要完成當(dāng)前行駛里程數(shù)和總額的累加操作,并將結(jié)果存入里程和總額寄存器中。
圖3 系統(tǒng)主流程圖
2.4中途等待中斷程序
在計(jì)數(shù)狀態(tài)下,霍爾開關(guān)沒有輸出信號(hào),T1定時(shí)器便被啟動(dòng)。每當(dāng)計(jì)時(shí)到達(dá)5min時(shí),就對當(dāng)前金額加上中途等待的單價(jià),以后每5min都自動(dòng)加上中途等待的單價(jià)。當(dāng)中途等待結(jié)束時(shí),就自動(dòng)切換到正常的計(jì)價(jià)。
2.5顯示程序
顯示程序利用定時(shí)器的中斷和主程序的循環(huán)點(diǎn)亮數(shù)碼管,并利用延時(shí)程序使人眼可察。由于是分屏顯示數(shù)據(jù),所以就要用到4個(gè)顯示子程序,分別是時(shí)間顯示子程序、金額顯示子程序、路程顯示子程序和單價(jià)調(diào)節(jié)子程序。
2.6鍵盤服務(wù)程序
鍵盤采用查詢的方式,放在主程序中。當(dāng)沒有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序;一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。
3調(diào)試結(jié)果分析
3.1計(jì)價(jià)單元測試分析
測試分白天和晚上,再按照不同的單價(jià)、行車?yán)锍虂碛?jì)算總金額。將白天和晚上單價(jià)分別設(shè)為三個(gè)數(shù)值,讓汽車行駛不同的里程,來測試所做出的實(shí)物是否符合要求。設(shè)定標(biāo)準(zhǔn)為3km以內(nèi)以起步價(jià)8元計(jì),超過3km以每千米按設(shè)定單價(jià)計(jì)價(jià),假設(shè)模擬車輪轉(zhuǎn)1圈實(shí)際車輪轉(zhuǎn)2圈,其測試結(jié)果如表1所列。
表1 里程計(jì)價(jià)測試數(shù)據(jù)
模式 |
單價(jià)/元 |
里程/km |
總金額/元 |
2.5 |
10 |
25.5 |
|
白天 |
2.0 |
2 |
8 |
1.5 |
1 |
8 |
|
3.5 |
7 |
22 |
|
晚上 |
3.0 |
2 |
8 |
2.5 |
5 |
13 |
由表1可以看出,測試結(jié)果與理論值相符,系統(tǒng)比較穩(wěn)定,達(dá)到了設(shè)計(jì)要求。
3.2中途等待測試
在計(jì)價(jià)模式下,當(dāng)車輪速度低于1.4m/s(5km/h)時(shí),若10s內(nèi)沒有改變這種狀態(tài),則進(jìn)入中途等待模式,屏幕會(huì)進(jìn)入等待計(jì)價(jià)狀態(tài),5min后計(jì)價(jià)器自動(dòng)增加0.5元。
3.3掉電單元測試
掉電時(shí),可以把當(dāng)前信息存儲(chǔ)起來,重新上電后數(shù)據(jù)可以被繼續(xù)利用。
4結(jié)語
出租車計(jì)價(jià)器是一種智能化儀表,它通過AT89S52、A44E霍爾傳感器、獨(dú)立鍵盤、AT24C02、ISD2560、數(shù)碼管等器件實(shí)現(xiàn)了計(jì)價(jià)器的計(jì)程、計(jì)費(fèi)、打印、播報(bào)等功能。它功能強(qiáng)、成本低、電路設(shè)計(jì)簡單安全,能滿足市場的需求。
20211106_61864c9f1d568__基于單片機(jī)的車輛計(jì)價(jià)器設(shè)計(jì)