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