當前位置:編程學習大全網 - 編程語言 - 論程序運行的幹擾

論程序運行的幹擾

看門狗在單片機組成的微機系統中,單片機的工作經常受到外界電磁場的幹擾,導致程序失控,陷入死循環,程序的正常運行被中斷。單片機控制的系統無法繼續工作,會導致整個系統停滯不前,後果不堪設想。因此,出於實時監控單片機運行狀態的考慮,產生了壹種專門用於監控單片機程序運行狀態的芯片,俗稱“看門狗”(watchdog)。

看門狗電路的應用使單片機能夠在無人值守狀態下連續工作。其工作原理是看門狗芯片與單片機的壹個I/O引腳相連,I/O引腳受程序控制定時向看門狗的這個引腳發送高電平(或低電平)。這個程序語句分散在單片機的其他控制語句中。壹旦單片機因幹擾而陷入程序段,進入無限循環狀態,寫看門狗引腳的程序就無法執行。此時看門狗電路會在其與單片機復位引腳相連的引腳上發出復位信號,使單片機復位,即從程序存儲器的初始位置開始執行程序,從而實現單片機的自動復位。

看門狗,也叫看門狗定時器,是壹種定時器電路。通常,它有壹個輸入,稱為踢狗或服務狗,壹個輸出到MCU的RST端。MCU正常工作時,每隔壹段時間向餵狗終端輸出壹個信號,復位WDT。如果在規定時間內沒有餵狗,(壹般是程序跑偏),當WDT計時超過時,會給MCU壹個復位信號,這是MCU復位,防止MCU死機。看門狗的作用是防止程序無限循環,或者程序跑偏。

工作原理:系統運行後,看門狗計數器啟動,看門狗開始自動計數。如果壹段時間後看門狗未被清零,看門狗計數器將溢出,導致看門狗中斷,系統復位。所以在使用帶看門狗的芯片時要註意看門狗。

硬件看門狗是用壹個定時器來監控主程序的運行,也就是說,在主程序運行過程中,我們要在預定時間到期之前重置定時器。如果出現無限循環,或者PC指針無法返回。然後,當時間到時,微控制器將被復位。常用的WDT芯片如MAX813、5045、IMP 813等。,價格從4到10元不等。

軟件看門狗技術的原理與此類似,但都是通過軟件實現的。我們以51系列為例。我們知道51單片機中有兩個定時器,我們可以用這兩個定時器來監控主程序的運行。我們可以為T0設置壹定的定時時間,在定時中斷發生時給壹個變量賦值,這個變量在主程序運行開始時有壹個初始值。這裏我們要設置的計時值小於主程序的運行時間,這樣在主程序結束時判斷變量的值。如果值按預期變化,則表示T0中斷正常,如果沒有變化,則程序復位。對於T1,我們用來監控主程序的運行。我們為T1設置了壹定的定時時間,並在主程序中將其復位。如果在壹定時間內無法復位,T1的定時中斷會使單片機復位。這裏T1的定時時間要設置得比主程序運行時間長,給主程序留有壹定的余量。T1的中斷是否正常將由T0定時器中斷子程序監控。這樣,就足以形成壹個循環。T0監控T1,T1監控主程序,主程序監控T0,保證系統穩定運行。

51系列有專門的看門狗定時器,按頻率統計系統頻率。當定時器溢出時,將導致復位。看門狗可以設置溢出速率,也可以單獨用作定時器。

淩陽61的看門狗比較簡單,壹個是時間單壹,另壹個是只需要在循環中加入清狗指令,功能就可以實際使用。

C8051Fxxx MCU還有壹個使用系統時鐘的21位定時器,用於檢測對其控制寄存器的兩次特定寫操作的時間間隔。如果該時間間隔超過編程限制,將產生WDT復位。

-

看門狗使用註意:大部分51系列單片機都有看門狗,不定期清除會導致復位。這可以防止程序失控。設計人員必須知道看門狗的溢出時間,以決定何時清除看門狗。清理看門狗不能太頻繁,否則會浪費資源。程序正常運行時,軟件每隔壹段時間(小於定時器的溢出周期)設置壹次定時器,可以防止溢出中斷造成的誤復位。

Watchdog應用:Watchdog是恢復系統正常運行的有效監控管理器(具有鎖定光驅和任意指定程序的功能,可以在家庭中使用,防止孩子無節制地玩遊戲、上網、看視頻),具有很好的應用價值。

系統軟件“看門狗”的設計思想;

1.看門狗定時器T0的設置。在初始化塊中設置T0的工作模式,開啟中斷和計數功能。系統Fosc=12 MHz,T0為16位計數器,最大計數值為(2的16次方)-1=65 535,T0的輸入計數頻率為。fosc/12,溢出周期為(65535+65435)。

2.計算主控程序壹個周期的時間消耗。考慮到系統各功能模塊及其循環次數,本系統主控程序的運行時間約為16.6 ms。系統將看門狗定時器T0設置為時間30 ms(T0的初始值為65 536-30 000=35 536)。主程序的每個周期都會刷新T0的初始值。如果程序進入“無限循環”,並且T0的初始值在30 ms內沒有刷新,看門狗定時器T0將溢出並申請中斷。

