第一個blog,記錄&分享
2.復位電路
定義:一般單片機里面都會有復位電路,比較熟悉的有上電復位和手動復位,具體這兩個復位用下面這個電路就解決了。一般復位電平為低電平有效,高電平無效。一般對於整個系統來講,剛開始時候也就是系統上電的情況下,整個系統是一定要進行復位的,這時候不允許其他事件的進行。整個系統工作是要一定時間的,特別是晶振起振是要時間的。那就需要系統上電復位,但當整個系統正常運轉時候就可以不進行復位了。有時候在整個系統跑飛時候,可以人為的進行手動復位也是非常必要的,這時候系統就恢復到初始狀態開始正常工作了。
下面對於復位電路進行分析,剛開始時候,系統一上電時,電容兩端是沒有電平的,也就是電平為0,而復位端一般是低電平有效,這時候整個電路上電時候就是復位的,這就是上電復位了。當電容兩端充電到單片機認為的高電平時候(一般為0.7VDD),這時候復位端為高電平了,那復位端就無效,系統開始正常工作了。
這里不妨將充電到0.7VDD的時間計算下,這個時間一般單片機手冊中會給,這樣可以確定R和C的數值。
一般的電容充放電公式如下:
Vo為初始電壓,Ve為電容充的終止電壓,Vt為任意t時刻的電容上的電壓。則Vt = Vo + (Ve - Vo) * (1 - e(t/RC))
換算一下電容從Vo充電到Vt的時間計算公式:t = RC* In((Ve - Vo)/(Ve - Vt))
上面原理圖中的R為20K,C為0.1uF,下方的圖中ST芯片手冊最后一行中Reset參數給出的時間要大於1ms
t=RC*In[(3.3-0)/(3.3-2.31)]=2ms
對於手動復位,當按下按鍵時候,電容短路,自身將不斷放電,當放電到單片機復位端認為的低電平時候(一般為0.3VDD),單片機進行復位,這個復位時間應該來說肯定是遠遠大於1ms的,人為的按下按鍵的時間差不多至少為20ms