微控制器為什麼P1口輸出低電平小燈才亮

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

1樓:0427付強

這與實際的電路連線有關,能夠構成led的電流回路,就能夠點亮led。

下面這個電路圖,就是低電平點亮的電路圖:

當i/o口輸出高電平時,led兩端的電位相同,因此電壓為0v,不能構成電流回路,所以led不亮。當i/o口輸出低電平時,led左側電位為0,而右側則在r1的上拉作用下電位提高,因此led兩端有正向電壓,可以點亮發光。

mcs-51微控制器的i/o口具有比較強的灌電流能力,但拉電流能力卻很弱,所以並不適合用輸出高電平的方法點亮led,大多采用這種負邏輯的驅動方法。

2樓:匿名使用者

你應該好好看看書咯…… 排阻連線到微控制器的口上只是增加微控制器埠電平的穩定性,也就是將埠上拉!其實p1口可以不接排阻的,因為內部已經有上拉電阻了,而p0是必須要接的,因為它是漏極開路!

你說的那種情況會亮!

但是你應該養成這種習慣,這就是常說的上拉,你要是做電機控制之類的,你就更加清楚,會有干擾,電機會抖動,但是加了上拉電阻,訊號就能相對穩定!但是你要就是接二極體那肯定是沒問題了,因為那點干擾你根本看不出來!

3樓:匿名使用者

因為發光二極體正極接的是vcc,負極是微控制器的i/o口,發光二極體要有一個電勢差它才會亮,如果i/o口是高電平的話發光二極體兩端沒有電勢差,所以不會亮。只有當發光二極體的負極是低電平是它才會有電勢差,才會工作。

樓主的第二個問題也是正確的,只要形成一個足夠的電勢差,二極體就能工作,不過電池的話就要形成閉合迴路才行。

微控制器p1口的8個埠p1.0~p1.7分別接led燈l1~l8,程式設計使8盞燈按照下列要求點亮。 70

4樓:雨田丫

#include

#define uchar unsigned char#define uint unsigned intsbit k1=p3^0;

void delay(uint i)

void main()}}

sw1接通第1種效果;斷開為第2種效果。

5樓:匿名使用者

這個簡單

unsigned char code table[0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff];

main()}

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

無人機 燈亮是因為兩側有電壓差,led是一般0.7v左右,是有高電平減低電平組成的電壓差 1共陽極接法 當led陽極接電路板上的高電位,陰極接微控制器引腳,微控制器引腳輸出高電平,沒有電壓差,燈不亮 微控制器引腳輸出低電平,有電壓差,燈亮。你所說的情況 2.共陰極接法 當led陰極接電路板上的低電位...

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

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

用51微控制器P1口驅動LED做迴圈點亮控制,每個LED占空比50,週期兩秒

首先給p1口送 0feh 延時 左移 再次送p1口 做而論道 org 0000h mov a,7fh loop mov p1,a call dl1s mov p1,255 call dl1s rr a sjmp loop dl1s mov r5,10 d2 mov r7,200 d1 mov r6,...