51內核的單片機有個比較惱人的特性就是復位期間,IO口呈高電平狀態,萬一IO口控制的設備是使用高電平觸發的話,在復位的瞬間會造成設備觸發。
總結一下接觸過的解決方法:
1、把MCU換成別的體系的,譬如AVR、PIC等,這些單片機復位時IO口呈浮空高阻狀態,不會造成觸發。
2、使用反相驅動,MCU輸出低電平反相成高電平再去控制設備。復位時的高電平反相后變成低電平,不會觸發。這是比較常用的方法,穩定,但布線復雜了不少。
3、使用光耦隔離。光耦隔離后MCU也是輸出低電平打開光耦再驅動被控設備,復位時的高電平不會打開光耦,不會造成誤觸發。
4、使用多余的IO口鎖定,這種方法比較奇怪,在沒用的IO口里挑一個出來接到NPN管的基極,再把NPN管的發射極接到被控的IO口,復位時所有的IO口呈高電平,NPN管導通,把被控的IO口強行拉低,相當于把被控IO口的電平鎖定為低,避免觸發被控的設備。這種方法必須配合軟件,復位完畢后必須軟件把接NPN管基極的那根IO置低電平,釋放被控的IO口。這種方法比較少用,畢竟需要有多余的IO口,還必須加上三極管、電阻,布線復雜了不少,成本也增加不少。
5、使用濾波電容。在被控IO口對地之間接一uF級電容及K級電阻,類似緩沖作用。開機瞬間IO口通過電阻向電容充電,電平有一個逐漸上升的過程。只要電容及電阻的參數選擇得當,那么復位時由于緩沖作用IO口還沒來得及觸發設備時那么MCU已經復位完畢把電平拉低了,這樣也就避免了誤觸發。這種方法有一定限制,會造成設備的響應速度變慢,因此被控的IO口電平不能變化太快,否則由于電容的緩沖作用,設備無法有效控制。
-
AVR
+關注
關注
11文章
1125瀏覽量
78886 -
PIC
+關注
關注
8文章
507瀏覽量
87822 -
51單片機
+關注
關注
274文章
5705瀏覽量
124303
原文標題:總結51單片機避免復位觸發的幾種方法
文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論