51?系列單片機是高電平復(fù)位。
如果在?AT89S52?的?9?號引腳(RST)加上寬度大于?2?個機器周期的高電平,該單片機芯片就將處于復(fù)位狀態(tài)。
復(fù)位時:PC?=?0000H,SP?=?07H,P0~P3?=?FFH,其它各個特殊功能寄存器的內(nèi)容皆為?0。
此后,當(dāng)?RST?引腳上的降為低電平,單片機將會脫離復(fù)位,變成運行狀態(tài),從?0000H?處開始執(zhí)行程序。
在?RST?引腳接上一個電阻、一個電容,即可構(gòu)成“上電復(fù)位電路”。其中電阻為?10K,電容為?10uF,這是廠家推薦的數(shù)值。
上電復(fù)位電路圖如下:
其中?RST?端電壓波形?VR,在上面的插圖中也已經(jīng)給出。
分析這個波形變化的原理,要用到“過渡過程”的知識。
從電路中可以看出,電阻和電容是串聯(lián),電容的電壓、電阻的電壓,加在一起,就是電源電壓。
當(dāng)沒有開機時,這些電壓都是零。
當(dāng)開機后,電源?VCC?突然就出現(xiàn)了?+5V,此刻的電容電壓是不能突變的,仍然是零。
+5V?的電源電壓,立即就全都加到了電阻上,于是?RST?端的電壓?VR,在這一瞬間就出現(xiàn)了高電平。
之后,隨著電容器不斷的充電,VR?就呈指數(shù)規(guī)律下降,這就是“過渡過程”。
當(dāng)?VR?下降到?3.4V,可以認為此時就脫離了高電平。從波形圖中可以看出,RST?端的高電平持續(xù)時間就是?t1。
如果經(jīng)過了?(3~5)?RC?的時間,這個電壓就可以認為降到零了。這時,就認為“過渡過程”已經(jīng)是結(jié)束了。
上面所說的電壓波形變化的規(guī)律,在《電路》方面的教材中,可以找到計算公式。
---------------------------------
在晶振為?12MHz?時,如果?RST?端的高電平持續(xù)時間?t1,超過了?2us,51單片機即可復(fù)位。
其實,使用單片機廠家所推薦的元件數(shù)值(電阻為?10K,電容為?10uF),已經(jīng)使?RST?端的高電平時間,遠遠超過了?2us。
哪怕,即使單片機使用的晶振頻率再低一些,要求復(fù)位的時間再長一些,這個電阻、電容的數(shù)值,也都是夠用的。
做而論道說這些,是什么意思呢?
呵呵,就是說,復(fù)位電路中的電阻、電容,并不需要我們自己來設(shè)計,使用廠家推薦的數(shù)值,就完全可以了。
如果偏要自己設(shè)計,那就一定是閉門造車。
因為公式中所用的?VH?這個電壓值,是單片機廠家內(nèi)部掌握的。我們并不能肯定就是?3.4V。所以,我們自己設(shè)計不出來合適的?R、C?的數(shù)值。
另外,有人略微的學(xué)過一些“過渡過程”的計算公式,就用?(3~5)?RC?來計算高電平的時間,呵呵,這就是基本概念不清。
用?(3~5)?RC?來計算,得出的電壓波形,早早就是低電平了,根本就不是高電平的持續(xù)時間。
---------------------------------
如果,想要增加“手動復(fù)位按鍵”,電路圖就在下面:
按鍵按下后,電容器放電;按鍵松開后,電容器從零電壓開始充電,電阻上的電壓波形,就和上面給出的一模一樣了。
省略掉圖中的?220?歐姆的電阻,也是可以的,有些成品的電路板,就是省略的。
省略后,沒有太大缺陷,只是按鍵按下的時刻,瞬間放電電流,會很大,可能有微小火花出現(xiàn)。
---------------------------------
還看到有些參考資料,在復(fù)位電路中,增加了一個反相器。
好像是說,這樣就可以把緩慢變化的波形,弄得陡峭一些,使得復(fù)位,可以可靠一些。
其實,這是多余的。
單片機的廠家,早就在芯片內(nèi)部,集成了施密特反相器,用不著用戶來畫蛇添足。