新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機的彩燈設計方案

        基于單片機的彩燈設計方案

        作者: 時間:2011-11-29 來源:網絡 收藏

        1.引言

        本文引用地址:http://www.104case.com/article/257804.htm

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

        全球氣候暖化危機和能源緊缺在進一步推動照明的普及,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.程序設計

          #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;

          }}



        關鍵詞: LED 單片機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 连平县| 徐汇区| 琼结县| 余江县| 融水| 道真| 上栗县| 芒康县| 台北县| 长乐市| 龙游县| 云梦县| 宁都县| 麻江县| 五原县| 兴化市| 潜山县| 门源| 馆陶县| 雅江县| 舒城县| 通道| 错那县| 内乡县| 临猗县| 图片| 高州市| 常州市| 德庆县| 原平市| 双流县| 普洱| 安吉县| 蒙山县| 临西县| 西华县| 衡南县| 江川县| 得荣县| 民乐县| 邯郸市|