單片機(jī)復(fù)位電路的作用是:使單片機(jī)的狀態(tài)處于初始化狀態(tài),讓單片機(jī)的程序從頭開(kāi)始執(zhí)行,運(yùn)行時(shí)鐘處于穩(wěn)定狀態(tài)、各種寄存器、端口處于初始化狀態(tài)等等。目的是讓單片機(jī)能夠穩(wěn)定、正確的從頭開(kāi)始執(zhí)行程序。
單片機(jī)有兩種復(fù)位方式:一是高電平復(fù)位,二是低電平復(fù)位。基本上所有單片機(jī)都有一個(gè)復(fù)位端口(隨著單片機(jī)技術(shù)的發(fā)展,現(xiàn)在有些單片機(jī)內(nèi)部集成了復(fù)位電路,這樣它的復(fù)位端口有可能和I/O端口等復(fù)用)。簡(jiǎn)單講就是給單片機(jī)的復(fù)位端口施加一定時(shí)間的高電平(或者低電平),單片機(jī)就能完成初始化過(guò)程,從頭開(kāi)始執(zhí)行程序。這個(gè)時(shí)間就稱(chēng)為復(fù)位時(shí)間,一般單片機(jī)的復(fù)位時(shí)間都很短,不過(guò)每種單片機(jī)的復(fù)位時(shí)間都不等,這個(gè)就需要查閱相應(yīng)單片機(jī)的數(shù)據(jù)手冊(cè)來(lái)獲得該種單片機(jī)的復(fù)位時(shí)間。需要注意的是,單片機(jī)復(fù)位后,一定要給單片機(jī)的復(fù)位端口施加單片機(jī)正常工作時(shí)的電平,例如對(duì)于低電平的復(fù)位電路,復(fù)位后,復(fù)位端口應(yīng)當(dāng)處于高電平狀態(tài)。
小訣竅:對(duì)于單片機(jī)是高電平還是低電平復(fù)位,我們可以通過(guò)觀察單片機(jī)的引腳圖進(jìn)行一個(gè)直觀的判斷,當(dāng)單片機(jī)引腳圖中復(fù)位端口的名稱(chēng)上面有一個(gè)“-”時(shí),該單片機(jī)就是低電平復(fù)位,沒(méi)有“-”時(shí),該單片機(jī)就是高電平復(fù)位,例如單片機(jī)端口名稱(chēng)是RST,那它是高電平復(fù)位,是/RST(/是上劃線)時(shí),它是低電平復(fù)位
剛才我們已經(jīng)說(shuō)過(guò),現(xiàn)在已經(jīng)有很多單片機(jī)內(nèi)部集成了復(fù)位電路。那么我們?cè)谶M(jìn)行這種單片機(jī)電路設(shè)計(jì)的時(shí)候,就不用再單獨(dú)設(shè)計(jì)復(fù)位電路了。
下面來(lái)介紹幾種常用復(fù)位電路。
1、上電復(fù)位電路
單片機(jī)的復(fù)位有高電平復(fù)位和低電平復(fù)位的區(qū)別,那就自然有高電平復(fù)位電路和低電平復(fù)位電路兩種。
圖1 上電復(fù)位電路
圖1左邊的電路是高電平復(fù)位電路。
這個(gè)電路是利用電容的充電來(lái)實(shí)現(xiàn)復(fù)位的,當(dāng)電源接通的瞬間,單片機(jī)復(fù)位端的電位與VCC相同,隨著充電電流的減少,復(fù)位端的電位逐漸下降。直至電容充滿電,復(fù)位端的電壓變?yōu)榈碗娖健?/p>
電路中R和C的值可以根據(jù)下面的式子計(jì)算,其中T是復(fù)位時(shí)間。
T=(1/9)*R1*C1
圖1右邊的電路是低電平復(fù)位電路
該電路的復(fù)位原理跟高電平復(fù)位電路的原理相反,這里就不多說(shuō)了。
同樣的,低電平復(fù)位電路中R和C的值可以根據(jù)下面的式子計(jì)算得出,其中T是復(fù)位時(shí)間。
T=9*RC
2、按鍵復(fù)位電路
前面介紹的上電復(fù)位電路只能在單片機(jī)電路上電后,自動(dòng)完成高電平復(fù)位或低電平復(fù)位,但是如果在單片機(jī)運(yùn)行過(guò)程中,強(qiáng)制讓單片機(jī)復(fù)位該怎么做呢?最簡(jiǎn)單的方法是通過(guò)按鍵實(shí)現(xiàn):按下按鍵,單片機(jī)立馬停止當(dāng)前正在執(zhí)行的操作,進(jìn)入復(fù)位狀態(tài),然后從頭開(kāi)始運(yùn)行。
圖2左邊是高電平按鍵復(fù)位電路,右邊是低電平按鍵復(fù)位電路。
圖2 按鍵復(fù)位電路
對(duì)于高電平復(fù)位電路,當(dāng)按下復(fù)位按鍵時(shí),復(fù)位端被直接拉到高電平,使單片機(jī)復(fù)位。而對(duì)于低電平復(fù)位電路,按下復(fù)位鍵后,復(fù)位端被直接拉到地端,使單片機(jī)復(fù)位。
3、改進(jìn)后的按鍵復(fù)位電路
上面的按鍵復(fù)位電路有一個(gè)缺點(diǎn):當(dāng)電源因某種干擾瞬間斷電時(shí),由于C不能迅速將電荷放掉,待電源恢復(fù)時(shí),單片機(jī)不能上電自動(dòng)復(fù)位,導(dǎo)致程序運(yùn)行失控。電源瞬間斷電干擾會(huì)導(dǎo)致程序停止正常運(yùn)行,形成程序“亂飛”或進(jìn)入“死循環(huán)”。
所以有了下面這個(gè)增加了二極管的復(fù)位電路。如圖3所示。
圖3 改進(jìn)后的按鍵復(fù)位電路
如果有了這個(gè)二極管就可以快速將電容上的電壓釋放,保證復(fù)位信號(hào)正確無(wú)誤。也能快速為下次復(fù)位做好準(zhǔn)備。
4、專(zhuān)用復(fù)位芯片
隨著單片機(jī)系統(tǒng)越來(lái)越復(fù)雜,應(yīng)用環(huán)境越來(lái)越多樣化,單純的RC復(fù)位電路已經(jīng)不能確保單片機(jī)的正確復(fù)位,復(fù)位芯片也就應(yīng)運(yùn)而生。下圖是一種復(fù)位芯片的應(yīng)用電路。可以看出,復(fù)位芯片使用起來(lái)非常簡(jiǎn)單。
圖4 復(fù)位芯片應(yīng)用電路
圖5 復(fù)位芯片應(yīng)用電路