LED閃爍彩虹小夜燈帶呼吸燈 作者: 時間:2016-11-29 來源:網(wǎng)絡 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對面交流海量資料庫查詢 收藏 /*********************************************************************************************函數(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 下一頁
評論