流水灯和渐暗led灯

 无聊有写了俩个小程序,一个是以前写了好多次的流水灯,写来回忆回忆,复习复习,一个是一直想写没空写的pwm下的渐暗led灯。特此一记,以证明我还活着。

  一:流水灯:

#include<reg52.h>

#include<intrins.h>

#define  uchar unsigned char

#define  uint  unsigned int

uchar temp;

void delay( int i);

void main()

{

    temp=0xfe;

    while(1)

    {

        P1=temp;

        temp=_crol_(temp,1);

        delay(1000);

    }        

}

//延时ims函数

void delay( int i)

{

    int x,y;

    for(x=29;x>0;x--)

       for(y=i;y>0;y--)    ;

}

二:渐暗led

#include<reg52.h>

#define uchar unsigned char 

#define uint  unsigned int

static i=0;  //检测时间

#define pwm_max  99

#define pwm_min  0//把周期划分为100

sbit d=P2^3;

static pwm=0;

void init()

{

    EA=1;

    ET0=1;

    TR0=1;

    TMOD=0x01;

    TH0=65351/256;

    TL0=65351%256;//200us

    

}

void main()

{    

     init();

     while(1);    

}

void t0 ()interrupt 1

{

    TH0=65351/256;

    TL0=65351%256;//200us

    if(i>=pwm_max)    

    {

        i=0;

        pwm++;

        if(pwm>=pwm_max)

        {

            pwm=0;

        }

            

    }

    if(i>=pwm)

    {

        P1=0x00 ;  

    

    }

    else

    {

        P1=0xff ;  

    }

        i++;    

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值