×
嵌入式 > 技术百科 > 详情

非常短的呼吸灯程序

发布时间:2020-06-20 发布时间:
|
思路不错。
如果LED为1,则t有效。为0则limit-t有效。
这样调节亮和灭的占空比。
当t上升到大于等于95的时候d就d=-d。d就变负数。t+-d=t-d。t下降。下降到小于等于5时d=-d。则变正。又上升

#include
#define uchar unsigned char
#define uint unsigned int
#define limit 100
sbit LED=P1^4;
void delay(uint ms)
{
        uint i=0,j=0;
        for(i=ms;i>0;i--)
                for(j=123;j>0;j--);
}

void main()
{
        uint t=50;
        char d=1;
        while(t+=d)
        {
                LED=t%2;
                delay(t*(LED==1)+(limit-t)*(LED==0));//这条代码很巧妙的实现了两个状态的切换
                if(t>=95||t<=5) d=-d;
        }
}




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ADI 高精度低功耗精密放大器