看門狗在單片機組成的微機系統中,單片機的工作經常受到外界電磁場的幹擾,導致程序失控,陷入死循環,程序的正常運行被中斷。單片機控制的系統無法繼續工作,會導致整個系統停滯不前,後果不堪設想。因此,出於實時監控單片機運行狀態的考慮,產生了壹種專門用於監控單片機程序運行狀態的芯片,俗稱“看門狗”(watchdog)。

看門狗電路的應用使單片機能夠在無人值守狀態下連續工作。其工作原理是看門狗芯片與單片機的壹個I/O引腳相連,I/O引腳受程序控制定時向看門狗的這個引腳發送高電平(或低電平)。這個程序語句分散在單片機的其他控制語句中。壹旦單片機因幹擾而陷入程序段,進入無限循環狀態,寫看門狗引腳的程序就無法執行。此時看門狗電路會在其與單片機復位引腳相連的引腳上發出復位信號,使單片機復位,即從程序存儲器的初始位置開始執行程序,從而實現單片機的自動復位。

看門狗,也叫看門狗定時器,是壹種定時器電路。通常,它有壹個輸入,稱為踢狗或服務狗,壹個輸出到MCU的RST端。MCU正常工作時,每隔壹段時間向餵狗終端輸出壹個信號,復位WDT。如果在規定時間內沒有餵狗,(壹般是程序跑偏),當WDT計時超過時,會給MCU壹個復位信號,這是MCU復位,防止MCU死機。看門狗的作用是防止程序無限循環,或者程序跑偏。

工作原理:系統運行後,看門狗計數器啟動,看門狗開始自動計數。如果壹段時間後看門狗未被清零,看門狗計數器將溢出,導致看門狗中斷,系統復位。所以在使用帶看門狗的芯片時要註意看門狗。

硬件看門狗是用壹個定時器來監控主程序的運行,也就是說,在主程序運行過程中,我們要在預定時間到期之前重置定時器。如果出現無限循環,或者PC指針無法返回。然後,當時間到時,微控制器將被復位。常用的WDT芯片如MAX813、5045、IMP 813等。,價格從4到10元不等。

軟件看門狗技術的原理與此類似,但都是通過軟件實現的。我們以51系列為例。我們知道51單片機中有兩個定時器,我們可以用這兩個定時器來監控主程序的運行。我們可以為T0設置壹定的定時時間,在定時中斷發生時給壹個變量賦值,這個變量在主程序運行開始時有壹個初始值。這裏我們要設置的計時值小於主程序的運行時間,這樣在主程序結束時判斷變量的值。如果值按預期變化,則表示T0中斷正常,如果沒有變化,則程序復位。對於T1,我們用來監控主程序的運行。我們為T1設置了壹定的定時時間,並在主程序中將其復位。如果在壹定時間內無法復位,T1的定時中斷會使單片機復位。這裏T1的定時時間要設置得比主程序運行時間長,給主程序留有壹定的余量。T1的中斷是否正常將由T0定時器中斷子程序監控。這樣,就足以形成壹個循環。T0監控T1,T1監控主程序,主程序監控T0,保證系統穩定運行。

51系列有專門的看門狗定時器,按頻率統計系統頻率。當定時器溢出時,將導致復位。看門狗可以設置溢出速率,也可以單獨用作定時器。

淩陽61的看門狗比較簡單,壹個是時間單壹,另壹個是只需要在循環中加入清狗指令,功能就可以實際使用。

C8051Fxxx MCU還有壹個使用系統時鐘的21位定時器,用於檢測對其控制寄存器的兩次特定寫操作的時間間隔。如果該時間間隔超過編程限制,將產生WDT復位。

-

看門狗使用註意:大部分51系列單片機都有看門狗,不定期清除會導致復位。這可以防止程序失控。設計人員必須知道看門狗的溢出時間,以決定何時清除看門狗。清理看門狗不能太頻繁,否則會浪費資源。程序正常運行時,軟件每隔壹段時間(小於定時器的溢出周期)設置壹次定時器,可以防止溢出中斷造成的誤復位。

Watchdog應用:Watchdog是恢復系統正常運行的有效監控管理器(可以鎖定光驅和任意指定程序,可以在家庭中使用,防止孩子無節制地玩遊戲、上網、看視頻),具有很好的應用價值。

系統軟件“看門狗”的設計思想;

1.看門狗定時器T0的設置。在初始化塊中設置T0的工作模式,開啟中斷和計數功能。系統Fosc=12 MHz,T0為16位計數器,最大計數值為(2的16次方)-1=65 535,T0的輸入計數頻率為。fosc/12,溢出周期為(65535+65435)。

2.計算主控程序壹個周期的時間消耗。考慮到系統各功能模塊及其循環次數,本系統主控程序的運行時間約為16.6 ms。系統將看門狗定時器T0設置為時間30 ms(T0的初始值為65 536-30 000=35 536)。主程序的每個周期都會刷新T0的初始值。如果程序進入“無限循環”,並且在30 ms內未超過T0的初始值,看門狗定時器T0將溢出並申請中斷。

3.設計T0溢出對應的中斷服務程序。這個子程序只需要壹條指令,就是在T0對應的中斷向量地址(000BH)寫壹條“無條件轉移”命令,把計算機拖回整個程序的第壹行,重新初始化單片機,獲得正確的執行順序。

參考資料:

/view/280158.html?wtp=tt

參考資料:

/view/280158.html?wtp=tt

  • 上一篇:fpga開發的語言是什麽
  • 下一篇:MATLAB算是編程語言嗎?
  • copyright 2024編程學習大全網