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