点击次数:1125 更新时间:2018-05-28
ZW20-12F看门狗定时器用于在供电后使用从出错中恢复正常工作。如果不想重启处理器,那么ZW20-12F看门狗定时器禁用;如果想使用看门狗定时器提供的正常的定时功能,需使用中断和看门狗定时器功能。ZW20-12F看门狗数据寄存器WTDAT用于设置时限值,在初始化ZW20-12F看门狗后,WTDAT不能自动装入定时器计数器。初始化使用0x8000,*个时限发生后,WTDAT值将自动装入WTCNT。
ZW20-12F看门狗系统软件的设计思路:
1.ZW20-12F看门狗定时器T0的设置。在初始化程序块中设置T0的工作方式,并开启中断和计数功能。系统Fosc=12 MHz,T0为16位计数器,zui大计数值为(2的16次方)-1=65 535,T0输进计数频率是.Fosc/12,溢出周期为(65 535+1)/1=65 536(μs)。
2.计算主控程序循环一次的耗时。考虑系统各功能模块及其循环次数,本系统主控制程序的运行时间约为16.6 ms。系统设置ZW20-12F看门狗定时器T0定时30 ms(T0的初值为65 536-30 000=35 536)。主控程序的每次循环都将刷新T0的初值。如程序进进"死循环"而T0的初值在30 ms内未被刷新,这时ZW20-12F看门狗定时器T0将溢出并申请中断。
3.设计T0溢出所对应的中断服务程序。此子程序只须一条指令,即在T0对应的中断向量地址(000BH)写进"无条件转移"命令,把计算机拖回整个程序的*行,对单片机重新进行初始化并获得正确的执行顺序