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