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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 大型貨車超載超速實(shí)時檢測系統(tǒng)

          大型貨車超載超速實(shí)時檢測系統(tǒng)

          作者: 時間:2014-04-18 來源:網(wǎng)絡(luò) 收藏

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

          4.2.2軟件設(shè)計(jì)

          軟件采用C語言程序,定時采用低頻定時器,用2Hz時基定時,定時周期為1s(定時時長0.5s),同時要用外部中斷2對OUT脈計(jì)數(shù)。使用一個標(biāo)志(signal)顯示計(jì)時長度(第幾個0.5s)。當(dāng)signal為1時,啟動外部中斷計(jì)數(shù);當(dāng)signal為3時,關(guān)閉外部中斷,同時關(guān)閉定時中斷,完成一次計(jì)數(shù)[30]

          (1)函數(shù)流程圖分析

          測速度模塊主要由三個子函數(shù)組成:測速主函,定時中斷子函數(shù),外部中斷子函數(shù)。

          數(shù)測速函數(shù)是測速模塊的主體,是主函數(shù)直接調(diào)用的子函數(shù),流程圖如圖4.3所示。

          圖4.6 測速函數(shù)流程圖

          定時子程序是用于給定準(zhǔn)確的時間,以便能夠計(jì)算出精準(zhǔn)的速度,定時使用2Hz低頻時基計(jì)時。定時中斷子函數(shù)流程圖如圖4.4所示。

          圖4.7 定時中斷子函數(shù)流程圖

          為了能夠及時的計(jì)下AH44E產(chǎn)生的每個負(fù)脈沖,必須采用外部中斷計(jì)數(shù)。外部中斷子函數(shù)流程圖如圖4.5所示。

          圖4.8 外部中斷子函數(shù)流程圖

          (2)部分程序代碼

          unsigned int signal=0; //計(jì)時標(biāo)志

          unsigned int count=0; //計(jì)外部脈沖數(shù)

          double speed(void)

          {

          unsigned int uiDelay=0xffff;

          __asm(INT OFF); //關(guān)閉中斷

          *P_INT_Ctrl=C_IRQ3_EXT2 | C_IRQ5_2Hz;

          //設(shè)置中斷 IRQ3_EXT1、IRQ5_2Hz

          __asm(INT IRQ); //開中斷

          while(uiDelay--)

          *P_Watchdog_Clear = C_WDTCLR; //延時等待

          uiDelay=0xffff;

          while(uiDelay--)

          *P_Watchdog_Clear = C_WDTCLR; //延時等待

          return (double)count/(signal-1)*2; //計(jì)算速度

          }

          //中斷服務(wù)子程序代碼如下:

          void IRQ5(void)

          {

          if(*P_INT_Ctrl0x0004)

          {

          signal++;

          if(signal==1)

          {

          count=0; //signal=1時計(jì)數(shù)開始

          *P_IOB_Dir=0x00; //設(shè)IOB3為上拉電阻輸入

          *P_IOB_Attrib=0x00;

          *P_IOB_Data=0x08;

          }

          else if(signal==3)

          //signal=3時計(jì)數(shù)結(jié)束

          (*P_INT_Ctrl)=~(C_IRQ3_EXT2 | C_IRQ5_2Hz);

          //關(guān)IRQ3_EXT1、IRQ5_2Hz中斷

          *P_INT_Clear=C_IRQ5_2Hz; //清中斷標(biāo)志位

          }

          else

          {

          *P_INT_Clear=0x0008; //清中斷標(biāo)志位

          }

          }

          void IRQ3(void)

          {

          if(*P_INT_CtrlC_IRQ3_EXT1) //外部中斷1

          {

          *P_INT_Clear=C_IRQ3_EXT1; //清中斷標(biāo)志位

          }

          else if(*P_INT_CtrlC_IRQ3_EXT2) //外部中斷2

          {

          count++; //計(jì)數(shù)加1

          *P_INT_Clear=C_IRQ3_EXT2; //清中斷標(biāo)志位

          }

          }

          圖4.9 GPRS程序流程圖

          稱重傳感器相關(guān)文章:稱重傳感器原理
          傾角傳感器相關(guān)文章:傾角傳感器原理


          評論


          相關(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); })();