51微控制器p0p1p2p3口,到底有啥區別啊,他們的基本功能

時間 2021-08-30 10:27:48

1樓:獅子最愛冥王星

51微控制器p0、p1、p2、p3口區別如下:

一、意思不同

p0口作輸出口用時,需加上拉電阻。p0口有複用功能。當對外部儲存器進行讀寫操作時,p0口先是

提供外部儲存器的低8位地址,供外部儲存器地址鎖存器鎖存,然後充當資料線,用於寫出或讀入數

據。p1口、p2口只是普通io口。

二、功能不同

p0口第一個功能是資料介面,第二個功能是地址低八位,p2口第二個功能是地址高八位。另外除了

p0口沒有內部上拉電阻外,其他三個都有內部上拉電阻。

三、用法

訊號輸出和互動介面,程式設計可以確定不同的功能,例如連線液晶屏,作為控制訊號輸出輸入等。

由於沒有埠複用功能,所以,p0口的v1變成了一個上拉電阻。由於內部就有上拉電阻,所以,作

為gpio時,p1口不需要接上拉電阻,當然,您接了也沒關係啦,就相當於兩個上拉電阻並聯。

基本功能:

一、p1 就沒多少功能,就是個準雙向i/o口。

二、p0當準io口使用,也就是既可以用作輸出口,也可以用作輸入口。

三、p3口除了是個準雙向i/o口外。第二功能很重要p3.0 (rxd)序列資料接收端,p3.1 (txd)

序列資料傳送端,p3.2 (int0)外部中斷0輸入,p3.3 (int1)外部中斷1輸入;

p3.4(t0)timer0計數器輸入,p3.5(t1)timer1計數器輸入,p3.6(wr)寫外部儲存器的脈衝

輸出,p3.7(rd)讀外部儲存器的脈衝輸出。

擴充套件資料

1、p0口:真正的雙向口,輸出鎖存,輸入緩衝,輸入前要先置1(keil包含的標頭檔案已經有動作

了,如果用匯編,要人工置1),輸出為漏極開路,輸出一般都要上拉電阻。輸入為高阻態,能驅動

8個ttl負載。當有片外儲存器時,作資料線使用。

2、p1口:最簡單的口,輸入也要先置1,無高阻態,只能是輸出或者輸入。能驅動4個ttl負載。

儲器。能驅動4個ttl負載。

4、p3口:i/o(輸入/輸出)與p1口一樣,但無論輸入輸出都要先置1。具有很多複用功能。

2樓:匿名使用者

一、意思不同

p0口作輸出口用時,需加上拉電阻。p0口有複用功能。當對外部儲存器進行讀寫操作時,p0口先是提供外部儲存器的低8位地址,供外部儲存器地址鎖存器鎖存,然後充當資料線,用於寫出或讀入資料。

p1口、p2口只是普通io口。

二、功能不同

p0口第一個功能是資料介面,第二個功能是地址低八位,p2口第二個功能是地址高八位。另外除了p0口沒有內部上拉電阻外,其他三個都有內部上拉電阻。

三、用法

訊號輸出和互動介面,程式設計可以確定不同的功能,例如連線液晶屏,作為控制訊號輸出輸入等。

由於沒有埠複用功能,所以,p0口的v1變成了一個上拉電阻。由於內部就有上拉電阻,所以,作為gpio時,p1口不需要接上拉電阻,當然,您接了也沒關係啦,就相當於兩個上拉電阻並聯。

基本功能:

一、p1 就沒多少功能,就是個準雙向i/o口。

二、p0當準io口使用,也就是既可以作輸出口,也可以作輸入口。

三、p3口除了是個準雙向i/o口外。第二功能很重要p3.0 (rxd)序列資料接收端,p3.

1 (txd)序列資料傳送端,p3.2 (int0)外部中斷0輸入,p3.3 (int1)外部中斷1輸入;

p3.4(t0)timer0計數器輸入,p3.5(t1)timer1計數器輸入,p3.6(wr)寫外部儲存器的脈衝輸出,p3.7(rd)讀外部儲存器的脈衝輸出。

擴充套件資料

1、p0口:真正的雙向口,輸出鎖存,輸入緩衝,輸入前要先置1(keil包含的標頭檔案已經有動作了,如果用匯編,要人工置1),輸出為漏極開路,輸出一般都要上拉電阻。輸入為高阻態,能驅動8個ttl負載。

