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燈是有正負極的!反向不導通是特性!所以才有你說的這個問題 出高電...