久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4847|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

利用PCA模塊PWM脈寬信號(hào)用于智能LED調(diào)制方法研究

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:76127 發(fā)表于 2015-4-5 00:50 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
LED路燈\吸頂燈具有明顯的環(huán)保節(jié)能優(yōu)勢(shì),而實(shí)時(shí)的控制LED亮度和功率消耗,在節(jié)能減排方面具有重要的意義;如LED路燈可以分時(shí)間段的(白天、黃昏、晚上、深夜)、或者按天氣實(shí)時(shí)明亮變化(如雷雨陰暗天氣、大太陽(yáng)天氣等)自動(dòng)調(diào)整LED輸出電流功率,保持需要的輸出照度,從而節(jié)省的電源的開支,減少了二氧化碳的排放。
LED驅(qū)動(dòng)器一般具有PWM輸入控制模式,要達(dá)到上述的工作模式,需要我們配套一支智能PWM信號(hào)發(fā)生器,PWM發(fā)生器在完成各種智能控制的時(shí)間里不允許打斷PWM的連續(xù)輸出,否則會(huì)產(chǎn)生明顯的閃爍感;因此本人利用MCUPCA模塊輸出PWM調(diào)制信號(hào),可以保證PWM的連續(xù)輸出,同時(shí)可以利用中斷功能實(shí)現(xiàn)各種工作模式的控制,方便于接入網(wǎng)絡(luò)實(shí)現(xiàn)上位機(jī)的實(shí)時(shí)監(jiān)測(cè)。
我們可以選擇具有實(shí)用于LED的有PCA模塊的MCU,本人用STC公司的MCU進(jìn)行的分析試驗(yàn),STC公司的MCU是增強(qiáng)型單片機(jī),在51工業(yè)級(jí)模式上又增加了PCADACSPI等等,使得我們的MCU系統(tǒng)硬件可以大大的簡(jiǎn)化,性能卻非常的優(yōu)秀,非常適用于高電磁干擾、環(huán)境惡劣的地方。
在生成PWM信號(hào)時(shí)我們要先了解驅(qū)動(dòng)的PWM控制參數(shù),如頻率、輸入阻抗、功耗等;然后確定PWM硬件電路,最后編寫PWM程序。
以下是編寫的程序:
//--------------芯片STC12C5A60S2--晶振11.0592M----
//------------------LED日光燈PWM紅外遙控接收程序-------
#include <stc12c5a.h>
#define uint unsigned int
#define uchar unsigned char
sbit LED_LE=P3^4;
sbit IR_RE=P3^2;
sbit p01=P0^1;  //----開關(guān)檢測(cè)輸入
sbit p02=P0^2;  //----開關(guān)檢測(cè)輸入
uchar pulse=0x10;//定義PWM步進(jìn)變量
static uchar date[4]={0,0,0,0};
static uchar qinlong;
static uchar ZKB1,ZKB2;
//-------------------------
void delay882()
{
uchar i,j;
i=35;
do{j=68;
   do{j--;}
   while(j);
   i--;
  }while(i);
}
//-------------------------
void delay1000()
{
uchar i,j;
i=39;
do{j=70;
   do{j--;}
   while(j);
   i--;
  }while(i);
}
//-------------------------
void delay2400()
{
uchar i,j;
i=93;
do{j=70;
   do{j--;}
   while(j);
   i--;
  }while(i);
}
////////////////////////////////////////
void delay5ms(void)//5ms去抖動(dòng)延時(shí)
{
       unsigned int tempcyc=1000;
       while(tempcyc--);
}
//--------------------------------------
void delayya()
{
       uint i;
       for(i=0;i<30000;i++);
}
//======================================
void sezi()
{
       LED_LE=0;
       EA=1;
       EX0=1;   //允許外部0中斷
       IT0=1;   //外部0中斷使用下降沿觸發(fā)
//----------
//     TMOD=0x01;//------定時(shí)器0中斷設(shè)置//需要用定時(shí)中斷才用,一般不需用
//     TH0=0xff; //因?yàn)闀?huì)有中斷干擾的現(xiàn)象,影響PWM輸出的連續(xù)性.
//     TL0=0xf0;
//     ET0=1;
//     TR0=1;
//----------
       CMOD=0x80;//------PCA模塊PWM設(shè)置
       CCON=0x00;//CMOD=0X84T0為信號(hào)源,這時(shí)將T0設(shè)置段落打開//0X80時(shí)則用12分頻時(shí)鐘信號(hào)
       CL=0x00;  //CMOD=0X86使用外部脈沖信號(hào),P1.2腳加入信號(hào)
       CH=0x00;
       CCAPM0=0x42;
       PCA_PWM0=0x00;
       CR=1;
}
//***********************************************/
//===================0.5-9.5ms的延時(shí)調(diào)光信號(hào)=============
void main()
{
       uchar j=5;
       sezi();
       while(1)
       {            
               if(qinlong==0x00)
                     {
                            CCAP0H=(256-250);
                            qinlong=0xff;
                     }
          else if(qinlong==0x01)
                     {
                            CCAP0H=(256-240);
                            qinlong=0xff;
                     }
               else       if(qinlong==0x02)
                     {
                            CCAP0H=(256-220);
                            qinlong=0xff;
                     }
               else       if(qinlong==0x03)
                     {
                            CCAP0H=(256-200);
                            qinlong=0xff;
                     }
               else       if(qinlong==0x04)
                     {
                            CCAP0H=(256-180);
                            qinlong=0xff;
                     }
               else       if(qinlong==0x05)
                     {
                            CCAP0H=(256-160);
                            qinlong=0xff;
                     }
               else       if(qinlong==0x06)
                     {
                            CCAP0H=(256-150);
                            qinlong=0xff;
                     }
               else       if(qinlong==0x07)
                     {
                            CCAP0H=(256-100);
                            qinlong=0xff;
                     }
               else       if(qinlong==0x08)
                     {
                            CCAP0H=(256-50);
                            qinlong=0xff;
                     }
               else       if(qinlong==0x09)
                     {
                            CCAP0H=(256-10);
                            qinlong=0xff;
                     }
//------------------------------------------以下開關(guān)檢測(cè)輸入
               else if(!p01)
               delay5ms();
               if(!p01)
                {
                            CCAP0H=CCAP0H+j;
                            delayya();
                            if(CCAP0H>=250)CCAP0H=250;      
                     }
               //-----------------
              else if(!p02)
               delay5ms();
               if(!p02)
                {
                            if(CCAP0H<=10)CCAP0H=10;
                            CCAP0H=CCAP0H-j;
                            delayya();
                     }
       }
}
//=====================紅外線中斷========================
以下紅外中斷程序略



















分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区在线 | 精品久久久久久亚洲精品 | 亚洲国产一区二区三区 | 九九热精品免费 | 亚洲第一av | 国产高清在线观看 | 欧美成人猛片aaaaaaa | 亚洲一区二区三区视频 | 一级黄色毛片免费 | 亚洲一区二区中文字幕在线观看 | 久久综合九色综合欧美狠狠 | 狠狠操狠狠干 | 国精日本亚洲欧州国产中文久久 | 久久久精 | gogo肉体亚洲高清在线视 | 麻豆av一区二区三区久久 | 91免费视频 | 在线色| 亚州激情| 日韩不卡三区 | 亚洲精品一区二区在线观看 | 久久福利 | 国产成人精品午夜 | 亚洲国产精品一区二区久久 | 蜜桃在线一区二区三区 | 日本亚洲一区二区 | 伊人网影院 | 91精品久久久久久久久久 | 亚洲成人黄色 | 国产视频不卡一区 | 亚洲最新在线视频 | 麻豆视频国产在线观看 | 国产日韩欧美一区二区 | av中文在线 | 精品视频在线免费观看 | 久久国色 | 久久艹av| 7777精品伊人久久精品影视 | 国产免费一区二区 | 亚洲97 | 国产一区二区三区四区区 |