• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機定時器中斷時間誤差的解決方案

    單片機定時器中斷時間誤差的解決方案

    作者: 時間:2012-06-12 來源:網絡 收藏

    5 SUBB A, #LOW(1000+13) ;216的低8位減去( t0+ t1)的低8位送累加器A

    6 SUBB A, TLi ;216的低8位減去( t0+ t1+ t2)的低8位送TLi

    7 MOV TLi, A

    8 MOV R0, #OOH ;R0清零

    9 MOV R0, #HIGH(216) ;216 的高8位送R0

    10 MOV A, R0

    11 SUBB A, #HIGH(1000+13) ;216的高8位減去( t0+ t1)的高8位送A

    12 SUBB A, THi ;216的高8位減去( t0+ t1 +t2)的高8位送A

    13 MOV THi, A

    14 SETB TRi ;重新啟動

    ……

    在上式和上段程序中,由于fosc=12MHZ,間隔為1ms,因此t0的機器周期數為1000。由于第1條指令到第14條指令的指令周期的機器周期數之和為13,因此,t1為13個機器周期。CPU雖在執行第一條指令CLR TRi后停止計數,但在TLi、THi中分別保存了t2的低位數據和高位數據。

    4 結束語

    由于本文介紹的補償方法能對溢出與CPU響應的非固定性進行有效補償,因此,該方法對于提高高頻控制系統實時控制精度和擴大應用范圍都有較高的實用價值。

    塵埃粒子計數器相關文章:塵埃粒子計數器原理

    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 遵义县| 双桥区| 长宁县| 咸丰县| 庄浪县| 铁岭县| 龙口市| 邹平县| 子洲县| 疏附县| 广西| 南宫市| 乌鲁木齐市| 和平区| 鲜城| 渭源县| 平原县| 岳阳市| 兴和县| 淮安市| 阿拉善盟| 靖远县| 肃宁县| 巨野县| 芦山县| 新郑市| 石台县| 石楼县| 安平县| 荔浦县| 邵阳市| 平谷区| 韩城市| 莫力| 灌云县| 汝城县| 象州县| 建昌县| 读书| 太原市| 小金县|