新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的彩燈設(shè)計(jì)方案

基于單片機(jī)的彩燈設(shè)計(jì)方案

作者: 時(shí)間:2011-11-29 來(lái)源:網(wǎng)絡(luò) 收藏

1.引言

本文引用地址:http://m.butianyuan.cn/article/257804.htm

隨著人們對(duì)房屋的裝飾需要彩燈,在許多城市可以看到彩色霓虹燈。彩燈由于其豐富的燈光色彩,便宜的造價(jià)以及控制簡(jiǎn)單等特點(diǎn)而得到了廣泛的應(yīng)用,用彩燈來(lái)裝飾街道和城市建筑物已經(jīng)成為一種時(shí)尚。但目前市場(chǎng)上各式樣的彩燈控制器大多數(shù)用全硬件電路實(shí)現(xiàn),電路結(jié)構(gòu)復(fù)雜、電路復(fù)雜、功率損耗大等缺點(diǎn)。此外從功能效果上看,亮燈模式少而且樣式單調(diào),缺乏用戶(hù)可操作性。

全球氣候暖化危機(jī)和能源緊缺在進(jìn)一步推動(dòng)照明的普及,LED照明具有環(huán)保、光效高和壽命長(zhǎng)的特點(diǎn),但在完全取代具有墻上型調(diào)光器的白熾燈方面,LED照明還存在兼容性差的先天不足。其主要原因在于:

1)現(xiàn)有的調(diào)光器都是針對(duì)白熾燈設(shè)計(jì)的,而白熾燈呈現(xiàn)的是純阻性;LED作為固態(tài)半導(dǎo)體照明器件,需要恒定的直流電流驅(qū)動(dòng),所以L(fǎng)ED照明一般都需要驅(qū)動(dòng)器從交流110V/220V轉(zhuǎn)換到所需要的直流電流;

2)調(diào)光器種類(lèi)繁多,而且工作原理各不相同,包括前切型、后切型和智能型等;

3)LED照明器的種類(lèi)也很多。這樣一來(lái),對(duì)于不同的LED照明匹配不同類(lèi)型的調(diào)光器;LED的驅(qū)動(dòng)器面臨巨大挑戰(zhàn);其中,可靠性和安全性尤為重要。照明屬于消費(fèi)電子產(chǎn)品,直接接觸千家萬(wàn)戶(hù)的消費(fèi)者,不僅價(jià)格要適當(dāng),更重要的是要安全可靠;即便是任一元器件失效或調(diào)光器與LED不匹配,也不能造成漏電、過(guò)熱、過(guò)流等任何安全故障。

2.硬件設(shè)計(jì)

控制三組小燈可以按控制單色依次點(diǎn)亮,還可以通過(guò)改變輸出脈沖不同的占空比來(lái)控制輸出電壓,以控制該色LED的點(diǎn)亮,實(shí)現(xiàn)多色光LED漸變發(fā)光功能,使三種顏色的燈可以發(fā)出多種顏色,控制P1口的某管腳按規(guī)定輸出高低電平,輸出高電平時(shí)由ULN2003輸出低電平,經(jīng)ULN2003反向?yàn)楦唠娖?,使?qū)動(dòng)三極管截止,LED不能點(diǎn)亮,每種顏色的三個(gè)小燈由芯片P1口的一個(gè)管腳控制,實(shí)現(xiàn)它們的順序點(diǎn)亮及顏色漸變和顏色突變功能。

圖1 LED調(diào)光原理框圖

圖2 LED發(fā)光元件電路圖

3.軟件設(shè)計(jì)

圖3 單片機(jī)控制LED調(diào)光電路流程圖

4.程序設(shè)計(jì)

  #includereg52.h>

  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;

  }}



關(guān)鍵詞: LED 單片機(jī)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