<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AT89S51單片機(jī)的出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)

          基于AT89S51單片機(jī)的出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2011-02-12 來源:網(wǎng)絡(luò) 收藏

          2 系統(tǒng)軟件設(shè)計(jì)
          2.1 主程序模塊

          主程序流程圖如圖4所示,在主程序模塊中,需要完成對(duì)各接口芯片的初始化、出租車起價(jià)和單價(jià)的初始化、中斷向量的設(shè)計(jì)以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設(shè)置啟動(dòng)/清除標(biāo)志寄存器、里程寄存器和價(jià)格寄存器,并對(duì)它們進(jìn)行初始化。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動(dòng)、清除、計(jì)程和計(jì)價(jià)等不同的操作。

          本文引用地址:http://www.ex-cimer.com/article/172991.htm


          當(dāng)按下S1時(shí),就啟動(dòng)計(jì)價(jià),將根據(jù)里程寄存器中的內(nèi)容計(jì)算和判斷出行駛里程是否已超過起價(jià)公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價(jià)數(shù)和起價(jià)數(shù)來計(jì)算出當(dāng)前的累計(jì)價(jià)格,并將結(jié)果存于價(jià)格寄存器中,然后將時(shí)間和當(dāng)前累計(jì)價(jià)格送顯示電路顯示出來。
          當(dāng)?shù)竭_(dá)目的地的時(shí)候,由于霍爾開關(guān)沒有送來脈沖信號(hào),就停止計(jì)價(jià),顯示當(dāng)前所應(yīng)該付的金額和對(duì)應(yīng)的單價(jià)。到下次啟動(dòng)計(jì)價(jià)器時(shí),系統(tǒng)自動(dòng)對(duì)顯示清零,并重新進(jìn)行初始化過程。
          2.2 定時(shí)中斷服務(wù)程序
          在定時(shí)中斷服務(wù)程序中,每100 ms產(chǎn)生一次中斷,當(dāng)產(chǎn)生10次中斷的時(shí)候,也就到了1 s,送數(shù)據(jù)到相應(yīng)的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r(shí)顯示。
          2.3 里程計(jì)數(shù)中斷服務(wù)程序
          每當(dāng)霍爾傳感器輸出一個(gè)低電平信號(hào)就使中斷一次,當(dāng)里程計(jì)數(shù)器對(duì)里程脈沖計(jì)滿1 000次時(shí),就有程序?qū)?dāng)前總額累加,使微機(jī)進(jìn)入里程計(jì)數(shù)中斷服務(wù)程序中。在該程序中,需要完成當(dāng)前行駛里程數(shù)和總額的累加操作,并將結(jié)果存入里程和總額寄存器中。
          2.4 中途等待中斷服務(wù)程序
          當(dāng)在計(jì)數(shù)狀態(tài)下霍爾開關(guān)沒有輸出信號(hào),片內(nèi)的T1定時(shí)器便被啟動(dòng),每當(dāng)計(jì)時(shí)到達(dá)10 min,就對(duì)當(dāng)前金額加上中途等待的單價(jià),以后每10 min都自動(dòng)加上中途等待的單價(jià)。當(dāng)中途等待結(jié)束時(shí),就自動(dòng)切換到正常的計(jì)價(jià)。
          2.5 啟動(dòng)/清除計(jì)程中斷服務(wù)程序
          當(dāng)系統(tǒng)有啟動(dòng)/清除中斷請(qǐng)求產(chǎn)生時(shí),可以設(shè)定第一次中斷為啟動(dòng)中斷,第二次中斷為清除中斷,并在中斷服務(wù)程序中將標(biāo)志寄存器的內(nèi)容相應(yīng)置“1”或清“0”。其中,標(biāo)志為“1”時(shí)表示本次中斷是啟動(dòng)中斷;為“0”時(shí)表示是清除中斷。
          2.6 顯示子程序服務(wù)程序
          由于是分屏顯示數(shù)據(jù),所以就要用到4個(gè)顯示子程序,分別是:時(shí)分秒顯示子程序(HMS_DIS),金額單價(jià)顯示子程序(CP_DIS),路程單價(jià)顯示子程序(DP_DIS)和單價(jià)調(diào)節(jié)子程序(PA_DIS)。
          2.7 鍵盤服務(wù)程序
          鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時(shí)候,循環(huán)主程序,一旦右鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。

          3 結(jié)語
          由于本出租車計(jì)價(jià)器采用作為核心控制元件,采用靈敏的霍爾傳感器器件作為檢測(cè),因此使其具有功能強(qiáng),性能可靠,電路簡(jiǎn)單,成本低的特點(diǎn),加上經(jīng)過優(yōu)化的程序,使其有很高的智能化水平,解決了以往出租車計(jì)價(jià)器計(jì)價(jià)不準(zhǔn)確,使用壽命短等缺點(diǎn)。

          霍爾傳感器相關(guān)文章:霍爾傳感器工作原理


          霍爾傳感器相關(guān)文章:霍爾傳感器原理

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 單片機(jī)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();