復(fù)位電路是一種用來使電路恢復(fù)到起始狀態(tài)的電路設(shè)備,它的操作原理與計算器有著異曲同工之妙,只是啟動原理和手段有所不同。復(fù)位電路,就是利用它把電路恢復(fù)到起始狀態(tài)。就像計算器的清零按鈕的作用一樣,以便回到原始狀態(tài),重新進行計算。
在上電或復(fù)位過程中,控制CPU的復(fù)位狀態(tài):這段時間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯誤的指令、執(zhí)行錯誤操作,也可以提高電磁兼容性能。無論用戶使用哪種類型的單片機,總要涉及到單片機復(fù)位電路的設(shè)計。而單片機復(fù)位電路設(shè)計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設(shè)計完單片機系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機”、“程序走飛”等現(xiàn)象,這主要是單片機的復(fù)位電路設(shè)計不可靠引起的。
復(fù)位電路的作用就是使微控制器在獲得供電的瞬間,由初始狀態(tài)開始工作。若微控制器內(nèi)的隨機存儲器、計數(shù)器等電路獲得供電后不經(jīng)復(fù)位便開始工作,可能某種干擾會導(dǎo)致微控制器因程序錯亂而不能正常工作,為此,微控制器電路需要設(shè)置復(fù)位電路。復(fù)位電路由專門的集成電路或分立元件組成,有些微控制器采用高電平復(fù)位(即通電瞬間給微控制器的復(fù)位端加入一高電平信號,正常工作時再轉(zhuǎn)為低電平),也有些微控制器采用低電平復(fù)位(即通電瞬間給微控制器的復(fù)位端加入一低電平信號,正常工作時再轉(zhuǎn)為高電平),這是由微控制器的結(jié)構(gòu)決定的。
復(fù)位電路的目的就是在上電的瞬間提供一個與正常工作狀態(tài)下相反的電平。一般利用電容電壓不能突變的原理,將電容與電阻串聯(lián),上電時刻,電容沒有充電,兩端電壓為零,此時,提供復(fù)位脈沖,電源不斷的給電容充電,直至電容兩端電壓為電源電壓,電路進入正常工作狀態(tài)。和計算器清零按鈕有所不同的是,復(fù)位電路啟動的手段有所不同。一是在給電路通電時馬上進行復(fù)位操作;二是在必要時可以由手動操作;三是根據(jù)程序或者電路運行的需要自動地進行。復(fù)位電路都是比較簡單的大都是只有電阻和電容組合就可以辦到了,再復(fù)雜點就有三極管等配合程序來進行了。
復(fù)位電路的三種方式1、手動按鈕復(fù)位手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源Vcc之間接一個按鈕。當(dāng)人為按下按鈕時,則Vcc的+5V電平就會直接加到RST端。手動按鈕復(fù)位的電路如所示。由于人的動作再快也會使按鈕保持接通達數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時間要求。2、上電復(fù)位AT89C51的上電復(fù)位電路所示,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個電阻到地即可。對于CMOS型單片機,由于在RST端內(nèi)部有一個下拉電阻,故可將外部電阻去掉,而將外接電容減至1uF。上電復(fù)位的工作過程是在加電時,復(fù)位電路通過電容加給RST端一個短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時間取決于電容的充電時間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號必須維持足夠長的時間。上電時,Vcc的上升時間約為10ms,而振蕩器的起振時間取決于振蕩頻率,如晶振頻率為10MHz,起振時間為1ms;晶振頻率為1MHz,起振時間則為10ms。在復(fù)位電路中,當(dāng)Vcc掉電時,必然會使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個負電壓將不會對器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時得不到有效的復(fù)位,則程序計數(shù)器PC將得不到一個合適的初值,因此,CPU可能會從一個未被定義的位置開始執(zhí)行程序。3、積分型上電復(fù)位常用的上電或開關(guān)復(fù)位電路。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時間的高電平。當(dāng)單片機已在運行當(dāng)中時,按下復(fù)位鍵K后松開,也能使RST為一段時間的高電平,從而實現(xiàn)上電或開關(guān)復(fù)位的操作。