當有片外儲存器時,作資料線使用。

2、p1口:最簡單的口,輸入也要先置1,無高阻態,只能是輸出或者輸入。能驅動4個ttl負載。

4、p3口:i/o(輸入/輸出)與p1口一樣,但無論輸入輸出都要先置1。具有很多複用功能。

3樓:匿名使用者

訊號輸出和互動介面,程式設計可以確定不同的功能,例如連線液晶屏,作為控制訊號輸出輸入等。

4樓:匿名使用者

首先,51微控制器p0p1p2p3口,都可以當準io口使用,也就是既可以作輸出口,也可以作輸入口。區別在於:

1、p0口作輸出口用時,需加上拉電阻。

2、p0口有複用功能。當對外部儲存器進行讀寫操作時,p0口先是提供外部儲存器的低8位地址,供外部儲存器地址鎖存器鎖存,然後充當資料線,用於寫出或讀入資料。

3、p1口、p2口只是普通io口。

4、p3口所有管腳運有特殊功能:

p3.0----rxd,序列通訊輸入口,不使用序列通訊功能時,可做普通io口使用

p3.1----txd,序列通訊輸出口,不使用序列通訊功能時,可做普通io口使用

p3.2----int0,外部中斷0輸入口,不使用外部中斷0功能時,可做普通io口使用

p3.3----int1,外部中斷1輸入口,不使用外部中斷1功能時,可做普通io口使用

p3.4----t0,定時器0外部計數輸入口,不使用定時器0外部計數功能時,可做普通io口使用

p3.5----t1,定時器1外部計數輸入口,不使用定時器1外部計數功能時,可做普通io口使用

p3.6----wr,外部儲存器寫訊號,不使用外部儲存器寫功能時,可做普通io口使用

p3.7----rd,外部儲存器讀訊號,不使用外部儲存器讀功能時,可做普通io口使用

5樓:

查查書吧!上面寫的清楚!

典型51微控制器的p0,p1,p2,p3口都有哪些功能

6樓:學海水手

51微控制器p0p1p2p3口,都可以當準io口使用,也就是既可以作輸出口,也可以作輸入口。

需要說明的是,p1口、p2口只是普通io口,無特殊功能。p0口作輸出口用時,需加上拉電阻;p0口有複用功能,當對外部儲存器進行讀寫操作時,p0口先是提供外部儲存器的低8位地址,供外部儲存器地址鎖存器鎖存,然後充當資料線,用於寫出或讀入資料。p3口是特殊功能口,所有管腳都有特殊功能,分別是:

p3.0----rxd,序列通訊輸入口,不使用序列通訊功能時,可做普通io口使用

p3.1----txd,序列通訊輸出口,不使用序列通訊功能時,可做普通io口使用

p3.2----int0,外部中斷0輸入口,不使用外部中斷0功能時,可做普通io口使用

p3.3----int1,外部中斷1輸入口,不使用外部中斷1功能時,可做普通io口使用

p3.4----t0,定時器0外部計數輸入口,不使用定時器0外部計數功能時,可做普通io口使用

p3.5----t1,定時器1外部計數輸入口,不使用定時器1外部計數功能時,可做普通io口使用

p3.6----wr,外部儲存器寫訊號,不使用外部儲存器寫功能時,可做普通io口使用

p3.7----rd,外部儲存器讀訊號,不使用外部儲存器讀功能時,可做普通io口使用

51微控制器中,p0口作為輸出口和p1,p2,p3有什麼不同?

7樓:念德臺丁

p0口中沒有上拉電阻,在輸出時需外加上拉電阻才能輸出1;還有就是,p0口可以做片外資料和片外程式儲存器的低八位地址匯流排和資料匯流排。其他的都差不多吧……

大神們,51微控制器at89s52晶片p0口、p1口、p2口和p3口它們之間有什麼內在聯絡?有什麼區別?都有哪些功能?

8樓:匿名使用者

四個p口沒有內在聯絡。

p0是標準雙向口,但不能輸出高電平,需要上拉;

p1是常用輸入、輸出口,有內部上拉

p2常與p0構造外部儲存器地址,也用於輸入輸出p3具有外中斷、計數輸入等第二功能,也用於輸入輸出。

