Ⅰ 關於單片機發光二極體接電阻的問題
第一個圖有兩個錯誤:1.P0口是OD結構,沒有外部上拉的情況下無法輸出高電平,而你沒有連接上拉電阻。圖中的電阻是起限流作用的,對於LED來說它不是上拉作用;2.51單片機的IO口,除P0外,其它的IO口均為內部弱上拉,IO口拉電流能力很弱我記得還不到1mA,無法使LED正常點亮。P0口內部無上拉,拉電流能力為0,這就是為什麼開發板上驅動LED都用下面那個圖的原因了,就是應為51單片機的IO口灌電流能力要比拉電流能力強得多。
Ⅱ 單片機P1.0控制點亮一個發光二極體的電路怎麼接
電路如圖接即可(去掉右邊的按鍵和左邊的電容):
一般單片機對LED燈的接法都是如此,因為單片機IO口的電流輸出能力很弱,一般不使用單片機輸出高電平驅動LED燈,一般使用灌電流的方法驅動,即,單片機輸出低電平,吸收電流的方法。
Ⅲ 利用單片機控制8個發光二極體,設計8個燈同時閃爍的控製程序
方法:
1:設定一個變數i,可以從0到3循環的變化
2:檢測一個經過消抖處理的按鍵,按一下,i+1
3:當i值為各個值時,執行相應的花樣。
流水燈參考程序
#include
#include
#define uchar unsigned char
uchar j,temp;
void delay(unsigned int ms)
{
uchar t;
while(ms--)
for(t=0;t<123;t++);
}
void main()
{
P1=0xff;
delay(500);
temp=0xfe; //有點怪,led接在P2.3~P2.6
for(j=0;j<4;j++)
{
P1=temp;
delay(500);
temp=_crol_(temp,1);
}
P1=0xff;
while(1);
}
Ⅳ 單片機連接發光二極體的方式不明白求解答!
1,這種連接方式主要是因為單片機埠需要上拉電阻,當單片機為1的時候LED亮,0的時候滅
2,這種線路設計比較糟糕的,因為當單片機0的時候,埠灌電流比較大,而且滅的時候也會損耗更多的電流
3,不推薦此線路設計方式
Ⅳ 51單片機電路中,共陰極發光二極體,陰極必須接什麼
陰極接單片機IO口。
解釋分析:
共陰極二極體:二極體的陽極接VCC(電源正極),陰極接單片機IO口,IO口給低電平(0),二極體才工作,故稱共陰極二極體。
共陽極二極體:二極體的陰極極接GND(接地),陽極接單片機IO口,IO口給高電平(1),二極體才工作,故稱共陽極二極體。
此LED(發光二極體)為共陰極二極體。
整流電路
在分析整流電路時,為了簡化分析過程,一般假設負載為純阻性負載,其他類型負載時輸出會有所不。假設整流二極體為理想二極體,即施加正向電壓時導通且正向電阻為零,加反向電壓時截止且反向電流為零,變壓無損耗為理想變壓器。
對整流電路主要是研究輸出脈動直流電壓Uo、輸出電流的平均值Io、脈動系數γ和整流二極體承受的最大整流平均電流IF和最高反向工作電壓URM的分析等問題。
Ⅵ 怎麼使單片機直接控制發光二極體 沒有鎖存器~ 謝謝
可以用鎖存器74hc573鎖存數碼管的段選。我可以送你一個原理圖,你看看硬體。挺簡單的電路。程序是你每次寫完數碼管的數據後,鎖存一下,p0口就可以做別的工作了,數碼管不會受影響
Ⅶ 51單片機io口連接如圖規格的發光二極體,請問限流電阻要多大
你這是要做實物嗎?關鍵問題是你的單片機是什麼型號的?是STC的嗎?
STC單片機還可以直接用I/O口直接連接發二極體,而目必須是二極體負極接I/O腳,單片機用灌電流驅動二極體。其它單片機驅動不了,二極體不亮的。
再說限流電阻。現在二極體都是高亮度的,電流不用20mA那麼大,在3mA~10mA時,就很亮了。
通過二極體的電流是Id,電壓近似取2Ⅴ,這樣,限流電阻上的電壓是3V,二極體和電阻串聯,總電壓是5V。
則電阻=3/Id。
假如Id取10mA,電阻R=3/10=0.3K=300毆。如果取5mA,R=3/5=0.6K=600毆。
實際做時,可根據實際亮度調整電阻大小。不同顏色的二極體,電流相同,但感覺的亮度卻不同。所以,顏色不同,限流電阻大小也不同的。
Ⅷ 為什麼單片機上第一個發光二極體是0xfe還有其他的燈呢分別是什麼
和發光二極體的接法有關,二極體陰極端連單片機,輸出低電平0就會點亮,0xfe對應的引腳信號為11111110,其中的0就是輸出給第一個發光二極體陰極端的低電平信號。其他的燈對應的輸出低電平編碼信號同樣點亮。
例如:假設單片機的P0口接了八個LED,其中JPP0接的是高電平5V,而L0.0到L0.7接的分別是P0.7到P0.0這樣的話如果P0.7到P0.0上電平是高電平,那麼這個led的壓降就是0,led不亮,如果P0.7到P0.0上電平是低電平,那麼led上就會產生壓降,led就會亮。
#include<reg51.h> /*包含單片機寄存器的頭文件*/
void main(void){while(1){P0=0xfe; /*第一個燈亮*/ P0=0xff; /*第一個燈滅*/}}
P0=0xfe,相當於P0=11111110,這時候P0.0=0,燈L0.7亮,然後P0=0xff,相當於P0=11111111,這時候P0.0=1,燈L0.7滅,然後由於這兩句是放在while(1)中的由於其中1是while{}中的語句執行的條件,由於1始終為真,所以這兩句循環執行。燈L0.7就在不斷閃爍,亮滅。
(8)單片機接發光二極體擴展閱讀:
相關發光二極體引腳點亮編碼:
原理:給二極體陽極和陰極加上正向電壓時,二極體導通。 當給陽極和陰極加上反向電壓時,二極體截止。 因此,二極體的導通和截止,則相當於開關的接通與斷開。
0XFE=1111 1110 表示一個燈亮。0xfd = 1111 1101 第二個燈亮。0xfb = 1111 1011 第三個燈亮。0xf7 = 1111 0111 第四個燈亮。0xef = 1110 1111 第五個燈亮。0xdf = 1101 1111 第六個燈亮。0xbf = 1011 1111 第七個燈亮。0x7f = 0111 1111 第八個燈亮。
Ⅸ 電路中,單片機可以直接接發光二極體嗎
可以直接接發光二極體,每個IO口最大的灌電流可達20毫安,驅動電流也有10多毫安,因此點亮發光二極體沒有問題,只是電路中需要加一個限流電阻,將電流控制在10毫安以內為宜。