
实物图
视频
电路图:

注意:这电路图有错,蜂鸣器必须按照如下接入才能响:

程序:#include<reg52.h>
#include<intrins.h>
#define uint unsigned int//宏定义
#define uchar unsigned char
void delay(uint a);//声明延时函数
void main()
{
uint b,c;uchar d,e;
P0=0xfe;
delay(200);
P0=0xff;
delay(200);
P0=0xfe;
delay(200);
P0=0xff;
delay(200);
P0=0xfe;
while(1)
{d=0xfe;e=0xfe;
for(b=8;b>0;b--)
{
for(c=8;c>0;c--)
{
P1=d;//点亮p1口第一个led
delay(100);//延时
d=_crol_(d,1);//右移一位
}
P2=e;
e=_crol_(e,1);
}
for(c=8;c>0;c--)
{
P1=d;
delay(100);
d=_crol_(d,1);
}
P3=0xfc;//驱动蜂鸣器,继电器
delay(3000);
P3=0xff;
}
}
void delay(uint a)
{
uint f,g;
for(;a>0;a--)
for(f=200;f>0;f--);
for(g=200;g>0;g--);
}
|