p1、p2、p3都有內部上拉,可以輸出高電平,但驅動能力很差,一般都是用低電平作有效訊號。

9樓:

p0-p3口都是plc的輸入輸出口,如p0,它是開路輸出,要取高電平要接上位電阻。p1,p2為輸入輸出口,不用接上位電阻。p3是輸入輸出口,同時還有第二功能。

通常p3不在程式裡定義第二功能,它就只是單純的輸入輸出口。微控制器的程式語言一般是彙編和c語言,我比較會c,彙編沒搞過,可也不難的。一個微控制器你要使用,須先做個最小系統,如復位,電源,晶振。

然後用keil寫c語言**,在用protues彷真。首先,用c語言寫標頭檔案,定義p口,#include//標頭檔案定義 sbit p0^3 d0; //p0.3口定義為d0 void main() //主函式,執行後p3.

0輸出低電平。如要使用p1、2、3都是可以的。如要使用p3的第二功能。

如p3.1是中斷口吧,只需在程式**內加上一句 ea=1; //開啟總中斷就可以使用第二功能了,此次該口不是單純的輸入輸出口了,而是一箇中斷口。

典型51微控制器的p0,p1,p2,p3口都有哪些功能?

10樓:墨汁諾

p0口第一個功能是資料介面,第二個功能是地址低八位,p2口第二個功能是地址高八位。另外除了p0口沒有內部上拉電阻外,其他三個都有內部上拉電阻。p1就沒多少功能,就是個準雙向i/o口。

最重要的就是p3口了,他除了是個準雙向i/o口外,第二功能很重要:p3.0

(rxd)序列資料接收端;p3.1

(txd)序列資料傳送端;p3.2

(int0)外部中斷0輸入;p3.3

(int1)外部中斷1輸入;p3.4(t0)timer0計數器輸入:p3.

5(t1)timer1計數器輸入;p3.6(wr)寫外部儲存器的脈衝輸出:p3.

7(rd)讀外部儲存器的脈衝輸出。

11樓:橘落淮南常成枳

1、p0口:真正的雙向口,輸出鎖存,輸入緩衝,輸入前要先置1(keil包含的標頭檔案已經有動作

了,如果用匯編,要人工置1),輸出為漏極開路,輸出一般都要上拉電阻。輸入為高阻態,能驅動

8個ttl負載。當有片外儲存器時,作資料線使用。

2、p1口:最簡單的口,輸入也要先置1,無高阻態,只能是輸出或者輸入。能驅動4個ttl負載。

儲器。能驅動4個ttl負載。

4、p3口:i/o(輸入/輸出)與p1口一樣,但無論輸入輸出都要先置1。具有很多複用功能。

12樓:匿名使用者

這些引腳主要是用於輸入輸出

可以用程式控制 讓引腳輸出高電平或低電平

還可以檢測輸入到引腳的電平變化

51的微控制器中,P0口作為段選,而P2口作為位選,需要挺多數碼管顯示的。不夠用,如何擴充套件

樑絲祺 親,只能選用擴充套件方案。但138太麻煩了。建議你選用74154,是一個4 16線的譯碼器。http wenku.baidu.com view 5262f0c04028915f804dc25e.html 這是他的資料手冊。你的數碼管一共都加起來是12位,也就是只要能提供出去12個訊號就行了。...

51微控制器P1 P2口初始化置低電平的時候怎樣讀取外部高電平

華錄 起點 51微控制器的p1 p2口內部有上拉,你直接輸入高電平,應該可以識別到。如果程式判斷不出,你可以測試一下埠電壓,如果電壓過低導致微控制器無法識別,那就需要接外部上拉了,保證輸入高電平的時候能夠被識別出來。 灬隨緣灬 當io口出現高電平的時候就可以讀取了,高於3.6伏就是高電平了。程式中可...

微控制器程式設計按鍵K1 p1 1 K2 p1 2 k3 p1 3 k4 p1 4 p5 p6輸出 k1 k3控制p5,k2k4控制p6

硬體開發 看你連分都沒有花五分鐘給你寫一個程式 如下 include 通用89c52標頭檔案 include intrins.h sbit key 01 p1 1 sbit key 02 p1 2 sbit key 03 p1 3 sbit key 04 p1 4 sbit main a p1 5 ...