『壹』 PIC單片機驅動LED燈
ZLG7290是I2C通信,你可以一個I2C介面接多個ZLG7290。或者用我下面說的方案(很巧的一種方案,這是MICROCHIP公司推崇的)
你用的是PIC24HJ12GP202,有28引腳的那個單片機么?這個有21個IO引腳,其中有10個可以復用為AD輸入引腳,還有兩個引腳可配置為I2C介面。
根據你的描述,首先你需要有四個IO引腳做輸入,不管是模擬輸入還是數字輸入,用23、24、25、26這四個引腳做輸入應該可以把。然後2、3引腳可以用來做在線編程的數字輸入口。
剩下的15個IO引腳,有兩個17、18引腳可以做跟ZLG7290的I2C介面,I2C匯流排允許掛接多個I2C晶元。你可以用N個ZLG7290接LED和數碼管(這是方案1)。
或者(這是我提議的方案2)用一個ZLG7290管理數碼管。而剩下的13個引腳中用5個IO引腳就能控制了20個LED燈。具體看下面鏈接中這個文檔的第三頁的竅門2。
這文檔是PIC的生產商MICROCHIP公司推出的。適用於PIC這種需要控制輸入輸出的單片機。它的原理是,PIC單片機的某個IO引腳配置為輸入的時候,這個IO引腳其實等於高阻輸入狀態,等於是和VDD和VSS都是斷開的;
而當IO引腳配置為輸出狀態時,輸出高電平為1的時候,它等於是短接到了VDD。而輸出低電平為0時,它等於是短接到了VSS。
那麼,可以看到圖的接法,其中三個IO引腳接了六個燈,這六個燈在同一時間點里只有一個燈會亮。比如的當你讓GP0作為輸入,那麼它對於外面的燈來說,就等於是沒有電氣輸出而斷開的,而GP1、GP2都作為輸出,GP1=1;GP2=0;這樣GP1在等效電路上等於是短接Vdd,GP2等於是短接了VSS,這樣電流從4號燈正端那裡流入,負端留回GP2,3號燈因為是反向戒指,所以不會亮。其他如1號、2號燈都因GP0在等效電路上是斷開的,所以也不會亮。
這樣,根據程序的不同,可以隨意讓這六個燈點亮。要全亮也可以,在很短時間內輪流讓這幾個燈循環點亮,那在人眼看來就等於全亮了。
而根據公式LED燈的數量=IO口數量*(IO口數量-1)那麼你的20個LED等只需要5個IO口就能搞定,只是編程序的時候復雜點而已。
『貳』 PIC16F630單片機驅動led指示燈電路
沒錯啊,pic單片機可以直接輸出20ma的橘如肢電流,led串接圓世100到400的電阻就可以使電橡埋流鉗到10ma左右。
『叄』 單片機P1.0控制點亮一個發光二極體的電路怎麼接
電路如圖接即可(去掉右邊的按鍵和左邊的電容):
一般單片機對LED燈的接法都是如此,因為單片機IO口的電流輸出能力很弱,一般不使用單片機輸出高電平驅動LED燈,一般使用灌電流的方法驅動,即,單片機輸出低電平,吸收電流的方法。
『肆』 單片機的IO驅動LED燈電路,需要用到三極體,求原理圖,並說明
搞不明白單片機I/O口驅動LED為什麼要用到那麼復雜的電路,是單純的為了復雜而復雜嗎?很暈!如果一個I/O口驅動一個LED,只要I/O口低電平有效LED串一個470Ω的電阻即可,如果驅動多個LED只要按下圖即可:
如果Vcc=5v;則R0=1KΩ-5.1KΩ;Rn=470Ω。如果晶體管用S8550,那麼同時點亮5個LED是沒問題的。
『伍』 單片機驅動LED
如果是NPN三極體的話,把LED的正極接到三極體的發射極,如果是PNP的話,把LED的負極接到三極體的發射極這種導通方式電流最大,注意電流方向,PNP的電流是從發射極流動到基極和集電極,NPN的是集電極和基極的電流通過發射極流出。
『陸』 單片機 8×8點陣LED 驅動電路
我看了你寫的,感到秋收的關鍵問題是不理解8×8點陣LED驅動電路是如何工作的。
這個8×8點陣LED驅動電路是「行」和「列」的掃描方式工作的,這64個發光管,在每個瞬間只有一個亮。我畫了一個簡圖,圖中,紅色的僅在1高,A低時工作,同樣綠色的僅在2高,D低時工作,黃色的僅在6高,E低時工作,不是同時都亮。
只要64個發光管在1/25秒內掃描一次(或是說整個64隻管子,每秒掃描35次以上)視覺上是看不出是掃描的。
行和列的掃描頻率是1比8,這樣就能有序的工作了。
你的R1,R2電阻也好確定了,你只要按一個發光管的工作來考慮。這里也用不上什麼3態,你將OE接0電平就行了。
好好想想吧,搞不清可以HI我,我一般晚上都在。
『柒』 怎麼利用單片機控制八個led燈
1:首先設定一個變數i,可以是從0到3循環的變源櫻化,
2:再檢測一個經過消抖處理的按鍵,按一下,即i+1
3:當i值為各個值時,執行相應的變換花樣。
流水燈參考程序
#include
#include
#define uchar unsigned char
uchar j,tmp;
void deay(unsigned int ms)
{
uchar t;
while(ms--)
for(t=0;t<12;t++);
}
void main()
{
P1=0xff;
delay(50);
temp=0xfe; //(led接在P2.3~P2.6)
for(j=0;j<4;j++)
{
P1=temp;
delay(50);
temp=_crol_(tmp,1);
}
P1=0xff;
while(1);
}
『捌』 我用單片機控制LED燈的亮度,應該怎樣設計控制電路為什麼要用到三極體
用單片機輸出pwm,改變占空比就可以控制led的亮度,單片機的輸出電流有限,所以要用三極體作為驅動,三極體在這里作為一個電子開關,三極體型號太多,例如:8050是NPN型的,基極高電平導通,8550是PNP型,要低電平導通。
『玖』 單片機控制LED燈。
嘿嘿
這兩種方法
都是可以的
都可以驅動LED指示燈。
1
關於你的LED怎麼都不亮:
原因可能是連接的方法不太對,你可以參考下述連接方式,檢查一下你的電路。
方法1:
用8050的三極體做開關電路,三極體的基極接P2.0,然後用集電極通過LED接5v電源,發射極通過220歐姆電阻接地。執行SETB
P2.0
指令可以點亮led。
方法2:
是用P1.0直接驅動led,應該讓led另一端通過220歐姆電阻接5v電源,執行CLR
P1.0
指令
會點亮led。
呵呵
趕快再試試吧
滿意後要選滿意回答啊
『拾』 單片機驅動一個led的工作原理是什麼
對於小功率LED,單片機IO驅動能力可以直接驅動。當LED的陽極接電源正時,單片機IO口如果為低電平將形成電流通路,所以可以使LED發光。