[讨论] 软件看门狗写法?(汇编)

dbl100   2008-5-3 09:08 楼主
以下是一个用定时/计数器T0作软件看门狗的完整程序:
 ORG0000H  
 AJMPMAIN  
 ORG000BH  
 LJMPERR  
MAIN:MOVSP,#60H 
 MOVPSW,#00H 
 MOVSCON,#00H 
 MOVTMOD,#01H;设置T0为16位定时器
 SETBET0 ;允许T0中断
 SETBPT0 ;设置T0中断为高级中断
 MOVTL0,#00H;设定T0的定时初值,定时时间约为16ms(6M晶振)
 MOVTH0,#0B0H 
 SETBEA ;开中断
 SETBTR0 ;启动T0
LOOP:......  ;主程序开始
 LCALLWATCH DOG ;调用喂狗子程序
 ......   
 LJMPLOOP  
WATCH DOG:MOVTL0,#00H;喂狗子程序
 MOVTH0,#0B0H 
 SETBTR0  
 RET   
ERR:POPACC 
 POPACC 
 CLRA  
                             PUSHACC  
 PUSHACC  
 RETI

   

在“EER:“后面的语句我不明白,为什么先要空弹(pop acc)而且是两次,然后再两次push acc。  EER程序如何将0000H送入PC,从而实现软件复位

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复