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

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

文章摘要:中断服务程序的运行状态。由于T0中断服务程序较短,因干扰而引起的“死循环”的几率很小,重点考虑中断关闭故障。A1、B1为T1中断运行状态观测单元。A1的初值为00H,T1每中断一次,A1便加1,T0中断服务程序中若检测到A1>0,说明T1中断正常;若A1=0,则B1单元加1(B1的初值为00H),若B1的累加值大于Q,说明T1中断失效,失效时间为T0定时溢出时间与Q值之积。例如:T0的定时溢出时间为4ms,T1的定时溢出时间为2 ms,当Q=5时,说明允许T1的失效时间为20 ms,在这样长的时间内,T1并没有发生中断,说明T1中断发生了故障。由于T0中断级别高于T1中断级别,所以T1的任何故

单片机软件三重监视抗干扰技术,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com
中断服务程序的运行状态。由于T0中断服务程序较短,因干扰而引起的“死循环”的几率很小,重点考虑中断关闭故障。A1、B1为T1中断运行状态观测单元。A1的初值为00H,T1每中断一次,A1便加1,T0中断服务程序中若检测到A1>0,说明T1中断正常;若A1=0,则B1单元加1(B1的初值为00H),若B1的累加值大于Q,说明T1中断失效,失效时间为T0定时溢出时间与Q值之积。例如:T0的定时溢出时间为4ms,T1的定时溢出时间为2 ms,当Q=5时,说明允许T1的失效时间为20 ms,在这样长的时间内,T1并没有发生中断,说明T1中断发生了故障。由于T0中断级别高于T1中断级别,所以T1的任何故障(如死循环、中断关闭)都会由T0检测出来。T0中断服务程序一般很短,发生“死循环”的几率很小。

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

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

  N=63536D=F830H

  设计数单元A0、A1、B1分别为内RAM 30H、31H、32H,Q=5,60H、61H为暂存单元,则T0中断监视程序如下: 

    PUSH   PSW     ;保护现场

    PUSH      ACC

    MOV       TH0,#0F8H  ;设T0初值

    MOV       TL0,#30H

    INC       30H          ;A0加1

    MOV       A,31H       ;A1单元判0

    JZ        loop1

    CLR        A       ;清A1、B1单元

    MOV       31H,A

    MOV       32H,A

    loop0:POP   ACC         ;恢复现场

           POP   PSW

         RETI             ;返回

    loop1:INC   32H         ;B1加1

           CLR    C

           MOV     A         ,32H;B1≥Q?

           SUBB    A,#05H     

           JC      loop0

           POP    ACC    ;恢复现场

           POP     PSW

           POP     60H        ;原断点弹出

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


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