一種新的單片機“看門(mén)狗”電路軟件設計方法
另外,為了消除可能的“喂狗”誤動(dòng)作,建議對所應用的用戶(hù)程序進(jìn)行徹底仔細的檢查,以防程序錯亂時(shí)生成多余的SETB P1.0(指令碼 D290H)或者CLR P1.0(指令碼 C290H)指令。利用通用編程軟件(如EDIT)的查找功能可搜索用戶(hù)程序在LST文件中的“90”字符串,就能方便地找到所有可能的非法“SETB P1.0或CLR P1.0”指令,然后用NOP指令將其分離開(kāi)來(lái)就可以了。如
ROM地址 指令碼 源程序
……
0306 C2 MOV A,#0C2H
0308 901000 MOV DPTR,#1000H
……
B4D290 CJNE A,#0D2H,STEP1
……
0401 B4D290 CJNE A,#0D2H,STEP1
0494 00 STEP1:NOP
……
可以修改為
……
0306 74C2 MOV A,#0C2H
0308 00 NOP
0309 901000 MOV DPTR,#1000H
……
0402 B4D291 CJNE A,#0D2H,STEP1
0405 00 NOP
……
0496 00 STEP1:NOP
……
其它情況下可以靈活處理,以使其消除以上兩種可以出錯的組合即可。
通過(guò)采取以上幾種措施,對于沒(méi)有二級中斷嵌套的用戶(hù)系統,能夠絕對安全地受到監控而不會(huì )“死機”;對于有二級中斷嵌套的用戶(hù)系統,也可大大提高其可靠性。當然,一個(gè)單片機系統能夠準確可靠地運行,除了不“死機”,還需保護數據免受干擾,這屬于軟件容錯、數據冗余、系統重入等范疇,這里不作介紹。
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
電路相關(guān)文章:電路分析基礎
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
評論