51單片機復(fù)位電路的設(shè)計
單片機在可靠的復(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單片機為例,復(fù)位脈沖的高電平寬度必須大于2個機器周期,若系統(tǒng)選用6MHz晶振,則一個機器周期為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以上的高電平,就能使單片機有效的復(fù)位。
圖 1
對于圖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ù)位電路的可靠性與抗干擾性分析
單片機復(fù)位電路端口的干擾主要來自電源和按鈕傳輸線串入的噪聲。這些噪聲雖然不會完全導(dǎo)致系統(tǒng)復(fù)位,但有時會破壞CPU內(nèi)的程序狀態(tài)字的某些位的狀態(tài),對控制產(chǎn)生不良影響。
1.電路結(jié)構(gòu)形式與抗干擾性能
以圖1為例,電源噪聲干擾過程示意圖如圖2種分別繪出了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è)備。在印刷電路板上,單片機復(fù)位端口處并聯(lián)0.01-0.1uF的高頻電容,或配置使密特電路,將提高對串入噪聲的抑制能力。
圖 2
3. 供電電源穩(wěn)定過程對復(fù)位的影響
單片機系統(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,如圖3所示。
圖 3
(2) 采用帶電源檢測的復(fù)位電路,如圖4所示。合理配置電阻R3、R4的阻值和選擇穩(wěn)壓管DW的擊穿電壓,使VCC未達(dá)到額定值之前,三極管BG截止,VA點電平為低,電容器C不充電;當(dāng)VCC穩(wěn)定之后,DW擊穿,三極管BG飽和導(dǎo)通,致使VA點位高電平,對電容C充電,RESET為高電平,單片機開始復(fù)位過程。當(dāng)電容C上充電電壓達(dá)到2V時,RESET為低電平,復(fù)位結(jié)束。
圖 4
4. 并聯(lián)放電二極管的必要性
在圖1復(fù)位電路中,放電二極管D不可缺少。當(dāng)電源斷電后,電容通過二極管D迅速放電,待電源恢復(fù)時便可實現(xiàn)可靠上電自動復(fù)位。若沒有二極管D,當(dāng)電源因某種干擾瞬間斷電時,由于C不能迅速將電荷放掉,待電源恢復(fù)時,單片機不能上電自動復(fù)位,導(dǎo)致程序運行失控。電源瞬間斷電干擾會導(dǎo)致程序停止正常運行,形成程序“亂飛”或進(jìn)入“死循環(huán)”。若斷電干擾脈沖較寬,可以使RC迅速放電,待電源恢復(fù)后通過上電自動復(fù)位,使程序進(jìn)入正常狀態(tài);若斷電干擾脈沖較窄,斷電瞬間RC不能充分放電,則電源恢復(fù)后系統(tǒng)不能上電自動復(fù)位。
三、I/O接口芯片的延時復(fù)位
在單片機系統(tǒng)中,某些I/O接口芯片的復(fù)位端口與單片機的復(fù)位端口往往連在一起,即統(tǒng)一復(fù)位。接口芯片由于生產(chǎn)廠家不同,復(fù)位時間也稍有不同;復(fù)位線較長而又較大的分布電容,導(dǎo)致這些接口的復(fù)位過程滯后于單片機。工程實踐表明,當(dāng)單片機復(fù)位結(jié)束立即對這些I/O芯片進(jìn)行初始化操作時,往往導(dǎo)致失敗。因此,當(dāng)單片機進(jìn)入0000H地址后,首先執(zhí)行1-10ms的軟件延時,然后再對這些I/O芯片進(jìn)行初始化。
擴(kuò)展閱讀:單片機編程學(xué)習(xí)