單片機(jī)各種復(fù)位電路大全!
復(fù)位電路由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合"電容電壓不能突變"的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)高電平,并且,這個(gè)高電平持續(xù)的時(shí)間由電路的RC值來決定.典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位.
一般教科書推薦C 取10u,R取8.2K.當(dāng)然也有其他取法的,原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個(gè)機(jī)周期的高電平.至于如何具體定量計(jì)算,可以參考電路分析相關(guān)書籍. 晶振電路:典型的晶振取11.0592MHz(因?yàn)榭梢詼?zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12MHz(產(chǎn)生精確的uS級(jí)時(shí)歇,方便定時(shí)操作)
常見的復(fù)位電路
80C51單片機(jī)復(fù)位電路
單片機(jī)的復(fù)位有上電復(fù)位和按鈕手動(dòng)復(fù)位兩種。如圖2(a)所示為上電復(fù)位電路,圖(b)所示為上電按鍵復(fù)位電路。
單片機(jī)各種復(fù)位電路大全!
上電復(fù)位是利用電容充電來實(shí)現(xiàn)的,即上電瞬間RST端的電位與VCC相同,隨著充電電流的減少,RST的電位逐漸下降。圖2(a)中的R是施密特觸發(fā)器輸入端的一個(gè)10KΩ下拉電阻,時(shí)間常數(shù)為10×10-6×10×103=100ms。只要VCC的上升時(shí)間不超過1ms,振蕩器建立時(shí)間不超過10ms,這個(gè)時(shí)間常數(shù)足以保證完成復(fù)位操作。上電復(fù)位所需的最短時(shí)間是振蕩周期建立時(shí)間加上2個(gè)機(jī)器周期時(shí)間,在這個(gè)時(shí)間內(nèi)RST的電平應(yīng)維持高于施密特觸發(fā)器的下閾值。
上電按鍵復(fù)位2(b)所示。當(dāng)按下復(fù)位按鍵時(shí),RST端產(chǎn)生高電平,使單片機(jī)復(fù)位。復(fù)位后,其片內(nèi)各寄存器狀態(tài)見表,片內(nèi)RAM內(nèi)容不變。
c51單片機(jī)復(fù)位電路
如S22復(fù)位鍵按下時(shí):RST經(jīng)1k電阻接VCC,獲得10k電阻上所分得電壓,形成高電平,進(jìn)入“復(fù)位狀態(tài)”
當(dāng)S22復(fù)位鍵斷開時(shí):RST經(jīng)10k電阻接地,電流降為0,電阻上的電壓也將為0,RST降為低電平,開始正常工作。
單片機(jī)上電復(fù)位電路
AT89C51的上電復(fù)位電路如圖2所示,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個(gè)電阻到地即可。對(duì)于CMOS型單片機(jī),由于在RST端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至1?F。上電復(fù)位的工作過程是在加電時(shí),復(fù)位電路通過電 容加給RST端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著Vcc對(duì)電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號(hào)必須維持足夠長的時(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ì)對(duì)器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l”態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器PC將得不到一個(gè)合適的初值,因此,CPU可能會(huì)從一個(gè)未被定義的位置開始執(zhí)行程序。
積分型上電復(fù)位:
常用的上電或開關(guān)復(fù)位電路如圖3所示。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開,也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開關(guān)復(fù)位的操作。
根據(jù)實(shí)際操作的經(jīng)驗(yàn),下面給出這種復(fù)位電路的電容、電阻參考值。
圖3中:C:=1uF,Rl=lk,R2=10k
積分型上電復(fù)位電路圖
專用芯片復(fù)位電路
上電復(fù)位電路 在控制系統(tǒng)中的作用是啟動(dòng)單片機(jī)開始工作。但在電源上電以及在正常工作時(shí)電壓異?;蚋蓴_時(shí),電源會(huì)有一些不穩(wěn)定的因素,為單片機(jī)工作的穩(wěn)定性可能帶來嚴(yán)重的影響。因此,在電源上電時(shí)延時(shí)輸出給芯片輸出一復(fù)位信號(hào)。上復(fù)位電路另一個(gè)作用是,監(jiān)視正常工作時(shí)電源電壓。若電源有異常則會(huì)進(jìn)行強(qiáng)制復(fù)位。復(fù)位輸出腳輸出低電平需要持續(xù)三個(gè)(12/fc s)或者更多的指令周期,復(fù)位程序開始初始化芯片內(nèi)部的初始狀態(tài)。等待接受輸入信號(hào)(若如遙控器的信號(hào)等)。
高低電平復(fù)位電路
51單片機(jī)要求的是:高電平復(fù)位。上圖是51單片機(jī)的復(fù)位電路。在上電的瞬間,電容器充電,充電電流在電阻上形成的電壓為高電平(可按照歐姆定律來分析);幾個(gè)毫秒之后,電容器充滿,電流為0,電阻上的電壓也就為低電平了,這時(shí),51單片機(jī)將進(jìn)入正常工作狀態(tài)。圖1是用來產(chǎn)生低電平復(fù)位信號(hào)的。
單片機(jī)復(fù)位電路的原理
復(fù)位電路的目的就是在上電的瞬間提供一個(gè)與正常工作狀態(tài)下相反的電平。一般利用電容電壓不能突變的原理,將電容與電阻串聯(lián),上電時(shí)刻,電容沒有充電,兩端電壓為零,此時(shí),提供復(fù)位脈沖,電源不斷的給電容充電,直至電容兩端電壓為電源電壓,電路進(jìn)入正常工作狀態(tài)。
關(guān)于單片機(jī)復(fù)位電路,以前做的一點(diǎn)小筆記和文摘,在這里做一個(gè)綜述,一方面,由于我自己做的面包板上的復(fù)位電路按鍵無效,于是又回過頭來重新整理了一下,供自己復(fù)習(xí),另一方面大家一起交流學(xué)習(xí)。在我看來,讀書,重在交流,不管你學(xué)什么,交流,可以讓你深刻的理解你所思考的問題,可以深化你的記憶,更會(huì)讓你識(shí)得人生的朋友。
最近在學(xué)ARM,ARM處理器的復(fù)位電路比單片機(jī)的復(fù)位電路有講究,比起單片機(jī)可靠性要求更高了。先讓我自己來回憶一下單片機(jī)復(fù)位電路吧。
先說原理。上電復(fù)位POR(Pmver On Reset)實(shí)質(zhì)上就是上電延時(shí)復(fù)位,也就是在上電延時(shí)期間把單片機(jī)鎖定在復(fù)位狀態(tài)上。 為什么在每次單片機(jī)接通電源時(shí),都需要加入一定的延遲時(shí)間呢?分析如下。
上電復(fù)位時(shí)序
在單片機(jī)及其應(yīng)用電路每次上電的過程中,由于電源同路中通常存在一些容量大小不等的濾波電容,使得單片機(jī)芯片在其電源引腳VCC和VSS之間所感受到的電源電壓值VDD,是從低到高逐漸上升的。該過程所持續(xù)的時(shí)間一般為1~100ms。上電延時(shí)的定義是電源電壓從lO%VDD上升到90%VDD所需的時(shí)間。在單片機(jī)電壓源電壓上升到適合內(nèi)部振蕩電路運(yùn)行的范圍并且穩(wěn)定下來之后,時(shí)鐘振蕩器開始了啟動(dòng)過程(具體包括偏置、起振、鎖定和穩(wěn)定幾個(gè)過程)。該過程所持續(xù)的時(shí)間一般為1~50 ms。起振延時(shí)的定義是時(shí)鐘振蕩器輸出信號(hào)的高電平達(dá)到10%VDD所需的時(shí)間。例如,對(duì)于常見的單片機(jī)型號(hào)AT和AT89S,廠家給出的這個(gè)值為0.7VDD~VDD+0.5V。
從理論上講,單片機(jī)每次上電復(fù)位所需的最短延時(shí)應(yīng)該不小于treset。從實(shí)際上講,延遲一個(gè)treset往往還不夠,不能夠保障單片機(jī)有一個(gè)良好的工作開端。在單片機(jī)每次初始加電的時(shí)候,首先投入工作的部件是復(fù)位電路。復(fù)位電路把單片機(jī)鎖定在復(fù)位狀態(tài)上并且維持一個(gè)延時(shí),以便給予電源電壓從上升到穩(wěn)定的一個(gè)等待時(shí)間;在電源電壓穩(wěn)定之后,再插入一個(gè)延時(shí),給予始終振蕩器從起振到穩(wěn)定的一個(gè)等待時(shí)間;在單片機(jī)開始進(jìn)入運(yùn)行狀態(tài)之前,還要至少推遲2個(gè)及其周期的延時(shí)。
結(jié)語
單片機(jī)復(fù)位電路就好比電腦的重啟部分,當(dāng)電腦在使用中出現(xiàn)死機(jī),按下重啟按鈕電腦內(nèi)部的程序從頭開始執(zhí)行。單片機(jī)也一樣,當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中,受到環(huán)境干擾出現(xiàn)程序跑飛的時(shí)候,按下復(fù)位按鈕內(nèi)部的程序自動(dòng)從頭開始執(zhí)行。