51单片机控制1组流水灯2组LED的方法(能给个代码最好)

2022-03-17 社会 115阅读
#include
#include
#define uchar unsigned char
uchar led1=0xfe;led2=0xfe;led3=0xfe;
uchar cnt=0;
uchar keyval=0;
sbit key=P3^2;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt>=10)
    {
    switch(keyval)
        {
        case 0:
        P0=led1;led1=_crol_(led1,1);break;
        case 1:
        P0=led1;led1=_crol_(led1,1);        
        P1=led2;led2=_crol_(led2,1);break;
        case 2:
        P0=led1;led1=_crol_(led1,1);                
        P1=led2;led2=_crol_(led2,1);        
        P2=led3;led3=_crol_(led3,1);break;
        default:break;        
        }
    }
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
    {
    if(key==0)
        {
        while(key==0);
        keyval++;
        keyval%=3;
        }
    }
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com