熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2017-11-25 22:40
正文摘要:單片機(jī)io接了上拉電阻的話,外部5v的壓降全部加載到1k電阻上,輸出5ma電流 如果沒有上拉電阻的話,外部電壓全部加載到數(shù)碼管上電流不應(yīng)該更大嗎 主要是不太理解p0口置1有無(wú)上拉電阻時(shí),電路中的電流究竟是怎么來(lái)的 ... |
|
P0為什么要上拉電阻原因有: 1。 P0口片內(nèi)無(wú)上拉電阻 2。 P0為I/O口工作狀態(tài)時(shí),上方FET被關(guān)斷,從而輸出腳浮空,因此P0用于輸出線時(shí)為開漏輸出。 3。 由于片內(nèi)無(wú)上拉電阻,上方FET又被關(guān)斷,P0輸出1時(shí)無(wú)法拉升端口電平。 |
zl2168 發(fā)表于 2017-11-26 19:18 感覺到了,現(xiàn)在就是想回頭來(lái)把不太理解的都搞明白,之前都是編個(gè)程序就完事了,電路為什么這么設(shè)計(jì)不太了解 |
angmall 發(fā)表于 2017-11-26 18:27 圖中不是接了排阻上方外部5v電源嗎,與接地P2口難道 不能行成壓差嗎,P0口懸空的時(shí)候 |
| 先學(xué)理論,打基礎(chǔ),否則,問(wèn)題多多,事倍功半。 |
| 但是如果沒有這個(gè)上拉電阻的話,P0口置1時(shí),處于懸空狀態(tài),電流怎么來(lái)的? |
angmall 發(fā)表于 2017-11-26 08:57 可不可以這樣理解,P0口置1時(shí)處于懸空狀態(tài),電流直接由外部5V電源經(jīng)過(guò)圖上交叉的節(jié)點(diǎn)和數(shù)碼管流向接地的P2口,P0口置0時(shí)接地,電流不會(huì)經(jīng)過(guò)數(shù)碼管直接流量P0內(nèi)部的地。 但是如果沒有這個(gè)上拉電阻的話,P0口置1時(shí),沒有電阻的電流同樣是由外部電源經(jīng)過(guò)中間節(jié)點(diǎn)流向數(shù)碼管嗎 |
| P0口沒有內(nèi)部上拉電阻,相當(dāng)于開漏輸出,只有接地與不接地兩種狀態(tài)。用于驅(qū)動(dòng)LED等負(fù)載可以不加上拉電阻,相當(dāng)于在LED負(fù)極串聯(lián)開關(guān)。但是要驅(qū)動(dòng)芯片之類時(shí),無(wú)法輸出1,必須加上拉。 |
|
傳統(tǒng)的51單片機(jī)P0口的電流驅(qū)動(dòng)能力較弱。如果用來(lái)驅(qū)動(dòng)數(shù)碼管(多段的LED),建議增加外部的驅(qū)動(dòng)器:用51單片機(jī)的P0口驅(qū)動(dòng)外部驅(qū)動(dòng)器,再由外部驅(qū)動(dòng)器驅(qū)動(dòng)數(shù)碼管。這時(shí)P0口可以不用上拉電阻。 (外部驅(qū)動(dòng)器可以是三極管或集成電路) |
|
樓主看一下單片機(jī)的內(nèi)部結(jié)構(gòu)吧! 你看了片子內(nèi)部結(jié)構(gòu)就知道除了P0口外 其他3口都接了上拉電阻 所以 一旦P0口要用作I\O口使用 就必須接上拉電阻 對(duì)于共陰極數(shù)碼管,需要高電平才能驅(qū)動(dòng) P0為什么要上拉電阻原因有: 1。 P0口片內(nèi)無(wú)上拉電阻 2。 P0為I/O口工作狀態(tài)時(shí),上方FET被關(guān)斷,從而輸出腳浮空,因此P0用于輸出線時(shí)為開漏輸出。 3。 由于片內(nèi)無(wú)上拉電阻,上方FET又被關(guān)斷,P0輸出1時(shí)無(wú)法拉升端口電平。 4、上拉電阻是用來(lái)解決總線驅(qū)動(dòng)能力不足時(shí)提供電流的。一般說(shuō)法是拉電流, 驅(qū)動(dòng)能力與功耗的平衡。以上拉電阻為例,一般地說(shuō),上拉電阻越小,驅(qū)動(dòng)能力越強(qiáng),但功耗越大,設(shè)計(jì)是應(yīng)注意兩者之間的均衡。 不過(guò),加1K上拉后,電流并不是5V/1K=5mA。因?yàn)閘ed一般會(huì)有2V左右的壓降,這樣1K電阻兩端只有3V左右的電壓,流過(guò)的電流只有3mA左右! |
| 單片機(jī)是5V供電的話,IO口的電壓就是0V或5V。當(dāng)IO口為0V時(shí),數(shù)碼管電流不是5毫安,計(jì)算方法為供電電壓(5V)-IO口電壓(0V)-數(shù)碼管電壓(0.7v),再除以1K |
Powered by 單片機(jī)教程網(wǎng)