如何用51单片机写两LED灯两两一起闪烁的流水灯C程序
关注:192 答案:4 mip版
解决时间 2021-02-12 05:14
提问者这笑,有多危险
2021-02-12 01:03
如何用51单片机写两LED灯两两一起闪烁的流水灯C程序
最佳答案
二级知识专家招人烦°惹人厌
2021-02-12 02:14
//LED1接P2.0,LED2接P2.1,低电平点亮
#include
void _delay_ms(unsigned int c) //误差 0us
{
unsigned char a,b;
for(;c>0;c--)
for(b=199;b>0;b--)
for(a=1;a>0;a--);
}
void main(void)
{
while(1)
{
P2|=(1<<0)&(1<<1);
_delay_ms(300);//300MS
P2|=~((1<<0)&(1<<1));
_delay_ms(300);//300MS
}
}
全部回答
1楼繁华初下,心已空
2021-02-12 06:20
怎么一起闪烁啊,闪烁周期什么的。能不能说详细点啊。
2楼繁華如
2021-02-12 04:44
void main(void)
{
unsigned char a,b;
while(1)
{
for(a=60;a>0;a--) for(b=250;b>0;b--) ;
P1^0=~P1^0;
P1^1=~P1^1;
}
}
3楼縱马獨歸
2021-02-12 03:18
这个比较简单吧
uchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay();//自己写吧 延迟一秒
void led_blink();//~~~~~~~~~~~~
void single_stream();//单向流水函数声明
void double_stream();//~~~~~~~~
void led_blink() //全部亮时闪烁两次
{
uchar i;
if(p3^7==0)
{ i=2;
while(i--)
{
p0=0x00;//低电平点亮
p1=0x00;
p2=0x00;
p3=0x00;
delay();
p0=0xff;//熄灭
p1=0xff;
p2=0xff;
p3=0xff;
delay();
}
}
}
void single_stream()//单向流水灯
{
uchar i;//自己定义一下 unsigned char
for(i=0;i<8;i++)
{
p0=table[i];//逐个点亮led0-7 第零组
delay();
}
for(i=0;i<8;i++)
{
p1=table[i];//第一组
delay();
}
for(i=0;i<8;i++)
{
p2=table[i];//第二组
delay();
}
for(i=0;i<8;i++)
{
p3=table[i];//第三组
delay();
}
}
void double_stream()//这个你也自己写吧
{
}
void main()//main 函数就调用下 前面的就可以了。。
{
while(1)
{
single_stream();
led_blink();
double_stream();
led_blink();
}
}// 大概就是这样。。我没测试
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看