单片机软件三重监视抗干扰技术

[09-12 18:15:12]   来源:http://www.88dzw.com  单片机学习   阅读:8463

文章摘要: LJMP loop1 loop:LJMP0000H2T1中断服务程序监视过程设计T1中断服务程序在完成特定测控功能的同时,还要监视主程序的运行状态。在中断服务程序中设置一个主程序运行计时器M1,T1每中断一次,M便自行加1。M中的数值与T1定时溢出时间之积表示时间值。若由M表示的时间值大于主程序的运行时间,说明主程序因干扰而陷入了“死循环”,T1中断服务程序便修改断点地址,返回0000H,进行出错处理。若M不大于主程序运行时间,说明主程序运行正常,中断服务程序也正常返回。M单元在系统主程序运行中循环清“0”。 设单片机晶振频率为6MHz,T1以工作方式1产生2ms的定时中断,

单片机软件三重监视抗干扰技术,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

         LJMP   loop1

  loop:LJMP 0000H

2 T1中断服务程序监视过程设计  
  T1中断服务程序在完成特定测控功能的同时,还要监视主程序的运行状态。在中断服务程序中设置一个主程序运行计时器M1,T1每中断一次,M便自行加1。M中的数值与T1定时溢出时间之积表示时间值。若由M表示的时间值大于主程序的运行时间,说明主程序因干扰而陷入了“死循环”,T1中断服务程序便修改断点地址,返回0000H,进行出错处理。若M不大于主程序运行时间,说明主程序运行正常,中断服务程序也正常返回。M单元在系统主程序运行中循环清“0”。

  设单片机晶振频率为6MHz,T1以工作方式1产生2ms的定时中断,则T1的计数初值为:

(216-N)×2×106=2×103

  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    ;返回

3 T0中断服务程序监视过程设计  
  T0中断的功能是监视T1

上一页  [1] [2] [3] [4]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行