① 如何用單片機控制大功率led照明亮度
方法1:
用8050的三極體做開關電路,三極體的基極接P2.0,然後用集電極通過LED接5v電源,發射極通過220歐姆電阻接地。執行SETB P2.0 指令可以點亮led。
方法2:
用P1.0直接驅動led,應該讓led另一端通過220歐姆電阻接5v電源,執行CLR P1.0 指令
會點亮led。
單片機簡介:
單片機(Microcontrollers)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。
② 怎樣利用滑動變阻器改變燈泡的亮度
正確連接升蔽舉滑動變阻器,即兩個接頭不能在一條水平吵碧線上,左右滑動變阻器,通過改變連入的電阻量改變電路中的電流大小並譽,改變燈泡的亮度!
③ 單片機控制led燈亮度原理
讓單片機控制LED的引腳以較高頻率(50HZ以上)輸出方波,改變方波的占空比即可改變LED的平均電壓,從而改變LED的亮度,也就是我們常說的PWM調節。
④ 求教如何用單片機控制LED燈的亮度
控制ked亮度不難,你硬體直接連連接好led燈,串個限流電阻。如果引腳一直給電平那麼燈肯定最亮,那你如果改變給燈的時間燈就能調亮度了,如你用定時器或者延時多少個時間引腳電平取反一次。例如每間隔1毫秒電平取反一次就可以改變亮度。那你在用個變數值來給這個時間賦值。就能調亮度了啊,比如你接個電位器電位器值改變你程序你就讓定時器時間也相應跟著變動
程序名稱:一隻按鍵控制兩只LED燈十種亮度顯示
編程人:xx
備註:此程序簡單
#include<stc12c2052ad.h>
*** it d1=P1^7;、、 定義LED燈1
*** it d2=P1^6; 定義LED燈2
*** it key1=P3^0; 定義按鍵燈
void delay(unsigned int a){ 延時程序
unsigned int i;
while( a-- != 0){
for(i = 0; i < 100; i++);
}
}
void main(){
while(1){
unsigned int a,b,c,d;
if(key1==0)d++; 按鍵判斷
switch(d) 按鍵信息比較
{
case 1: b=9;;a=1;break;
case 2: b=8;;a=2;break;
case 3: b=7;;a=3;break;
case 4: b=6;;a=4;break;
case 5: b=5;;a=5;break;
case 6: b=4;;a=6;break;
case 7: b=3;;a=7;break;
case 8: b=2;;a=8;break;
case 9: b=1;;a=9;break;
}
while(key1==0); 判判斷按鍵是否松開
if(d==10)d=0; 按鍵9種亮度判斷,是否是第9種,如果是,則d=0
for(c=0;c<2;c++){ 亮度模式循環顯示
d1=0;
d2=1;
delay(a);
d1=1;
d2=0;
delay(b);
}
}
}
、2010.10.05 20;06修改
此程序是我寫的簡單程序,已做過實驗,並且通過!
用pic的脈寬調制功能就可以了,只需要給單片機不同的占空比的值,單片機就可以產生不同占空比的信號,將這個信號用三極體放大驅動LED就行了。還有什麼問題可以給我留言
第一,要理解中斷在這里的作用是固定的「一小段」時間進入一次。 第二,PWM_ON在程序中的作用很大,它會由0------>CYCLE------>0並且一直循環下去。可以把它看成一個有規律的變化的量。 第三,每進入中斷一次count++,滿足條件count==PWM_ON或coun..
接好單片機的硬體電路,然後編寫程序,再然後燒寫程序,然後就可以程序了,沒問題的話就可以按你的要求點亮了
# include<reg51.h>
void delay(unsigned int j)
{
unsigned int i;
for (;j>0;j--)
{
for(i=0;i<1000;i++)
;
}
}
void main()
{
while(1)
{
P1^0=0;
delay(100);
P1^0=1;
delay(100);具體數值根據你單片機晶振頻率而定
}
}
原理是PWM波占空比不同,其功率亦不同,只要PWM頻率很大,人眼分辨不出其閃爍,就可通過控制占空比(高電平時間和周期之比)的大小來控制其亮度。
才用PWM調制
LED燈不好控制亮度,在電流變化較大的范圍中,亮度變化不明顯
如果是電燈泡還可以的
控制LED燈的亮度 這個其實有難度的, 先練習聲音控制開關燈,成功後再考慮控制亮度
LED亮度是通過的電流決定的,控制亮度其實就是控制電流.這一點至今沒辦法做到便宜又簡單.
當然,也有種簡易的辦法是PWM控制亮關比,優點是容易,缺點是閃爍.
還有就是目前燈亮度有幾種控制方式,連續變化的貴,高中低分檔位的便宜些.
void main()
{
unsigned int temp,i;
temp=1;
while(1)
{
P1=temp&0x00ff; 取temp低8位
P2=(temp&0xff00)>>8; 取temp高8位
for(i=0;i<65535;i++)
{} 延時
if(temp!=0x8000)
temp<<=1; temp左移一位
else temp=1;
}
}
如果不需要控制轉速,一個三極體一個繼電器就可以控制馬達了。
⑤ AT89c51單片機根據滑動變阻器電阻大小控制兩燈變換亮的程序程序
呵呵
為你更正一下,應該是AT89c51單片機利用2個按鍵來控制兩燈的亮滅或亮度悔純。
原因:
1
機根據滑動變阻器電阻大小,就可以改變電壓的大小,就可以控制兩燈亮度了。
也沒有必要再使用單片機了。
2
單片機的按鍵不但可以控制小燈的亮滅還可以控制亮度。
即由按鍵控制修改送給小燈的脈沖信磨前者號的脈沖寬度(占空比)
如果滿意話瞎薯
請選擇滿意回答
⑥ 如何用滑動變阻器改變燈的亮度
這個實驗一個定值電阻,和岩枯昌一個滑動變阻器(串聯)電流表接總路,電壓表測定值電阻電敗鋒壓
實驗步驟是:
1,按照設計的電路圖連接電路;並使滑動變阻器阻值最大。
2,閉合開關S,分別用電壓表測出定值電阻兩端電壓記錄為u1,電流表測出通過定值電阻的電流為I1,記入表格中;
3,調粗扒節幾次滑動變阻器,分別用電壓表測出定值電阻兩端電壓記錄為u2,電流表測出通過定值電阻的電流為I2,記入表格中。
4 重復步驟3,在改變4次滑動變阻器,分別記錄為U3-U6 I3-I6
5 分析論證
⑦ 單片機控制led燈亮度原理
單片機控制LED亮度原理:控制單片機輸出pwm信號的占空比,占空比越大,燈越亮。反之,越暗。
⑧ 如何用單片機控制LED燈的亮度,不要PWM波的程序
//程序羨笑滾名稱:一隻按鍵控制兩只LED燈十種亮度顯示
//編程人:xx
//備註:此程序簡單
#include<stc12c2052ad.h>
sbit d1=P1^7;、、 //升盯定義LED燈1
sbit d2=P1^6; //定義LED燈2
sbit key1=P3^0; //定義按鍵燈
void delay(unsigned int a){ //延時程序
unsigned int i;
while( a-- != 0){
for(i = 0; i < 100; i++);
}
}
void main(){
while(1){
unsigned int a,b,c,d;
if(key1==0)d++; //按鍵判斷
switch(d) //兄余按鍵信息比較
{
case 1: b=9;;a=1;break;
case 2: b=8;;a=2;break;
case 3: b=7;;a=3;break;
case 4: b=6;;a=4;break;
case 5: b=5;;a=5;break;
case 6: b=4;;a=6;break;
case 7: b=3;;a=7;break;
case 8: b=2;;a=8;break;
case 9: b=1;;a=9;break;
}
while(key1==0); 判//判斷按鍵是否松開
if(d==10)d=0; //按鍵9種亮度判斷,是否是第9種,如果是,則d=0
for(c=0;c<2;c++){ //亮度模式循環顯示
d1=0;
d2=1;
delay(a);
d1=1;
d2=0;
delay(b);
}
}
}
、//2010.10.05 20;06修改
//此程序是我寫的簡單程序,已做過實驗,並且通過!
⑨ 單片機PWM控制LED亮度
【1】任何一款單片機都能輸出PWM波,即脈沖寬度調制器。用定時器即可輸出占空比變化的方波。
【2】LED亮度調節,首先應當明確LED的伏安特性曲線。還要知道項目中有沒有多基色要求、LED燈數量、它們的連接方式。
【3】用PWM控制,應該控制的實際LED驅動電路為恆壓驅動方式。
【4】以最簡單的單個LED亮度調節為例,一個PNP三極體和基極電阻就搞定了。先根據伏安特性,確定一個最大工作電壓和電流點。用對應的電阻串接直流電流表代替LED做實驗。產生的方波最小占空比為工作電壓(如2.0V)除以電源電壓(如5.0V)。控制方波,用示波器、電流表檢驗調節情況。最後用LED代換。為防止單片機方波失效燒壞LED,後期增加限流電路(如5mA恆流源)保護LED。
⑩ 51單片機怎樣控制LED的光亮度
pwm,用定時器T1溢出做pwm周期,在每次T1開始計數時觸發輸出,軟體邊增1計數邊檢查溢出標志。如果軟體計數滿則清輸出,否則直到溢出清輸出、清軟體計數滿值。改變軟體計數滿值就能改變亮度。
頻率50HZ,周期是20ms
看你調節的精度 如定時器定時1ms,高電平寬度一次變化是5%
如果想要調節精度高,定時器定時時間小,就要頻繁地發生中斷,會影響主程序的運行
如 要求占空比每步調節為1%,則定時器就要定時200us,對於CpU的影響就比較大了
這時自動重裝模式可以縮短中斷程序佔用時間,但如果再提高PWM的頻率,自動重裝模式也十分吃力,因此許多增強型51單片機有硬體PWM功能
LED是電流控制器件, 而不能說成電壓控制,調節電壓的大小也能控制啊(電壓越大亮度超高),
1、PWM是脈沖寬度調制信號,注意其中的「寬度」,就是脈沖的高電平的時間。PWM信號調節LED亮度時,信號頻率是不變的,改變的是脈沖的高電平的時間,即LED的導通時間。這種信號調節亮度相當於調節LED的平均電流,所以電流會變化。
2、從LED的V-I特性可知,其曲線是非線性的,0.1V的電壓可造成100~200mA的If的變化,不易控制;另外,LED具有負溫度系數特性,所以,一般將LED說成是電流控制型器件。至於你將LED串接在電源模塊上,當輸出電壓恆定時,是恆壓源驅動LED吧,這樣調節LED亮度時,需要對輸出電壓進行分壓,以降低LED的壓降才能改變其亮度,恆壓源的電流是有一個最大輸出值的,不能調節的,不知你用什麼方法調節其輸出電流的?
3、用MCU比較方便,成本是稍高,也可以用模擬電子線路產生相應的PWM信號。
用PWM控制有幾點好處.
1 ): 可以自動適應輸入電壓范圍.即使輸入電壓低於LED的點亮電壓.LED仍然正常發光.
2 ):恆流.LED是半導體器件.對溫度很敏感.普通限流電路在其溫度變化時無法及時控制LED負載的電流.當溫度上升到一定程度.LED會被燒毀. 而PWM電路大多集成恆流源.使其電流始終保持在你設置的范圍內.
是求程序還是求啥?郵箱也沒有
可以用移位命令來實現,比如說LED介面為P0
那麼共陰極就是 P0=(P0>>1)||0X80;
移位函數來實現是最簡單的就是 intrinis
可通過按鈕的動作改變輸出LED連接腳的脈寬來控制led燈的漸亮
單片機只能產生兩個電平的信號,因此要控制LED亮度要靠LED點亮的頻率,頻率越高亮度越亮。如果你願意取得更好的效果的話還可以使用DA晶元,當然需要更多的知識。
那就要看這100個LED是想同時亮,還是一個一個地亮了。
要同時亮,就串聯或並聯都行,就相當於控制一個。
要是一個一個地亮,那就得有100個控制點了。這得需要擴展I/O介面了,簡單可行的,用13片74HC595,每個595帶8個LED。
再要看這100個LED是怎麼排列的,要是能排列成矩陣,就可以節省I/O介面了,就可以少用幾片74HC595了。
用C語言中產生隨機數的方法每次產生一個0~255間的一個隨機數,然後賦值給P0口
第一片單片機的TXD連接到第二片單片機的RXD上
第一片單片機的RXD連接到第二片單片機的TXD上
然後就可以做 串口通信了
每一片都可以發送數據,然後另一片在串口接收中斷中處理數據