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

時間 2021-09-10 12:09:58

1樓:華錄_起點

51微控制器的p1/p2口內部有上拉,你直接輸入高電平,應該可以識別到。

如果程式判斷不出,你可以測試一下埠電壓,如果電壓過低導致微控制器無法識別,那就需要接外部上拉了,保證輸入高電平的時候能夠被識別出來。

2樓:灬隨緣灬

當io口出現高電平的時候就可以讀取了,高於3.6伏就是高電平了。程式中可以使用if判斷當pi或者p2等於ffh的時候執行某種操作。

3樓:

微控制器引腳作為輸入和輸出是由程式來決定的,與外圍電路和埠狀態無關。

比如你想做輸出,就直接給p1口賦值。p1 = 0xfe; mov p1,#0feh

如果你想讓p1口做輸入,直接讀取p1口就行了 a=p1; mov a,p1

不用考慮io口狀態,直接讀就是了。

你想判斷外部是否是高電平,比如p1.0讀到一個高電平的時候p2.2輸出0:

if(p1_0)

p2_2 = 0;

明白了嗎?

4樓:

51不用設定方向,這樣的話就看外部電平的拉高拉低的能力了,如果是強上拉,就能拉高階口,如果比較弱,就拉不上來了

51微控制器怎麼讀取p0,p1口的值,是要先給一個高電平才能讀取嗎?c程式怎麼寫?

5樓:匿名使用者

為了保險一般需要先給送一個「高」,再讀取io口,這是針對那些沒有加上拉電阻的io口而採取的辦法,如果加了上拉電阻,是不用這麼麻煩的,可以直接讀取io口的值。

uncsigned char dat0,dat1;

//p0=0xff;p1=0xff;

dat0=p0;

dat1=p1;

6樓:

是的可以先在初始化寫一句

p1=1;

就可以讀了

p0記得接上拉電阻

51微控制器p1口做輸入口時,要求判斷高電平是否輸入,要對p1口怎麼設定?謝謝!

7樓:匿名使用者

其實輸入高電平是不太符合51微控制器的使用。不過應該可以採用查詢的方法。譬如,你把需要檢測的腳置1,然後在查詢,如果是1,輸入就是高電平,如果是0,輸入就是低電平。

為安全起見,建議你置1查詢就好了。

8樓:匿名使用者

要判bai斷的是高電平,置1不行du,要先zhi把p1口置0。不會是dao整個p1口都做輸入?專我想應該是p1口的某一位吧

屬。如果我理解正確的話,比如p1.1口檢測是否有高電平輸入,如果有點亮p2.0控制的led燈。

sbit p1_1 = p1^1;

sbit p2_0 = p2^0;

p1_1=0;

p2_0=1;

while(!p1_1)

如果是這個io口:

p1=0;

while(!p1)

9樓:匿名使用者

設定p1=0xff,然後輪詢p1,只要p1不等於0x00,p1的8個腳中一定有一個不是低電平

51微控制器怎麼初始化io口為低電平?

10樓:匿名使用者

1、首bai先注意51微控制器上電的

du時候會有個復位的操zhi作,復位的時候dao不執行微控制器內部回程式,復位之後答51微控制器的所有io口都為高電平;

2、在微控制器復位之後在main函式裡執行程式,如果要使io口初始化為低電平,就要在while迴圈的上方把io置低;例如:

一般程式的結構是這樣的:

void main()

}3、基於上面的原理,在設計微控制器外圍電路的時候,為了不讓外圍電路誤動作,一般把外圍電路設定成微控制器io口低電平的時候 盡心動作,

比如: 點亮led燈的時候,,一般把led的負極接io口,,這樣微控制器上電的時候,沒有進入程式之前,led是不會亮的,

11樓:匿名使用者

比如設定p1.0口為低電平,常見寫法就是這樣:sbit p1_0 = p1^0; p1_0 = 0;第一句先定義好p1.0口的名字,然後直接用複製語句賦0即可們1好方便的。

12樓:硬體開發

51微控制器io初始抄

化方式如下,在主程襲序裡bai面main裡面直接初始化du如下,微控制器所有zhi的io都是低電平。

int main(void)}

13樓:沙沙智宇

p0,p1,p2,p3四個8位準雙向i/o引腳;(作為i/o輸入時,要先輸出高電平)

對相應p口賦值。如:p0 = 0xff

14樓:匿名使用者

直接用置位語句:clr p*.*

或口操作: mov p0,#00h

15樓:黑幕

埠賦值 px(0/1/2/3) = 0x00;

先sbit 定義一下,就可以位操作了

16樓:匿名使用者

p0=0;(p0^0=0;p0^1=0;。。。。略去,下同)p1=0;

p2=0;

p3=0;

看需要哪個口,設定為0就行。

17樓:匿名使用者

只要在住迴圈程式之前抄加入i/o口設定代bai碼,就可以初du始化i/o口為低電平。

如果需要某一i/o口復zhi位後全部dao輸出低電平,則初始化方法為:

main()

}2.如果需要i/o口的某一位輸出低電平,則初始化方法為:

main()}

典型51微控制器的P0,P1,P2,P3口都有哪些功能

墨汁諾 p0口第一個功能是資料介面,第二個功能是地址低八位,p2口第二個功能是地址高八位。另外除了p0口沒有內部上拉電阻外,其他三個都有內部上拉電阻。p1就沒多少功能,就是個準雙向i o口。最重要的就是p3口了,他除了是個準雙向i o口外,第二功能很重要 p3.0 rxd 序列資料接收端 p3.1 ...

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

樑絲祺 親,只能選用擴充套件方案。但138太麻煩了。建議你選用74154,是一個4 16線的譯碼器。這是他的資料手冊。你的數碼管一共都加起來是12位,也就是只要能提供出去12個訊號就行了。74154的4個輸入端a0a1a2a3可以分別連線微控制器的32腳,21腳,22腳,23腳,但你原來和第一個數碼...

簡述MCS 51微控制器P0 P3口的功能

一般p0做資料口和地址的低八位。p2做地址的高八位。如果沒有外部擴充套件儲存器可以作為一般的i o使用。p1一般作為普通i o用。p3有第二功能,所以一般做特殊情況使用,比如序列通訊,按鍵中斷,定時中斷等。課本上都有較詳細的介紹。 一般情況下,四個口都可以當作基本的資料輸入輸出引腳當然,裡面有些引腳...