點擊次數(shù):1116 更新時間:2018-05-28
ZW20-12F看門狗定時器用于在供電后使用從出錯中恢復(fù)正常工作。如果不想重啟處理器,那么ZW20-12F看門狗定時器禁用;如果想使用看門狗定時器提供的正常的定時功能,需使用中斷和看門狗定時器功能。ZW20-12F看門狗數(shù)據(jù)寄存器WTDAT用于設(shè)置時限值,在初始化ZW20-12F看門狗后,WTDAT不能自動裝入定時器計數(shù)器。初始化使用0x8000,*個時限發(fā)生后,WTDAT值將自動裝入WTCNT。
ZW20-12F看門狗系統(tǒng)軟件的設(shè)計思路:
1.ZW20-12F看門狗定時器T0的設(shè)置。在初始化程序塊中設(shè)置T0的工作方式,并開啟中斷和計數(shù)功能。系統(tǒng)Fosc=12 MHz,T0為16位計數(shù)器,zui大計數(shù)值為(2的16次方)-1=65 535,T0輸進計數(shù)頻率是.Fosc/12,溢出周期為(65 535+1)/1=65 536(μs)。
2.計算主控程序循環(huán)一次的耗時??紤]系統(tǒng)各功能模塊及其循環(huán)次數(shù),本系統(tǒng)主控制程序的運行時間約為16.6 ms。系統(tǒng)設(shè)置ZW20-12F看門狗定時器T0定時30 ms(T0的初值為65 536-30 000=35 536)。主控程序的每次循環(huán)都將刷新T0的初值。如程序進進"死循環(huán)"而T0的初值在30 ms內(nèi)未被刷新,這時ZW20-12F看門狗定時器T0將溢出并申請中斷。
3.設(shè)計T0溢出所對應(yīng)的中斷服務(wù)程序。此子程序只須一條指令,即在T0對應(yīng)的中斷向量地址(000BH)寫進"無條件轉(zhuǎn)移"命令,把計算機拖回整個程序的*行,對單片機重新進行初始化并獲得正確的執(zhí)行順序