51微控制器引腳檢測高電平輸入的問題

2021-03-10 23:41:44 字數 1836 閱讀 7588

1樓:做而論道

在網上看到這樣bai的一句

du話 「51微控制器的i/o 口檢測高低電zhi平是需要首dao先讓該埠置為內1的。此時容這個引腳才被設定為輸入」,

--正確。

也就是說如果上面的設計可以做到的話,那麼就需要一開始的時候給高電平嗎?

--必須先給埠置一。

--你的電路,是做不到的。

--你的電路,按鍵、不按鍵,送到引腳的訊號,都是高電平。

--你的電路,設計的不對,不符合微控制器的特點。

--按鍵,另一端,應該接地。

2樓:匿名使用者

51微控制器的引腳檢測到各個引腳的電壓高於1.8v就認為是有高電平輸入,低於0.7v就認為是低電平輸入,在0.7~1.8v之間,是一個未知區域,既不是高電平也不是低電平。

3樓:匿名使用者

51微控制器引腳檢測高電平輸入的問題,是什麼問題?看不見,怎麼回答?

4樓:匿名使用者

設計存在缺陷:復「51微控制器的制i/o 口檢測高低電平是需要首先讓該埠置為1的。此時這個引腳才被設定為輸入」 正確,此操作在io口初始化時設定;但是你的電路圖,讀取的始終為「1」;原因:

當設定為輸入時,微控制器內部有上啦電阻,把其io口引腳拉高;

改進:io口連線一下拉電阻 6.8k~10k之間即可

5樓:

大家常用的是,按鍵一端接地,另一端接io口 檢測,檢測端加上拉電阻。

6樓:匿名使用者

微控制器baiio與外部相連是線與的du關係,所以你的方法不行。單zhi

片機io口為高的時候你

dao讀取內的相應io口電平才是外部電平。

容如果你把相應io口置0,無論外部是0或1你讀取的永遠是0。所以你只有把io口置1,判斷if( p1^6==0)才能判斷是否鍵按下(當然你的按鍵得接地)。

51微控制器 如何檢測某個引腳是否為高低電平 求一個c源程式例項

7樓:匿名使用者

用led指示引腳狀態。要求:一個51最小系統版,一個led,一個1k~10k的電阻(4.7k)。專

+5v電源接到led的正極,串聯一個屬4.7k電阻,接到微控制器的引腳上(如p0.1口)。

該電路功能:當微控制器輸出低電平時,小燈亮;微控制器輸出高電平時,小燈不亮。程式設計序觀察現象。

程式:void main()

while(1)

}你若想單純的去檢測正在執行微控制器的io口的電平狀態的話,直接用led接到該io口觀察led的狀態即可。如果事先知道該io口的電平時固定的,拿更好辦了,直接用萬用表測。

8樓:匿名使用者

sbit  go_out =p3^5;                       //需要bai檢測的引腳du

sbit  led         =p3^4;                       //顯示led    引腳為低時zhi候亮

void main()                     //主程式dao

else      led=0;權          // 否則led點亮}}

9樓:匿名使用者

sibt p1.1=p1^1;

void main()

10樓:

判斷埠是1還是0.

11樓:匿名使用者

假如你要檢測的腳是p2.0, c51如下:

sbit p20 = p2^0;

.....

if(p20==1)

微控制器引腳輸入高電平為什麼要加上拉電阻?有圖,求指導

我手裡就8.2k和7.5k的電阻多,所以,我的製作都是8.2k的上拉電阻 等8.2k的用光了,我就用7.5k的。這個圖是檢測p2.1引腳的低電平 上拉電阻是為了p2.1引腳低電平變為高電平時加快速度 因為你沒說用的是什麼型號的微控制器,所以我只能這樣回答你 對於準雙向內i o,p2.1這根口線接不接...

我想使51微控制器管腳由低電平變高電平,這樣做可以不

應該可以,這相當於一個射極跟隨器,當連線在p1.7口的三極體基極輸入高電平時,它的發射極也會輸出一個低於基極0.7v左右的電平拉高p1.0口,對於工作在5v下的微控制器來說,比p1.7口輸出的高電平電壓低0.7v的電壓應該可以被p1.0口認為是高電平。但是如果微控制器的工作電源電壓是3v或更低,就不...

微控制器的實驗為什麼輸入高電平的時候Led燈不亮,而要輸入低電平才會亮啊

一般微控制器i o口輸出的電流是比較小的,所以多數採用低電平點亮,led另一端通過一個電阻接到電源,而有些增強型微控制器可以直接驅動led。你檢查硬體電路,看是高電平控制還是低電平控制!不過你的肯定是高電平了!改一下電路就可以了!led燈是有正負極的!反向不導通是特性!所以才有你說的這個問題 出高電...