新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > LED閃爍彩虹小夜燈帶呼吸燈

LED閃爍彩虹小夜燈帶呼吸燈

作者: 時間:2016-11-29 來源:網(wǎng)絡 收藏
/*********************************************************************************************函數(shù)名:PWM0占空比設置函數(shù)調(diào) 用:PWM0_set();參 數(shù):0x00~0xFF(亦可用0~255)返回值:無結(jié) 果:設置PWM模式占空比,為0時全部高電平,為1時全部低電平備 注:如果需要PWM1的設置函數(shù),只要把CCAP0L和CCAP0H中的0改為1即可/**********************************************************************************************/void PWM0_set (unsigned char a){CCAP0L= a; //設置值直接寫入CCAP0LCCAP0H= a; //設置值直接寫入CCAP0H}/**********************************************************************************************//*********************************************************************************************函數(shù)名:主函數(shù)調(diào) 用:無參 數(shù):無返回值:無結(jié) 果:程序開始處,無限循環(huán)備 注:/**********************************************************************************************/void main (void){unsigned char g;PWM_init(); //PWM初始化KEY1 = 1;while(1){if(STATUS){ unsigned int i;unsigned int temp;while(1){temp=0x01;for(i=0;i<8;i++){ //8個流水燈逐個閃動DY_PORT=~temp;delay(DY_SPEED); //調(diào)用延時函數(shù)temp<<=1;}temp=0x80;for(i=0;i<8;i++){ //8個流水燈反向逐個閃動DY_PORT=~temp;delay(DY_SPEED); //調(diào)用延時函數(shù)temp>>=1;}temp=0xFE;for(i=0;i<8;i++){ //8個流水燈依次全部點亮DY_PORT=temp;delay(DY_SPEED); //調(diào)用延時函數(shù)temp<<=1;}temp=0x7F;for(i=0;i<8;i++){ //8個流水燈依次反向全部點亮DY_PORT=temp;delay(DY_SPEED); //調(diào)用延時函數(shù)temp>>=1;}}}for(g=0x00;g<0xff;g++){PWM0_set(g); //設置PWM占空比delay(6);}for(g=0xff;g>0x00;g--){PWM0_set(g); //設置PWM占空比delay(6);}if(!KEY1 && !exted){exted=0;STATUS=!STATUS;exted=1;}else if(KEY1){exted=0;} }}/**********************************************************************************************/

上一頁 1 2 下一頁

評論


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

關閉