【導讀】GPIO口,通用輸入輸出,這個(gè)大家都知道,但是輸入,輸出的電路是什么樣的,其實(shí)并不用太關(guān)心,只需配置寄存器即可,但是還是要摸一摸,為了方便理解,引入了單片機的IO口原理圖來(lái)說(shuō)明(道理是一樣的)。
GPIO口,通用輸入輸出,這個(gè)大家都知道,但是輸入,輸出的電路是什么樣的,其實(shí)并不用太關(guān)心,只需配置寄存器即可,但是還是要摸一摸,為了方便理解,引入了單片機的IO口原理圖來(lái)說(shuō)明(道理是一樣的)。
認識電路:
一、普通IO口

如上圖所示(紅色框是板子內部)
1、基級(②位置)為低電平時(shí),PNP導通,此時(shí)單片機IO口輸出的是低電平,當基級(②位置)為高電平時(shí),PNP導通,此時(shí)單片機IO口輸出的是高電平。
2、這里注意,④位置上是一個(gè)上拉電阻,這里設置上拉電阻的考慮因素是這樣的,假設我要在這個(gè)單片機IO口輸出一個(gè)電流來(lái)驅動(dòng)小燈發(fā)亮,①的位置電阻一般有20k左右,發(fā)出的電流250uA,基本上忽略不計,加上一個(gè)上拉電阻后,總電流 = ①位置電流 + ④位置電流(①與④構成并聯(lián)電路)。
3、為什么不設置讓?zhuān)俚奈恢秒娮鑂小一點(diǎn),這樣電流大一點(diǎn),就不需要上拉電阻了呢?因為單片機是控制單元,設計時(shí)最好把強電流設計到外圍電路里,如果設計到單片機內部,會(huì )燒壞板子。
這里體現出上拉電阻的其中一個(gè)作用--->加大電流,加強了驅動(dòng)的能力
二、強推挽輸出:
意思就是說(shuō)能輸入輸出大電流,前面已經(jīng)說(shuō)了單片機內部最好不要設計大的電流,所以這個(gè)功能的IO要少用

1、內部總線(xiàn)輸入高電平, 上面的NPN導通,則IO口輸出大電流(因為上面的三極管VCC電源下面沒(méi)有接上拉電阻, I = VCC/電阻+NPN內部電阻),所以IO出口的地方一般接一個(gè)電阻限流內部總線(xiàn)輸如低電平, 下面的NPN導通,則此時(shí)如果IO口外面接一個(gè)VCC(不帶上拉電阻),就會(huì )有大電流灌輸進(jìn)來(lái)。
這里體現了上拉電阻的另一個(gè)作用--->限流
三、開(kāi)漏級OC門(mén):

什么叫IO口的開(kāi)漏狀態(tài),如上圖所示 如果內線(xiàn)是高電平,則NPN的基級是低電平,此時(shí)NPN不導通,那么IO口此時(shí)相當于是懸浮在空氣中的,所以無(wú)法確定它的狀態(tài)(不知道是低電平還是高電平),那么這個(gè)狀態(tài)就是開(kāi)漏狀態(tài),所以此時(shí)要向外圍電路輸出一個(gè)高電平是不可能的,如果想輸出一個(gè)高電平,則必須在NPN的集電極上面來(lái)一個(gè)上拉電阻。
這時(shí)又體現出上拉的一個(gè)作用:就是將不確定的信號通過(guò)一個(gè)電阻嵌位(保持)在一個(gè)高電平上,下拉同理。
這里對于OC門(mén)還有一個(gè)應用,可以控制高電位的電路,如果外圍電路需要大的電壓,則可以用OC門(mén)加上拉電阻來(lái)完成這個(gè)功能,如下圖所示, 當內部總線(xiàn)為高電平,則NPN截止,最右邊加一個(gè)12v的上拉電阻,使得電位鉗在12v供外圍電路使用。

免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問(wèn)題,請電話(huà)或者郵箱聯(lián)系小編進(jìn)行侵刪。