标题:
单片机16路流水灯编程问题求大佬指导
[打印本页]
作者:
初学者9527
时间:
2018-10-11 19:21
标题:
单片机16路流水灯编程问题求大佬指导
大佬求指导 初学者 还不是很明白
7}34)X8_93`A[I`F2NK~SJT.png
(54.52 KB, 下载次数: 35)
下载附件
2018-10-11 19:20 上传
两个要求在一个程序里
作者:
文凤轩
时间:
2018-10-11 21:32
可以用最笨最简单的方法写呀,先定义16个Io口,然后写个延时函数,再然后在主函数里,让每个io口=0延时一会儿,后面就反过来等1延时一会儿,从灭到亮从亮到灭循环
作者:
13122031726
时间:
2018-10-11 22:44
最简单的顺序编程啊,或者你可以试着位与位活进行八位操作,
作者:
HC6800-ES-V2.0
时间:
2018-10-12 08:46
很简单嘛。看我的——
#include <reg51.h>
#define LED0 P0
#define LED1 P2
void Delay10ms(unsigned char c)
{
unsigned char a,b;
for(;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
void main ()
{
unsigned char i;
while (1)
{
//两组高四位交替亮灭3次
for (i=0;i<3;i++)
{
LED0=0x0f;
LED1=0xff;
Delay10ms(50);
LED0=0xff;
LED1=0x0f;
Delay10ms(50);
}
LED0=0xff;
LED1=0xff;
//从P00开始,逐步全亮
for (i=0;i<8;i++)
{
LED0=LED0<<1;
Delay10ms(50);
}
for (i=0;i<8;i++)
{
LED1=LED1<<1;
Delay10ms(50);
}
//全亮开始逐个熄灭
LED0=LED0+1;
Delay10ms(50);
LED0=LED0+2;
Delay10ms(50);
LED0=LED0+4;
Delay10ms(50);
LED0=LED0+8;
Delay10ms(50);
LED0=LED0+16;
Delay10ms(50);
LED0=LED0+32;
Delay10ms(50);
LED0=LED0+64;
Delay10ms(50);
LED0=LED0+128;
Delay10ms(50);
LED1=LED1+1;
Delay10ms(50);
LED1=LED1+2;
Delay10ms(50);
LED1=LED1+4;
Delay10ms(50);
LED1=LED1+8;
Delay10ms(50);
LED1=LED1+16;
Delay10ms(50);
LED1=LED1+32;
Delay10ms(50);
LED1=LED1+64;
Delay10ms(50);
LED1=LED1+128;
Delay10ms(50);
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1