編程教程 單片機(jī)如何利用中斷進(jìn)行復(fù)位?
單片機(jī)如何利用中斷進(jìn)行復(fù)位?首先,通過按鍵復(fù)位微控制器,這與中斷無關(guān)。每個單片機(jī)系統(tǒng)都可以設(shè)計(jì)一個復(fù)位電路。如果電路是手動的,則通過按鍵復(fù)位硬件,使電路達(dá)到所需的高電平或低電平。復(fù)位后,微控制器程序從
單片機(jī)如何利用中斷進(jìn)行復(fù)位?
首先,通過按鍵復(fù)位微控制器,這與中斷無關(guān)。每個單片機(jī)系統(tǒng)都可以設(shè)計(jì)一個復(fù)位電路。如果電路是手動的,則通過按鍵復(fù)位硬件,使電路達(dá)到所需的高電平或低電平。復(fù)位后,微控制器程序從0x00地址開始重新執(zhí)行程序。例如,我們常見的51單片機(jī)復(fù)位電路如下圖所示:
復(fù)位電路工作過程:
復(fù)位電路工作原理如右圖所示。當(dāng)VCC上電時,電容器C被充電,10K電阻上出現(xiàn)高壓,使MCU復(fù)位。幾毫秒后,C滿,10K電阻電流降為0,電壓也為0,使單片機(jī)進(jìn)入工作狀態(tài)。工作期間,按S22,C放電,10K電阻上出現(xiàn)電壓,使MCU復(fù)位。S22放開,C充電,幾毫秒后,微控制器進(jìn)入工作狀態(tài)。
主要問題應(yīng)該是這個復(fù)位電路的復(fù)位方法。
顧名思義,看門狗是指帶有看門狗電路的MCU在編程時可以初始化看門狗參數(shù),并在指定的時間或計(jì)數(shù)脈沖內(nèi)復(fù)位看門狗??撮T狗通常被稱為“喂狗”。程序正常運(yùn)行時,看門狗不會溢出。如果程序不能滿足給狗供電的條件,看門狗就會溢出并輸出相電壓電平,應(yīng)利用此電平使單片機(jī)復(fù)位。
上圖是一個帶有門的復(fù)位電路,它在MCU程序中的指定時間向復(fù)位電路輸出信號,電路保持正常。如果程序運(yùn)行,WDI將輸出信號到NRST以復(fù)位MCU。