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