新聞中心

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

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

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

1.引言

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

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

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

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

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

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

2.硬件設(shè)計

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

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

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

3.軟件設(shè)計

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

4.程序設(shè)計

  #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 單片機

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