利用定時中斷抗干擾
單片機(jī)應(yīng)用系統(tǒng)開發(fā)完成后,在工作現(xiàn)場,由于系統(tǒng)本身的噪聲干擾、電磁干擾、過壓干擾以及環(huán)境干擾等原因,往往會出現(xiàn)“死機(jī)”現(xiàn)象。解決的辦法有多種,這里介紹利用定時中斷防止“死機(jī)”的方法。
設(shè)計思想是先估算系統(tǒng)主程序執(zhí)行一次循環(huán)所需的時間t,然后把定時器To或T1的
定時時間取得比t稍大,并在主程序中包含對定時器的初始化程序,這樣,如果系統(tǒng)主程序運行正常,因定時時間比t大,故在定時時間還未到時,主程序已完成一次循環(huán),To或Tl被重新初始化,使定時時間常數(shù)重新置入其中,故不會產(chǎn)生溢出中斷。若應(yīng)用系統(tǒng)由于干擾失控,主程序不能正常循環(huán)運行,To或T1不能被及時初始化,則經(jīng)過時間t后,T0或T1必將產(chǎn)生溢出中斷,轉(zhuǎn)入中斷服務(wù)程序,這表示程序運行出現(xiàn)故障,用戶可安排中斷服務(wù)程序跳轉(zhuǎn)回主程序需要的地址,以此重新使主程序運行。
將T1設(shè)置為工作方式2,晶體振蕩頻率為6MHz,防止“死機(jī)”的程序如下:
評論