單片機(jī)復(fù)位5問(wèn)
以下是自己關(guān)于單片機(jī)復(fù)位電路的一些認(rèn)識(shí):
>1、單片機(jī)為什么要復(fù)位?
使單片機(jī)回復(fù)初始狀態(tài),從PC指針的0地址開(kāi)始執(zhí)行程序
>2、如何復(fù)位單片機(jī)?(怎樣操作確保單片機(jī)復(fù)位)
要求:51單片機(jī)要復(fù)位只需要在第9引腳接個(gè)高電平持續(xù)2個(gè)機(jī)器周期 (2*12=24個(gè)時(shí)鐘周期)就可以實(shí)現(xiàn);即在2個(gè)機(jī)器周期內(nèi)將單片機(jī)鎖定在 復(fù)位狀態(tài) 。(因?yàn)閮蓚€(gè)機(jī)器周期單片機(jī)才能執(zhí)行完復(fù)位命令)
>3、上電后就立即復(fù)位嗎?(即上電和復(fù)位時(shí)同時(shí)的嗎)
>3.1、復(fù)位具體是怎么執(zhí)行的?
復(fù)位的2個(gè)前提是:1)CPU正常工作 [要知道復(fù)位命令的的執(zhí)行是需要CPU執(zhí)行的] 而CPU正常工作需要
(a:VCC電源穩(wěn)定 b:晶振起振)
2) CPU檢測(cè)到復(fù)位信號(hào)(即RST引腳為高電平)
>3.2:晶振起振&電源穩(wěn)定 是需要時(shí)間的,因此上電后并不是立即復(fù)位,但可以肯定的是(復(fù)位信號(hào)確實(shí)上電就有,并且是一個(gè)回落的過(guò)程,有5V到1.5V,持續(xù)約0.1s的高電平);但單有復(fù)位信號(hào)也沒(méi)用,要執(zhí)行復(fù)位操作還需等待3.1中的的第一個(gè)條件實(shí)現(xiàn),CPU不正常工作是執(zhí)行不了復(fù)位命令的
而(上電時(shí),Vcc的上升時(shí)間約為10ms,而振蕩器的起振時(shí)間取決于振蕩頻率,如晶振頻率為10MHz,起振時(shí)間為1ms;晶振頻率為1MHz,起振時(shí)間則為10ms);
綜上可知單片機(jī)RST復(fù)位信號(hào)的持續(xù)時(shí)間(約0.1s)是遠(yuǎn)遠(yuǎn)長(zhǎng)于必要的復(fù)位的2個(gè)機(jī)器周期的(去除上電前的10幾ms的等待時(shí)間,其余時(shí)間 0.1s-10ms 單片機(jī)都被鎖定在復(fù)位狀態(tài),單片機(jī)一直執(zhí)行復(fù)位命令) ,這樣也確保單片機(jī)能可靠的實(shí)現(xiàn)復(fù)位操作
>4、復(fù)位的2個(gè)機(jī)器周期內(nèi)單片機(jī)做了些什么?
主要做的就是初始化每個(gè)寄存器,包括最重要的PC指針,不包括RAM,然后單片機(jī)從復(fù)位地址開(kāi)始執(zhí)行程序。
>5、復(fù)位過(guò)程分析
開(kāi)機(jī)的時(shí)候?yàn)槭裁磿?huì)復(fù)位
在電路圖中,電容的的大小是10uf,電阻的大小是10k。所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機(jī)的電源是5V,所以充電到0.7倍即為3.5V),需要的時(shí)間是10K*10UF=0.1S。也就是說(shuō)在電腦啟動(dòng)的0.1S內(nèi),電容兩端的電壓時(shí)在0~3.5V增加。這個(gè)時(shí)候10K電阻兩端的電壓為從5~1.5V減少(串聯(lián)電路各處電壓之和為總電壓)。所以在0.1S內(nèi),RST引腳所接收到的電壓是5V~1.5V。在5V正常工作的51單片機(jī)中小于1.5V的電壓信號(hào)為低電平信號(hào),而大于1.5V的電壓信號(hào)為高電平信號(hào)。所以在開(kāi)機(jī)0.1S內(nèi),單片機(jī)系統(tǒng)自動(dòng)復(fù)位(RST引腳接收到的高電平信號(hào)時(shí)間持續(xù)0.1S左右)。
按鍵按下的時(shí)候?yàn)槭裁磿?huì)復(fù)位
在單片機(jī)啟動(dòng)0.1S后,電容C兩端的電壓持續(xù)充電為5V,這是時(shí)候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時(shí)候,開(kāi)關(guān)導(dǎo)通,這個(gè)時(shí)候電容兩端形成了一個(gè)回路,電容被短路,所以在按鍵按下的這個(gè)過(guò)程中,電容開(kāi)始釋放之前充的電量。隨著時(shí)間的推移,電容的電壓在0.1S內(nèi),從5V釋放到變?yōu)榱?.5V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個(gè)時(shí)候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機(jī)系統(tǒng)自動(dòng)復(fù)位。