有没有简单点的方法实现呢~?新手自己写的代码
单片机吧
全部回复
仅看楼主
level 3
cchcfei 楼主
1楼喂狗
2015年02月14日 16点02分 1
level 3
cchcfei 楼主
#include<reg51.h>
#define ydled0 P2
void Delay10ms(unsigned int); //误差 0us 延时
void main()
{
ydled0=0x81; //点亮 0 8 号灯
while(1)
{
unsigned char n;
for (n=0;n<7;n++)
{
Delay10ms(50);
switch(n)
{
case(0):ydled0=0x42;break;
case(1):ydled0=0x24;break;
case(2):ydled0=0x18;break;
case(3):ydled0=0x24;break;
case(4):ydled0=0x42;break;
default:ydled0=0x81;
}
}
}
}
void Delay10ms(unsigned int c) //误差 0us
{
unsigned char a,b;
for(;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
2015年02月14日 16点02分 2
level 3
cchcfei 楼主
case(0):ydled0=0x42;break;
case(1):ydled0=0x24;break;
case(2):ydled0=0x18;break;
case(3):ydled0=0x24;break;
case(4):ydled0=0x42;break;
这段有没有什么 方法比较简单啊?像位移可以这样操作不?
2015年02月14日 17点02分 3
level 11
写成数组
2015年02月14日 18点02分 4
level 3
cchcfei 楼主
可以给程序吗???新人·不懂
2015年02月14日 19点02分 5
level 13
case 0,4:ydled0=0x42;break;
case 1,3:ydled0=0x24;break;
case 2:ydled0=0x18;break;
2015年02月14日 20点02分 7
虽然简了两行,但执行速度估计并没有变快,所以还是建议数组法。
2015年02月14日 21点02分
回复
������
:谢谢你哈
2015年02月15日 08点02分
1