分析上圖的電路工作原理。長按按鍵時,PUSHBUTTONCONN被拉到地,R5和D3組成的回路導通,Q1的1腳被拉,Q1截止。U2的7腳EN被拉高,U2是一顆DC-DC,EN高電平使能,所以U2工作,輸出3V3。單片機開始工作,IO口置高電平給3V3_EN,Q2的1腳被拉高,Q2導通,拉低 Q1的1腳,實現(xiàn)開機的功能。關機過程,長按按鍵,PUSHBUTTON_UC被拉低,單片機檢測到PUSHBUTTON_UC拉低后,判斷是長按后,就把3V3_EN置低電平,Q2截止,松開按鍵后,Q1的1腳被拉高,Q1導通,U2的EN腳被拉低,U2不工作,3V3停止輸出,系統(tǒng)關機。
朋友遇到的問題是因為單片機在復位時,IO默認是低電平,所以單片機復位時,3V3_EN會變低電平,機器就會關機。如果要解決這個問題,必須要對電路做一些修改。電路修改如下。
只要是增加一個三極管,三極管的C極接到Q2的1腳,并上拉到3V3。3V3_EN接三極管的B極。這樣改動后,3V3_EN低電平是開機,高電平是關機。所以,即使單片機復位,IO默認是低電平,也不會讓系統(tǒng)斷電關機。