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