用AT89C51单片机端口P1控制8个LED灯的变化(左移2次,右移2次,闪烁2次,延时的时间1秒

2024-11-08 13:54:19
推荐回答(1个)
回答1:

#include
#include
#define uchar unsigned char
void delay(int a)
{
uchar i;
while(a--)for(i=0;i<120;i++);
}
main()
{
uchar i,j,led;
while(1)
    {
    led=0xfe;
    for(i=0;i<2;i++)
    for(j=0;j<8;j++)
        {
        P1=led;
        led=_crol_(led,1)
        delay(1000);
        }
    led=0x7f;
    for(i=0;i<2;i++)
    for(j=0;j<8;j++)
        {
        P1=led;
        led=_cror_(led,1)
        delay(1000);
        }
    for(i=0;i<2;i++)
        {
        P1=0x00;
        delay(1000);
        P1=0xff;
        delay(1000);
        }
     }
}