通過(guò)前面的輸入輸出的內(nèi)容(LED控制與按鍵的使用),我們對(duì)控制I/O口有了一個(gè)基本的了解。如果需要輸出高低電平,可以對(duì)該引腳進(jìn)行寫(xiě)"1"或者"0";如果需要讀取I/O的電平,直接判斷該引腳是高電平或者低電平既可。
在程序上對(duì)P0 ~ P3的輸入輸出控制是一樣的,但實(shí)際上它們內(nèi)部結(jié)構(gòu)是不一樣的,下面是P0~P3的內(nèi)部結(jié)構(gòu)圖。
雙向I/O與準(zhǔn)雙向I/O
從P0~P3的內(nèi)部結(jié)構(gòu)圖可以看出,P0口內(nèi)部沒(méi)有上拉電阻。當(dāng)用作I/O口時(shí),CONTROL輸出為0,ADDRDATA部分不起作用,P0口為開(kāi)漏(Open Drain)如下圖紅色部分不需要考慮。
而P1~P3口均有輸出引腳均有上拉( internal pull-up),以P1為例,下圖紅色方框選中的部分。
引腳內(nèi)部為開(kāi)漏的結(jié)構(gòu)電路被稱為雙向I/O,有上拉的內(nèi)部結(jié)構(gòu)稱為準(zhǔn)雙向I/O。
雙向I/O的輸入輸出:
輸出:可以輸出低電平,不能高電平(如果需要輸出高電平,引腳端需要在外部接上拉電路,驅(qū)動(dòng)能力強(qiáng))。
輸入:可以讀取高電平也可以讀取低電平。
準(zhǔn)雙向I/O:
輸出:可以輸出低電平,也可以輸出高電平(輸出高電平時(shí),驅(qū)動(dòng)能力不強(qiáng)。)
輸入:可以讀取高電平也可以讀取低電平。
實(shí)際上所有的I/O都可以在引腳的外部接上拉電阻,增強(qiáng)I/O口的驅(qū)動(dòng)能力,如下圖所示為一個(gè)最小的單機(jī)最小系統(tǒng)原理圖。
需要注意,使用單片機(jī)內(nèi)部上拉時(shí),電流的方向會(huì)從單片機(jī)流向外部(圖1);外接上拉,電流方向會(huì)從外部流向內(nèi)部(圖2)。前者稱為拉電流,后者稱為灌電流。
圖1
圖2
總結(jié):
1)P0~P3內(nèi)部的結(jié)構(gòu)不相同;
2)P0口作為I/O口,需要輸入高電平需要外接上拉電路。
3)開(kāi)漏引腳稱為雙向I/O口,上拉引腳稱為準(zhǔn)雙向I/O口。
4)電流從單片機(jī)流向外部稱為上拉電流,外部流向單片機(jī)稱為灌電流。
-
led
+關(guān)注
關(guān)注
242文章
23673瀏覽量
670261 -
單片機(jī)
+關(guān)注
關(guān)注
6061文章
44871瀏覽量
646084 -
51單片機(jī)
+關(guān)注
關(guān)注
277文章
5708瀏覽量
126329 -
引腳
+關(guān)注
關(guān)注
16文章
1530瀏覽量
52216
發(fā)布評(píng)論請(qǐng)先 登錄
單片機(jī)I/O口擴(kuò)展及應(yīng)用,下載
單片機(jī)的I/O引腳結(jié)構(gòu)

基于MCS-51單片機(jī)的I/O口結(jié)構(gòu)組成及功能解析
為什么單片機(jī)的I/O口需要驅(qū)動(dòng)

51單片機(jī)系列--并行I/O端口

C51編程6-雙向I/O口與準(zhǔn)雙向I/O口

詳解80C51單片機(jī)的四種I/O口

評(píng)論