在 MSP430 單片機(jī)的手冊(cè)中,對(duì)于端口復(fù)位后的狀態(tài),是這樣描述的:復(fù)位后,所有端口處于輸入狀態(tài)。
就這個(gè)問(wèn)題,我們來(lái)簡(jiǎn)單說(shuō)一下單片機(jī)上電復(fù)位后端口的狀態(tài)問(wèn)題。
首先,單片機(jī)上電后端口的狀態(tài)應(yīng)盡量避免處于輸出狀態(tài)(無(wú)論是輸出低還是輸出高)
為什么要這樣說(shuō)呢?因?yàn)閱纹瑱C(jī)外圍電路的動(dòng)作就是靠單片機(jī)端口輸出低電平或者高電平來(lái)控制的。假如單片機(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)問(wèn)題了,即使我們?cè)诔绦蛑幸婚_始就把這個(gè)端口置為輸出高電平,但是在復(fù)位期間,這個(gè)端口的狀態(tài)我們是無(wú)法控制的,于是就會(huì)出現(xiàn)一個(gè)瞬間的低電平,雖然這個(gè)低電平持續(xù)的時(shí)間很短,有時(shí)候不足以使繼電器吸合,當(dāng)繼電器仍會(huì)有輕微的吸合動(dòng)作。這顯然是我們不希望看到的。
有些單片機(jī)復(fù)位后端口默認(rèn)為輸入口的原因
前面我們說(shuō)了,單片機(jī)上電后,如果端口默認(rèn)為輸出口,那么不管是輸出低電平還是高電平,都可能會(huì)引起誤動(dòng)作,甚至?xí)a(chǎn)生致命后果。
而假如端口上電后默認(rèn)為輸入口呢?我們知道,單片機(jī)的輸出控制操作一般都是根據(jù)輸入信號(hào)來(lái)實(shí)現(xiàn)的。這樣的話,就會(huì)好很多,我們可以根據(jù)輸入情況做處理,尤其是對(duì)于瞬間的輸入,我們可以通過(guò)軟件抗干擾技術(shù)來(lái)進(jìn)行過(guò)濾,這樣我們就能自己掌握主動(dòng),讓誤操作不會(huì)發(fā)生。
單片機(jī)復(fù)位后端口處于高阻態(tài)的原因
單片機(jī)復(fù)位后端口處于高阻態(tài)的原因無(wú)外乎降低功耗和安全性的原因。但是在程序中,對(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è)中說(shuō):不用的端口,建議設(shè)置為輸出,置于輸出高電平還是低電平,區(qū)別不大,因?yàn)檫@些端口沒(méi)有連接任何外部器件。)
電路中也一樣,要根據(jù)實(shí)際情況設(shè)置上拉或者下拉電阻等等。
審核編輯黃昊宇
-
單片機(jī)
+關(guān)注
關(guān)注
6071文章
45265瀏覽量
660749
發(fā)布評(píng)論請(qǐng)先 登錄

單片機(jī)復(fù)位全解析:為啥要復(fù)位?軟硬復(fù)位有啥區(qū)別?時(shí)間長(zhǎng)短影響啥?#8位單片機(jī)#8位MCU#單片機(jī)方案開發(fā)
復(fù)位電路的核心功能和主要類型

STM32單片機(jī)片上數(shù)字濾波器操作文檔 快速入門數(shù)字濾波器在單片機(jī)上的實(shí)現(xiàn)

單片機(jī)各種復(fù)位電路原理
當(dāng)器件保持復(fù)位狀態(tài)時(shí), CYUSB3065 ( CX3) XRST、XSHUTDOWN 引腳的狀態(tài)是什么?
有單片機(jī)方面的大佬嗎?有幾個(gè)單片機(jī)方面的問(wèn)題需要請(qǐng)教一下
單片機(jī)學(xué)習(xí)之GPIO
STM32單片機(jī)最小系統(tǒng)電路設(shè)計(jì)

請(qǐng)問(wèn)DAC7562上電復(fù)位的時(shí)候REF輸出和DAC輸出同時(shí)都是0嗎?
DAC1282上電復(fù)位后,一直輸出1.25V左右的電壓,為什么?
使用ADC3562的時(shí)候,電復(fù)位之后默認(rèn)兩線制,同時(shí)DA0和DA1均有數(shù)據(jù)輸出,但是沒(méi)有給輸入,為什么?
復(fù)位電路的設(shè)計(jì)問(wèn)題

請(qǐng)問(wèn)TPA3112D1的datasheet上的control system要連在單片機(jī)上嗎?
基于51單片機(jī)的手動(dòng)數(shù)字時(shí)鐘

評(píng)論