以单片机为核心控制器设计一个多功能彩灯控制器

2025-04-13 05:49:14
推荐回答(2个)
回答1:

51单片机 12MHz晶振 使用P1端口控制

电路:

程序:

#include

#define LED P1

void delay1s(void)
{
    unsigned char a,b,c;
    for(c=167;c>0;c--)
        for(b=171;b>0;b--)
            for(a=16;a>0;a--);
}
void delay50ms(void)  
{
     unsigned char a,b;
    for(b=173;b>0;b--)
        for(a=143;a>0;a--);
}
void main()
{
unsigned char i;
while(1)
{
LED=0xff;//8个二极管全暗
delay1s();
for(i=1;i;i<<=1)//D0-D7
{
LED=~i;
delay50ms();
}
delay1s();
for(i=0x80;i;i>>=1)//D7-D0
{
LED=~i;
delay50ms();
}
delay1s();
for(i=1;i;i<<=2)//D0-D6
{
LED=~i;
delay50ms();
}
for(i=2;i;i<<=2)// D1-D7
{
LED=~i;
delay50ms();
}
delay1s();
for(i=2;i;i<<=2)//D1-D7
{
LED=~i;
delay50ms();
}
for(i=1;i;i<<=2)//D0-D6
{
LED=~i;
delay50ms();
}
delay1s();
}
}

回答2:

很简单的,对端口的地址操作也可以,左移,右移也可以,用if语句控制也可以,用switch语句控制也可以,用while语句控制也可以,用do......while语句控制也可以,当然还要看是神马内核的单片机