中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

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

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

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

        本文引用地址:http://www.antipu.com.cn/article/259120.htm

        4.2.2軟件設(shè)計

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

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

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

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

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

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

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

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

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

        (2)部分程序代碼

        unsigned int signal=0; //計時標志

        unsigned int count=0; //計外部脈沖數(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; //計算速度

        }

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

        void IRQ5(void)

        {

        if(*P_INT_Ctrl0x0004)

        {

        signal++;

        if(signal==1)

        {

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

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

        *P_IOB_Attrib=0x00;

        *P_IOB_Data=0x08;

        }

        else if(signal==3)

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

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

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

        *P_INT_Clear=C_IRQ5_2Hz; //清中斷標志位

        }

        else

        {

        *P_INT_Clear=0x0008; //清中斷標志位

        }

        }

        void IRQ3(void)

        {

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

        {

        *P_INT_Clear=C_IRQ3_EXT1; //清中斷標志位

        }

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

        {

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

        *P_INT_Clear=C_IRQ3_EXT2; //清中斷標志位

        }

        }

        圖4.9 GPRS程序流程圖

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


        評論


        相關(guān)推薦

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

        關(guān)閉