點擊次數:1089 更新時間: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)寫進"無條件轉移"命令,把計算機拖回整個程序的*行,對單片機重新進行初始化并獲得正確的執行順序