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