在MSP430單片機的手冊中,對于端口復位后的狀態,是這樣描述的:復位后,所有端口處于輸入狀態。
就這個問題,我們來簡單說一下單片機上電復位后端口的狀態問題。
首先,單片機上電后端口的狀態應盡量避免處于輸出狀態(無論是輸出低還是輸出高)
為什么要這樣說呢?因為單片機外圍電路的動作就是靠單片機端口輸出低電平或者高電平來控制的。假如單片機端口一上電就處于輸出高或者低電平的狀態,那么很容易出現誤動作。例如,有一個端口是控制繼電器的,在正常狀態下,單片機端口輸出低電平使得繼電器吸合,輸出高電平斷開繼電器。平時我們要求繼電器處于斷開狀態,那就要讓單片機的這個端口處于輸出高電平的狀態,但是如果這個單片機的端口在上電復位后是處于輸出低電平的狀態,這時候就會出現問題了,即使我們在程序中一開始就把這個端口置為輸出高電平,但是在復位期間,這個端口的狀態我們是無法控制的,于是就會出現一個瞬間的低電平,雖然這個低電平持續的時間很短,有時候不足以使繼電器吸合,當繼電器仍會有輕微的吸合動作。這顯然是我們不希望看到的。
有些單片機復位后端口默認為輸入口的原因
前面我們說了,單片機上電后,如果端口默認為輸出口,那么不管是輸出低電平還是高電平,都可能會引起誤動作,甚至會產生致命后果。
而假如端口上電后默認為輸入口呢?我們知道,單片機的輸出控制操作一般都是根據輸入信號來實現的。這樣的話,就會好很多,我們可以根據輸入情況做處理,尤其是對于瞬間的輸入,我們可以通過軟件抗干擾技術來進行過濾,這樣我們就能自己掌握主動,讓誤操作不會發生。
單片機復位后端口處于高阻態的原因
單片機復位后端口處于高阻態的原因無外乎降低功耗和安全性的原因。但是在程序中,對于單片機復位后的狀態,也要有合理的分配,例如不能讓端口一直處于高阻態,這樣容易引起電流變化(我們在設計中發現,如果端口處于高阻態,會導致靜態電流不穩定),當然端口狀態的設置要與硬件電路配合,對于那些不用的端口,建議設置為輸出。(MSP430數據手冊中說:不用的端口,建議設置為輸出,置于輸出高電平還是低電平,區別不大,因為這些端口沒有連接任何外部器件。)
電路中也一樣,要根據實際情況設置上拉或者下拉電阻等等。
-
繼電器
+關注
關注
132文章
5333瀏覽量
148811 -
電阻
+關注
關注
86文章
5507瀏覽量
171925 -
msp430
+關注
關注
180文章
2403瀏覽量
229302
原文標題:單片機通電后所有接口都是高電平嗎
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論