51單片機(jī)復(fù)位電路中為什么要分手動(dòng)復(fù)位和上電復(fù)位你知道是為了什么嗎?上電復(fù)位和手動(dòng)復(fù)位有什么區(qū)別呢?本文將為你介紹關(guān)于在51單片機(jī)中上電復(fù)位和手動(dòng)復(fù)位的區(qū)別及解決方案。
復(fù)位電路
復(fù)位電路是一種用來使電路恢復(fù)到起始狀態(tài)的電路設(shè)備,它的操作原理與計(jì)算器有著異曲同工之妙,只是啟動(dòng)原理和手段有所不同。復(fù)位電路,就是利用它把電路恢復(fù)到起始狀態(tài)。就像計(jì)算器的清零按鈕的作用一樣,以便回到原始狀態(tài),重新進(jìn)行計(jì)算。
單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。
在復(fù)位電路中除了上電復(fù)位外,還有手動(dòng)復(fù)位。
電容在上接高電平,電阻在下接地,中間為RST。這種復(fù)位電路為高電平復(fù)位。
其工作原理是:通電時(shí),電容兩端相當(dāng)于是短路,于是RST引腳上為高電平,然后電源通過電阻對電容充電,RST端電壓慢慢下降,降到一定程度,即為低電平,單片機(jī)開始正常工作。
首先RST保持兩個(gè)機(jī)器周期以上的高電平時(shí)自動(dòng)復(fù)位
1、上電復(fù)位:上電瞬間,電容充電電流最大,電容相當(dāng)于短路,RST端為高電平,自動(dòng)復(fù)位;電容兩端的電壓達(dá)到電源電壓時(shí),電容充電電流為零,電容相當(dāng)于開路,RST端為低電平,程序正常運(yùn)行。
2、手動(dòng)復(fù)位:首先經(jīng)過上電復(fù)位,當(dāng)按下按鍵時(shí),RST直接與VCC相連,為高電平形成復(fù)位,同時(shí)電解電容被短路放電;按鍵松開時(shí),VCC對電容充電,充電電流在電阻上,RST依然為高電平,仍然是復(fù)位,充電完成后,電容相當(dāng)于開路,RST為低電平,正常工作。
51單片機(jī)手動(dòng)復(fù)位和手動(dòng)/上電復(fù)位的區(qū)別和解決方案
手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則Vcc的+5V電平就會(huì)直接加到RST端。手動(dòng)按鈕復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。
手動(dòng)復(fù)位圖
上電復(fù)位
AT89C51的上電復(fù)位電路如下圖所示,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個(gè)電阻到地即可。對于CMOS型單片機(jī),由于在RST端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至1uF。上電復(fù)位的工作過程是在加電時(shí),復(fù)位電路通過電 容加給RST端一個(gè)短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號必須維持足夠長的時(shí)間。上電時(shí),Vcc的上升時(shí)間約為10ms,而振蕩器的起振時(shí)間取決于振蕩頻率,如晶振頻率為10MHz,起振時(shí)間為1ms;晶振頻率為1MHz,起振時(shí)間則為10ms。在圖2的復(fù)位電路中,當(dāng)Vcc掉電時(shí),必然會(huì)使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個(gè)負(fù)電壓將不會(huì)對器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器PC將得不到一個(gè)合適的初值,因此,CPU可能會(huì)從一個(gè)未被定義的位置開始執(zhí)行程序。
上電復(fù)位圖
復(fù)位電路設(shè)計(jì)
單片機(jī)在可靠的復(fù)位之后,才會(huì)從0000H地址開始有序的執(zhí)行應(yīng)用程序。同時(shí),復(fù)位電路也是容易受到外部噪 聲干擾的敏感部分之一。因此,復(fù)位電路應(yīng)該具有兩個(gè)主要的功能:
1. 必須保證系統(tǒng)可靠的進(jìn)行復(fù)位;
2. 必須具有一定的抗干擾的能力;
復(fù)位電路的RC選擇
復(fù)位電路應(yīng)該具有上電復(fù)位和手動(dòng)復(fù)位的功能。以MCS-51單片機(jī)為例,復(fù)位脈沖的高電平寬度必須大于2個(gè)機(jī)器周期,若系統(tǒng)選用6MHz晶振,則一個(gè)機(jī)器周期為2us,那么復(fù)位脈沖寬度最小應(yīng)為4us。在實(shí)際應(yīng)用系統(tǒng)中,考慮到電源的穩(wěn)定時(shí)間,參數(shù)漂移,晶振穩(wěn)定時(shí)間以及復(fù)位的可靠性等因素,必須有足夠的余量。圖1是利用RC充電原理實(shí)現(xiàn)上電復(fù)位的電路設(shè)計(jì)。實(shí)踐證明,上電瞬間RC電路充電,RESET引腳出現(xiàn)正脈沖。只要RESET端保持10ms以上的高電平,就能使單片機(jī)有效的復(fù)位。
對于圖1-a中的電容C兩端的電壓(即復(fù)位信號)是一個(gè)時(shí)間的函數(shù):
u(t)=VCC*[1-exp(-t/RC)]
對于圖1-b中的電阻R兩端的電壓(即復(fù)位信號)也是一個(gè)時(shí)間的函數(shù):
u(t)=VCC*exp(-t/RC)
其中的VCC為電源電壓,RC為RC電路的時(shí)間常數(shù)=1K*22uF=22ms。有了這個(gè)公式,我們可以更方便的對以上電路進(jìn)行透徹的分析。
圖1-a中非門的最小輸入高電平UIH=2.0v,當(dāng)充電時(shí)間t=0.6RC時(shí),則充電電壓u(t)=0.45VCC=0.45*5V,約等于2V,其中t即為復(fù)位時(shí)間。圖a中時(shí)間常數(shù)=22ms,則t=22ms*0.6=13ms。
復(fù)位電路的可靠性與抗干擾性分析
單片機(jī)復(fù)位電路端口的干擾主要來自電源和按鈕傳輸線串入的噪聲。這些噪聲雖然不會(huì)完全導(dǎo)致系統(tǒng)復(fù)位,但有時(shí)會(huì)破壞CPU內(nèi)的程序狀態(tài)字的某些位的狀態(tài),對控制產(chǎn)生不良影響。
1.電路結(jié)構(gòu)形式與抗干擾性能
以圖1為例,電源噪聲干擾過程示意圖中分別繪出了A點(diǎn)和B點(diǎn)的電壓擾動(dòng)波形。
有圖2可以看出,圖2(a)實(shí)質(zhì)上是個(gè)低通濾波環(huán)節(jié),對于脈沖寬度小于3RC的干擾有很好的抑制作用;圖2(b)實(shí)質(zhì)上是個(gè)高通濾波環(huán)節(jié),對脈沖干擾沒有抑制作用。由此可見,對于圖1所示的兩種復(fù)位電路,a的抗干擾電源噪聲的能力要優(yōu)于b。
2. 復(fù)位按鈕傳輸線的影響
復(fù)位按鈕一般都是安裝在操作面板上,有較長的傳輸線,容易引起電磁感應(yīng)干擾。按鈕傳輸線應(yīng)采用雙絞線(具有抑制電磁感應(yīng)干擾的性能),并遠(yuǎn)離交流用電設(shè)備。在印刷電路板上,單片機(jī)復(fù)位端口處并聯(lián)0.01-0.1uF的高頻電容,或配置使密特電路,將提高對串入噪聲的抑制能力。
供電電源穩(wěn)定過程對復(fù)位的影響
單片機(jī)系統(tǒng)復(fù)位必須在CPU得到穩(wěn)定的電源后進(jìn)行,一次上電復(fù)位電路RC參數(shù)設(shè)計(jì)應(yīng)考慮穩(wěn)定的過渡時(shí)間。
為了克服直流電源穩(wěn)定過程對上電自動(dòng)復(fù)位的影響,可采用如下措施:
(1) 將電源開關(guān)安裝在直流側(cè),合上交流電源,待直流電壓穩(wěn)定后再合供電開關(guān)K,如下圖所示。
采用帶電源檢測的復(fù)位電路,如下圖所示。合理配置電阻R3、R4的阻值和選擇穩(wěn)壓管DW的擊穿電壓,使VCC未達(dá)到額定值之前,三極管BG截止,VA點(diǎn)電平為低,電容器C不充電;當(dāng)VCC穩(wěn)定之后,DW擊穿,三極管BG飽和導(dǎo)通,致使VA點(diǎn)位高電平,對電容C充電,RESET為高電平,單片機(jī)開始復(fù)位過程。當(dāng)電容C上充電電壓達(dá)到2V時(shí),RESET為低電平,復(fù)位結(jié)束。
并聯(lián)放電二極管的必要性
在復(fù)位電路中,放電二極管D不可缺少。當(dāng)電源斷電后,電容通過二極管D迅速放電,待電源恢復(fù)時(shí)便可實(shí)現(xiàn)可靠上電自動(dòng)復(fù)位。若沒有二極管D,當(dāng)電源因某種干擾瞬間斷電時(shí),由于C不能迅速將電荷放掉,待電源恢復(fù)時(shí),單片機(jī)不能上電自動(dòng)復(fù)位,導(dǎo)致程序運(yùn)行失控。電源瞬間斷電干擾會(huì)導(dǎo)致程序停止正常運(yùn)行,形成程序“亂飛”或進(jìn)入“死循環(huán)”。若斷電干擾脈沖較寬,可以使RC迅速放電,待電源恢復(fù)后通過上電自動(dòng)復(fù)位,使程序進(jìn)入正常狀態(tài);若斷電干擾脈沖較窄,斷電瞬間RC不能充分放電,則電源恢復(fù)后系統(tǒng)不能上電自動(dòng)復(fù)位。
I/O接口芯片的延時(shí)復(fù)位
在單片機(jī)系統(tǒng)中,某些I/O接口芯片的復(fù)位端口與單片機(jī)的復(fù)位端口往往連在一起,即統(tǒng)一復(fù)位。接口芯片由于生產(chǎn)廠家不同,復(fù)位時(shí)間也稍有不同;復(fù)位線較長而又較大的分布電容,導(dǎo)致這些接口的復(fù)位過程滯后于單片機(jī)。工程實(shí)踐表明,當(dāng)單片機(jī)復(fù)位結(jié)束立即對這些I/O芯片進(jìn)行初始化操作時(shí),往往導(dǎo)致失敗。因此,當(dāng)單片機(jī)進(jìn)入0000H地址后,首先執(zhí)行1-10ms的軟件延時(shí),然后再對這些I/O芯片進(jìn)行初始化。
結(jié)語
為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5V±5%,即4.75~5.25V。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號,因此在電源上電時(shí),只有當(dāng)VCC超過4.75V低于5.25V以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號才會(huì)撤除,微機(jī)電路開始正常工作。
關(guān)于復(fù)位電路中上電復(fù)位和手動(dòng)復(fù)位的介紹就到這里了,希望本文能對你有所幫助。
-
單片機(jī)
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634669 -
上電復(fù)位
+關(guān)注
關(guān)注
1文章
39瀏覽量
15796 -
手動(dòng)復(fù)位
+關(guān)注
關(guān)注
0文章
3瀏覽量
8260
發(fā)布評論請先 登錄
相關(guān)推薦
評論