新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機軟件三重監視抗干擾技術

        單片機軟件三重監視抗干擾技術

        作者: 時間:2012-11-07 來源:網絡 收藏

        2 T1中斷服務程序過程設計

        T1中斷服務程序在完成特定測控功能的同時,還要主程序的運行狀態。在中斷服務程序中設置一個主程序運行計時器M1,T1每中斷一次,M便自行加1。M中的數值與T1定時溢出時間之積表示時間值。若由M表示的時間值大于主程序的運行時間,說明主程序因干擾而陷入了“死循環”,T1中斷服務程序便修改斷點地址,返回0000H,進行出錯處理。若M不大于主程序運行時間,說明主程序運行正常,中斷服務程序也正常返回。M單元在系統主程序運行中循環清“0”。

        晶振頻率為6MHz,T1以工作方式1產生2ms的定時中斷,則T1的計數初值為:

        (216-N)×2×10-6=2×10-3

        N=64536D=FC18H

        主程序的最大循環時間為200ms,T取值應不小于64H,可取68H。A1為T1中斷程序運行狀態監測單元,取內RAM 31H單元,M仍取50H單元,60H、61H為暫存單元,則T1中斷程序如下:

        PUSH  PSW       ;保護現場

        PUSH ACC

        MOV TH1, #0FCH    ;T1置初值

        MOV TL1, #18H

        INC 31H     ;A1單元加1

        INC 50H ;M單元加1

        CLR C

        MOV A,#68H

        SUBB A,50H ;T≥M?

        JC loop

        …     ;中斷測控程序

        POP ACC ;恢復現場

        POP PSW

        RETI  ;返回

        loop:POP  ACC       ;恢復現場

        POP PSW

        POP 60H ;原斷點彈出

        POP 61H

        MOV 60H,#00H ;斷點修改為0000H

        MOV 61H,#00H

        PUSH 60H

        PUSH 61H

        RETI    ;返回



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阿图什市| 章丘市| 巴南区| 湖北省| 乐平市| 英吉沙县| 临夏市| 岳西县| 淮阳县| 离岛区| 家居| 江都市| 上犹县| 大悟县| 天台县| 新乡县| 遂川县| 盱眙县| 民和| 高邑县| 永德县| 郴州市| 东台市| 阜康市| 济阳县| 崇礼县| 双流县| 庄河市| 陆丰市| 微博| 宝鸡市| 鹰潭市| 习水县| 军事| 新宁县| 太白县| 新绛县| 盖州市| 营口市| 广丰县| 丹江口市|