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