新聞中心

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

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

        作者: 時間:2016-11-29 來源:網絡 收藏
        /*********************************************************************************************函數名:PWM0占空比設置函數調 用:PWM0_set();參 數:0x00~0xFF(亦可用0~255)返回值:無結 果:設置PWM模式占空比,為0時全部高電平,為1時全部低電平備 注:如果需要PWM1的設置函數,只要把CCAP0L和CCAP0H中的0改為1即可/**********************************************************************************************/void PWM0_set (unsigned char a){CCAP0L= a; //設置值直接寫入CCAP0LCCAP0H= a; //設置值直接寫入CCAP0H}/**********************************************************************************************//*********************************************************************************************函數名:主函數調 用:無參 數:無返回值:無結 果:程序開始處,無限循環備 注:/**********************************************************************************************/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); //調用延時函數temp<<=1;}temp=0x80;for(i=0;i<8;i++){ //8個流水燈反向逐個閃動DY_PORT=~temp;delay(DY_SPEED); //調用延時函數temp>>=1;}temp=0xFE;for(i=0;i<8;i++){ //8個流水燈依次全部點亮DY_PORT=temp;delay(DY_SPEED); //調用延時函數temp<<=1;}temp=0x7F;for(i=0;i<8;i++){ //8個流水燈依次反向全部點亮DY_PORT=temp;delay(DY_SPEED); //調用延時函數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 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 涟水县| 肇州县| 景洪市| 施秉县| 水富县| 威远县| 奉化市| 苏尼特右旗| 玉林市| 华亭县| 姜堰市| 南汇区| 保靖县| 安化县| 郸城县| 汤阴县| 奎屯市| 寻甸| 柳林县| 永泰县| 正镶白旗| 阿巴嘎旗| 台中市| 社会| 子洲县| 大英县| 兴安盟| 依兰县| 于田县| 札达县| 清流县| 迁安市| 平乡县| 枝江市| 芷江| 林州市| 梅州市| 锦州市| 孙吴县| 长兴县| 长寿区|