新聞中心

防止單片機(jī)軟件干擾

——
作者: 時(shí)間:2007-11-29 來(lái)源:網(wǎng)絡(luò) 收藏

防止最有效的方法是去除源、隔斷路徑,但往往很難做到,所以只能看抗干擾能力夠不夠強(qiáng)了。干擾最常見(jiàn)的現(xiàn)象就是復(fù)位;至于程序跑飛,其實(shí)也可以用陷阱和看門(mén)狗將程序拉回到復(fù)位狀態(tài);所以抗干擾最重要的是處理好復(fù)位狀態(tài)。 

 
一般單片機(jī)都會(huì)有一些標(biāo)志寄存器,可以用來(lái)判斷復(fù)位原因;另外也可以自己在RAM中埋一些標(biāo)志。在每次程序復(fù)位時(shí),通過(guò)判斷這些標(biāo)志,可以判斷出不同的復(fù)位原因;還可以根據(jù)不同的標(biāo)志直接跳到相應(yīng)的程序。這樣可以使程序運(yùn)行有連續(xù)性,用戶(hù)在使用時(shí)也不會(huì)察覺(jué)到程序被重新復(fù)位過(guò)。 

可以在定時(shí)中斷里面設(shè)置一些暫存器累加,然后加到預(yù)先設(shè)定的值(一個(gè)比較長(zhǎng)的時(shí)間),SET標(biāo)志位,這些動(dòng)作都在中斷程序里面。而主程序只需要查詢(xún)標(biāo)志位就好了,但是注意標(biāo)志位使用后,記得清除,還有中斷里面的時(shí)基累加器使用以后也要記得清除。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