1.引言
隨著人們對房屋的裝飾需要彩燈,在許多城市可以看到彩色霓虹燈。LED彩燈由于其豐富的燈光色彩,便宜的造價以及控制簡單等特點而得到了廣泛的應用,用彩燈來裝飾街道和城市建筑物已經成為一種時尚。但目前市場上各式樣的LED彩燈控制器大多數用全硬件電路實現,電路結構復雜、電路復雜、功率損耗大等缺點。此外從功能效果上看,亮燈模式少而且樣式單調,缺乏用戶可操作性。
全球氣候暖化危機和能源緊缺在進一步推動LED照明的普及,LED照明具有環保、光效高和壽命長的特點,但在完全取代具有墻上型調光器的白熾燈方面,LED照明還存在兼容性差的先天不足。其主要原因在于:
1)現有的調光器都是針對白熾燈設計的,而白熾燈呈現的是純阻性;LED作為固態半導體照明器件,需要恒定的直流電流驅動,所以LED照明一般都需要驅動器從交流110V/220V轉換到所需要的直流電流;
2)調光器種類繁多,而且工作原理各不相同,包括前切型、后切型和智能型等;
3)LED照明器的種類也很多。這樣一來,對于不同的LED照明匹配不同類型的調光器;LED的驅動器面臨巨大挑戰;其中,可靠性和安全性尤為重要。照明屬于消費電子產品,直接接觸千家萬戶的消費者,不僅價格要適當,更重要的是要安全可靠;即便是任一元器件失效或調光器與LED不匹配,也不能造成漏電、過熱、過流等任何安全故障。
2.硬件設計
單片機控制三組小燈可以按控制單色依次點亮,還可以通過改變輸出脈沖不同的占空比來控制輸出電壓,以控制該色LED的點亮,實現多色光LED漸變發光功能,使三種顏色的燈可以發出多種顏色,單片機控制P1口的某管腳按規定輸出高低電平,輸出高電平時由ULN2003輸出低電平,經ULN2003反向為高電平,使驅動三極管截止,LED不能點亮,每種顏色的三個小燈由單片機芯片P1口的一個管腳控制,實現它們的順序點亮及顏色漸變和顏色突變功能。
圖1 LED調光原理框圖
圖2 LED發光元件電路圖
3.軟件設計
圖3 單片機控制LED調光電路流程圖
4.程序設計
#include
sbit LED1=P1^0;
sbit LED=P1^1;
sbit LED2=P1^2;
unsigned char CYCLE;
unsigned char PWM_ON;
void delay (unsigned int cnt)
{
while(--cnt);
}
main()
{ bit flag;
TMOD=0x01;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
IE=0x82;
TR0=1;
CYCLE=50;
while(!flag)
{ delay(20000);
PWM_ON++;
if(PWM_ON==CYCLE)
{ flag=1;
}
}
while(flag)
{ delay(20000);
PWM_ON--;
if(PWM_ON==0)
{ flag=0;
}
}
}
void time(void) interrupt 1
{ STatic unsigned char count;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
if(count==PWM_ON)
{ LED1=1;
LED=1;
LED2=1;
}
count++;
if(count==CYCLE)
{ count=0;
if(PWM_ON!=0)
LED1=0;
LED=0;
LED2=0;
}}