GPIO口,通用輸入輸出,這個(gè)大家都知道,但是輸入,輸出的電路是什么樣的,其實(shí)并不用太關(guān)心,只需配置寄存器即可,但是還是要摸一摸,為了方便理解,引入了單片機(jī)的IO口原理圖來(lái)說(shuō)明(道理是一樣的)
認(rèn)識(shí)電路:
一.普通IO口
如上圖所示(紅色框是板子內(nèi)部)
1.基級(jí)(②位置)為低電平時(shí),PNP導(dǎo)通,此時(shí)單片機(jī)IO口輸出的是低電平,當(dāng)基級(jí)(②位置)為高電平時(shí),PNP導(dǎo)通,此時(shí)單片機(jī)IO口輸出的是高電平
2.這里注意,④位置上是一個(gè)上拉電阻,這里設(shè)置上拉電阻的考慮因素是這樣的,假設(shè)我要在這個(gè)單片機(jī)IO口輸出一個(gè)電流來(lái)驅(qū)動(dòng)小燈發(fā)亮,①的位置電阻一般有20k左右,發(fā)出的電流250uA,基本上忽略不計(jì),加上一個(gè)上拉電阻后, 總電流 = ①位置電流 + ④位置電流(①與④構(gòu)成并聯(lián)電路)
3.為什么不設(shè)置讓,①的位置電阻R小一點(diǎn),這樣電流大一點(diǎn),就不需要上拉電阻了呢? 因?yàn)閱纹瑱C(jī)是控制單元,設(shè)計(jì)時(shí)最好把強(qiáng)電流設(shè)計(jì)到外圍電路里,如果設(shè)計(jì)到單片機(jī)內(nèi)部,會(huì)燒壞板子
這里體現(xiàn)出上拉電阻的其中一個(gè)作用--->加大電流,加強(qiáng)了驅(qū)動(dòng)的能力
二.強(qiáng)推挽輸出:
(意思就是說(shuō)能輸入輸出大電流,前面已經(jīng)說(shuō)了單片機(jī)內(nèi)部最好不要設(shè)計(jì)大的電流,所以這個(gè)功能的IO要少用)
1.內(nèi)部總線輸入高電平, 上面的NPN導(dǎo)通,則IO口輸出大電流(因?yàn)樯厦娴娜龢O管VCC電源下面沒(méi)有接上拉電阻, I = VCC/電阻+NPN內(nèi)部電阻),所以IO出口的地方一般接一個(gè)電阻限流內(nèi)部總線輸如低電平, 下面的NPN導(dǎo)通,則此時(shí)如果IO口外面接一個(gè)VCC(不帶上拉電阻),就會(huì)有大電流灌輸進(jìn)來(lái)
這里體現(xiàn)了上拉電阻的另一個(gè)作用--->限流
三.開(kāi)漏級(jí)OC門(mén):
什么叫IO口的開(kāi)漏狀態(tài),如上圖所示 如果內(nèi)線是高電平,則NPN的基級(jí)是低電平,此時(shí)NPN不導(dǎo)通,那么IO口此時(shí)相當(dāng)于是懸浮在空氣中的,所以無(wú)法確定它的狀態(tài)(不知道是低電平還是高電平),那么這個(gè)狀態(tài)就是開(kāi)漏狀態(tài),所以此時(shí)要向外圍電路輸出一個(gè)高電平是不可能的,如果想輸出一個(gè)高電平,則必須在NPN的集電極上面來(lái)一個(gè)上拉電阻
這時(shí)又體現(xiàn)出上拉的一個(gè)作用: 就是將不確定的信號(hào)通過(guò)一個(gè)電阻嵌位(保持)在一個(gè)高電平上,下拉同理
-
上拉電阻
+關(guān)注
關(guān)注
5文章
360瀏覽量
30621 -
高電平
+關(guān)注
關(guān)注
6文章
149瀏覽量
21386 -
gpio接口
+關(guān)注
關(guān)注
1文章
16瀏覽量
13376
原文標(biāo)題:GPIO電路圖以及上拉電阻的作用
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論