80C51單片機(jī)上電復(fù)位和復(fù)位延時(shí)的時(shí)序分析
80C51單片機(jī)的上電復(fù)位POR(Power On Reset)實(shí)質(zhì)上就是上電延時(shí)復(fù)位,也就是在上電延時(shí)期間把單片機(jī)鎖定在復(fù)位狀態(tài)上。為什么在每次單片機(jī)接通電源時(shí),都需要加入一定的延遲時(shí)間呢?分析如下。
本文引用地址:http://2s4d.com/article/172764.htm1 上電復(fù)位時(shí)序
在單片機(jī)及其應(yīng)用電路每次上電的過(guò)程中,由于電源回路中通常存在一些容量大小不等的濾波電容,使得單片機(jī)芯片在其電源引腳VCC和VSS之間所感受到的電源電壓值VDD,是從低到高逐漸上升的。該過(guò)程所持續(xù)的時(shí)間一般為1~100 ms(記作taddrise)。上電延時(shí)taddrise的定義是電源電壓從10% VDD上升到90% VDD所需的時(shí)間,如圖1所示。
圖1 上電延時(shí)taddrise和起振延時(shí)tosc實(shí)測(cè)結(jié)果
在單片機(jī)電源電壓上升到適合內(nèi)部振蕩電路運(yùn)行的范圍并且穩(wěn)定下來(lái)之后,時(shí)鐘振蕩器開(kāi)始了啟動(dòng)過(guò)程(具體包括偏置、起振、鎖定和穩(wěn)定幾個(gè)過(guò)程)。該過(guò)程所持續(xù)的時(shí)間一般為1~50 ms(記作tosc)。起振延時(shí)tosc的定義是時(shí)鐘振蕩器輸出信號(hào)的高電平達(dá)到Vih1所需的時(shí)間。從圖1所示的實(shí)際測(cè)量圖中也可以看得很清楚。這里的Vih1是單片機(jī)電氣特性中的一個(gè)普通參數(shù),代表XTAL1和RST引腳上的輸入邏輯高電平。例如,對(duì)于常見(jiàn)的單片機(jī)型號(hào)AT89C51和AT89S51,廠家給出的Vih1值為0.7VDD~VDD+0.5 V。
從理論上講,單片機(jī)每次上電復(fù)位所需的最短延時(shí)應(yīng)該不小于treset。這里,treset等于上電延時(shí)taddrise與起振延時(shí)tosc之和,如圖1所示。從實(shí)際上講,延遲一個(gè)treset往往還不夠,不能夠保障單片機(jī)有一個(gè)良好的工作開(kāi)端。
在單片機(jī)每次初始加電時(shí),首先投入工作的功能部件是復(fù)位電路。復(fù)位電路把單片機(jī)鎖定在復(fù)位狀態(tài)上并且維持一個(gè)延時(shí)(記作TRST),以便給予電源電壓從上升到穩(wěn)定的一個(gè)等待時(shí)間;在電源電壓穩(wěn)定之后,再插入一個(gè)延時(shí),給予時(shí)鐘振蕩器從起振到穩(wěn)定的一個(gè)等待時(shí)間;在單片機(jī)開(kāi)始進(jìn)入運(yùn)行狀態(tài)之前,還要至少推遲2個(gè)機(jī)器周期的延時(shí),如圖2所示。
圖2 復(fù)位信號(hào)釋放的時(shí)機(jī)
2 上電復(fù)位電路3款
上述一系列的延時(shí),都是利用在單片機(jī)RST引腳上外接一個(gè)RC支路的充電時(shí)間而形成的。典型復(fù)位電路如圖3(a)所示,其中的阻容值是原始手冊(cè)中提供的。在經(jīng)歷了一系列延時(shí)之后,單片機(jī)才開(kāi)始按照時(shí)鐘源的工作頻率,進(jìn)入到正常的程序運(yùn)行狀態(tài)。從圖2所示的實(shí)測(cè)曲線中可以同時(shí)看到4條曲線: VDD、Vrst、XTAL2和ALE。在電源電壓以及振蕩器輸出信號(hào)穩(wěn)定之后,又等待了一段較長(zhǎng)的延時(shí)才釋放RST信號(hào),使得CPU脫離復(fù)位鎖定狀態(tài);而RST信號(hào)一旦被釋放,立刻在ALE引腳上就可檢測(cè)到持續(xù)的脈沖信號(hào)。
圖3 上電復(fù)位延時(shí)電路
評(píng)論